mars3d-wind 3.7.15 → 3.7.17
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 +2 -2
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Mars3D平台插件,支持气象 风向图 功能插件 mars3d-wind
|
|
3
3
|
*
|
|
4
|
-
* 版本信息:v3.7.
|
|
5
|
-
* 编译日期:2024-05
|
|
4
|
+
* 版本信息:v3.7.17
|
|
5
|
+
* 编译日期:2024-06-05 16:59:17
|
|
6
6
|
* 版权所有:Copyright by 火星科技 http://mars3d.cn
|
|
7
7
|
* 使用单位:免费公开版 ,2024-01-15
|
|
8
8
|
*/
|
|
@@ -11,5 +11,5 @@
|
|
|
11
11
|
typeof define === 'function' && define.amd ? define(['exports', 'mars3d'], factory) :
|
|
12
12
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-wind"] = {}, global.mars3d));
|
|
13
13
|
})(this, (function (exports, mars3d) {
|
|
14
|
-
'use strict';(function(_0x5a63ff,_0x49008e){function _0x1b5418(_0x5af178,_0x1692a2){return _0x9531(_0x1692a2-0x3a9,_0x5af178);}function _0x34ca98(_0x428129,_0x8508b0){return _0x9531(_0x428129-0x268,_0x8508b0);}const _0x19ffb4=_0x5a63ff();while(!![]){try{const _0x1b75b3=parseInt(_0x1b5418(0x635,0x667))/0x1*(parseInt(_0x1b5418(0x611,0x5dd))/0x2)+parseInt(_0x1b5418(0x6c7,0x643))/0x3+parseInt(_0x1b5418(0x6db,0x654))/0x4*(parseInt(_0x1b5418(0x632,0x5d5))/0x5)+parseInt(_0x1b5418(0x5a1,0x5fe))/0x6*(parseInt(_0x34ca98(0x47d,0x3f6))/0x7)+-parseInt(_0x1b5418(0x69c,0x63f))/0x8*(parseInt(_0x1b5418(0x5ce,0x653))/0x9)+-parseInt(_0x1b5418(0x616,0x634))/0xa+-parseInt(_0x34ca98(0x521,0x4b9))/0xb;if(_0x1b75b3===_0x49008e)break;else _0x19ffb4['push'](_0x19ffb4['shift']());}catch(_0x6fe8fb){_0x19ffb4['push'](_0x19ffb4['shift']());}}}(_0xeabd,0x3aa95));function _interopNamespace(_0x2d4b8e){if(_0x2d4b8e&&_0x2d4b8e['__esModule'])return _0x2d4b8e;var _0x46eb6e=Object['create'](null);function _0x59f160(_0x4ca286,_0x3bcc38){return _0x9531(_0x4ca286- -0x3a7,_0x3bcc38);}_0x2d4b8e&&Object['keys'](_0x2d4b8e)[_0x59f160(-0xe1,-0x157)](function(_0x2ec716){function _0x5a06a0(_0xcc349a,_0x1a51fc){return _0x59f160(_0x1a51fc-0x5d7,_0xcc349a);}function _0x2a7d43(_0x2630de,_0x57b159){return _0x59f160(_0x2630de-0x763,_0x57b159);}if(_0x2ec716!==_0x2a7d43(0x5c2,0x5b3)){var _0x1128a1=Object[_0x5a06a0(0x426,0x472)](_0x2d4b8e,_0x2ec716);Object[_0x2a7d43(0x5b4,0x633)](_0x46eb6e,_0x2ec716,_0x1128a1[_0x2a7d43(0x67e,0x658)]?_0x1128a1:{'enumerable':!![],'get':function(){return _0x2d4b8e[_0x2ec716];}});}});_0x46eb6e[_0x491966(-0x138,-0x1be)]=_0x2d4b8e;function _0x491966(_0x407369,_0x163a15){return _0x9531(_0x407369- -0x33e,_0x163a15);}return _0x46eb6e;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace['Cesium'];function getU(_0x455a31,_0x455f08){const _0x56a85a=_0x455a31*Math['cos'](Cesium$7['Math']['toRadians'](_0x455f08));return _0x56a85a;}function getV(_0x23e3f7,_0xb868c9){function _0x42c4bd(_0x3233a5,_0x2c4459){return _0x9531(_0x3233a5- -0x2ef,_0x2c4459);}const _0x838d60=_0x23e3f7*Math[_0x42c4bd(-0x66,-0xa3)](Cesium$7[_0x55c395(0x221,0x1b8)][_0x42c4bd(-0xc7,-0x13b)](_0xb868c9));function _0x55c395(_0x54c425,_0x386a37){return _0x9531(_0x386a37- -0x6c,_0x54c425);}return _0x838d60;}function getSpeed(_0x115b52,_0x39df4c){function _0x3c291a(_0x4a8821,_0x121d99){return _0x9531(_0x4a8821-0x3af,_0x121d99);}const _0xed1a24=Math[_0x3c291a(0x60b,0x645)](Math['pow'](_0x115b52,0x2)+Math['pow'](_0x39df4c,0x2));return _0xed1a24;}function _0xeabd(){const _0x16d550=['mod','getContext','add','getUVByXY','bind','particleSystem','geometry','postMessage','_onMapWhellEvent','BoundingSphere','_pointerEvents','clear','default','DomUtil','mouse_down','primitives','context','ymin','createWindTextures','getDefaultRenderState','reverseY','TRIANGLES','absolute','STATIC_DRAW','CanvasWindField','willReadFrequently','array','301TrxFsO','Cartesian3','nextTrailsDepth','DrawCommand','VertexArray','requestAnimationFrame','atan2','textures','setDate','PixelFormat','setData','mouseMove','DEPTH_COMPONENT','NEAREST','getOptions','Math','canvasContext','position','height','toRadians','_showHook','particlesRendering','segmentsDepth','677375ZClelb','ShaderSource','_map','scene','resize','_setOptionsHook','PrimitiveType','latRange','542LpKIIN','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\x0ain\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=\x20texture(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture(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\x20out_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\x20out_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}\x0a','uniformMap','getRandomLatLng','_colorRamp','windData','enabled','_addedHook','lat','depthTest','currentParticlesPosition','in\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0ain\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\x0aout\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\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\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=\x20texture(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture(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=\x20texture(postProcessingSpeed,\x20particleIndex).a;\x0a}\x0a','colorTable','globeBoundingSphere','getOwnPropertyDescriptor','Color','maximum','createComputingPrimitives','cols','_bilinearInterpolation','width','createSegmentsGeometry','umin','currentTrails','udata','_updateIng','updateSpeed','unbindEvent','clientWidth','nextTrails','removeAll','type','particlesWind','1752McEHpa','GeometryAttribute','createParticlesTextures','WindUtil','dimensions','GeometryAttributes','postProcessingPosition','sqrt','viewRectangleToLonLatRange','maxAge','nextParticlesPosition','outputTexture','stroke','BufferUsage','normal','refreshParticles','_tomap','canvasWidth','dropRateBump','viewerParameters','createTexture','show','cancelAnimationFrame','defined','UNSIGNED_INT','fadeOpacity','destroyObject','_drawLines','vdata','RGB','Cartesian2','rows','min','mode','lng','windField','canvasResize','framebuffers','segmentsColor','EllipsoidalOccluder','TWO_PI','wheel','fillRect','_calc_speedRate','viewport','vertexArray','update','currentParticlesSpeed','fragmentShaderSource','SceneMode','_onMouseUpEvent','_mountedHook','sin','particlesTextureSize','561070XdrQua','ymax','framebuffer','postProcessingSpeed','fixedHeight','_canrefresh','frameTime','setOptions','camera','grid','lonRange','1305512fYYGNW','max','vmin','clearCommand','173850wzgBep','preExecute','toDegrees','ellipsoid','color','layer','shaderProgram','lineWidth','none','applyViewerParameters','xmax','mouse_move','_onMouseMoveEvent','tlat','getUVByPoint','ComponentDatatype','9hkZFoe','4wccCyx','PixelDatatype','wgs84ToWindowCoordinates','push','commandType','defines','north','bindEvent','computeViewRectangle','length','rawRenderState','speedFactor','particlesTextures','toGridXY','1947297TEzcRs','speed','updatePosition','ComputeCommand','options','1589TPSsig','init','RenderState','style','get','abs','OPAQUE','_calcUV','forEach','createFramebuffer','Compute','BaseLayer','drawingBufferHeight','particles','_speedRate','blending','FLOAT','particlesNumber','canvasHeight','getPixelSize','worker','segments','destination-in','colors','tlng','Draw','age','WindLayer','Rectangle','commandToExecute','data','vertexShaderSource','getWind','globalCompositeOperation','_onMouseDownEvent','clearFramebuffers','windTextures','all','randomizeParticles','ClearCommand','sources','lev','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0ain\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\x20out_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=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}\x0a','_updateIng2','createRawRenderState','_data','mars3d-canvasWind','redraw','canvas','LINEAR','Cesium','nextTrailsColor','round','particlesComputing','LayerUtil','maxParticles','EventType','commandList','keys','particleHeight','speedRate','lon','Pass','depthTexture','ZERO','RGBA','TextureMagnificationFilter','setGeometry','xmin','fromCache','mouseUp','destroy','attributeLocations','0px','off','clientHeight','rgb(206,255,255)','visibility','hidden','defineProperty','value'];_0xeabd=function(){return _0x16d550;};return _0xeabd();}function getDirection(_0x477f0c,_0x5917d0){function _0x3067c8(_0x446712,_0x2bb9ab){return _0x9531(_0x446712- -0x84,_0x2bb9ab);}let _0x2407d5=Cesium$7['Math'][_0x26db15(0x434,0x3fb)](Math[_0x3067c8(0x197,0x125)](_0x5917d0,_0x477f0c));function _0x26db15(_0x28014f,_0x4c4e6e){return _0x9531(_0x4c4e6e-0x15f,_0x28014f);}return _0x2407d5+=_0x2407d5<0x0?0x168:0x0,_0x2407d5;}const _0x2bbf8e={};_0x2bbf8e['__proto__']=null,_0x2bbf8e['getU']=getU,_0x2bbf8e['getV']=getV;function _0x437391(_0x1b479b,_0x55da19){return _0x9531(_0x55da19-0x3e4,_0x1b479b);}_0x2bbf8e['getSpeed']=getSpeed,_0x2bbf8e['getDirection']=getDirection;var WindUtil=_0x2bbf8e;const Cesium$6=mars3d__namespace[_0x437391(0x725,0x6d4)];class CustomPrimitive{constructor(_0x19baef){this['commandType']=_0x19baef['commandType'],this[_0xeeb54c(0x149,0x11d)]=_0x19baef['geometry'],this[_0x5af9dc(0x419,0x41b)]=_0x19baef[_0x5af9dc(0x419,0x3c5)],this['primitiveType']=_0x19baef['primitiveType'],this['uniformMap']=_0x19baef['uniformMap'],this['vertexShaderSource']=_0x19baef['vertexShaderSource'],this['fragmentShaderSource']=_0x19baef[_0x5af9dc(0x4ad,0x511)],this['rawRenderState']=_0x19baef[_0xeeb54c(0x1fe,0x1d2)],this['framebuffer']=_0x19baef['framebuffer'];function _0x5af9dc(_0x4fabf4,_0x2ddfd9){return _0x437391(_0x2ddfd9,_0x4fabf4- -0x1bc);}this['outputTexture']=_0x19baef[_0xeeb54c(0x163,0x17d)],this['autoClear']=_0x19baef['autoClear']??![],this[_0x5af9dc(0x4c3,0x449)]=_0x19baef['preExecute'],this['show']=!![],this[_0xeeb54c(0x1cc,0x1f8)]=undefined;function _0xeeb54c(_0x5b8587,_0x23e36f){return _0x437391(_0x5b8587,_0x23e36f- -0x4c7);}this[_0xeeb54c(0x13e,0x1b6)]=undefined,this['autoClear']&&(this['clearCommand']=new Cesium$6['ClearCommand']({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':Cesium$6['Pass'][_0xeeb54c(0x1c9,0x1e1)]}));}['createCommand'](_0x21093f){function _0x29e28b(_0x493dbf,_0x350c5c){return _0x437391(_0x350c5c,_0x493dbf- -0xde);}function _0x42411f(_0x4e475b,_0x1f3ea6){return _0x437391(_0x1f3ea6,_0x4e475b- -0x367);}switch(this[_0x29e28b(0x5b5,0x5d9)]){case'Draw':{const _0x301a94=Cesium$6[_0x29e28b(0x51f,0x512)]['fromGeometry']({'context':_0x21093f,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage'][_0x42411f(0x28e,0x308)]}),_0x375f71={};_0x375f71[_0x29e28b(0x510,0x4e6)]=_0x21093f,_0x375f71['attributeLocations']=this['attributeLocations'],_0x375f71[_0x29e28b(0x5e3,0x5dd)]=this['vertexShaderSource'],_0x375f71[_0x42411f(0x302,0x2f4)]=this['fragmentShaderSource'];const _0x193934=Cesium$6['ShaderProgram']['fromCache'](_0x375f71),_0x5641f0=Cesium$6[_0x29e28b(0x5c6,0x5ac)][_0x29e28b(0x4f4,0x496)](this['rawRenderState']);return new Cesium$6[(_0x29e28b(0x51e,0x4ac))]({'primitiveType':this['primitiveType'],'shaderProgram':_0x193934,'vertexArray':_0x301a94,'modelMatrix':Cesium$6['Matrix4']['IDENTITY'],'renderState':_0x5641f0,'uniformMap':this[_0x29e28b(0x53c,0x4bb)],'castShadows':![],'receiveShadows':![],'framebuffer':this[_0x29e28b(0x593,0x516)],'pass':Cesium$6[_0x42411f(0x264,0x2d9)][_0x42411f(0x341,0x385)],'pickOnly':!![],'owner':this});}case _0x42411f(0x345,0x2d7):{const _0x192185={};return _0x192185['owner']=this,_0x192185[_0x29e28b(0x58b,0x5ec)]=this['fragmentShaderSource'],_0x192185['uniformMap']=this['uniformMap'],_0x192185['outputTexture']=this[_0x29e28b(0x566,0x5d0)],_0x192185['persists']=!![],new Cesium$6[(_0x42411f(0x339,0x3b9))](_0x192185);}}}[_0x437391(0x5af,0x5d0)](_0x3200c0,_0x21df2d){this[_0x3ab447(0x275,0x286)]=_0x21df2d;function _0x4a9abc(_0x559005,_0x4a8d95){return _0x20001d(_0x4a8d95,_0x559005- -0x159);}const _0x594389=Cesium$6[_0x4a9abc(0x450,0x422)]['fromGeometry']({'context':_0x3200c0,'geometry':this[_0x4a9abc(0x437,0x46c)],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6[_0x3ab447(0x2d7,0x2aa)]['STATIC_DRAW']});function _0x3ab447(_0x102fbe,_0x16f049){return _0x20001d(_0x16f049,_0x102fbe- -0x31b);}this[_0x3ab447(0x350,0x390)]['vertexArray']=_0x594389;}[_0x437391(0x666,0x667)](_0x5e51f3){if(!this[_0xbb4543(0x391,0x329)])return;if(_0x5e51f3[_0x524356(-0x39,-0x4)]!==Cesium$6['SceneMode']['SCENE3D'])return;!Cesium$6[_0xbb4543(0x2e1,0x32b)](this['commandToExecute'])&&(this['commandToExecute']=this['createCommand'](_0x5e51f3[_0xbb4543(0x2ae,0x2c9)]));Cesium$6['defined'](this[_0x524356(-0x5b,0x21)])&&this['preExecute']();function _0x524356(_0xe5ae8b,_0x5c7095){return _0x437391(_0xe5ae8b,_0x5c7095- -0x65e);}Cesium$6[_0x524356(0x61,-0xe)](this['clearCommand'])&&_0x5e51f3[_0x524356(-0xed,-0x98)][_0xbb4543(0x379,0x36d)](this['clearCommand']);function _0xbb4543(_0x205feb,_0x2dcf08){return _0x20001d(_0x205feb,_0x2dcf08- -0x2d1);}_0x5e51f3['commandList']['push'](this[_0x524356(0xb1,0x61)]);}['isDestroyed'](){return![];}[_0x437391(0x5e3,0x5d4)](){if(this['clearCommand']){var _0x15209d,_0x599025;(_0x15209d=this['clearCommand'])!==null&&_0x15209d!==void 0x0&&_0x15209d[_0x562f16(0x418,0x413)]&&this[_0x2021f3(0x583,0x570)][_0x2021f3(0x56c,0x524)][_0x2021f3(0x4da,0x50d)](),(_0x599025=this['clearCommand'])!==null&&_0x599025!==void 0x0&&_0x599025['shaderProgram']&&this['clearCommand']['shaderProgram'][_0x2021f3(0x4da,0x518)](),delete this['clearCommand'];}function _0x2021f3(_0x135e34,_0x3b1715){return _0x437391(_0x3b1715,_0x135e34- -0xfa);}function _0x562f16(_0x2aeb27,_0x346297){return _0x437391(_0x346297,_0x2aeb27- -0x24e);}return this[_0x2021f3(0x5c5,0x576)]&&(this['commandToExecute'][_0x562f16(0x418,0x392)]&&this['commandToExecute']['vertexArray']['destroy'](),this['commandToExecute'][_0x2021f3(0x58a,0x530)]&&this['commandToExecute'][_0x2021f3(0x58a,0x591)][_0x562f16(0x386,0x31c)](),delete this[_0x2021f3(0x5c5,0x63a)]),Cesium$6[_0x2021f3(0x559,0x4d8)](this);}}const Cesium$5=mars3d__namespace[_0x437391(0x67e,0x6d4)],Util=(function(){const _0x5113a6=function(){const _0x45636f=new Cesium$5['Geometry']({'attributes':new Cesium$5['GeometryAttributes']({'position':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});return _0x45636f;},_0x4e21b2=function(_0x359c35,_0xc5f1e3){if(Cesium$5['defined'](_0xc5f1e3)){const _0xf9475e={};_0xf9475e['arrayBufferView']=_0xc5f1e3,_0x359c35['source']=_0xf9475e;}const _0x18e1f7=new Cesium$5['Texture'](_0x359c35);return _0x18e1f7;},_0x426e4f=function(_0x34fbb0,_0x4accd0,_0x33f054){const _0x384c93={};_0x384c93[_0x5d3906(0x41e,0x41a)]=_0x34fbb0;function _0x5d3906(_0x1cdfc2,_0x1e3898){return _0x9531(_0x1e3898-0x210,_0x1cdfc2);}_0x384c93['colorTextures']=[_0x4accd0];function _0x4f659c(_0x4e1efd,_0x1f9b23){return _0x9531(_0x4e1efd-0x2dd,_0x1f9b23);}_0x384c93[_0x4f659c(0x4c5,0x46f)]=_0x33f054;const _0x20573b=new Cesium$5['Framebuffer'](_0x384c93);return _0x20573b;},_0x4cdd28=function(_0x586bd9){const _0xadf52e=!![];function _0x5687b5(_0x473387,_0x1e884e){return _0x9531(_0x473387- -0x239,_0x1e884e);}const _0x4cb495=![],_0x5ccc41={};_0x5ccc41[_0x5687b5(0x48,0xb3)]=_0x586bd9['viewport'];function _0x595697(_0x10d0bc,_0x61dbc7){return _0x9531(_0x10d0bc- -0x128,_0x61dbc7);}_0x5ccc41['depthTest']=_0x586bd9['depthTest'],_0x5ccc41['depthMask']=_0x586bd9['depthMask'],_0x5ccc41[_0x595697(0x1a5,0x140)]=_0x586bd9['blending'];const _0x1f4ba0=_0x5ccc41,_0x4a175d=Cesium$5['Appearance'][_0x595697(0xe5,0x97)](_0xadf52e,_0x4cb495,_0x1f4ba0);return _0x4a175d;},_0x4cc6b3=function(_0x30912e){const _0x4cab3b={},_0x23ff9d=Cesium$5[_0x35e045(0x258,0x26f)][_0x35e045(0x22e,0x2a2)](_0x30912e['west'],Cesium$5[_0xe95473(0x2f,0x2e)]['TWO_PI']),_0x78c8f3=Cesium$5['Math'][_0x35e045(0x22e,0x2b3)](_0x30912e['east'],Cesium$5['Math'][_0xe95473(0x95,0x87)]),_0x7a78eb=_0x30912e['width'];let _0x326c50,_0x3db79a;_0x7a78eb>Cesium$5[_0xe95473(-0x45,0x2e)]['THREE_PI_OVER_TWO']?(_0x326c50=0x0,_0x3db79a=Cesium$5[_0x35e045(0x258,0x218)]['TWO_PI']):_0x78c8f3-_0x23ff9d<_0x7a78eb?(_0x326c50=_0x23ff9d,_0x3db79a=_0x23ff9d+_0x7a78eb):(_0x326c50=_0x23ff9d,_0x3db79a=_0x78c8f3);_0x4cab3b['lon']={'min':Cesium$5['Math']['toDegrees'](_0x326c50),'max':Cesium$5[_0xe95473(0x2b,0x2e)][_0x35e045(0x2d0,0x2d6)](_0x3db79a)};const _0x4d534b=_0x30912e['south'],_0x18bd03=_0x30912e[_0x35e045(0x2e5,0x25a)],_0x3543fd=_0x30912e[_0x35e045(0x25b,0x27b)],_0x4e4c7e=_0x3543fd>Cesium$5['Math']['PI']/0xc?_0x3543fd/0x2:0x0;let _0x5632fe=Cesium$5['Math']['clampToLatitudeRange'](_0x4d534b-_0x4e4c7e);function _0x35e045(_0x108629,_0x56ff7a){return _0x9531(_0x108629-0x34,_0x56ff7a);}let _0x55168b=Cesium$5['Math']['clampToLatitudeRange'](_0x18bd03+_0x4e4c7e);_0x5632fe<-Cesium$5['Math']['PI_OVER_THREE']&&(_0x5632fe=-Cesium$5['Math']['PI_OVER_TWO']);function _0xe95473(_0x3cec97,_0xd20abf){return _0x9531(_0xd20abf- -0x1f6,_0x3cec97);}return _0x55168b>Cesium$5[_0x35e045(0x258,0x223)]['PI_OVER_THREE']&&(_0x55168b=Cesium$5[_0xe95473(0x5,0x2e)]['PI_OVER_TWO']),_0x4cab3b[_0x35e045(0x270,0x2f1)]={'min':Cesium$5['Math']['toDegrees'](_0x5632fe),'max':Cesium$5['Math'][_0x35e045(0x2d0,0x33d)](_0x55168b)},_0x4cab3b;},_0x406633={};_0x406633['getFullscreenQuad']=_0x5113a6,_0x406633['createTexture']=_0x4e21b2,_0x406633['createFramebuffer']=_0x426e4f,_0x406633['createRawRenderState']=_0x4cdd28,_0x406633[_0x269320(-0xe5,-0x14a)]=_0x4cc6b3;function _0x269320(_0x37ee83,_0x53af24){return _0x20001d(_0x53af24,_0x37ee83- -0x6d2);}return _0x406633;}());var segmentDraw_vert=_0x437391(0x5e0,0x623),segmentDraw_frag='uniform\x20sampler2D\x20colorTable;\x0a\x0ain\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20texture(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}\x0a',fullscreen_vert='in\x20vec3\x20position;\x0ain\x20vec2\x20st;\x0a\x0aout\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0a}\x0a',trailDraw_frag='uniform\x20sampler2D\x20segmentsColorTexture;\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0a\x0auniform\x20sampler2D\x20currentTrailsColor;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0auniform\x20float\x20fadeOpacity;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture(segmentsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(currentTrailsColor,\x20textureCoordinate);\x0a\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\x0a\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture(segmentsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20pointsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20trailsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20gl_FragDepth\x20=\x20min(pointsDepth,\x20trailsDepth);\x0a}\x0a',screenDraw_frag='uniform\x20sampler2D\x20trailsColorTexture;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(trailsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20trailsColor;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x0a}\x0a';const Cesium$4=mars3d__namespace[_0x437391(0x755,0x6d4)];class ParticlesRendering{constructor(_0x1bf565,_0x535c7d,_0x2487e7,_0x42cb8,_0x4a811c){this['createRenderingTextures'](_0x1bf565,_0x535c7d,_0x2487e7['colors']),this['createRenderingFramebuffers'](_0x1bf565),this['createRenderingPrimitives'](_0x1bf565,_0x2487e7,_0x42cb8,_0x4a811c);}['createRenderingTextures'](_0x3dadc0,_0x4a04e4,_0x2065b6){function _0x39e437(_0x4d94aa,_0x335ff0){return _0x437391(_0x335ff0,_0x4d94aa- -0x2fc);}const _0x5681cf={};_0x5681cf['context']=_0x3dadc0,_0x5681cf[_0x57e8f2(0x441,0x474)]=_0x3dadc0['drawingBufferWidth'],_0x5681cf['height']=_0x3dadc0[_0x39e437(0x3b2,0x371)],_0x5681cf['pixelFormat']=Cesium$4[_0x39e437(0x306,0x298)]['RGBA'],_0x5681cf['pixelDatatype']=Cesium$4[_0x57e8f2(0x4a5,0x513)]['UNSIGNED_BYTE'];const _0x29f237=_0x5681cf,_0x410599={};_0x410599['context']=_0x3dadc0,_0x410599['width']=_0x3dadc0['drawingBufferWidth'];function _0x57e8f2(_0x41cb77,_0x4f2d12){return _0x20001d(_0x4f2d12,_0x41cb77- -0x197);}_0x410599[_0x57e8f2(0x420,0x40a)]=_0x3dadc0['drawingBufferHeight'],_0x410599['pixelFormat']=Cesium$4[_0x57e8f2(0x417,0x408)][_0x39e437(0x309,0x35e)],_0x410599['pixelDatatype']=Cesium$4[_0x39e437(0x394,0x3eb)][_0x39e437(0x355,0x359)];const _0x3452ee=_0x410599,_0x257a95=_0x2065b6['length'],_0x26b451=new Float32Array(_0x257a95*0x3);for(let _0x196e95=0x0;_0x196e95<_0x257a95;_0x196e95++){const _0x2d8769=Cesium$4[_0x39e437(0x32b,0x3a1)]['fromCssColorString'](_0x2065b6[_0x196e95]);_0x26b451[0x3*_0x196e95]=_0x2d8769['red'],_0x26b451[0x3*_0x196e95+0x1]=_0x2d8769['green'],_0x26b451[0x3*_0x196e95+0x2]=_0x2d8769['blue'];}const _0x4fb48a={'context':_0x3dadc0,'width':_0x257a95,'height':0x1,'pixelFormat':Cesium$4[_0x57e8f2(0x417,0x3ea)][_0x39e437(0x35a,0x377)],'pixelDatatype':Cesium$4['PixelDatatype']['FLOAT'],'sampler':new Cesium$4['Sampler']({'minificationFilter':Cesium$4['TextureMinificationFilter'][_0x39e437(0x3d7,0x41f)],'magnificationFilter':Cesium$4[_0x39e437(0x2d3,0x24e)][_0x57e8f2(0x4e8,0x4b4)]})};this[_0x39e437(0x304,0x2aa)]={'segmentsColor':Util['createTexture'](_0x29f237),'segmentsDepth':Util['createTexture'](_0x3452ee),'currentTrailsColor':Util[_0x57e8f2(0x462,0x4dd)](_0x29f237),'currentTrailsDepth':Util[_0x57e8f2(0x462,0x40c)](_0x3452ee),'nextTrailsColor':Util['createTexture'](_0x29f237),'nextTrailsDepth':Util['createTexture'](_0x3452ee),'colorTable':Util['createTexture'](_0x4fb48a,_0x26b451)};}['createRenderingFramebuffers'](_0x36565d){function _0x19b48f(_0x418c5d,_0x2f5f6f){return _0x20001d(_0x418c5d,_0x2f5f6f- -0x53d);}function _0x23afc1(_0x5babe3,_0x4b2847){return _0x437391(_0x5babe3,_0x4b2847- -0x765);}this['framebuffers']={'segments':Util['createFramebuffer'](_0x36565d,this['textures'][_0x23afc1(-0x124,-0x106)],this['textures'][_0x19b48f(0xcd,0x7e)]),'currentTrails':Util['createFramebuffer'](_0x36565d,this[_0x23afc1(-0x17c,-0x165)]['currentTrailsColor'],this['textures']['currentTrailsDepth']),'nextTrails':Util[_0x19b48f(0xf5,0x11a)](_0x36565d,this[_0x23afc1(-0x16b,-0x165)][_0x23afc1(-0x11d,-0x1a5)],this['textures'][_0x23afc1(-0x1cb,-0x16a)])};}['createSegmentsGeometry'](_0x25d4b1){const _0x7120e0=0x4;let _0x455775=[];function _0x494a1f(_0x31cce3,_0x573d55){return _0x20001d(_0x31cce3,_0x573d55- -0x263);}for(let _0x23b04a=0x0;_0x23b04a<_0x25d4b1[_0x494a1f(0x432,0x3b7)];_0x23b04a++){for(let _0x20caba=0x0;_0x20caba<_0x25d4b1['particlesTextureSize'];_0x20caba++){for(let _0x5d6633=0x0;_0x5d6633<_0x7120e0;_0x5d6633++){_0x455775['push'](_0x23b04a/_0x25d4b1['particlesTextureSize']),_0x455775[_0x494a1f(0x460,0x3db)](_0x20caba/_0x25d4b1[_0x1ff3f3(0x528,0x5a6)]);}}}_0x455775=new Float32Array(_0x455775);let _0x3a0289=[];const _0x4574af=[-0x1,0x1];function _0x1ff3f3(_0x2b34bc,_0xfbf72e){return _0x437391(_0x2b34bc,_0xfbf72e- -0xc8);}const _0x5b180d=[-0x1,0x1];for(let _0x3fcf8b=0x0;_0x3fcf8b<_0x25d4b1['maxParticles'];_0x3fcf8b++){for(let _0x2c5660=0x0;_0x2c5660<_0x7120e0/0x2;_0x2c5660++){for(let _0x42f4d7=0x0;_0x42f4d7<_0x7120e0/0x2;_0x42f4d7++){_0x3a0289['push'](_0x4574af[_0x2c5660]),_0x3a0289[_0x494a1f(0x3c6,0x3db)](_0x5b180d[_0x42f4d7]),_0x3a0289[_0x494a1f(0x3cb,0x3db)](0x0);}}}_0x3a0289=new Float32Array(_0x3a0289);const _0x52a734=0x6*_0x25d4b1[_0x1ff3f3(0x495,0x4fc)],_0x56164b=new Uint32Array(_0x52a734);for(let _0x59f2b6=0x0,_0x1738be=0x0,_0x410c44=0x0;_0x59f2b6<_0x25d4b1['maxParticles'];_0x59f2b6++){_0x56164b[_0x1738be++]=_0x410c44+0x0,_0x56164b[_0x1738be++]=_0x410c44+0x1,_0x56164b[_0x1738be++]=_0x410c44+0x2,_0x56164b[_0x1738be++]=_0x410c44+0x2,_0x56164b[_0x1738be++]=_0x410c44+0x1,_0x56164b[_0x1738be++]=_0x410c44+0x3,_0x410c44+=0x4;}const _0x2afc60=new Cesium$4['Geometry']({'attributes':new Cesium$4[(_0x1ff3f3(0x540,0x576))]({'st':new Cesium$4[(_0x1ff3f3(0x571,0x572))]({'componentDatatype':Cesium$4[_0x494a1f(0x35b,0x3d6)][_0x494a1f(0x40f,0x3fb)],'componentsPerAttribute':0x2,'values':_0x455775}),'normal':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4['ComponentDatatype'][_0x494a1f(0x3c8,0x3fb)],'componentsPerAttribute':0x3,'values':_0x3a0289})}),'indices':_0x56164b});return _0x2afc60;}['createRenderingPrimitives'](_0x369349,_0x778875,_0x567cdf,_0x5de2a8){const _0x1409ac=this,_0x38586a={};function _0x42b2c9(_0x1f0abd,_0x331946){return _0x437391(_0x331946,_0x1f0abd- -0x58a);}_0x38586a['st']=0x0,_0x38586a[_0x12b133(0x1b2,0x1a9)]=0x1;const _0x2eb19f={};_0x2eb19f[_0x12b133(0x1d2,0x22c)]=[segmentDraw_vert];const _0x23745b={};_0x23745b['sources']=[segmentDraw_frag];const _0x266b6a={};_0x266b6a['enabled']=!![];const _0x3bd990={};_0x3bd990[_0x42b2c9(0xdb,0xc2)]=undefined,_0x3bd990[_0x12b133(0x183,0x183)]=_0x266b6a,_0x3bd990['depthMask']=!![];const _0x31ecab={};_0x31ecab['position']=0x0,_0x31ecab['st']=0x1;const _0x421479={};_0x421479['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x421479['sources']=[fullscreen_vert];const _0x50efe6={};_0x50efe6[_0x42b2c9(0x10a,0xae)]=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x50efe6['sources']=[trailDraw_frag];const _0x2d6b74={};_0x2d6b74['position']=0x0,_0x2d6b74['st']=0x1;const _0x2a59ba={};_0x2a59ba['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'];function _0x12b133(_0x412a0b,_0x396c73){return _0x437391(_0x412a0b,_0x396c73- -0x49e);}_0x2a59ba['sources']=[fullscreen_vert];const _0x5e9770={};_0x5e9770[_0x42b2c9(0x10a,0xd2)]=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x5e9770['sources']=[screenDraw_frag];const _0x38733d={};_0x38733d['enabled']=![];const _0x116a18={};_0x116a18[_0x42b2c9(0x94,0x31)]=!![],this['primitives']={'segments':new CustomPrimitive({'commandType':_0x12b133(0x28a,0x21d),'attributeLocations':_0x38586a,'geometry':this[_0x12b133(0x12c,0x18f)](_0x778875),'primitiveType':Cesium$4[_0x42b2c9(0x8c,0xdd)][_0x42b2c9(0x69,0x69)],'uniformMap':{'currentParticlesPosition':function(){function _0x3f446a(_0x4b3f1b,_0x51c912){return _0x12b133(_0x51c912,_0x4b3f1b-0x212);}return _0x5de2a8['particlesTextures'][_0x3f446a(0x396,0x410)];},'postProcessingPosition':function(){function _0x2ae765(_0x55b487,_0x3a7534){return _0x42b2c9(_0x55b487-0x48a,_0x3a7534);}return _0x5de2a8[_0x2ae765(0x59b,0x597)]['postProcessingPosition'];},'postProcessingSpeed':function(){return _0x5de2a8['particlesTextures']['postProcessingSpeed'];},'colorTable':function(){function _0x3d10b0(_0x4075fb,_0x6b6635){return _0x12b133(_0x4075fb,_0x6b6635- -0x207);}function _0x45f549(_0xd0863b,_0x5bd3a1){return _0x12b133(_0xd0863b,_0x5bd3a1- -0x21);}return _0x1409ac[_0x3d10b0(-0xaa,-0xa5)][_0x3d10b0(-0x36,-0x81)];},'aspect':function(){function _0x47f191(_0x242f9f,_0x62d706){return _0x42b2c9(_0x62d706-0x58,_0x242f9f);}return _0x369349['drawingBufferWidth']/_0x369349[_0x47f191(0xfb,0x17c)];},'pixelSize':function(){return _0x567cdf['pixelSize'];},'lineWidth':function(){return _0x778875['lineWidth'];},'particleHeight':function(){function _0x3e702d(_0x35fc49,_0x5a2eb7){return _0x42b2c9(_0x5a2eb7-0x467,_0x35fc49);}return _0x778875[_0x3e702d(0x524,0x4a5)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x2eb19f),'fragmentShaderSource':new Cesium$4[(_0x12b133(0x1d4,0x173))](_0x23745b),'rawRenderState':Util['createRawRenderState'](_0x3bd990),'framebuffer':this[_0x12b133(0x24b,0x1c0)]['segments'],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0x42b2c9(0x131,0x168),'attributeLocations':_0x31ecab,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4['PrimitiveType'][_0x12b133(0x1aa,0x155)],'uniformMap':{'segmentsColorTexture':function(){function _0x381ef4(_0x23bfa3,_0x1d65ad){return _0x12b133(_0x23bfa3,_0x1d65ad-0x30d);}return _0x1409ac[_0x381ef4(0x47e,0x46f)]['segmentsColor'];},'segmentsDepthTexture':function(){function _0x137b85(_0x188e0d,_0x435e07){return _0x12b133(_0x188e0d,_0x435e07- -0x4a);}return _0x1409ac[_0x137b85(0x106,0x118)]['segmentsDepth'];},'currentTrailsColor':function(){function _0x5a6abb(_0x3712b1,_0x2b5f64){return _0x42b2c9(_0x2b5f64-0x39f,_0x3712b1);}return _0x1409ac['framebuffers'][_0x5a6abb(0x3d6,0x444)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0xe80117(_0x8ee97e,_0x18fb05){return _0x12b133(_0x18fb05,_0x8ee97e-0x312);}return _0x1409ac['framebuffers']['currentTrails'][_0xe80117(0x440,0x41e)];},'fadeOpacity':function(){return _0x778875['fadeOpacity'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x421479),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x50efe6),'rawRenderState':Util[_0x12b133(0x1b6,0x230)]({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction']['ALWAYS']},'depthMask':!![]}),'framebuffer':this[_0x42b2c9(0xd4,0x137)]['nextTrails'],'autoClear':!![],'preExecute':function(){const _0x5d7388=_0x1409ac[_0xc3b398(0x5cf,0x575)]['currentTrails'];_0x1409ac['framebuffers']['currentTrails']=_0x1409ac[_0x53bc08(0x106,0x111)]['nextTrails'];function _0x53bc08(_0x54fb9b,_0x4e0b5e){return _0x42b2c9(_0x54fb9b-0x32,_0x4e0b5e);}function _0xc3b398(_0x4ed26d,_0x142aa1){return _0x42b2c9(_0x142aa1-0x4a1,_0x4ed26d);}_0x1409ac[_0xc3b398(0x514,0x575)]['nextTrails']=_0x5d7388,_0x1409ac[_0x53bc08(0x95,0xb9)]['trails']['commandToExecute']['framebuffer']=_0x1409ac[_0x53bc08(0x106,0x10f)]['nextTrails'],_0x1409ac['primitives']['trails'][_0xc3b398(0x5db,0x594)]['framebuffer']=_0x1409ac['framebuffers']['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x2d6b74,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){function _0x373526(_0x57b66b,_0x1fa0b1){return _0x42b2c9(_0x57b66b-0x1b5,_0x1fa0b1);}return _0x1409ac[_0x373526(0x289,0x22a)]['nextTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0xba389c(_0x57936a,_0xe53dc8){return _0x42b2c9(_0x57936a- -0x1a3,_0xe53dc8);}function _0x23626a(_0x13a381,_0x13a724){return _0x12b133(_0x13a724,_0x13a381-0x3a9);}return _0x1409ac['framebuffers'][_0xba389c(-0xf8,-0xbf)][_0x23626a(0x4d7,0x49a)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x2a59ba),'fragmentShaderSource':new Cesium$4[(_0x42b2c9(0x87,0x3a))](_0x5e9770),'rawRenderState':Util[_0x12b133(0x1e2,0x230)]({'viewport':undefined,'depthTest':_0x38733d,'depthMask':!![],'blending':_0x116a18}),'framebuffer':undefined})};}}var getWind_frag='//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\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\x0ain\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=\x20texture(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=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}\x0a',updateSpeed_frag='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\x0ain\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\x20//\x20vec3\x20currentSpeed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20out_FragColor\x20=\x20nextSpeed;\x0a}\x0a',updatePosition_frag=_0x20001d(0x6af,0x678),postProcessingPosition_frag=_0x20001d(0x549,0x5c5),postProcessingSpeed_frag='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}\x0a';const Cesium$3=mars3d__namespace['Cesium'];class ParticlesComputing{constructor(_0x402c71,_0x47a238,_0x8861c9,_0x408d38){this['data']=_0x47a238,this[_0x189210(0x17b,0x1a2)](_0x402c71,_0x47a238),this['createParticlesTextures'](_0x402c71,_0x8861c9,_0x408d38);function _0x189210(_0x580322,_0x1ef6ea){return _0x437391(_0x1ef6ea,_0x580322- -0x475);}this['createComputingPrimitives'](_0x47a238,_0x8861c9,_0x408d38);}[_0x437391(0x5b8,0x5f0)](_0x9235fc,_0x4ce054){function _0x363af6(_0x1d4d46,_0x4c9d8c){return _0x437391(_0x1d4d46,_0x4c9d8c- -0x411);}function _0x11861b(_0x4f8df7,_0x5a5c32){return _0x437391(_0x5a5c32,_0x4f8df7- -0x107);}const _0x473379={'context':_0x9235fc,'width':_0x4ce054['dimensions'][_0x363af6(0x151,0x1b9)],'height':_0x4ce054['dimensions']['lat']*(_0x4ce054['dimensions']['lev']||0x1),'pixelFormat':Cesium$3['PixelFormat']['LUMINANCE'],'pixelDatatype':Cesium$3['PixelDatatype']['FLOAT'],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter'][_0x11861b(0x4ff,0x4bf)],'magnificationFilter':Cesium$3[_0x363af6(0x243,0x1be)][_0x363af6(0x224,0x1f5)]})};this['windTextures']={'U':Util[_0x11861b(0x546,0x4cd)](_0x473379,_0x4ce054['U'][_0x363af6(0x162,0x1e7)]),'V':Util['createTexture'](_0x473379,_0x4ce054['V'][_0x11861b(0x4f1,0x514)])};}[_0x437391(0x66d,0x63b)](_0x5d1e6d,_0x19ee8e,_0x4fdb00){const _0x175781={'context':_0x5d1e6d,'width':_0x19ee8e['particlesTextureSize'],'height':_0x19ee8e[_0x2135bd(0x39e,0x36d)],'pixelFormat':Cesium$3[_0x24cfac(0x4fb,0x49d)][_0x2135bd(0x2b5,0x2cd)],'pixelDatatype':Cesium$3[_0x2135bd(0x3a5,0x38f)][_0x24cfac(0x5ab,0x598)],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3[_0x24cfac(0x4c8,0x53c)][_0x2135bd(0x306,0x305)]})};function _0x24cfac(_0x367012,_0x2a2f5a){return _0x437391(_0x2a2f5a,_0x367012- -0x107);}function _0x2135bd(_0x69ae07,_0x3ee1d2){return _0x437391(_0x69ae07,_0x3ee1d2- -0x301);}const _0xc8c4ae=this[_0x24cfac(0x5c1,0x597)](_0x19ee8e['maxParticles'],_0x4fdb00),_0x45323a=new Float32Array(0x4*_0x19ee8e[_0x2135bd(0x2e1,0x2c3)])['fill'](0x0);this[_0x24cfac(0x594,0x537)]={'particlesWind':Util[_0x2135bd(0x322,0x34c)](_0x175781),'currentParticlesPosition':Util['createTexture'](_0x175781,_0xc8c4ae),'nextParticlesPosition':Util['createTexture'](_0x175781,_0xc8c4ae),'currentParticlesSpeed':Util[_0x24cfac(0x546,0x521)](_0x175781,_0x45323a),'nextParticlesSpeed':Util['createTexture'](_0x175781,_0x45323a),'postProcessingPosition':Util['createTexture'](_0x175781,_0xc8c4ae),'postProcessingSpeed':Util['createTexture'](_0x175781,_0x45323a)};}['randomizeParticles'](_0xcc6ecc,_0x3e8f19){function _0x4c5225(_0x3174c1,_0x4cdcb3){return _0x437391(_0x3174c1,_0x4cdcb3- -0x2df);}const _0x5f3929=new Float32Array(0x4*_0xcc6ecc);function _0x54fb27(_0xd92308,_0x1119b7){return _0x437391(_0xd92308,_0x1119b7- -0x5dd);}for(let _0x14015b=0x0;_0x14015b<_0xcc6ecc;_0x14015b++){_0x5f3929[0x4*_0x14015b]=Cesium$3['Math']['randomBetween'](_0x3e8f19['lonRange']['x'],_0x3e8f19['lonRange']['y']),_0x5f3929[0x4*_0x14015b+0x1]=Cesium$3['Math']['randomBetween'](_0x3e8f19['latRange']['x'],_0x3e8f19['latRange']['y']),_0x5f3929[0x4*_0x14015b+0x2]=Cesium$3['Math']['randomBetween'](this['data'][_0x54fb27(0x177,0xee)][_0x54fb27(0xcd,0x7c)],this['data'][_0x54fb27(0x146,0xee)]['max']),_0x5f3929[0x4*_0x14015b+0x3]=0x0;}return _0x5f3929;}['destroyParticlesTextures'](){function _0x5e19dc(_0x2d9bca,_0x487857){return _0x437391(_0x2d9bca,_0x487857- -0x145);}Object['keys'](this[_0x5e19dc(0x561,0x556)])['forEach'](_0x5318fa=>{this['particlesTextures'][_0x5318fa]['destroy']();});}[_0x437391(0x628,0x629)](_0x18fb41,_0x459d89,_0x187189){const _0x3ba965=new Cesium$3['Cartesian3'](_0x18fb41['dimensions']['lon'],_0x18fb41['dimensions']['lat'],_0x18fb41['dimensions']['lev']),_0x217a0c=new Cesium$3['Cartesian3'](_0x18fb41['lon']['min'],_0x18fb41['lat']['min'],_0x18fb41['lev'][_0x5626f3(-0x22,0x63)]),_0x40e15c=new Cesium$3[(_0x2aa746(0x589,0x614))](_0x18fb41['lon']['max'],_0x18fb41['lat'][_0x5626f3(0x0,-0x14)],_0x18fb41['lev'][_0x2aa746(0x60a,0x68a)]),_0x3b2874=new Cesium$3[(_0x5626f3(-0x81,-0xf0))]((_0x40e15c['x']-_0x217a0c['x'])/(_0x3ba965['x']-0x1),(_0x40e15c['y']-_0x217a0c['y'])/(_0x3ba965['y']-0x1),_0x3ba965['z']>0x1?(_0x40e15c['z']-_0x217a0c['z'])/(_0x3ba965['z']-0x1):0x1),_0x2e3861=new Cesium$3['Cartesian2'](_0x18fb41['U'][_0x2aa746(0x5e8,0x626)],_0x18fb41['U']['max']),_0x5c1cc4=new Cesium$3['Cartesian2'](_0x18fb41['V']['min'],_0x18fb41['V'][_0x5626f3(0x0,0x20)]),_0x30b264=this,_0x4492e3={};_0x4492e3['U']=function(){function _0x50bffd(_0x4d400d,_0x3f6b3a){return _0x2aa746(_0x3f6b3a- -0x37c,_0x4d400d);}return _0x30b264[_0x50bffd(0x2c3,0x2d9)]['U'];},_0x4492e3['V']=function(){function _0x5cb4a5(_0x3482c0,_0x3a870a){return _0x5626f3(_0x3a870a-0x3e7,_0x3482c0);}return _0x30b264[_0x5cb4a5(0x3e2,0x432)]['V'];},_0x4492e3['currentParticlesPosition']=function(){return _0x30b264['particlesTextures']['currentParticlesPosition'];},_0x4492e3['dimension']=function(){return _0x3ba965;},_0x4492e3['minimum']=function(){return _0x217a0c;},_0x4492e3[_0x2aa746(0x5b7,0x5c9)]=function(){return _0x40e15c;};function _0x5626f3(_0x27eaeb,_0x4cea76){return _0x437391(_0x4cea76,_0x27eaeb- -0x67b);}_0x4492e3['interval']=function(){return _0x3b2874;};const _0x4b1b77={};_0x4b1b77['sources']=[getWind_frag];const _0x1c453a={};_0x1c453a['sources']=[updateSpeed_frag];const _0xeb7f3f={};_0xeb7f3f[_0x5626f3(0x4f,0x26)]=[updatePosition_frag];const _0x556c7e={};_0x556c7e['sources']=[postProcessingPosition_frag];const _0x2f0416={};function _0x2aa746(_0x1bd04e,_0xaaa556){return _0x437391(_0xaaa556,_0x1bd04e- -0x71);}_0x2f0416['sources']=[postProcessingSpeed_frag],this['primitives']={'getWind':new CustomPrimitive({'commandType':_0x2aa746(0x63b,0x642),'uniformMap':_0x4492e3,'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x4b1b77),'outputTexture':this['particlesTextures']['particlesWind'],'preExecute':function(){function _0x2bc17c(_0x94782c,_0x575427){return _0x5626f3(_0x575427-0x514,_0x94782c);}function _0x1b1f75(_0x1a3ac4,_0x4712ec){return _0x5626f3(_0x1a3ac4-0x582,_0x4712ec);}_0x30b264[_0x1b1f75(0x4f4,0x515)][_0x1b1f75(0x5c9,0x58a)]['commandToExecute']['outputTexture']=_0x30b264[_0x1b1f75(0x5a2,0x621)]['particlesWind'];}}),'updateSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesSpeed':function(){function _0x450e2b(_0x2fdd36,_0x425379){return _0x2aa746(_0x2fdd36- -0x304,_0x425379);}return _0x30b264['particlesTextures'][_0x450e2b(0x2f3,0x27b)];},'particlesWind':function(){function _0x518414(_0x3cf380,_0x13a996){return _0x2aa746(_0x13a996- -0x724,_0x3cf380);}function _0x212ef6(_0x1b3dfe,_0x1ddae9){return _0x5626f3(_0x1ddae9-0x3d2,_0x1b3dfe);}return _0x30b264[_0x518414(-0x97,-0xfa)][_0x518414(-0x108,-0x15d)];},'uSpeedRange':function(){return _0x2e3861;},'vSpeedRange':function(){return _0x5c1cc4;},'pixelSize':function(){return _0x187189['pixelSize'];},'speedFactor':function(){function _0x288fd2(_0x174e64,_0x1eec9c){return _0x2aa746(_0x1eec9c- -0x5ae,_0x174e64);}return _0x459d89[_0x288fd2(0xc8,0x7b)];}},'fragmentShaderSource':new Cesium$3[(_0x5626f3(-0x6a,-0xd3))](_0x1c453a),'outputTexture':this[_0x2aa746(0x62a,0x5c8)]['nextParticlesSpeed'],'preExecute':function(){const _0xb98b52=_0x30b264['particlesTextures']['currentParticlesSpeed'];_0x30b264[_0x24518e(0xbe,0x3e)][_0x3331e3(0x4,-0x7e)]=_0x30b264['particlesTextures']['postProcessingSpeed'],_0x30b264[_0x3331e3(-0xb4,-0x4b)][_0x24518e(0x95,0xbe)]=_0xb98b52;function _0x3331e3(_0xe8ddbf,_0x370989){return _0x5626f3(_0x370989- -0x6b,_0xe8ddbf);}function _0x24518e(_0x2a3023,_0x595ed6){return _0x5626f3(_0x2a3023-0x9e,_0x595ed6);}_0x30b264['primitives'][_0x24518e(0x55,0x27)][_0x3331e3(-0x3,-0x27)][_0x3331e3(-0xef,-0xa2)]=_0x30b264['particlesTextures']['nextParticlesSpeed'];}}),'updatePosition':new CustomPrimitive({'commandType':_0x2aa746(0x63b,0x5c8),'uniformMap':{'currentParticlesPosition':function(){function _0x60bab6(_0x5a1208,_0x1e2482){return _0x5626f3(_0x5a1208- -0x13a,_0x1e2482);}return _0x30b264['particlesTextures'][_0x60bab6(-0x193,-0x1c9)];},'currentParticlesSpeed':function(){return _0x30b264['particlesTextures']['currentParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0xeb7f3f),'outputTexture':this['particlesTextures']['nextParticlesPosition'],'preExecute':function(){const _0x534ec8=_0x30b264['particlesTextures']['currentParticlesPosition'];_0x30b264[_0x53b91a(0x468,0x4a7)][_0x53b91a(0x3ef,0x418)]=_0x30b264[_0x53b91a(0x468,0x4ee)]['postProcessingPosition'];function _0x53b91a(_0x394c16,_0x5a7cec){return _0x5626f3(_0x394c16-0x448,_0x5a7cec);}_0x30b264[_0x53b91a(0x468,0x4a3)]['postProcessingPosition']=_0x534ec8;function _0x4f391a(_0x321244,_0x17518d){return _0x5626f3(_0x17518d-0x261,_0x321244);}_0x30b264['primitives'][_0x4f391a(0x2d7,0x285)]['commandToExecute']['outputTexture']=_0x30b264[_0x53b91a(0x468,0x4ec)][_0x4f391a(0x1e2,0x229)];}}),'postProcessingPosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){function _0x30009e(_0x1d5ed2,_0x53766a){return _0x5626f3(_0x53766a-0x1ba,_0x1d5ed2);}return _0x30b264[_0x30009e(0x179,0x1da)]['nextParticlesPosition'];},'nextParticlesSpeed':function(){return _0x30b264['particlesTextures']['nextParticlesSpeed'];},'lonRange':function(){function _0x2434ac(_0x4b4c18,_0x18af2e){return _0x5626f3(_0x18af2e- -0x100,_0x4b4c18);}return _0x187189[_0x2434ac(-0xa7,-0x102)];},'latRange':function(){function _0x10de41(_0x96d68d,_0x406649){return _0x5626f3(_0x406649-0x4e8,_0x96d68d);}return _0x187189[_0x10de41(0x46c,0x484)];},'randomCoefficient':function(){const _0x625c66=Math['random']();return _0x625c66;},'dropRate':function(){return _0x459d89['dropRate'];},'dropRateBump':function(){return _0x459d89['dropRateBump'];}},'fragmentShaderSource':new Cesium$3[(_0x5626f3(-0x6a,-0x92))](_0x556c7e),'outputTexture':this[_0x5626f3(0x20,0xa0)][_0x2aa746(0x5ce,0x556)],'preExecute':function(){function _0x4dbbd4(_0x505387,_0x20317e){return _0x5626f3(_0x20317e-0x241,_0x505387);}_0x30b264['primitives']['postProcessingPosition'][_0x4dbbd4(0x21b,0x285)]['outputTexture']=_0x30b264['particlesTextures']['postProcessingPosition'];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){function _0x6889cc(_0x71e189,_0x3ff56e){return _0x5626f3(_0x3ff56e-0x99,_0x71e189);}function _0x52732d(_0x5e4f03,_0xec5f62){return _0x2aa746(_0x5e4f03- -0x43f,_0xec5f62);}return _0x30b264[_0x52732d(0x1eb,0x1f5)][_0x6889cc(-0x24,0x5d)];},'nextParticlesSpeed':function(){return _0x30b264['particlesTextures']['nextParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3[(_0x5626f3(-0x6a,-0x7d))](_0x2f0416),'outputTexture':this['particlesTextures']['postProcessingSpeed'],'preExecute':function(){function _0x3a64c6(_0x13074d,_0x1c1bc1){return _0x2aa746(_0x1c1bc1- -0x4c3,_0x13074d);}function _0x146eae(_0xc20f7,_0x2292c7){return _0x5626f3(_0xc20f7-0x28,_0x2292c7);}_0x30b264['primitives'][_0x146eae(0x1f,0x8e)][_0x3a64c6(0x16c,0x18b)]['outputTexture']=_0x30b264['particlesTextures']['postProcessingSpeed'];}})};}}const Cesium$2=mars3d__namespace['Cesium'];class ParticleSystem{constructor(_0x5e11c5,_0x5acfa5,_0x468a81,_0x34a22f){this['context']=_0x5e11c5,_0x5acfa5={..._0x5acfa5};_0x5acfa5['udata']&&_0x5acfa5['vdata']&&(_0x5acfa5['dimensions']={},_0x5acfa5[_0x3d1c71(0x547,0x557)]['lon']=_0x5acfa5[_0x3d1c71(0x534,0x540)],_0x5acfa5['dimensions'][_0x1d90a2(0x2a9,0x32f)]=_0x5acfa5['rows'],_0x5acfa5[_0x3d1c71(0x547,0x4da)]['lev']=_0x5acfa5['lev']||0x1,_0x5acfa5['lon']={},_0x5acfa5['lon']['min']=_0x5acfa5['xmin'],_0x5acfa5[_0x3d1c71(0x4d4,0x4e8)]['max']=_0x5acfa5['xmax'],_0x5acfa5['lat']={},_0x5acfa5[_0x3d1c71(0x52a,0x4be)]['min']=_0x5acfa5['ymin'],_0x5acfa5[_0x3d1c71(0x52a,0x5b3)]['max']=_0x5acfa5['ymax'],_0x5acfa5['lev']={},_0x5acfa5['lev'][_0x3d1c71(0x563,0x553)]=_0x5acfa5['levmin']??0x1,_0x5acfa5[_0x3d1c71(0x5d5,0x633)][_0x1d90a2(0x304,0x2c1)]=_0x5acfa5['levmax']??0x1,_0x5acfa5['U']={},_0x5acfa5['U']['array']=new Float32Array(_0x5acfa5['udata']),_0x5acfa5['U'][_0x1d90a2(0x2e2,0x32d)]=_0x5acfa5[_0x3d1c71(0x538,0x5b1)]??Math[_0x3d1c71(0x563,0x5ba)](..._0x5acfa5[_0x3d1c71(0x53a,0x4c8)]),_0x5acfa5['U'][_0x1d90a2(0x304,0x355)]=_0x5acfa5['umax']??Math['max'](..._0x5acfa5['udata']),_0x5acfa5['V']={},_0x5acfa5['V'][_0x1d90a2(0x281,0x2e5)]=new Float32Array(_0x5acfa5[_0x1d90a2(0x2de,0x337)]),_0x5acfa5['V']['min']=_0x5acfa5[_0x1d90a2(0x305,0x377)]??Math['min'](..._0x5acfa5[_0x3d1c71(0x55f,0x5d3)]),_0x5acfa5['V']['max']=_0x5acfa5['vmax']??Math['max'](..._0x5acfa5[_0x3d1c71(0x55f,0x511)]));this['data']=_0x5acfa5,this['options']=_0x468a81,this['viewerParameters']=_0x34a22f,this['particlesComputing']=new ParticlesComputing(this['context'],this['data'],this['options'],this[_0x1d90a2(0x2d5,0x352)]);function _0x1d90a2(_0x31e13c,_0x1129e0){return _0x437391(_0x1129e0,_0x31e13c- -0x377);}function _0x3d1c71(_0x19569a,_0x3bd845){return _0x437391(_0x3bd845,_0x19569a- -0xf6);}this['particlesRendering']=new ParticlesRendering(this[_0x3d1c71(0x4f8,0x4d5)],this['data'],this[_0x3d1c71(0x5ab,0x5d7)],this['viewerParameters'],this['particlesComputing']);}[_0x437391(0x6c9,0x65d)](_0x12a021){this[_0xc18af6(0x71,0xb8)]['destroyParticlesTextures']();function _0xc18af6(_0x10b5ef,_0x2c46cb){return _0x20001d(_0x2c46cb,_0x10b5ef- -0x4fd);}Object['keys'](this['particlesComputing']['windTextures'])['forEach'](_0x39caea=>{this['particlesComputing']['windTextures'][_0x39caea]['destroy']();}),this['particlesRendering'][_0x2b2a14(0x234,0x2b5)]['colorTable'][_0xc18af6(0x83,0x100)](),Object['keys'](this[_0x2b2a14(0x271,0x2c3)]['framebuffers'])[_0x2b2a14(0x375,0x35f)](_0x3fec68=>{function _0x355e42(_0xea091d,_0x453834){return _0x2b2a14(_0x453834,_0xea091d- -0x282);}function _0x27b0d0(_0x4ac881,_0x5bd638){return _0xc18af6(_0x4ac881- -0x255,_0x5bd638);}this[_0x27b0d0(-0x198,-0x169)][_0x355e42(0x91,0x90)][_0x3fec68]['destroy']();}),this['context']=_0x12a021;function _0x2b2a14(_0x466373,_0x18ca03){return _0x437391(_0x466373,_0x18ca03- -0x34b);}this[_0xc18af6(0x71,0xdd)]=new ParticlesComputing(this['context'],this['data'],this[_0x2b2a14(0x340,0x356)],this[_0x2b2a14(0x2c5,0x301)]),this['particlesRendering']=new ParticlesRendering(this['context'],this['data'],this['options'],this[_0xc18af6(0xfb,0x16c)],this[_0xc18af6(0x71,0xcb)]);}['clearFramebuffers'](){function _0x28a497(_0x32c3f7,_0x1580c3){return _0x20001d(_0x32c3f7,_0x1580c3- -0x6fe);}const _0x34bc66=new Cesium$2[(_0x28a497(-0x69,-0x89))]({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2[_0x247d4a(0x3ce,0x39c)]['OPAQUE']});function _0x247d4a(_0x494153,_0x22b295){return _0x20001d(_0x22b295,_0x494153- -0x1a9);}Object[_0x28a497(-0x17f,-0x18b)](this[_0x28a497(-0x110,-0x144)]['framebuffers'])['forEach'](_0x298d2d=>{function _0x41464a(_0x2b49c5,_0x4d8e64){return _0x247d4a(_0x2b49c5- -0x47d,_0x4d8e64);}_0x34bc66[_0x41464a(-0x9,0x48)]=this['particlesRendering']['framebuffers'][_0x298d2d],_0x34bc66['execute'](this['context']);});}[_0x437391(0x661,0x648)](_0x45fe3a){this[_0xf47197(0x5ce,0x5dd)]();function _0xf47197(_0x470be5,_0x555295){return _0x437391(_0x555295,_0x470be5- -0xf7);}this['particlesComputing']['destroyParticlesTextures'](),this[_0xcd60e1(0xcf,0xab)][_0xcd60e1(0x148,0x18d)](this[_0xcd60e1(0xfb,0x17e)],this[_0xf47197(0x5aa,0x601)],this['viewerParameters']);function _0xcd60e1(_0x16fea1,_0x44f332){return _0x437391(_0x44f332,_0x16fea1- -0x4f3);}if(_0x45fe3a){var _0x5258c0;const _0x1f8126=this['particlesRendering'][_0xf47197(0x536,0x532)](this['options']);this[_0xcd60e1(0x11b,0x100)]['primitives'][_0xcd60e1(0x1c4,0x1c0)][_0xcd60e1(0xf1,0x150)]=_0x1f8126;const _0x580b00=Cesium$2['VertexArray']['fromGeometry']({'context':this['context'],'geometry':_0x1f8126,'attributeLocations':this['particlesRendering']['primitives']['segments']['attributeLocations'],'bufferUsage':Cesium$2[_0xcd60e1(0x153,0x1c5)][_0xcd60e1(0x102,0x13e)]});(_0x5258c0=this['particlesRendering']['primitives'])!==null&&_0x5258c0!==void 0x0&&(_0x5258c0=_0x5258c0['segments'])!==null&&_0x5258c0!==void 0x0&&_0x5258c0['commandToExecute']&&(this['particlesRendering']['primitives'][_0xf47197(0x5c0,0x629)]['commandToExecute'][_0xcd60e1(0x173,0x14f)]=_0x580b00);}}['setOptions'](_0x265884){let _0xa5ab07=![];function _0x2a3753(_0x45f5ac,_0x1552a9){return _0x437391(_0x45f5ac,_0x1552a9- -0x738);}function _0x3d37ed(_0x3df9ba,_0x582049){return _0x437391(_0x3df9ba,_0x582049- -0x1b4);}this['options'][_0x3d37ed(0x445,0x410)]!==_0x265884['maxParticles']&&(_0xa5ab07=!![]),Object['keys'](_0x265884)['forEach'](_0x2651d4=>{function _0x21e56e(_0x14d48a,_0x458780){return _0x3d37ed(_0x458780,_0x14d48a- -0x10e);}this[_0x21e56e(0x3df,0x35a)][_0x2651d4]=_0x265884[_0x2651d4];}),this[_0x2a3753(-0x100,-0xf0)](_0xa5ab07);}[_0x437391(0x676,0x687)](_0x3642d9){function _0x4e6d7b(_0x22b114,_0x18b701){return _0x437391(_0x18b701,_0x22b114- -0x2fd);}Object['keys'](_0x3642d9)['forEach'](_0x4f9a60=>{function _0x110f18(_0x272097,_0x4eee06){return _0x9531(_0x4eee06- -0x11b,_0x272097);}this[_0x110f18(0x15b,0x14d)][_0x4f9a60]=_0x3642d9[_0x4f9a60];}),this[_0x4e6d7b(0x34b,0x305)](![]);}['destroy'](){clearTimeout(this['canrefresh']);function _0x29b83b(_0x58a68d,_0x498e83){return _0x20001d(_0x58a68d,_0x498e83- -0x3ac);}this['particlesComputing']['destroyParticlesTextures'](),Object['keys'](this['particlesComputing'][_0x29b83b(0x333,0x2c6)])['forEach'](_0x398db9=>{this['particlesComputing']['windTextures'][_0x398db9]['destroy']();});function _0x3478a3(_0x34d69f,_0x560c2f){return _0x437391(_0x34d69f,_0x560c2f- -0x1cf);}this[_0x29b83b(0x1f0,0x20e)][_0x3478a3(0x4b4,0x431)]['colorTable']['destroy'](),Object['keys'](this[_0x29b83b(0x1f1,0x20e)][_0x29b83b(0x292,0x25e)])[_0x3478a3(0x481,0x4db)](_0xceb97a=>{this['particlesRendering']['framebuffers'][_0xceb97a]['destroy']();});for(const _0x289699 in this){delete this[_0x289699];}}}const Cesium$1=mars3d__namespace['Cesium'],BaseLayer$1=mars3d__namespace['layer'][_0x437391(0x653,0x6ad)],_0x2b45b1={};_0x2b45b1[_0x437391(0x65d,0x6b3)]=0x1000,_0x2b45b1['fixedHeight']=0x0,_0x2b45b1['fadeOpacity']=0.996,_0x2b45b1['dropRate']=0.003,_0x2b45b1[_0x20001d(0x574,0x5f7)]=0.01,_0x2b45b1['speedFactor']=0.5,_0x2b45b1['lineWidth']=0x2,_0x2b45b1['colors']=[_0x20001d(0x4fe,0x585)];const DEF_OPTIONS=_0x2b45b1;class WindLayer extends BaseLayer$1{constructor(_0x1ecd65={}){_0x1ecd65={...DEF_OPTIONS,..._0x1ecd65},super(_0x1ecd65),this['_setOptionsHook'](_0x1ecd65);}get['layer'](){function _0x57cf2f(_0xaed7c4,_0x3ad852){return _0x20001d(_0x3ad852,_0xaed7c4- -0x646);}return this[_0x57cf2f(-0xad,-0x10e)];}get['data'](){return this['_data'];}set[_0x437391(0x66f,0x6c0)](_0x1fafe8){this['setData'](_0x1fafe8);}get['colors'](){return this['options']['colors'];}set['colors'](_0x1fd780){function _0x48a711(_0x90db4d,_0x7d5e60){return _0x20001d(_0x90db4d,_0x7d5e60- -0x34b);}function _0x266136(_0x33c27b,_0x4febce){return _0x437391(_0x33c27b,_0x4febce- -0x218);}this['options'][_0x266136(0x4f3,0x4a1)]=_0x1fd780;if(this[_0x48a711(0x1fd,0x244)]){const _0x5b159f={};_0x5b159f['colors']=_0x1fd780,this['particleSystem'][_0x266136(0x3f6,0x45e)](_0x5b159f);}this['resize']();}[_0x20001d(0x63e,0x618)](){}[_0x437391(0x5a1,0x61f)](){this['scene']=this[_0x4370bb(0x7c,0xb9)][_0x27774a(0x519,0x505)],this[_0x27774a(0x5a0,0x569)]=this['_map'][_0x4370bb(0xe1,0x5b)],this[_0x4370bb(0x57,0x78)]=new Cesium$1['PrimitiveCollection'](),this[_0x27774a(0x549,0x504)]['scene']['primitives'][_0x4370bb(0x4a,0x19)](this[_0x27774a(0x475,0x4df)]),this[_0x4370bb(0xb6,0x5c)]={'lonRange':new Cesium$1[(_0x27774a(0x539,0x549))](),'latRange':new Cesium$1['Cartesian2'](),'pixelSize':0x0},this[_0x27774a(0x540,0x517)]=new Cesium$1[(_0x4370bb(0x51,0x98))](Cesium$1['Cartesian3'][_0x4370bb(0x37,0xaf)],0.99*0x615299);function _0x4370bb(_0x44bdf1,_0x54fd33){return _0x437391(_0x54fd33,_0x44bdf1- -0x596);}this['updateViewerParameters'](),window['addEventListener'](_0x4370bb(0x7e,0x4a),this[_0x4370bb(0x7e,0x8b)][_0x27774a(0x525,0x4d4)](this),![]),this[_0x27774a(0x514,0x4de)]=![],this['mouse_move']=![],this[_0x4370bb(0x7c,0x30)]['on'](mars3d__namespace[_0x27774a(0x4ca,0x4b7)][_0x27774a(0x4e1,0x554)],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace['EventType']['mouseDown'],this[_0x4370bb(0x12e,0xf7)],this);function _0x27774a(_0x4e093a,_0x11e41e){return _0x437391(_0x4e093a,_0x11e41e- -0x10e);}this[_0x27774a(0x47c,0x504)]['on'](mars3d__namespace[_0x27774a(0x497,0x4b7)][_0x27774a(0x4d1,0x4c5)],this['_onMouseUpEvent'],this),this[_0x27774a(0x52e,0x504)]['on'](mars3d__namespace['EventType']['mouseMove'],this[_0x4370bb(0xf4,0x89)],this),this[_0x27774a(0x5af,0x5c1)]&&this['setData'](this['_data']);}['_removedHook'](){window['removeEventListener']('resize',this['resize']),this[_0x445e8a(0x615,0x689)]['off'](mars3d__namespace['EventType']['preRender'],this['_onMap_preRenderEvent'],this),this[_0x445e8a(0x615,0x696)]['off'](mars3d__namespace[_0x1c8b7a(0x4bc,0x49a)][_0x445e8a(0x665,0x6e4)],this['_onMapWhellEvent'],this),this['_map']['off'](mars3d__namespace['EventType']['mouseDown'],this[_0x445e8a(0x6c7,0x6a6)],this),this[_0x445e8a(0x615,0x5ef)]['off'](mars3d__namespace['EventType']['mouseUp'],this['_onMouseUpEvent'],this),this['_map']['off'](mars3d__namespace['EventType']['mouseMove'],this['_onMouseMoveEvent'],this);function _0x1c8b7a(_0x4c2d02,_0x302dda){return _0x437391(_0x4c2d02,_0x302dda- -0x12b);}function _0x445e8a(_0x4e2eda,_0x2e5707){return _0x437391(_0x2e5707,_0x4e2eda-0x3);}this['primitives']['removeAll'](),this[_0x1c8b7a(0x494,0x4e7)][_0x445e8a(0x616,0x5e7)][_0x445e8a(0x5f0,0x62d)]['remove'](this[_0x445e8a(0x5f0,0x5c4)]);}[_0x20001d(0x623,0x5c0)](){function _0x3578f4(_0x6e6d73,_0x1709c6){return _0x437391(_0x1709c6,_0x6e6d73- -0x213);}if(!this['show']||!this['particleSystem'])return;this[_0x140693(0x17d,0x194)]['show']=![];function _0x140693(_0x3d55ac,_0x516010){return _0x437391(_0x3d55ac,_0x516010- -0x459);}this['primitives'][_0x3578f4(0x423,0x46c)](),this['_map']['once'](mars3d__namespace[_0x140693(0x16c,0x16c)]['preRender'],this['_onMap_preRenderEvent'],this);}['_onMap_preRenderEvent'](_0x590760){this['particleSystem']['canvasResize'](this['scene']['context']),this['addPrimitives'](),this['primitives']['show']=!![];}[_0x437391(0x5e8,0x5e6)](_0x5ca9b1){function _0x4d1257(_0x22c87d,_0x53cdf3){return _0x437391(_0x22c87d,_0x53cdf3- -0x6c4);}clearTimeout(this['refreshTimer']);if(!this[_0x4d1257(0x4,-0x76)]||!this['particleSystem'])return;this[_0x4d1257(-0x71,-0xd7)][_0x25927e(0x4df,0x561)]=![];function _0x25927e(_0x45d630,_0x75f856){return _0x437391(_0x75f856,_0x45d630- -0x16f);}this['refreshTimer']=setTimeout(()=>{function _0x3f1b7c(_0x3e8229,_0x4e16ce){return _0x4d1257(_0x3e8229,_0x4e16ce-0x419);}if(!this[_0x3f1b7c(0x3a0,0x3a3)])return;this['redraw']();},0xc8);}['_onMouseDownEvent'](_0x484156){this['mouse_down']=!![];}['_onMouseMoveEvent'](_0x4f3fa0){function _0x1ec01e(_0x59f2e1,_0x22ebf5){return _0x20001d(_0x59f2e1,_0x22ebf5- -0x5d2);}if(!this['show']||!this['particleSystem'])return;function _0x45a559(_0x335f50,_0x356282){return _0x20001d(_0x335f50,_0x356282- -0x14d);}this[_0x45a559(0x498,0x44b)]&&(this['primitives'][_0x45a559(0x459,0x4ad)]=![],this['mouse_move']=!![]);}[_0x20001d(0x58d,0x617)](_0x2e9107){if(!this[_0x1cfdea(0x5e3,0x5e1)]||!this[_0x1cfdea(0x518,0x576)])return;this['mouse_down']&&this[_0x1cfdea(0x664,0x61c)]&&this['redraw']();this['primitives']['show']=!![],this['mouse_down']=![];function _0x1cfdea(_0x33f225,_0x1645a7){return _0x437391(_0x33f225,_0x1645a7- -0x6d);}function _0x4f9898(_0x1a1f59,_0x22f259){return _0x20001d(_0x22f259,_0x1a1f59- -0x48e);}this[_0x4f9898(0x1a7,0x1d5)]=![];}[_0x437391(0x677,0x6d1)](){if(!this['_map']||!this[_0x4e7050(-0x13d,-0x1c8)])return;this['updateViewerParameters'](),this[_0x54b9b7(0x3bd,0x359)]['applyViewerParameters'](this['viewerParameters']);function _0x4e7050(_0x44a8e3,_0x2bca5e){return _0x20001d(_0x2bca5e,_0x44a8e3- -0x737);}function _0x54b9b7(_0x3e3677,_0x575476){return _0x437391(_0x575476,_0x3e3677- -0x226);}this['primitives'][_0x54b9b7(0x428,0x425)]=!![];}['setData'](_0xd0dac6){this[_0x562b4c(0x4,0x27)]=_0xd0dac6;function _0x562b4c(_0x3bd80d,_0x18fb23){return _0x437391(_0x18fb23,_0x3bd80d- -0x6cb);}this[_0x562b4c(-0xe8,-0x64)]&&this[_0x562b4c(-0xe8,-0xe3)][_0x7e1513(0x1df,0x1cc)]();function _0x7e1513(_0x430c06,_0x126256){return _0x437391(_0x430c06,_0x126256- -0x408);}this[_0x562b4c(-0xe8,-0xc8)]=new ParticleSystem(this['scene'][_0x7e1513(0x242,0x1e6)],_0xd0dac6,this[_0x7e1513(0x17b,0x1ff)](),this['viewerParameters']),this['addPrimitives']();}[_0x20001d(0x627,0x5c1)](_0x8c66a4,_0x437f45){if(_0x8c66a4)for(const _0x5ce146 in _0x8c66a4){this[_0x5ce146]=_0x8c66a4[_0x5ce146];}function _0x17e084(_0x5ede1c,_0x5573f5){return _0x437391(_0x5573f5,_0x5ede1c- -0x77b);}function _0x26011a(_0x12dbc5,_0x450856){return _0x20001d(_0x12dbc5,_0x450856- -0x64a);}this[_0x17e084(-0x198,-0x1bf)]&&this['particleSystem']['setOptions'](this[_0x26011a(-0x1d,-0x97)]());}['getOptions'](){const _0xef27f7=Math['ceil'](Math['sqrt'](this['particlesNumber']));this['particlesNumber']=_0xef27f7*_0xef27f7;const _0x25651e={};function _0xcfbd0(_0xe58070,_0x1f3a89){return _0x20001d(_0xe58070,_0x1f3a89- -0x145);}function _0x349b24(_0x1b1ca2,_0x21409f){return _0x437391(_0x21409f,_0x1b1ca2- -0xc5);}return _0x25651e['particlesTextureSize']=_0xef27f7,_0x25651e[_0xcfbd0(0x430,0x42b)]=this[_0xcfbd0(0x4df,0x51a)],_0x25651e[_0xcfbd0(0x467,0x42f)]=this['fixedHeight'],_0x25651e['fadeOpacity']=this[_0xcfbd0(0x506,0x4b9)],_0x25651e['dropRate']=this['dropRate'],_0x25651e[_0xcfbd0(0x4ca,0x4b2)]=this[_0xcfbd0(0x4b3,0x4b2)],_0x25651e[_0x349b24(0x5d5,0x573)]=this[_0xcfbd0(0x586,0x501)],_0x25651e[_0xcfbd0(0x485,0x4ec)]=this[_0x349b24(0x5c0,0x555)],_0x25651e['colors']=this[_0x349b24(0x5f4,0x626)],_0x25651e;}['addPrimitives'](){this['primitives']['add'](this['particleSystem'][_0x667891(-0x19b,-0x162)]['primitives'][_0x667891(-0x9b,-0x46)]),this['primitives']['add'](this[_0x667891(-0x17a,-0x137)][_0x318c51(-0x1d,0x36)]['primitives'][_0x318c51(0x54,0xa6)]);function _0x318c51(_0x36313d,_0x4a763f){return _0x20001d(_0x36313d,_0x4a763f- -0x538);}this['primitives'][_0x667891(-0x17d,-0x1c4)](this[_0x318c51(0xb3,0x57)]['particlesComputing'][_0x318c51(0x5a,0x61)]['updatePosition']);function _0x667891(_0x16cc8f,_0x16bd95){return _0x20001d(_0x16bd95,_0x16cc8f- -0x709);}this[_0x318c51(0x5d,0x61)]['add'](this[_0x667891(-0x17a,-0x1a2)][_0x318c51(0x92,0x36)]['primitives']['postProcessingPosition']),this[_0x318c51(0x52,0x61)][_0x667891(-0x17d,-0x1f7)](this['particleSystem']['particlesComputing'][_0x318c51(0x4c,0x61)][_0x318c51(0x104,0xe6)]),this[_0x318c51(-0x9,0x61)]['add'](this['particleSystem']['particlesRendering'][_0x667891(-0x170,-0x170)]['segments']),this['primitives'][_0x667891(-0x17d,-0x10e)](this['particleSystem']['particlesRendering']['primitives']['trails']),this[_0x318c51(0xe9,0x61)]['add'](this['particleSystem']['particlesRendering'][_0x667891(-0x170,-0x10f)]['screen']);}['updateViewerParameters'](){let _0x3b4d6d=this['camera'][_0x2e8ebe(0x36f,0x3b0)](this['scene']['globe'][_0x2e8ebe(0x359,0x375)]);function _0x35483c(_0x165657,_0x31b0f8){return _0x437391(_0x31b0f8,_0x165657- -0x702);}if(!_0x3b4d6d){const _0x34d094=this[_0x35483c(-0xf0,-0x6a)]['getExtent']();_0x3b4d6d=Cesium$1[_0x35483c(-0x44,-0xad)]['fromDegrees'](_0x34d094['xmin'],_0x34d094['ymin'],_0x34d094['xmax'],_0x34d094['ymax']);}const _0x390027=Util[_0x35483c(-0xc1,-0x13a)](_0x3b4d6d);function _0x2e8ebe(_0x3e99f6,_0x1daf2f){return _0x20001d(_0x1daf2f,_0x3e99f6- -0x2d4);}this['viewerParameters']['lonRange']['x']=_0x390027[_0x2e8ebe(0x2a2,0x2c9)][_0x2e8ebe(0x331,0x3b1)],this[_0x2e8ebe(0x324,0x31a)]['lonRange']['y']=_0x390027[_0x2e8ebe(0x2a2,0x2a9)]['max'],this['viewerParameters'][_0x2e8ebe(0x2ef,0x320)]['x']=_0x390027[_0x2e8ebe(0x2f8,0x279)][_0x2e8ebe(0x331,0x384)],this['viewerParameters']['latRange']['y']=_0x390027['lat']['max'];const _0x271869=this['camera'][_0x35483c(-0x4d,-0x5)](this[_0x35483c(-0xdd,-0xaf)],this['scene']['drawingBufferWidth'],this['scene'][_0x35483c(-0x54,0x1f)]);_0x271869>0x0&&(this['viewerParameters']['pixelSize']=_0x271869);}}mars3d__namespace[_0x437391(0x5be,0x5c3)]['register']('wind',WindLayer),mars3d__namespace['layer'][_0x20001d(0x6ee,0x669)]=WindLayer;class CanvasParticle{constructor(){this[_0x252f8a(0x205,0x249)]=null,this[_0x47e2ac(0x1bd,0x244)]=null,this[_0x47e2ac(0x257,0x2b6)]=null;function _0x252f8a(_0xd58f72,_0x581e7a){return _0x437391(_0xd58f72,_0x581e7a- -0x412);}this[_0x252f8a(0x1ee,0x279)]=null;function _0x47e2ac(_0x542df4,_0x2a5ffd){return _0x437391(_0x2a5ffd,_0x542df4- -0x463);}this[_0x47e2ac(0x259,0x29b)]=null,this['speed']=null;}['destroy'](){for(const _0x481a99 in this){delete this[_0x481a99];}}}class CanvasWindField{constructor(_0x509d47){this['setOptions'](_0x509d47);}get[_0x437391(0x626,0x5c9)](){function _0x5160c4(_0x5b2d68,_0x496fa1){return _0x20001d(_0x496fa1,_0x5b2d68- -0x638);}return this[_0x5160c4(0x24,0x29)];}set['speedRate'](_0x54ef6a){function _0x314e1b(_0x221752,_0x5d1998){return _0x437391(_0x5d1998,_0x221752- -0x6b0);}function _0x3f0c9b(_0x5f1860,_0x3f0a75){return _0x437391(_0x3f0a75,_0x5f1860- -0x6ae);}this[_0x3f0c9b(0x2,0x88)]=(0x64-(_0x54ef6a>0x63?0x63:_0x54ef6a))*0x64,this['_calc_speedRate']=[(this[_0x314e1b(-0x28,0x1c)]-this['xmin'])/this[_0x314e1b(0x0,0x1e)],(this['ymax']-this[_0x3f0c9b(-0xbf,-0xef)])/this[_0x314e1b(0x0,0x5b)]];}get[_0x437391(0x5c7,0x642)](){return this['_maxAge'];}set[_0x437391(0x66a,0x642)](_0x1140fa){this['_maxAge']=_0x1140fa;}['setOptions'](_0x3f0ad5){this[_0x3bb40a(0x39d,0x358)]=_0x3f0ad5,this[_0x5c332a(0x4d7,0x48c)]=_0x3f0ad5['maxAge']||0x78,this[_0x5c332a(0x428,0x413)]=_0x3f0ad5[_0x5c332a(0x430,0x413)]||0x32;function _0x5c332a(_0x5bf34c,_0x22e7d4){return _0x20001d(_0x5bf34c,_0x22e7d4- -0x162);}this[_0x3bb40a(0x3ab,0x3c2)]=[];const _0x40487f=_0x3f0ad5[_0x3bb40a(0x3af,0x39e)]||0x1000;function _0x3bb40a(_0x981c3,_0xc088e){return _0x20001d(_0xc088e,_0x981c3- -0x2b0);}for(let _0x577c4a=0x0;_0x577c4a<_0x40487f;_0x577c4a++){const _0x5d7aa8=this['_randomParticle'](new CanvasParticle());this[_0x3bb40a(0x3ab,0x419)]['push'](_0x5d7aa8);}}[_0x20001d(0x5ff,0x5ad)](_0x1b6440){this['rows']=_0x1b6440['rows'],this[_0x27607c(0x208,0x281)]=_0x1b6440[_0x394526(-0x12d,-0x143)];function _0x394526(_0x34a9e7,_0x5d5ed4){return _0x20001d(_0x5d5ed4,_0x34a9e7- -0x703);}this['xmin']=_0x1b6440[_0x27607c(0x1af,0x209)],this['xmax']=_0x1b6440['xmax'],this['ymin']=_0x1b6440[_0x394526(-0x168,-0x17c)],this['ymax']=_0x1b6440['ymax'],this['grid']=[];const _0x1c0039=_0x1b6440[_0x27607c(0x20e,0x1cc)],_0x5a8a92=_0x1b6440['vdata'];let _0x2a47be=![];_0x1c0039[_0x394526(-0xbf,-0xc0)]===this['rows']&&_0x1c0039[0x0]['length']===this['cols']&&(_0x2a47be=!![]);let _0x93312c=0x0;function _0x27607c(_0x5d3edb,_0x99579a){return _0x437391(_0x99579a,_0x5d3edb- -0x422);}let _0x3c7fbf=null,_0x28b602=null;for(let _0x26b853=0x0;_0x26b853<this['rows'];_0x26b853++){_0x3c7fbf=[];for(let _0x544534=0x0;_0x544534<this[_0x394526(-0x12d,-0xc9)];_0x544534++,_0x93312c++){_0x2a47be?_0x28b602=this[_0x27607c(0x287,0x29d)](_0x1c0039[_0x26b853][_0x544534],_0x5a8a92[_0x26b853][_0x544534]):_0x28b602=this['_calcUV'](_0x1c0039[_0x93312c],_0x5a8a92[_0x93312c]),_0x3c7fbf[_0x27607c(0x270,0x22a)](_0x28b602);}this['grid'][_0x394526(-0xc5,-0x64)](_0x3c7fbf);}this[_0x394526(-0xb6,-0x13d)][_0x394526(-0x165,-0x1a0)]&&this['grid']['reverse']();}['clear'](){delete this[_0x25ceed(0x269,0x2c8)],delete this['cols'],delete this[_0x2f0204(-0x133,-0xf8)];function _0x2f0204(_0x7a92f,_0x51f037){return _0x20001d(_0x7a92f,_0x51f037- -0x675);}function _0x25ceed(_0xef40bc,_0x5e17af){return _0x20001d(_0x5e17af,_0xef40bc- -0x39b);}delete this['xmax'],delete this['ymin'],delete this[_0x2f0204(-0x7b,-0x59)],delete this['grid'],delete this['particles'];}[_0x20001d(0x68c,0x648)](_0x307274,_0x3da581){function _0x137a9e(_0x5e0758,_0x3b9fd4){return _0x20001d(_0x3b9fd4,_0x5e0758- -0x28a);}const _0x3d7243=(_0x307274-this[_0x114994(0x101,0x151)])/(this[_0x114994(0x226,0x208)]-this['xmin'])*(this['cols']-0x1);function _0x114994(_0xd02e11,_0x3cda2e){return _0x20001d(_0xd02e11,_0x3cda2e- -0x42c);}const _0x255669=(this['ymax']-_0x3da581)/(this[_0x137a9e(0x392,0x3a5)]-this['ymin'])*(this['rows']-0x1);return[_0x3d7243,_0x255669];}[_0x20001d(0x53e,0x58d)](_0x26952e,_0x4ab524){if(_0x26952e<0x0||_0x26952e>=this[_0x4f80c6(0x478,0x4a8)]||_0x4ab524>=this['rows'])return[0x0,0x0,0x0];const _0x4c9352=Math['floor'](_0x26952e),_0x3c2012=Math['floor'](_0x4ab524);if(_0x4c9352===_0x26952e&&_0x3c2012===_0x4ab524)return this[_0x4f80c6(0x54a,0x4f6)][_0x4ab524][_0x26952e];const _0x58bb07=_0x4c9352+0x1,_0x51fa90=_0x3c2012+0x1;function _0x268d42(_0x31d3f8,_0x2851d7){return _0x437391(_0x2851d7,_0x31d3f8- -0x1b2);}function _0x4f80c6(_0x2dd7fb,_0x526609){return _0x20001d(_0x2dd7fb,_0x526609- -0x12e);}const _0x5d3afe=this[_0x268d42(0x42f,0x487)](_0x4c9352,_0x3c2012),_0x337d22=this['getUVByXY'](_0x58bb07,_0x3c2012),_0x405223=this['getUVByXY'](_0x4c9352,_0x51fa90),_0x2585e9=this['getUVByXY'](_0x58bb07,_0x51fa90);let _0x1d9b87=null;try{_0x1d9b87=this[_0x268d42(0x479,0x4ed)](_0x26952e-_0x4c9352,_0x4ab524-_0x3c2012,_0x5d3afe,_0x337d22,_0x405223,_0x2585e9);}catch(_0x48d281){console['log'](_0x26952e,_0x4ab524);}return _0x1d9b87;}[_0x437391(0x6b0,0x62b)](_0x6b9cfa,_0x3ee529,_0x34a022,_0x1e572b,_0x379c1b,_0x55d2b9){const _0x287ca2=0x1-_0x6b9cfa,_0x32589c=0x1-_0x3ee529,_0x54748b=_0x287ca2*_0x32589c,_0x1985fa=_0x6b9cfa*_0x32589c;function _0x2e0933(_0x4adbd4,_0x2de9ef){return _0x437391(_0x4adbd4,_0x2de9ef- -0x3ff);}const _0x55596e=_0x287ca2*_0x3ee529,_0x13e54a=_0x6b9cfa*_0x3ee529,_0x5aa918=_0x34a022[0x0]*_0x54748b+_0x1e572b[0x0]*_0x1985fa+_0x379c1b[0x0]*_0x55596e+_0x55d2b9[0x0]*_0x13e54a,_0x5306d1=_0x34a022[0x1]*_0x54748b+_0x1e572b[0x1]*_0x1985fa+_0x379c1b[0x1]*_0x55596e+_0x55d2b9[0x1]*_0x13e54a;return this[_0x2e0933(0x271,0x2aa)](_0x5aa918,_0x5306d1);}['_calcUV'](_0x3e275c,_0x2f8be0){return[+_0x3e275c,+_0x2f8be0,Math['sqrt'](_0x3e275c*_0x3e275c+_0x2f8be0*_0x2f8be0)];}['getUVByPoint'](_0x1bf239,_0x33e562){function _0x13d1e8(_0x16cd7d,_0x4426a7){return _0x437391(_0x16cd7d,_0x4426a7- -0x6d7);}if(!this['isInExtent'](_0x1bf239,_0x33e562))return null;const _0x2ae37d=this['toGridXY'](_0x1bf239,_0x33e562),_0x2bd65a=this[_0x13d1e8(-0x9b,-0xf6)](_0x2ae37d[0x0],_0x2ae37d[0x1]);return _0x2bd65a;}['isInExtent'](_0x48d111,_0x4f06b8){function _0x36fc81(_0x2f9fb0,_0x4580d8){return _0x20001d(_0x2f9fb0,_0x4580d8- -0x226);}function _0x25cbab(_0x6df7b4,_0x4a20c8){return _0x437391(_0x6df7b4,_0x4a20c8- -0x4e8);}return _0x48d111>=this[_0x36fc81(0x39c,0x357)]&&_0x48d111<=this[_0x36fc81(0x424,0x40e)]&&_0x4f06b8>=this[_0x36fc81(0x397,0x375)]&&_0x4f06b8<=this['ymax']?!![]:![];}[_0x20001d(0x5b2,0x5c7)](){const _0x2d027c=fRandomByfloat(this['xmin'],this[_0xf622bc(0x3c7,0x421)]),_0x4fe290=fRandomByfloat(this[_0x1a9718(-0x176,-0x115)],this['ymax']),_0x343e11={};function _0xf622bc(_0x21f03f,_0x432c95){return _0x20001d(_0x432c95,_0x21f03f- -0x26d);}function _0x1a9718(_0x576c54,_0x29e427){return _0x20001d(_0x29e427,_0x576c54- -0x711);}return _0x343e11[_0x1a9718(-0x145,-0x16e)]=_0x4fe290,_0x343e11['lng']=_0x2d027c,_0x343e11;}['getParticles'](){function _0x4d2179(_0x4b9aa3,_0x5c9575){return _0x437391(_0x5c9575,_0x4b9aa3- -0x373);}function _0x43ab36(_0x449693,_0x16feaa){return _0x437391(_0x16feaa,_0x449693- -0x53c);}let _0x2ddc32,_0x5d3564,_0x352f15;for(let _0x1f896b=0x0,_0x8993ea=this['particles'][_0x43ab36(0x15c,0xd3)];_0x1f896b<_0x8993ea;_0x1f896b++){let _0xaddacb=this[_0x43ab36(0x173,0x1fa)][_0x1f896b];_0xaddacb[_0x4d2179(0x349,0x3b2)]<=0x0&&(_0xaddacb=this['_randomParticle'](_0xaddacb));if(_0xaddacb['age']>0x0){const _0x5be851=_0xaddacb[_0x43ab36(0x17e,0x1d7)],_0x279531=_0xaddacb['tlat'];_0x352f15=this['getUVByPoint'](_0x5be851,_0x279531),_0x352f15?(_0x2ddc32=_0x5be851+this[_0x4d2179(0x2f1,0x28c)][0x0]*_0x352f15[0x0],_0x5d3564=_0x279531+this[_0x43ab36(0x128,0xe9)][0x1]*_0x352f15[0x1],_0xaddacb['lng']=_0x5be851,_0xaddacb['lat']=_0x279531,_0xaddacb['tlng']=_0x2ddc32,_0xaddacb['tlat']=_0x5d3564,_0xaddacb[_0x43ab36(0x162,0xe1)]=_0x352f15[0x2],_0xaddacb[_0x43ab36(0x180,0x105)]--):_0xaddacb['age']=0x0;}}return this['particles'];}['_randomParticle'](_0x31ab22){let _0x5653ba,_0x55ed05;for(let _0x2bafcc=0x0;_0x2bafcc<0x1e;_0x2bafcc++){_0x5653ba=this['getRandomLatLng'](),_0x55ed05=this[_0x460ada(-0x9c,-0xe7)](_0x5653ba[_0x460ada(-0xcd,-0x69)],_0x5653ba[_0x460ada(-0x108,-0xfa)]);if(_0x55ed05&&_0x55ed05[0x2]>0x0)break;}if(!_0x55ed05)return _0x31ab22;const _0x813599=_0x5653ba['lng']+this[_0x5adb7a(0x2f0,0x297)][0x0]*_0x55ed05[0x0],_0x3aae=_0x5653ba[_0x460ada(-0x108,-0x152)]+this[_0x5adb7a(0x2f0,0x359)][0x1]*_0x55ed05[0x1];_0x31ab22['lng']=_0x5653ba[_0x5adb7a(0x2e7,0x2d1)],_0x31ab22['lat']=_0x5653ba['lat'],_0x31ab22['tlng']=_0x813599;function _0x460ada(_0x15b8f5,_0x3e3fb7){return _0x20001d(_0x3e3fb7,_0x15b8f5- -0x6d4);}function _0x5adb7a(_0x2f4ff7,_0x3d02a3){return _0x20001d(_0x3d02a3,_0x2f4ff7- -0x320);}return _0x31ab22['tlat']=_0x3aae,_0x31ab22[_0x5adb7a(0x348,0x2ed)]=Math[_0x460ada(-0x167,-0x187)](Math['random']()*this[_0x5adb7a(0x2ce,0x2ed)]),_0x31ab22['speed']=_0x55ed05[0x2],_0x31ab22;}['destroy'](){for(const _0x53a054 in this){delete this[_0x53a054];}}}function fRandomByfloat(_0x20f657,_0x211b4c){return _0x20f657+Math['random']()*(_0x211b4c-_0x20f657);}const Cesium=mars3d__namespace[_0x437391(0x69b,0x6d4)],BaseLayer=mars3d__namespace['layer'][_0x20001d(0x6cb,0x659)];function _0x9531(_0x439939,_0x427385){const _0xeabdd0=_0xeabd();return _0x9531=function(_0x95318b,_0xaeca30){_0x95318b=_0x95318b-0x1dc;let _0x45658c=_0xeabdd0[_0x95318b];return _0x45658c;},_0x9531(_0x439939,_0x427385);}class CanvasWindLayer extends BaseLayer{constructor(_0x450df2={}){function _0xd028d(_0x32bf46,_0x3d9a09){return _0x20001d(_0x32bf46,_0x3d9a09-0x55);}super(_0x450df2),this['_setOptionsHook'](_0x450df2),this['canvas']=null,_0x450df2[_0xd028d(0x6e8,0x6ba)]&&_0x450df2['steps']&&(this['_colorRamp']=new mars3d__namespace['ColorRamp'](_0x450df2));}[_0x437391(0x606,0x615)](_0x49f827,_0x10d0e9){this[_0x4b3971(0x130,0xd2)]=0x3e8/(_0x49f827['frameRate']||0xa),this['_pointerEvents']=this['options']['pointerEvents']??![],this[_0x3c0941(0x38b,0x403)]=_0x49f827[_0x4b3971(0x13d,0x165)]||'#ffffff',this['lineWidth']=_0x49f827['lineWidth']||0x1;function _0x4b3971(_0x37e3d5,_0x2354da){return _0x437391(_0x2354da,_0x37e3d5- -0x545);}function _0x3c0941(_0x558208,_0x168ad6){return _0x20001d(_0x168ad6,_0x558208- -0x2a3);}this['fixedHeight']=_0x49f827['fixedHeight']??0x0,this[_0x4b3971(0xad,0x59)]=_0x49f827['reverseY']??![],this[_0x3c0941(0x365,0x355)]&&this['windField'][_0x3c0941(0x37f,0x3e1)](_0x49f827);}get['layer'](){function _0x3bd4e0(_0x41c258,_0x4dd2f5){return _0x20001d(_0x4dd2f5,_0x41c258- -0x1a);}return this[_0x3bd4e0(0x664,0x6ce)];}get[_0x437391(0x5fa,0x64a)](){function _0x45aa4e(_0x2e55b3,_0x53717c){return _0x437391(_0x53717c,_0x2e55b3- -0x73d);}function _0x5a1e7a(_0xb115c8,_0x406eb5){return _0x20001d(_0xb115c8,_0x406eb5- -0x22);}return this['_map'][_0x5a1e7a(0x5f7,0x59d)]['canvas'][_0x45aa4e(-0x109,-0xc3)];}get[_0x437391(0x67a,0x6b4)](){function _0x30e205(_0x526d76,_0x1904f9){return _0x20001d(_0x526d76,_0x1904f9- -0x112);}function _0x1c57cc(_0x283a1e,_0x547b92){return _0x20001d(_0x283a1e,_0x547b92- -0x1fb);}return this[_0x1c57cc(0x352,0x3c3)]['scene']['canvas'][_0x1c57cc(0x319,0x389)];}get['pointerEvents'](){function _0x1908f6(_0x67919d,_0x44c048){return _0x20001d(_0x44c048,_0x67919d- -0x262);}return this[_0x1908f6(0x332,0x38d)];}set['pointerEvents'](_0x5937a5){this['_pointerEvents']=_0x5937a5;function _0x193e30(_0x614f97,_0x2bfc64){return _0x437391(_0x614f97,_0x2bfc64- -0x753);}function _0x584c6a(_0x5b1ac9,_0x4e1a83){return _0x437391(_0x4e1a83,_0x5b1ac9- -0x6e4);}if(!this['canvas'])return;_0x5937a5?this['canvas'][_0x584c6a(-0x3f,-0x59)]['pointer-events']=_0x193e30(-0xf5,-0x8c):this[_0x584c6a(-0x12,0x74)]['style']['pointer-events']=_0x584c6a(-0x5e,-0xa4);}get['particlesNumber'](){return this['options']['particlesNumber'];}set['particlesNumber'](_0x59ec23){this[_0x2bff65(0x421,0x3b7)][_0x2bff65(0x433,0x485)]=_0x59ec23,clearTimeout(this[_0x2bff65(0x3f4,0x381)]);function _0x2bff65(_0x17ca23,_0x2d69b9){return _0x20001d(_0x2d69b9,_0x17ca23- -0x22c);}function _0x9c6bab(_0x5e5e92,_0x2239fb){return _0x20001d(_0x2239fb,_0x5e5e92- -0x14);}this['_canrefresh']=setTimeout(()=>{this['redraw']();},0x1f4);}get['speedRate'](){function _0xecab1e(_0x2dd640,_0x2622a8){return _0x437391(_0x2dd640,_0x2622a8- -0x2b2);}function _0x2c60f7(_0x424d6f,_0x294366){return _0x437391(_0x424d6f,_0x294366- -0x58e);}return this[_0xecab1e(0x37e,0x3ef)][_0xecab1e(0x34c,0x317)];}set['speedRate'](_0x4e4fe1){function _0x3d3a64(_0x43a341,_0x1662dc){return _0x20001d(_0x43a341,_0x1662dc- -0x349);}this[_0x3d3a64(0x2e6,0x304)]['speedRate']=_0x4e4fe1;function _0x324c9e(_0x4907ad,_0x34ff2d){return _0x437391(_0x34ff2d,_0x4907ad- -0x56b);}this[_0x324c9e(0xf1,0x11e)]&&(this[_0x3d3a64(0x2b6,0x2bf)][_0x3d3a64(0x1b5,0x22c)]=_0x4e4fe1);}get['maxAge'](){return this['options']['maxAge'];}set['maxAge'](_0x378569){function _0x1e325b(_0x1b88ed,_0x3a12ff){return _0x437391(_0x3a12ff,_0x1b88ed- -0x535);}this[_0x1e325b(0x16c,0x1b2)]['maxAge']=_0x378569,this['windField']&&(this['windField']['maxAge']=_0x378569);}get['data'](){return this['windData'];}set[_0x437391(0x6e0,0x6c0)](_0x15576d){this['setData'](_0x15576d);}[_0x437391(0x62f,0x60d)](_0x4ac196){function _0x50c953(_0x1300f2,_0x2ecbf7){return _0x437391(_0x2ecbf7,_0x1300f2- -0x8b);}function _0xc11fb6(_0x2462c3,_0xbfe953){return _0x20001d(_0x2462c3,_0xbfe953- -0x4c6);}_0x4ac196?this['_addedHook']():(this[_0x50c953(0x592,0x566)]&&(this[_0xc11fb6(0x17a,0x187)]['data']=this['windData']),this['_removedHook']());}['_mountedHook'](){function _0x153ce1(_0x118b74,_0x4adc2d){return _0x20001d(_0x118b74,_0x4adc2d- -0xa8);}function _0x3dfc27(_0x80d004,_0xdce495){return _0x20001d(_0x80d004,_0xdce495- -0x5af);}this[_0x3dfc27(0x7e,0x9e)][_0x153ce1(0x54c,0x5ba)]?this['initWorker']():this[_0x3dfc27(0xf,0x59)]=new CanvasWindField(this[_0x153ce1(0x56b,0x5a5)]);}[_0x20001d(0x64f,0x5cb)](){this['canvas']=this['_createCanvas']();function _0x2be48(_0x28eb41,_0xd98602){return _0x20001d(_0x28eb41,_0xd98602- -0x2e6);}const _0x43715b={};_0x43715b[_0x2be48(0x244,0x2bd)]=!![],this[_0x214437(0x4f2,0x4a1)]=this[_0x214437(0x4fd,0x56a)][_0x214437(0x3fb,0x477)]('2d',_0x43715b);function _0x214437(_0x34e647,_0xc6c700){return _0x20001d(_0x34e647,_0xc6c700- -0x114);}this[_0x2be48(0x3b7,0x35c)](),this['options']['data']&&this[_0x2be48(0x305,0x2c9)](this['options']['data']);}['_removedHook'](){this[_0x2c528d(0x248,0x220)]();function _0x186e03(_0x22af14,_0x586464){return _0x20001d(_0x586464,_0x22af14- -0x1a0);}function _0x2c528d(_0x3b40aa,_0x59f17c){return _0x20001d(_0x3b40aa,_0x59f17c- -0x375);}this[_0x2c528d(0x1fb,0x26a)](),this[_0x186e03(0x4de,0x462)]&&(this['_map']['container']['removeChild'](this['canvas']),delete this['canvas']);}['_createCanvas'](){const _0x1a8a4e=mars3d__namespace[_0x2c214c(0x12f,0xa6)]['create'](_0x4b0baa(0x579,0x500),_0x2c214c(0x20e,0x18b),this['_map']['container']);_0x1a8a4e[_0x4b0baa(0x54c,0x5bf)][_0x4b0baa(0x4b1,0x49c)]=_0x4b0baa(0x49b,0x490),_0x1a8a4e['style']['top']='0px',_0x1a8a4e['style']['left']=_0x2c214c(0x8e,0x91),_0x1a8a4e['style']['width']=this[_0x2c214c(0x47,0xcd)]['scene'][_0x2c214c(0x12d,0x18d)]['clientWidth']+'px';function _0x2c214c(_0x132e4e,_0xc82e45){return _0x437391(_0x132e4e,_0xc82e45- -0x545);}function _0x4b0baa(_0x4c1373,_0x367b3f){return _0x437391(_0x367b3f,_0x4c1373- -0x159);}return _0x1a8a4e['style']['height']=this[_0x4b0baa(0x4b9,0x504)]['scene'][_0x2c214c(0x209,0x18d)]['clientHeight']+'px',_0x1a8a4e['style']['pointerEvents']=this[_0x2c214c(0x123,0xa3)]?'auto':_0x4b0baa(0x52d,0x4f4),_0x1a8a4e[_0x4b0baa(0x54c,0x4d7)]['zIndex']=this[_0x4b0baa(0x548,0x5cc)]['zIndex']??0x9,_0x1a8a4e['width']=this['_map']['scene']['canvas']['clientWidth'],_0x1a8a4e['height']=this['_map']['scene']['canvas'][_0x2c214c(0x102,0x93)],_0x1a8a4e;}[_0x20001d(0x644,0x5c0)](){function _0x377e46(_0x2d871e,_0x5dffb0){return _0x20001d(_0x2d871e,_0x5dffb0- -0xe6);}function _0x3a0b34(_0x30ecb9,_0x229fe1){return _0x20001d(_0x30ecb9,_0x229fe1- -0x1d4);}this[_0x3a0b34(0x42b,0x4aa)]&&(this[_0x3a0b34(0x521,0x4aa)][_0x3a0b34(0x4f7,0x47d)]['width']=this[_0x3a0b34(0x462,0x3ea)][_0x377e46(0x4bf,0x4d9)]['canvas']['clientWidth']+'px',this['canvas'][_0x3a0b34(0x454,0x47d)][_0x377e46(0x462,0x4d1)]=this['_map'][_0x377e46(0x543,0x4d9)]['canvas'][_0x3a0b34(0x328,0x3b0)]+'px',this[_0x377e46(0x5c7,0x598)]['width']=this['_map'][_0x3a0b34(0x424,0x3eb)][_0x377e46(0x56e,0x598)]['clientWidth'],this['canvas']['height']=this['_map']['scene']['canvas'][_0x377e46(0x4be,0x49e)]);}['bindEvent'](){const _0x1480d1=this;let _0x367730=Date['now']();(function _0x4e2a60(){function _0x2367cc(_0x16e8ab,_0x2095b2){return _0x9531(_0x2095b2- -0x22c,_0x16e8ab);}_0x1480d1['animateFrame']=window[_0x2367cc(0x29,-0x12)](_0x4e2a60);if(_0x1480d1['show']&&_0x1480d1['windField']){const _0x4fc07e=Date['now'](),_0x3bb7ad=_0x4fc07e-_0x367730;_0x3bb7ad>_0x1480d1['frameTime']&&(_0x367730=_0x4fc07e-_0x3bb7ad%_0x1480d1['frameTime'],_0x1480d1['update']());}}());function _0x18b07a(_0x86de21,_0x125a08){return _0x20001d(_0x125a08,_0x86de21- -0x40b);}window['addEventListener']('resize',this['resize'][_0x41e917(-0x24,0x2d)](this),![]),this['mouse_down']=![];function _0x41e917(_0x50386b,_0x714c74){return _0x437391(_0x50386b,_0x714c74- -0x5b5);}this[_0x18b07a(0x22a,0x282)]=![],this[_0x18b07a(0x242,0x283)]['mouseHidden']&&(this['_map']['on'](mars3d__namespace[_0x41e917(0x1b,0x10)][_0x18b07a(0x203,0x25f)],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace[_0x18b07a(0x166,0x172)]['mouseDown'],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace[_0x41e917(0x1f,0x10)]['mouseUp'],this['_onMouseUpEvent'],this));}['unbindEvent'](){function _0x3d67d8(_0x36b50d,_0x57c0fb){return _0x437391(_0x57c0fb,_0x36b50d- -0xd1);}function _0x330cd(_0x58acb0,_0x4e3ffd){return _0x437391(_0x58acb0,_0x4e3ffd- -0x61);}window[_0x3d67d8(0x57e,0x5fe)](this['animateFrame']),delete this['animateFrame'],window['removeEventListener'](_0x3d67d8(0x543,0x52f),this[_0x3d67d8(0x543,0x540)]),this['options']['mouseHidden']&&(this['_map']['off'](mars3d__namespace[_0x3d67d8(0x4f4,0x561)][_0x330cd(0x5f0,0x601)],this[_0x330cd(0x5ea,0x585)],this),this['_map']['off'](mars3d__namespace['EventType']['mouseDown'],this[_0x330cd(0x6d8,0x663)],this),this['_map']['off'](mars3d__namespace['EventType'][_0x3d67d8(0x502,0x4e2)],this[_0x3d67d8(0x59a,0x5b5)],this),this[_0x3d67d8(0x541,0x511)]['off'](mars3d__namespace[_0x330cd(0x5b9,0x564)]['mouseMove'],this['_onMouseMoveEvent'],this));}[_0x20001d(0x5c5,0x592)](_0x59adb9){clearTimeout(this['refreshTimer']);if(!this['show']||!this[_0x348abe(0x9c,0xfa)])return;function _0x348abe(_0x30728b,_0x253b18){return _0x20001d(_0x30728b,_0x253b18- -0x584);}this['canvas']['style']['visibility']=_0xc60b85(0x5a5,0x5c2);function _0xc60b85(_0x67b555,_0x214f8e){return _0x437391(_0x67b555,_0x214f8e- -0x19);}this['refreshTimer']=setTimeout(()=>{if(!this['show'])return;this[_0x2ae702(0x5c6,0x64c)]();function _0x2ae702(_0x12e934,_0x2924cd){return _0xc60b85(_0x2924cd,_0x12e934- -0xf2);}function _0x1ec910(_0x190b0c,_0xeda224){return _0xc60b85(_0x190b0c,_0xeda224- -0x5b8);}this[_0x2ae702(0x5c7,0x621)][_0x2ae702(0x59a,0x5c3)]['visibility']='visible';},0xc8);}[_0x437391(0x698,0x6c4)](_0x46e277){function _0x400299(_0x5f2a45,_0x4f455c){return _0x437391(_0x4f455c,_0x5f2a45- -0x1ba);}this[_0x5d19c7(-0x1b6,-0x1fd)]=!![],this['_map'][_0x400299(0x41d,0x44f)](mars3d__namespace['EventType']['mouseMove'],this[_0x400299(0x4d0,0x550)],this);function _0x5d19c7(_0x412720,_0x1c1a1c){return _0x437391(_0x1c1a1c,_0x412720- -0x7a2);}this[_0x5d19c7(-0x190,-0x14d)]['on'](mars3d__namespace[_0x5d19c7(-0x1dd,-0x252)][_0x400299(0x44a,0x43c)],this[_0x400299(0x4d0,0x4b5)],this);}['_onMouseMoveEvent'](_0x3b99bd){if(!this['show']||!this['canvas'])return;function _0x34cd7e(_0x32afbc,_0x13e877){return _0x437391(_0x13e877,_0x32afbc- -0x576);}function _0x561e2c(_0x8f9e0a,_0x14e2ac){return _0x20001d(_0x14e2ac,_0x8f9e0a- -0x28c);}this[_0x561e2c(0x30c,0x2fc)]&&(this[_0x34cd7e(0x15c,0x159)][_0x34cd7e(0x12f,0x132)][_0x34cd7e(0x64,0x71)]=_0x561e2c(0x2fb,0x315),this[_0x34cd7e(0x113,0xba)]=!![]);}['_onMouseUpEvent'](_0x513505){if(!this['show']||!this['canvas'])return;this['_map'][_0x5d8008(0xf3,0xea)](mars3d__namespace[_0x5d8008(0xe1,0x74)][_0x5d8008(0x120,0xd9)],this['_onMouseMoveEvent'],this);function _0x5e1ecd(_0x17151e,_0x83b3ff){return _0x20001d(_0x83b3ff,_0x17151e- -0x2b1);}this['mouse_down']&&this['mouse_move']&&this[_0x5e1ecd(0x3cc,0x389)]();function _0x5d8008(_0x342788,_0x3bc5bf){return _0x437391(_0x3bc5bf,_0x342788- -0x4e4);}this['canvas']['style'][_0x5d8008(0xf6,0x12d)]='visible',this['mouse_down']=![],this['mouse_move']=![];}['setData'](_0x4d3a1e){this[_0x127a5b(-0x167,-0x136)](),this['windData']=_0x4d3a1e,this['windField']['setDate'](_0x4d3a1e);function _0x127a5b(_0x54d304,_0x1928ba){return _0x20001d(_0x54d304,_0x1928ba- -0x6cb);}this['redraw']();}['redraw'](){if(!this['show'])return;this['windField']['setOptions'](this['options']),this['update']();}['update'](){function _0x19226d(_0x22d57c,_0x3a5bdb){return _0x437391(_0x22d57c,_0x3a5bdb- -0x20f);}if(this[_0x19226d(0x423,0x422)])return;this[_0x19226d(0x3b4,0x422)]=!![];function _0x4b6bed(_0xd8c2a7,_0x3503e7){return _0x20001d(_0xd8c2a7,_0x3503e7- -0x569);}if(this['worker'])this['windField'][_0x4b6bed(0x46,0xaa)]();else{const _0x14f3bf=this['windField']['getParticles']();this[_0x19226d(0x4a7,0x445)](_0x14f3bf);}this[_0x19226d(0x3ec,0x422)]=![];}[_0x20001d(0x5fa,0x600)](_0x453cba){this['canvasContext']['globalCompositeOperation']=_0x488138(0x683,0x615),this[_0x52aec7(0x143,0x179)][_0x52aec7(0x19d,0x1cb)](0x0,0x0,this[_0x52aec7(0x184,0x1a7)],this['canvasHeight']);function _0x488138(_0x54ead4,_0x15d2c7){return _0x437391(_0x15d2c7,_0x54ead4- -0x35);}this['canvasContext'][_0x488138(0x68e,0x661)]='lighter',this[_0x52aec7(0x143,0x186)]['globalAlpha']=0.9;const _0x1919e4=this[_0x488138(0x5dd,0x55f)][_0x488138(0x5de,0x5c0)][_0x52aec7(0x194,0x19f)]!==Cesium[_0x488138(0x635,0x5e3)]['SCENE3D'];function _0x52aec7(_0x4370a3,_0x452eeb){return _0x437391(_0x452eeb,_0x4370a3- -0x4c6);}const _0x5e651b=this['canvasWidth']*0.25;if(this[_0x52aec7(0x156,0x121)])for(let _0x449fd5=0x0,_0xf1ec69=_0x453cba['length'];_0x449fd5<_0xf1ec69;_0x449fd5++){const _0x5c7166=_0x453cba[_0x449fd5],_0x5f111d=this['_tomap'](_0x5c7166['lng'],_0x5c7166['lat'],_0x5c7166),_0x3573b4=this['_tomap'](_0x5c7166['tlng'],_0x5c7166['tlat'],_0x5c7166);if(!_0x5f111d||!_0x3573b4)continue;if(_0x1919e4&&Math[_0x488138(0x672,0x638)](_0x5f111d[0x0]-_0x3573b4[0x0])>=_0x5e651b)continue;this[_0x52aec7(0x143,0x12e)]['beginPath'](),this['canvasContext']['lineWidth']=this[_0x52aec7(0x1bf,0x159)],this['canvasContext']['strokeStyle']=this[_0x52aec7(0x156,0x126)]['getColor'](_0x5c7166['speed']),this[_0x488138(0x5d4,0x624)]['moveTo'](_0x5f111d[0x0],_0x5f111d[0x1]),this['canvasContext']['lineTo'](_0x3573b4[0x0],_0x3573b4[0x1]),this['canvasContext']['stroke']();}else{this['canvasContext']['beginPath'](),this['canvasContext']['lineWidth']=this[_0x488138(0x650,0x618)],this[_0x52aec7(0x143,0xfa)]['strokeStyle']=this['color'];for(let _0x172b85=0x0,_0x472365=_0x453cba[_0x52aec7(0x1d2,0x1a2)];_0x172b85<_0x472365;_0x172b85++){const _0x55d283=_0x453cba[_0x172b85],_0x328a98=this[_0x52aec7(0x183,0x152)](_0x55d283['lng'],_0x55d283['lat'],_0x55d283),_0x3032c5=this[_0x52aec7(0x183,0x20b)](_0x55d283['tlng'],_0x55d283['tlat'],_0x55d283);if(!_0x328a98||!_0x3032c5)continue;if(_0x1919e4&&Math['abs'](_0x328a98[0x0]-_0x3032c5[0x0])>=_0x5e651b)continue;this['canvasContext']['moveTo'](_0x328a98[0x0],_0x328a98[0x1]),this['canvasContext']['lineTo'](_0x3032c5[0x0],_0x3032c5[0x1]);}this['canvasContext'][_0x488138(0x610,0x696)]();}}['_tomap'](_0x1b2ad9,_0x5ec5be,_0x7d8b95){const _0x26a776=Cesium[_0x3185f8(0x15c,0xd6)]['fromDegrees'](_0x1b2ad9,_0x5ec5be,this[_0x3fec7f(0x3c2,0x422)]);function _0x3185f8(_0x11a00f,_0x28f1e8){return _0x20001d(_0x28f1e8,_0x11a00f- -0x44a);}function _0x3fec7f(_0xd6fd5,_0x31496a){return _0x437391(_0xd6fd5,_0x31496a- -0x251);}const _0x4cd785=this[_0x3185f8(0x174,0x17d)]['scene'];if(_0x4cd785['mode']===Cesium['SceneMode']['SCENE3D']){const _0x37a6a7=new Cesium[(_0x3185f8(0x1c2,0x1f1))](_0x4cd785['globe']['ellipsoid'],_0x4cd785[_0x3fec7f(0x44b,0x426)]['positionWC']),_0xeb8c78=_0x37a6a7['isPointVisible'](_0x26a776);if(!_0xeb8c78)return _0x7d8b95[_0x3fec7f(0x45a,0x46b)]=0x0,null;}const _0x2e0597=Cesium['SceneTransforms'][_0x3185f8(0x1f3,0x226)](this[_0x3fec7f(0x37a,0x3c1)][_0x3185f8(0x175,0x179)],_0x26a776);return _0x2e0597?[_0x2e0597['x'],_0x2e0597['y']]:null;}['clear'](){function _0xb69705(_0x17372b,_0x33c848){return _0x20001d(_0x33c848,_0x17372b- -0x436);}function _0x1c6658(_0x3d8006,_0x1ff14c){return _0x20001d(_0x3d8006,_0x1ff14c- -0x1d7);}this['windField'][_0xb69705(0x15f,0x114)](),delete this[_0xb69705(0x193,0x133)];}['initWorker'](){function _0x3e09ce(_0x333fcf,_0x2694cc){return _0x20001d(_0x333fcf,_0x2694cc- -0x24a);}this[_0x3e09ce(0x3d8,0x418)]=new Worker(this['options']['worker']),this[_0x3e09ce(0x417,0x418)]['onmessage']=_0x37f9f7=>{function _0x5c60a2(_0x6a2e6,_0x5479c5){return _0x565dd2(_0x6a2e6,_0x5479c5- -0x4da);}function _0x4e8ae9(_0xf49a9b,_0x329a34){return _0x565dd2(_0xf49a9b,_0x329a34- -0x75e);}this[_0x4e8ae9(-0x1a6,-0x137)](_0x37f9f7[_0x5c60a2(0x153,0x1b9)][_0x5c60a2(0x211,0x1a8)]),this[_0x5c60a2(0x23b,0x1c6)]=![];},this[_0x3e09ce(0x347,0x3be)]={'init':_0xbfc967=>{const _0x2f7bcb={};function _0x13963a(_0x5e1179,_0x28f3bd){return _0x3e09ce(_0x5e1179,_0x28f3bd- -0x13e);}_0x2f7bcb[_0x13963a(0x263,0x25b)]=_0x14e0dc(0x43d,0x40d),_0x2f7bcb['options']=_0xbfc967;function _0x14e0dc(_0x3ca24d,_0x589b52){return _0x565dd2(_0x589b52,_0x3ca24d- -0x239);}this['worker']['postMessage'](_0x2f7bcb);},'setOptions':_0x1a4195=>{const _0x5c5eb6={};function _0x245006(_0x8b3549,_0x4d5ca5){return _0x3e09ce(_0x4d5ca5,_0x8b3549- -0x45);}_0x5c5eb6[_0x245006(0x354,0x32e)]=_0x113898(0x182,0x1f4),_0x5c5eb6['options']=_0x1a4195;function _0x113898(_0x1c55bb,_0x36a854){return _0x565dd2(_0x36a854,_0x1c55bb- -0x4c7);}this[_0x113898(0x1c2,0x21f)]['postMessage'](_0x5c5eb6);},'setDate':_0x490f7e=>{function _0x2f9bb2(_0x2c48c9,_0x5c66e5){return _0x3e09ce(_0x2c48c9,_0x5c66e5-0x246);}function _0x33cb54(_0x578dd1,_0xebed3c){return _0x3e09ce(_0xebed3c,_0x578dd1-0x293);}const _0x302a45={};_0x302a45['type']=_0x33cb54(0x5f6,0x5d0),_0x302a45['data']=_0x490f7e,this[_0x2f9bb2(0x642,0x65e)]['postMessage'](_0x302a45);},'update':()=>{if(this[_0x1cc8e3(0x46c,0x4cb)])return;function _0x301ab7(_0x2ba294,_0x38e6e3){return _0x565dd2(_0x2ba294,_0x38e6e3- -0xe);}function _0x1cc8e3(_0x25c3c6,_0x4b2c48){return _0x3e09ce(_0x25c3c6,_0x4b2c48-0x9c);}this[_0x301ab7(0x70e,0x692)]=!![];const _0x1a4552={};_0x1a4552[_0x301ab7(0x64e,0x5fc)]=_0x1cc8e3(0x4e5,0x465),this['worker'][_0x1cc8e3(0x3f9,0x3e3)](_0x1a4552);},'clear':()=>{function _0x37a055(_0x38c60d,_0x1ed0d7){return _0x565dd2(_0x1ed0d7,_0x38c60d- -0x391);}const _0x2e0b88={};_0x2e0b88['type']='clear',this[_0x37a055(0x2f8,0x375)]['postMessage'](_0x2e0b88);}};function _0x565dd2(_0x466e80,_0x683460){return _0x437391(_0x466e80,_0x683460- -0x2d);}this['windField']['init'](this['options']);}}mars3d__namespace[_0x20001d(0x5ec,0x56f)]['register']('canvasWind',CanvasWindLayer),mars3d__namespace[_0x20001d(0x5db,0x62f)]['CanvasWindLayer']=CanvasWindLayer,mars3d__namespace['CanvasWindField']=CanvasWindField,mars3d__namespace[_0x437391(0x6c3,0x63c)]=WindUtil,exports[_0x20001d(0x622,0x5a2)]=CanvasWindField,exports['CanvasWindLayer']=CanvasWindLayer,exports['WindLayer']=WindLayer,exports[_0x437391(0x689,0x63c)]=WindUtil;const _0x513c65={};_0x513c65[_0x437391(0x5e1,0x5dd)]=!![];function _0x20001d(_0x40700,_0x2e4d50){return _0x9531(_0x2e4d50-0x390,_0x40700);}Object['defineProperty'](exports,'__esModule',_0x513c65);
|
|
14
|
+
'use strict';(function(_0x218d48,_0x161a86){function _0x2ca256(_0x5acdcf,_0x4045b3){return _0x15f1(_0x5acdcf-0x11b,_0x4045b3);}const _0x416373=_0x218d48();function _0x4e05c5(_0x958b59,_0x36e07f){return _0x15f1(_0x36e07f-0x37d,_0x958b59);}while(!![]){try{const _0x39566e=-parseInt(_0x4e05c5(0x53a,0x4c6))/0x1+parseInt(_0x4e05c5(0x5d1,0x570))/0x2+-parseInt(_0x4e05c5(0x501,0x55b))/0x3+-parseInt(_0x4e05c5(0x5aa,0x551))/0x4+-parseInt(_0x4e05c5(0x4a2,0x4b6))/0x5*(-parseInt(_0x4e05c5(0x430,0x47f))/0x6)+parseInt(_0x4e05c5(0x4b2,0x4c2))/0x7*(parseInt(_0x4e05c5(0x51c,0x4fa))/0x8)+-parseInt(_0x2ca256(0x268,0x22f))/0x9;if(_0x39566e===_0x161a86)break;else _0x416373['push'](_0x416373['shift']());}catch(_0x49e7da){_0x416373['push'](_0x416373['shift']());}}}(_0x4292,0x3002c));function _interopNamespace(_0x298db8){if(_0x298db8&&_0x298db8['__esModule'])return _0x298db8;var _0x1dfd3b=Object[_0x197da9(0x3d3,0x440)](null);_0x298db8&&Object['keys'](_0x298db8)['forEach'](function(_0x4f8e6b){function _0x20aa86(_0x8d715d,_0x19ff9b){return _0x197da9(_0x8d715d,_0x19ff9b- -0x288);}if(_0x4f8e6b!=='default'){var _0x26a4b1=Object['getOwnPropertyDescriptor'](_0x298db8,_0x4f8e6b);Object['defineProperty'](_0x1dfd3b,_0x4f8e6b,_0x26a4b1[_0x20aa86(0x240,0x252)]?_0x26a4b1:{'enumerable':!![],'get':function(){return _0x298db8[_0x4f8e6b];}});}});function _0x197da9(_0x3da8d2,_0x24c734){return _0x15f1(_0x24c734-0x31f,_0x3da8d2);}return _0x1dfd3b['default']=_0x298db8,_0x1dfd3b;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace['Cesium'];function getU(_0x28dcbc,_0x4c3186){const _0x29cb1a=_0x28dcbc*Math['cos'](Cesium$7['Math']['toRadians'](_0x4c3186));return _0x29cb1a;}function getV(_0x1e4986,_0x52ab1e){function _0x2bc9a3(_0x4c4fc4,_0x51f747){return _0x15f1(_0x51f747- -0x2c1,_0x4c4fc4);}const _0x1d8b96=_0x1e4986*Math['sin'](Cesium$7[_0x2bc9a3(-0x126,-0x109)]['toRadians'](_0x52ab1e));return _0x1d8b96;}function getSpeed(_0x153252,_0x4d2787){const _0x2d15e3=Math['sqrt'](Math[_0x2a6b0e(0x90,0xf5)](_0x153252,0x2)+Math['pow'](_0x4d2787,0x2));function _0x2a6b0e(_0x33a23a,_0x483f03){return _0x15f1(_0x483f03- -0xa,_0x33a23a);}return _0x2d15e3;}function getDirection(_0x429864,_0x5171a6){function _0x4911f4(_0x424c57,_0x287a36){return _0x15f1(_0x424c57- -0x85,_0x287a36);}let _0x14e834=Cesium$7[_0x3f3cf4(0x470,0x4b3)][_0x4911f4(0x170,0xdf)](Math['atan2'](_0x5171a6,_0x429864));_0x14e834+=_0x14e834<0x0?0x168:0x0;function _0x3f3cf4(_0x59796a,_0x2d7db3){return _0x15f1(_0x2d7db3-0x2fb,_0x59796a);}return _0x14e834;}const _0x5c1c96={};_0x5c1c96[_0x939c96(0x443,0x4a5)]=null,_0x5c1c96[_0x939c96(0x4ca,0x4ed)]=getU,_0x5c1c96['getV']=getV,_0x5c1c96['getSpeed']=getSpeed,_0x5c1c96['getDirection']=getDirection;function _0x939c96(_0x12bf44,_0x26c7d7){return _0x15f1(_0x26c7d7-0x329,_0x12bf44);}var WindUtil=_0x5c1c96;function _0x15f1(_0x15d60a,_0x220e7b){const _0x4292dd=_0x4292();return _0x15f1=function(_0x15f1c8,_0x4c776b){_0x15f1c8=_0x15f1c8-0xfb;let _0x3ad546=_0x4292dd[_0x15f1c8];return _0x3ad546;},_0x15f1(_0x15d60a,_0x220e7b);}const Cesium$6=mars3d__namespace[_0x939c96(0x508,0x4f9)];class CustomPrimitive{constructor(_0x56f98a){this['commandType']=_0x56f98a[_0x4a629a(0x3d0,0x437)],this[_0x85e954(0x43f,0x4ac)]=_0x56f98a['geometry'],this['attributeLocations']=_0x56f98a[_0x4a629a(0x47e,0x4ac)],this['primitiveType']=_0x56f98a['primitiveType'],this['uniformMap']=_0x56f98a[_0x85e954(0x4b1,0x50f)];function _0x85e954(_0xc84b96,_0x1e3382){return _0x114188(_0xc84b96,_0x1e3382-0xd9);}function _0x4a629a(_0x2d1cbf,_0x4eaeb8){return _0x114188(_0x2d1cbf,_0x4eaeb8-0x26);}this['vertexShaderSource']=_0x56f98a['vertexShaderSource'],this['fragmentShaderSource']=_0x56f98a['fragmentShaderSource'],this[_0x85e954(0x563,0x532)]=_0x56f98a[_0x4a629a(0x4fa,0x47f)],this['framebuffer']=_0x56f98a['framebuffer'],this[_0x85e954(0x45b,0x4ae)]=_0x56f98a['outputTexture'],this[_0x4a629a(0x43f,0x3ac)]=_0x56f98a['autoClear']??![],this['preExecute']=_0x56f98a[_0x4a629a(0x406,0x456)],this[_0x4a629a(0x477,0x40f)]=!![],this['commandToExecute']=undefined,this['clearCommand']=undefined,this[_0x4a629a(0x390,0x3ac)]&&(this[_0x85e954(0x473,0x468)]=new Cesium$6['ClearCommand']({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':Cesium$6[_0x4a629a(0x4f2,0x4b2)][_0x85e954(0x511,0x4b4)]}));}['createCommand'](_0x35bda2){function _0xb92c23(_0x2d1a1f,_0x1e42ba){return _0x114188(_0x1e42ba,_0x2d1a1f- -0x552);}function _0x2158ae(_0x2f5ac2,_0x2f2dbf){return _0x939c96(_0x2f2dbf,_0x2f5ac2- -0x501);}switch(this['commandType']){case'Draw':{const _0xb7a6d9=Cesium$6['VertexArray'][_0x2158ae(-0x44,0x34)]({'context':_0x35bda2,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage'][_0xb92c23(-0x11d,-0xfa)]}),_0x5a4cc0={};_0x5a4cc0['context']=_0x35bda2,_0x5a4cc0['attributeLocations']=this['attributeLocations'],_0x5a4cc0[_0xb92c23(-0x1a4,-0x117)]=this['vertexShaderSource'],_0x5a4cc0['fragmentShaderSource']=this[_0xb92c23(-0x197,-0x15c)];const _0x43771e=Cesium$6[_0x2158ae(-0x28,-0x9)][_0xb92c23(-0xd0,-0x124)](_0x5a4cc0),_0xd655c0=Cesium$6[_0xb92c23(-0x176,-0x1e2)]['fromCache'](this['rawRenderState']);return new Cesium$6['DrawCommand']({'primitiveType':this['primitiveType'],'shaderProgram':_0x43771e,'vertexArray':_0xb7a6d9,'modelMatrix':Cesium$6['Matrix4'][_0xb92c23(-0xed,-0x6d)],'renderState':_0xd655c0,'uniformMap':this['uniformMap'],'castShadows':![],'receiveShadows':![],'framebuffer':this['framebuffer'],'pass':Cesium$6[_0xb92c23(-0xc6,-0x11c)]['OPAQUE'],'pickOnly':!![],'owner':this});}case _0x2158ae(-0x15,0x6a):{const _0x43d3cc={};return _0x43d3cc['owner']=this,_0x43d3cc[_0x2158ae(-0x94,-0x57)]=this['fragmentShaderSource'],_0x43d3cc['uniformMap']=this['uniformMap'],_0x43d3cc['outputTexture']=this['outputTexture'],_0x43d3cc['persists']=!![],new Cesium$6[(_0x2158ae(-0xb2,-0x12e))](_0x43d3cc);}}}[_0x939c96(0x4ef,0x4de)](_0x4f03df,_0x14f3e3){this['geometry']=_0x14f3e3;function _0x2b2cbc(_0x3e696b,_0x477c91){return _0x939c96(_0x3e696b,_0x477c91- -0x35d);}function _0x1117a4(_0x20124a,_0x4b9986){return _0x114188(_0x4b9986,_0x20124a- -0x44e);}const _0x5367df=Cesium$6[_0x1117a4(-0x7f,-0x1a)]['fromGeometry']({'context':_0x4f03df,'geometry':this['geometry'],'attributeLocations':this[_0x2b2cbc(0x217,0x1db)],'bufferUsage':Cesium$6[_0x1117a4(0x12,0xd)][_0x2b2cbc(0x19c,0x18a)]});this['commandToExecute']['vertexArray']=_0x5367df;}[_0x939c96(0x5b5,0x548)](_0x566a72){if(!this['show'])return;function _0x5cc75d(_0x45a599,_0xccd3be){return _0x939c96(_0xccd3be,_0x45a599- -0x11a);}if(_0x566a72[_0x260a9b(0x383,0x3dd)]!==Cesium$6[_0x260a9b(0x3e2,0x3de)]['SCENE3D'])return;!Cesium$6['defined'](this[_0x5cc75d(0x35f,0x3dd)])&&(this[_0x5cc75d(0x35f,0x2d6)]=this[_0x260a9b(0x3d3,0x3e5)](_0x566a72['context']));Cesium$6['defined'](this[_0x260a9b(0x450,0x3f0)])&&this['preExecute']();Cesium$6['defined'](this[_0x260a9b(0x359,0x34f)])&&_0x566a72['commandList']['push'](this['clearCommand']);function _0x260a9b(_0x5c602c,_0x50f0b1){return _0x114188(_0x5c602c,_0x50f0b1- -0x40);}_0x566a72['commandList']['push'](this['commandToExecute']);}['isDestroyed'](){return![];}['destroy'](){if(this['clearCommand']){var _0x19c1fa,_0xd77a1d;(_0x19c1fa=this['clearCommand'])!==null&&_0x19c1fa!==void 0x0&&_0x19c1fa[_0x12073e(0x395,0x3ae)]&&this[_0x2f57c3(0x145,0xc8)][_0x12073e(0x377,0x3ae)]['destroy'](),(_0xd77a1d=this['clearCommand'])!==null&&_0xd77a1d!==void 0x0&&_0xd77a1d[_0x12073e(0x391,0x312)]&&this['clearCommand'][_0x2f57c3(0x9a,0xec)]['destroy'](),delete this[_0x12073e(0x2df,0x2ee)];}function _0x12073e(_0x2dd58d,_0x5d1b94){return _0x939c96(_0x2dd58d,_0x5d1b94- -0x153);}function _0x2f57c3(_0x2b7ba2,_0xf30f2b){return _0x939c96(_0x2b7ba2,_0xf30f2b- -0x379);}return this[_0x2f57c3(0x73,0x100)]&&(this[_0x2f57c3(0x16d,0x100)][_0x12073e(0x3b3,0x3ae)]&&this['commandToExecute'][_0x12073e(0x332,0x3ae)]['destroy'](),this['commandToExecute'][_0x2f57c3(0x124,0xec)]&&this[_0x2f57c3(0x9c,0x100)]['shaderProgram'][_0x2f57c3(0xe4,0x16d)](),delete this['commandToExecute']),Cesium$6[_0x2f57c3(0xd6,0xf8)](this);}}const Cesium$5=mars3d__namespace[_0x114188(0x4b4,0x447)],Util=(function(){const _0x1b12c6=function(){function _0x320604(_0x1e8e68,_0x2df5d6){return _0x15f1(_0x1e8e68-0x14b,_0x2df5d6);}const _0x343ef0=new Cesium$5['Geometry']({'attributes':new Cesium$5[(_0x50cae7(0x3a5,0x3c3))]({'position':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5[_0x320604(0x285,0x2c9)][_0x320604(0x365,0x380)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5[(_0x50cae7(0x3cd,0x42d))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x320604(0x365,0x3f9)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});function _0x50cae7(_0x434d46,_0x15fd93){return _0x15f1(_0x15fd93-0x233,_0x434d46);}return _0x343ef0;},_0x546d56=function(_0xaff6d6,_0xa2c197){if(Cesium$5['defined'](_0xa2c197)){const _0x4b6f0a={};_0x4b6f0a['arrayBufferView']=_0xa2c197,_0xaff6d6[_0x5de795(-0x9d,-0x84)]=_0x4b6f0a;}function _0x3f08d0(_0x153a64,_0x43cd44){return _0x15f1(_0x153a64- -0x176,_0x43cd44);}function _0x5de795(_0x12b993,_0x32a1a7){return _0x15f1(_0x12b993- -0x19b,_0x32a1a7);}const _0x3cfd40=new Cesium$5[(_0x3f08d0(0xf,0x6b))](_0xaff6d6);return _0x3cfd40;},_0x5b2ab4=function(_0x763f08,_0x50a126,_0x3b3ebf){const _0x474ddd={};_0x474ddd[_0x5b0772(0x1ea,0x26f)]=_0x763f08;function _0x5b0772(_0x51bdfb,_0x456978){return _0x15f1(_0x51bdfb-0xbf,_0x456978);}_0x474ddd['colorTextures']=[_0x50a126];function _0x518036(_0x47236c,_0x1e9956){return _0x15f1(_0x47236c-0x2b6,_0x1e9956);}_0x474ddd[_0x5b0772(0x289,0x2a9)]=_0x3b3ebf;const _0x3e1f24=new Cesium$5[(_0x518036(0x3c3,0x393))](_0x474ddd);return _0x3e1f24;},_0x5c4773=function(_0x159269){const _0x5ea544=!![],_0x176d3e=![],_0x4ad0c0={};_0x4ad0c0['viewport']=_0x159269[_0x2fd36b(-0x1bc,-0x17e)];function _0x2fd36b(_0x39de77,_0xdffa28){return _0x15f1(_0x39de77- -0x387,_0xdffa28);}_0x4ad0c0['depthTest']=_0x159269[_0x2ac95(0x494,0x4df)];function _0x2ac95(_0x266010,_0x88df24){return _0x15f1(_0x266010-0x27b,_0x88df24);}_0x4ad0c0[_0x2ac95(0x479,0x448)]=_0x159269['depthMask'],_0x4ad0c0['blending']=_0x159269['blending'];const _0x3cd938=_0x4ad0c0,_0x493c9b=Cesium$5['Appearance'][_0x2ac95(0x383,0x383)](_0x5ea544,_0x176d3e,_0x3cd938);return _0x493c9b;},_0x455045=function(_0x2aa95c){const _0x27b138={},_0x30f3cc=Cesium$5['Math']['mod'](_0x2aa95c[_0x190b7e(0x489,0x449)],Cesium$5[_0x5a011a(-0x169,-0x15f)]['TWO_PI']),_0x120876=Cesium$5['Math']['mod'](_0x2aa95c[_0x5a011a(-0x16f,-0x148)],Cesium$5[_0x5a011a(-0x16f,-0x15f)]['TWO_PI']),_0x2ad38e=_0x2aa95c['width'];let _0x3ffae2,_0x27dc0a;_0x2ad38e>Cesium$5['Math'][_0x190b7e(0x456,0x4be)]?(_0x3ffae2=0x0,_0x27dc0a=Cesium$5[_0x190b7e(0x479,0x48e)][_0x190b7e(0x4a6,0x46d)]):_0x120876-_0x30f3cc<_0x2ad38e?(_0x3ffae2=_0x30f3cc,_0x27dc0a=_0x30f3cc+_0x2ad38e):(_0x3ffae2=_0x30f3cc,_0x27dc0a=_0x120876);_0x27b138[_0x5a011a(-0x175,-0x15b)]={'min':Cesium$5[_0x5a011a(-0x15d,-0x15f)]['toDegrees'](_0x3ffae2),'max':Cesium$5[_0x5a011a(-0x162,-0x15f)][_0x190b7e(0x485,0x4cb)](_0x27dc0a)};const _0x2c8769=_0x2aa95c['south'],_0x209bd4=_0x2aa95c['north'],_0x276568=_0x2aa95c[_0x190b7e(0x4ae,0x49e)],_0x360e60=_0x276568>Cesium$5['Math']['PI']/0xc?_0x276568/0x2:0x0;let _0x52d4c6=Cesium$5['Math']['clampToLatitudeRange'](_0x2c8769-_0x360e60),_0x376839=Cesium$5['Math']['clampToLatitudeRange'](_0x209bd4+_0x360e60);_0x52d4c6<-Cesium$5['Math']['PI_OVER_THREE']&&(_0x52d4c6=-Cesium$5[_0x5a011a(-0x17b,-0x15f)]['PI_OVER_TWO']);_0x376839>Cesium$5['Math'][_0x5a011a(-0x1e9,-0x1ab)]&&(_0x376839=Cesium$5['Math']['PI_OVER_TWO']);function _0x5a011a(_0x2d853b,_0xcd0914){return _0x15f1(_0xcd0914- -0x317,_0x2d853b);}_0x27b138[_0x5a011a(-0x151,-0x163)]={'min':Cesium$5['Math'][_0x5a011a(-0xe2,-0x122)](_0x52d4c6),'max':Cesium$5['Math']['toDegrees'](_0x376839)};function _0x190b7e(_0x46a230,_0x2e950a){return _0x15f1(_0x2e950a-0x2d6,_0x46a230);}return _0x27b138;},_0x5bbee4={};_0x5bbee4['getFullscreenQuad']=_0x1b12c6,_0x5bbee4['createTexture']=_0x546d56,_0x5bbee4['createFramebuffer']=_0x5b2ab4;function _0x5c5ca5(_0xfde7c2,_0x15d4e5){return _0x114188(_0x15d4e5,_0xfde7c2- -0x5ad);}_0x5bbee4[_0x37c347(0x1e7,0x1a5)]=_0x5c4773;function _0x37c347(_0x4311dc,_0xdd199f){return _0x939c96(_0x4311dc,_0xdd199f- -0x299);}return _0x5bbee4[_0x37c347(0x20b,0x20f)]=_0x455045,_0x5bbee4;}());var segmentDraw_vert='in\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0ain\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\x0aout\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\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\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=\x20texture(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture(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=\x20texture(postProcessingSpeed,\x20particleIndex).a;\x0a}\x0a',segmentDraw_frag='uniform\x20sampler2D\x20colorTable;\x0a\x0ain\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20texture(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}\x0a',fullscreen_vert='in\x20vec3\x20position;\x0ain\x20vec2\x20st;\x0a\x0aout\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0a}\x0a',trailDraw_frag='uniform\x20sampler2D\x20segmentsColorTexture;\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0a\x0auniform\x20sampler2D\x20currentTrailsColor;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0auniform\x20float\x20fadeOpacity;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture(segmentsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(currentTrailsColor,\x20textureCoordinate);\x0a\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\x0a\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture(segmentsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20pointsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20out_FragColor\x20+\x20trailsColor;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20gl_FragDepth\x20=\x20min(pointsDepth,\x20trailsDepth);\x0a}\x0a',screenDraw_frag=_0x114188(0x388,0x3da);const Cesium$4=mars3d__namespace[_0x939c96(0x465,0x4f9)];class ParticlesRendering{constructor(_0xff37a4,_0x1e7984,_0x3e10ac,_0x445847,_0x2d75bb){this[_0x55858b(0x158,0xfa)](_0xff37a4,_0x1e7984,_0x3e10ac['colors']);function _0x4807a2(_0x10d08d,_0x5b76c7){return _0x114188(_0x5b76c7,_0x10d08d- -0x9a);}function _0x55858b(_0x21cc0d,_0x14e627){return _0x939c96(_0x14e627,_0x21cc0d- -0x371);}this['createRenderingFramebuffers'](_0xff37a4),this[_0x4807a2(0x3d6,0x406)](_0xff37a4,_0x3e10ac,_0x445847,_0x2d75bb);}[_0x114188(0x45e,0x417)](_0x22e792,_0x2e9986,_0x3bf268){function _0x2f5a53(_0x3bb107,_0xb393c1){return _0x114188(_0xb393c1,_0x3bb107- -0x48d);}const _0x432d16={};_0x432d16['context']=_0x22e792,_0x432d16['width']=_0x22e792['drawingBufferWidth'],_0x432d16[_0x51528c(-0x1ce,-0x216)]=_0x22e792['drawingBufferHeight'],_0x432d16['pixelFormat']=Cesium$4[_0x2f5a53(-0x20,-0x81)]['RGBA'],_0x432d16['pixelDatatype']=Cesium$4['PixelDatatype']['UNSIGNED_BYTE'];const _0x1e27e4=_0x432d16,_0x45def7={};_0x45def7['context']=_0x22e792,_0x45def7[_0x2f5a53(-0x8d,-0x8a)]=_0x22e792['drawingBufferWidth'],_0x45def7['height']=_0x22e792[_0x2f5a53(-0xb5,-0x3f)],_0x45def7[_0x51528c(-0x22b,-0x266)]=Cesium$4[_0x2f5a53(-0x20,-0x48)]['DEPTH_COMPONENT'],_0x45def7[_0x51528c(-0x17e,-0x1bf)]=Cesium$4['PixelDatatype'][_0x51528c(-0x222,-0x25d)];function _0x51528c(_0x23fc87,_0x138c23){return _0x114188(_0x138c23,_0x23fc87- -0x60d);}const _0x300dce=_0x45def7,_0x4685ec=_0x3bf268['length'],_0x466cb8=new Float32Array(_0x4685ec*0x3);for(let _0x4c1ed7=0x0;_0x4c1ed7<_0x4685ec;_0x4c1ed7++){const _0x1e4baf=Cesium$4['Color']['fromCssColorString'](_0x3bf268[_0x4c1ed7]);_0x466cb8[0x3*_0x4c1ed7]=_0x1e4baf['red'],_0x466cb8[0x3*_0x4c1ed7+0x1]=_0x1e4baf['green'],_0x466cb8[0x3*_0x4c1ed7+0x2]=_0x1e4baf['blue'];}const _0x13f22f={'context':_0x22e792,'width':_0x4685ec,'height':0x1,'pixelFormat':Cesium$4['PixelFormat']['RGB'],'pixelDatatype':Cesium$4['PixelDatatype']['FLOAT'],'sampler':new Cesium$4['Sampler']({'minificationFilter':Cesium$4[_0x2f5a53(-0x77,-0x27)][_0x2f5a53(-0x103,-0x18b)],'magnificationFilter':Cesium$4['TextureMagnificationFilter'][_0x2f5a53(-0x103,-0x181)]})};this['textures']={'segmentsColor':Util[_0x51528c(-0x263,-0x297)](_0x1e27e4),'segmentsDepth':Util[_0x2f5a53(-0xe3,-0x107)](_0x300dce),'currentTrailsColor':Util['createTexture'](_0x1e27e4),'currentTrailsDepth':Util['createTexture'](_0x300dce),'nextTrailsColor':Util[_0x51528c(-0x263,-0x277)](_0x1e27e4),'nextTrailsDepth':Util[_0x51528c(-0x263,-0x299)](_0x300dce),'colorTable':Util['createTexture'](_0x13f22f,_0x466cb8)};}[_0x939c96(0x51d,0x531)](_0x2dbc98){function _0x5c37d2(_0x1bc5f1,_0x101a6f){return _0x114188(_0x1bc5f1,_0x101a6f-0x5f);}function _0x746ad4(_0x598cf0,_0x36660c){return _0x114188(_0x36660c,_0x598cf0- -0x3d0);}this['framebuffers']={'segments':Util['createFramebuffer'](_0x2dbc98,this['textures'][_0x746ad4(0x5e,0xa0)],this['textures']['segmentsDepth']),'currentTrails':Util[_0x5c37d2(0x551,0x4df)](_0x2dbc98,this['textures']['currentTrailsColor'],this['textures'][_0x5c37d2(0x470,0x422)]),'nextTrails':Util['createFramebuffer'](_0x2dbc98,this[_0x746ad4(0x52,0x87)][_0x746ad4(0xb4,0xa9)],this[_0x5c37d2(0x45d,0x481)][_0x5c37d2(0x462,0x458)])};}['createSegmentsGeometry'](_0x1bc209){const _0x1cc634=0x4;let _0x32f28e=[];for(let _0x2e2f96=0x0;_0x2e2f96<_0x1bc209['particlesTextureSize'];_0x2e2f96++){for(let _0x358318=0x0;_0x358318<_0x1bc209['particlesTextureSize'];_0x358318++){for(let _0x46e488=0x0;_0x46e488<_0x1cc634;_0x46e488++){_0x32f28e[_0x144e17(0x92,0x104)](_0x2e2f96/_0x1bc209['particlesTextureSize']),_0x32f28e[_0x144e17(0x7c,0x104)](_0x358318/_0x1bc209[_0x144e17(0x76,0xe3)]);}}}_0x32f28e=new Float32Array(_0x32f28e);let _0x50a050=[];const _0x3f4e43=[-0x1,0x1];function _0x54f99e(_0x30e020,_0x2e1617){return _0x939c96(_0x30e020,_0x2e1617- -0x2d4);}const _0x55b6a0=[-0x1,0x1];function _0x144e17(_0x2c7393,_0x10b4d3){return _0x939c96(_0x2c7393,_0x10b4d3- -0x3df);}for(let _0x39c913=0x0;_0x39c913<_0x1bc209[_0x144e17(0x1d1,0x154)];_0x39c913++){for(let _0x507818=0x0;_0x507818<_0x1cc634/0x2;_0x507818++){for(let _0x5d78db=0x0;_0x5d78db<_0x1cc634/0x2;_0x5d78db++){_0x50a050['push'](_0x3f4e43[_0x507818]),_0x50a050['push'](_0x55b6a0[_0x5d78db]),_0x50a050['push'](0x0);}}}_0x50a050=new Float32Array(_0x50a050);const _0x1d160d=0x6*_0x1bc209[_0x144e17(0x10c,0x154)],_0x2b3a75=new Uint32Array(_0x1d160d);for(let _0x1c2f40=0x0,_0x5ddf59=0x0,_0x3cf80e=0x0;_0x1c2f40<_0x1bc209['maxParticles'];_0x1c2f40++){_0x2b3a75[_0x5ddf59++]=_0x3cf80e+0x0,_0x2b3a75[_0x5ddf59++]=_0x3cf80e+0x1,_0x2b3a75[_0x5ddf59++]=_0x3cf80e+0x2,_0x2b3a75[_0x5ddf59++]=_0x3cf80e+0x2,_0x2b3a75[_0x5ddf59++]=_0x3cf80e+0x1,_0x2b3a75[_0x5ddf59++]=_0x3cf80e+0x3,_0x3cf80e+=0x4;}const _0x542470=new Cesium$4['Geometry']({'attributes':new Cesium$4['GeometryAttributes']({'st':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4[_0x54f99e(0x1de,0x18f)][_0x54f99e(0x2cd,0x26f)],'componentsPerAttribute':0x2,'values':_0x32f28e}),'normal':new Cesium$4[(_0x54f99e(0x1c2,0x24f))]({'componentDatatype':Cesium$4['ComponentDatatype'][_0x54f99e(0x1f4,0x26f)],'componentsPerAttribute':0x3,'values':_0x50a050})}),'indices':_0x2b3a75});return _0x542470;}['createRenderingPrimitives'](_0x48d5f2,_0x309237,_0x3ca680,_0x15a350){const _0x1594b5=this,_0xc32e04={};_0xc32e04['st']=0x0,_0xc32e04[_0x3f0baa(-0x1e8,-0x227)]=0x1;const _0xd5ab57={};function _0x5c0280(_0x6ab637,_0x4696c2){return _0x939c96(_0x4696c2,_0x6ab637-0x4b);}_0xd5ab57['sources']=[segmentDraw_vert];const _0x4714e3={};_0x4714e3[_0x3f0baa(-0x15d,-0x16d)]=[segmentDraw_frag];const _0xec77c0={};_0xec77c0['enabled']=!![];const _0x2078d0={};_0x2078d0['viewport']=undefined,_0x2078d0['depthTest']=_0xec77c0,_0x2078d0[_0x5c0280(0x572,0x522)]=!![];const _0x17e1a2={};_0x17e1a2['position']=0x0;function _0x3f0baa(_0x2da206,_0x3da32f){return _0x939c96(_0x3da32f,_0x2da206- -0x692);}_0x17e1a2['st']=0x1;const _0x5e1404={};_0x5e1404[_0x3f0baa(-0x1a0,-0x1a8)]=[_0x3f0baa(-0x212,-0x188)],_0x5e1404[_0x3f0baa(-0x15d,-0x186)]=[fullscreen_vert];const _0x100da9={};_0x100da9['defines']=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x100da9[_0x5c0280(0x580,0x566)]=[trailDraw_frag];const _0x36d550={};_0x36d550[_0x5c0280(0x4e3,0x50c)]=0x0,_0x36d550['st']=0x1;const _0x28a88a={};_0x28a88a['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x28a88a[_0x3f0baa(-0x15d,-0x106)]=[fullscreen_vert];const _0x18617e={};_0x18617e[_0x3f0baa(-0x1a0,-0x177)]=[_0x5c0280(0x503,0x571)],_0x18617e['sources']=[screenDraw_frag];const _0x1519aa={};_0x1519aa[_0x3f0baa(-0x167,-0x11d)]=![];const _0x12ce69={};_0x12ce69['enabled']=!![],this['primitives']={'segments':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0xc32e04,'geometry':this['createSegmentsGeometry'](_0x309237),'primitiveType':Cesium$4[_0x5c0280(0x4a9,0x4c5)][_0x3f0baa(-0x227,-0x22b)],'uniformMap':{'currentParticlesPosition':function(){function _0x3b4bb1(_0x2da83d,_0x4c5c8b){return _0x3f0baa(_0x4c5c8b-0x27c,_0x2da83d);}return _0x15a350[_0x3b4bb1(0x165,0x100)]['currentParticlesPosition'];},'postProcessingPosition':function(){function _0x2d7079(_0x3303be,_0x2a3742){return _0x3f0baa(_0x2a3742-0x6b8,_0x3303be);}function _0x403312(_0x2ec36e,_0x1720b7){return _0x5c0280(_0x1720b7-0x4e,_0x2ec36e);}return _0x15a350[_0x2d7079(0x4e0,0x53c)][_0x2d7079(0x509,0x4c6)];},'postProcessingSpeed':function(){return _0x15a350['particlesTextures']['postProcessingSpeed'];},'colorTable':function(){function _0x18d985(_0x1fccce,_0x491deb){return _0x3f0baa(_0x491deb-0x570,_0x1fccce);}return _0x1594b5[_0x18d985(0x3fc,0x3b2)]['colorTable'];},'aspect':function(){return _0x48d5f2['drawingBufferWidth']/_0x48d5f2['drawingBufferHeight'];},'pixelSize':function(){function _0xb2c034(_0x4377b3,_0x37d039){return _0x3f0baa(_0x37d039-0x3e8,_0x4377b3);}return _0x3ca680[_0xb2c034(0x21c,0x1c2)];},'lineWidth':function(){function _0x4af817(_0x453622,_0x183267){return _0x5c0280(_0x183267- -0x1ab,_0x453622);}return _0x309237[_0x4af817(0x3a9,0x39f)];},'particleHeight':function(){return _0x309237['particleHeight'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0xd5ab57),'fragmentShaderSource':new Cesium$4[(_0x3f0baa(-0x1fb,-0x288))](_0x4714e3),'rawRenderState':Util['createRawRenderState'](_0x2078d0),'framebuffer':this[_0x3f0baa(-0x245,-0x2a2)][_0x3f0baa(-0x18d,-0x1c8)],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x17e1a2,'geometry':Util[_0x3f0baa(-0x260,-0x225)](),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){return _0x1594b5['textures']['segmentsColor'];},'segmentsDepthTexture':function(){return _0x1594b5['textures']['segmentsDepth'];},'currentTrailsColor':function(){return _0x1594b5['framebuffers']['currentTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0x3a8d96(_0x4fecd8,_0x5aca83){return _0x5c0280(_0x4fecd8- -0x3f9,_0x5aca83);}return _0x1594b5['framebuffers'][_0x3a8d96(0x12c,0x15a)]['depthTexture'];},'fadeOpacity':function(){return _0x309237['fadeOpacity'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x5e1404),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x100da9),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction']['ALWAYS']},'depthMask':!![]}),'framebuffer':this[_0x3f0baa(-0x245,-0x2a6)]['nextTrails'],'autoClear':!![],'preExecute':function(){const _0x39ef12=_0x1594b5[_0x495c79(-0x6c,-0x8f)]['currentTrails'];_0x1594b5[_0x1d01bc(0x41c,0x42a)]['currentTrails']=_0x1594b5[_0x495c79(-0xdf,-0x8f)]['nextTrails'],_0x1594b5[_0x495c79(-0x5e,-0x8f)]['nextTrails']=_0x39ef12;function _0x1d01bc(_0x2c67a1,_0x2b8a19){return _0x5c0280(_0x2b8a19- -0x6e,_0x2c67a1);}_0x1594b5['primitives']['trails'][_0x1d01bc(0x4b7,0x456)][_0x1d01bc(0x471,0x4bc)]=_0x1594b5['framebuffers']['nextTrails'];function _0x495c79(_0x5eeb31,_0x4487b2){return _0x3f0baa(_0x4487b2-0x1b6,_0x5eeb31);}_0x1594b5[_0x495c79(-0x74,-0x2b)][_0x495c79(-0xec,-0x6c)]['clearCommand'][_0x1d01bc(0x483,0x4bc)]=_0x1594b5['framebuffers']['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':_0x5c0280(0x577,0x5f8),'attributeLocations':_0x36d550,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){return _0x1594b5['framebuffers']['nextTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){return _0x1594b5['framebuffers']['nextTrails']['depthTexture'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x28a88a),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x18617e),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':_0x1519aa,'depthMask':!![],'blending':_0x12ce69}),'framebuffer':undefined})};}}var getWind_frag=_0x939c96(0x598,0x544),updateSpeed_frag='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\x0ain\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\x20//\x20vec3\x20currentSpeed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20out_FragColor\x20=\x20nextSpeed;\x0a}\x0a',updatePosition_frag='uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0ain\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\x20out_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=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}\x0a',postProcessingPosition_frag='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\x0ain\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=\x20texture(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture(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\x20out_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\x20out_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}\x0a',postProcessingSpeed_frag=_0x114188(0x426,0x439);const Cesium$3=mars3d__namespace['Cesium'];class ParticlesComputing{constructor(_0x55d27c,_0x1abf04,_0x3e103f,_0x5712d6){this['data']=_0x1abf04,this[_0x463b22(0x363,0x39a)](_0x55d27c,_0x1abf04),this['createParticlesTextures'](_0x55d27c,_0x3e103f,_0x5712d6);function _0x463b22(_0x124576,_0x28da3d){return _0x939c96(_0x124576,_0x28da3d- -0xb1);}this['createComputingPrimitives'](_0x1abf04,_0x3e103f,_0x5712d6);}[_0x939c96(0x3df,0x44b)](_0x15e912,_0x211e68){function _0x1808dc(_0x2848b2,_0x2c89af){return _0x939c96(_0x2c89af,_0x2848b2- -0x338);}function _0x246c27(_0x310a84,_0x5116e0){return _0x939c96(_0x310a84,_0x5116e0- -0x679);}const _0x208b1e={'context':_0x15e912,'width':_0x211e68['dimensions']['lon'],'height':_0x211e68[_0x246c27(-0x1b6,-0x184)][_0x246c27(-0x14c,-0x19c)]*(_0x211e68['dimensions']['lev']||0x1),'pixelFormat':Cesium$3[_0x1808dc(0x1e7,0x23d)][_0x1808dc(0x1f1,0x1ae)],'pixelDatatype':Cesium$3['PixelDatatype'][_0x1808dc(0x20b,0x29b)],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter'][_0x246c27(-0x20d,-0x1ae)]})};this[_0x246c27(-0xda,-0x15e)]={'U':Util['createTexture'](_0x208b1e,_0x211e68['U']['array']),'V':Util['createTexture'](_0x208b1e,_0x211e68['V']['array'])};}['createParticlesTextures'](_0x2e0cef,_0x45df34,_0x54f801){function _0x2474ec(_0x3f2b92,_0x4d124b){return _0x939c96(_0x3f2b92,_0x4d124b- -0x4b7);}const _0x4b21e8={'context':_0x2e0cef,'width':_0x45df34[_0x2ea377(0x0,0x37)],'height':_0x45df34['particlesTextureSize'],'pixelFormat':Cesium$3[_0x2474ec(0x6f,0x68)]['RGBA'],'pixelDatatype':Cesium$3['PixelDatatype']['FLOAT'],'flipY':![],'sampler':new Cesium$3[(_0x2474ec(-0x5b,-0x1d))]({'minificationFilter':Cesium$3['TextureMinificationFilter'][_0x2ea377(0xb1,0x40)],'magnificationFilter':Cesium$3[_0x2474ec(0xd8,0x61)]['NEAREST']})};function _0x2ea377(_0x5dcbb9,_0x2a5635){return _0x114188(_0x5dcbb9,_0x2a5635- -0x3d9);}const _0x34f961=this['randomizeParticles'](_0x45df34['maxParticles'],_0x54f801),_0x457467=new Float32Array(0x4*_0x45df34['maxParticles'])['fill'](0x0);this[_0x2474ec(0xb8,0x5f)]={'particlesWind':Util['createTexture'](_0x4b21e8),'currentParticlesPosition':Util[_0x2ea377(0xb,-0x2f)](_0x4b21e8,_0x34f961),'nextParticlesPosition':Util[_0x2474ec(-0x42,-0x5b)](_0x4b21e8,_0x34f961),'currentParticlesSpeed':Util['createTexture'](_0x4b21e8,_0x457467),'nextParticlesSpeed':Util[_0x2ea377(0x3b,-0x2f)](_0x4b21e8,_0x457467),'postProcessingPosition':Util['createTexture'](_0x4b21e8,_0x34f961),'postProcessingSpeed':Util[_0x2474ec(-0x2a,-0x5b)](_0x4b21e8,_0x457467)};}['randomizeParticles'](_0x3d65c2,_0x3799a5){function _0x1dfa6c(_0x1fb9cb,_0x585e1a){return _0x939c96(_0x1fb9cb,_0x585e1a- -0x6a);}const _0x4308ea=new Float32Array(0x4*_0x3d65c2);function _0x264058(_0x5ccbf8,_0x52d8ab){return _0x114188(_0x52d8ab,_0x5ccbf8- -0x61e);}for(let _0x4f8114=0x0;_0x4f8114<_0x3d65c2;_0x4f8114++){_0x4308ea[0x4*_0x4f8114]=Cesium$3['Math'][_0x264058(-0x24d,-0x1e3)](_0x3799a5[_0x264058(-0x209,-0x192)]['x'],_0x3799a5['lonRange']['y']),_0x4308ea[0x4*_0x4f8114+0x1]=Cesium$3['Math']['randomBetween'](_0x3799a5['latRange']['x'],_0x3799a5[_0x264058(-0x1d5,-0x21f)]['y']),_0x4308ea[0x4*_0x4f8114+0x2]=Cesium$3['Math']['randomBetween'](this['data'][_0x1dfa6c(0x4c1,0x43f)]['min'],this['data']['lev']['max']),_0x4308ea[0x4*_0x4f8114+0x3]=0x0;}return _0x4308ea;}['destroyParticlesTextures'](){function _0x44203f(_0x2b4792,_0x2e3ad8){return _0x939c96(_0x2b4792,_0x2e3ad8- -0x3ad);}function _0x405a9d(_0x5288c2,_0x2e13b2){return _0x114188(_0x5288c2,_0x2e13b2-0x46);}Object[_0x405a9d(0x4d8,0x469)](this[_0x405a9d(0x4cb,0x4aa)])[_0x405a9d(0x4a5,0x437)](_0x385ca2=>{function _0x4f4dd5(_0x2a88de,_0x3e676e){return _0x405a9d(_0x2a88de,_0x3e676e- -0x178);}this['particlesTextures'][_0x385ca2][_0x4f4dd5(0x2f5,0x302)]();});}['createComputingPrimitives'](_0x3b2894,_0x3f6974,_0x3af46d){const _0x298b8e=new Cesium$3['Cartesian3'](_0x3b2894['dimensions']['lon'],_0x3b2894[_0x564a4c(0x334,0x2b1)]['lat'],_0x3b2894['dimensions']['lev']),_0x33bf68=new Cesium$3['Cartesian3'](_0x3b2894['lon']['min'],_0x3b2894[_0x564a4c(0x31c,0x29d)][_0x564a4c(0x2a6,0x226)],_0x3b2894['lev'][_0x564a4c(0x2a6,0x237)]),_0x463aa7=new Cesium$3[(_0x325f4a(0x395,0x320))](_0x3b2894['lon']['max'],_0x3b2894['lat']['max'],_0x3b2894['lev']['max']),_0x22a410=new Cesium$3['Cartesian3']((_0x463aa7['x']-_0x33bf68['x'])/(_0x298b8e['x']-0x1),(_0x463aa7['y']-_0x33bf68['y'])/(_0x298b8e['y']-0x1),_0x298b8e['z']>0x1?(_0x463aa7['z']-_0x33bf68['z'])/(_0x298b8e['z']-0x1):0x1),_0x3ef5f6=new Cesium$3['Cartesian2'](_0x3b2894['U'][_0x564a4c(0x2a6,0x29d)],_0x3b2894['U']['max']),_0xe0a99d=new Cesium$3['Cartesian2'](_0x3b2894['V']['min'],_0x3b2894['V'][_0x564a4c(0x342,0x3b4)]),_0x2fc220=this,_0xc555={};_0xc555['U']=function(){return _0x2fc220['windTextures']['U'];},_0xc555['V']=function(){return _0x2fc220['windTextures']['V'];},_0xc555[_0x325f4a(0x470,0x46d)]=function(){return _0x2fc220['particlesTextures']['currentParticlesPosition'];},_0xc555[_0x325f4a(0x41e,0x466)]=function(){return _0x298b8e;},_0xc555[_0x564a4c(0x2f2,0x302)]=function(){return _0x33bf68;},_0xc555[_0x325f4a(0x370,0x3df)]=function(){return _0x463aa7;},_0xc555['interval']=function(){return _0x22a410;};const _0x47b7b9={};_0x47b7b9['sources']=[getWind_frag];const _0x239ae1={};_0x239ae1['sources']=[updateSpeed_frag];const _0x4a6c6a={};_0x4a6c6a['sources']=[updatePosition_frag];function _0x325f4a(_0x76c007,_0x4510db){return _0x114188(_0x4510db,_0x76c007- -0xb);}const _0x4712e4={};_0x4712e4[_0x564a4c(0x374,0x3da)]=[postProcessingPosition_frag];const _0x3931bb={};_0x3931bb[_0x325f4a(0x478,0x409)]=[postProcessingSpeed_frag];function _0x564a4c(_0x52c049,_0x17775f){return _0x114188(_0x17775f,_0x52c049- -0x10f);}this['primitives']={'getWind':new CustomPrimitive({'commandType':_0x325f4a(0x42f,0x466),'uniformMap':_0xc555,'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x47b7b9),'outputTexture':this['particlesTextures']['particlesWind'],'preExecute':function(){function _0x2eff2c(_0x353daf,_0x554325){return _0x325f4a(_0x353daf- -0x504,_0x554325);}function _0x40b2a2(_0x5312d4,_0xd36e4a){return _0x564a4c(_0x5312d4-0x213,_0xd36e4a);}_0x2fc220['primitives']['getWind'][_0x40b2a2(0x4cb,0x4ae)][_0x2eff2c(-0x13a,-0x12b)]=_0x2fc220['particlesTextures'][_0x40b2a2(0x4e8,0x4e0)];}}),'updateSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesSpeed':function(){return _0x2fc220['particlesTextures']['currentParticlesSpeed'];},'particlesWind':function(){function _0x4b9dda(_0x3640ed,_0x41eddb){return _0x564a4c(_0x41eddb- -0x395,_0x3640ed);}return _0x2fc220[_0x4b9dda(-0x96,-0x40)]['particlesWind'];},'uSpeedRange':function(){return _0x3ef5f6;},'vSpeedRange':function(){return _0xe0a99d;},'pixelSize':function(){function _0x494862(_0x235cc9,_0xaa0c61){return _0x564a4c(_0x235cc9- -0xb0,_0xaa0c61);}return _0x3af46d[_0x494862(0x1fb,0x220)];},'speedFactor':function(){return _0x3f6974['speedFactor'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x239ae1),'outputTexture':this[_0x564a4c(0x355,0x357)][_0x564a4c(0x298,0x223)],'preExecute':function(){function _0x2ac64e(_0x2f3277,_0xc2fbe4){return _0x564a4c(_0x2f3277- -0x3b1,_0xc2fbe4);}const _0x1c74f9=_0x2fc220[_0x2ac64e(-0x5c,-0xd8)]['currentParticlesSpeed'];_0x2fc220[_0x295d6e(0x47a,0x3f8)][_0x295d6e(0x405,0x3a7)]=_0x2fc220['particlesTextures'][_0x295d6e(0x41c,0x3f7)];function _0x295d6e(_0x256134,_0xc8de3b){return _0x325f4a(_0xc8de3b- -0x61,_0x256134);}_0x2fc220[_0x2ac64e(-0x5c,-0xaa)]['postProcessingSpeed']=_0x1c74f9,_0x2fc220['primitives'][_0x295d6e(0x41b,0x3fb)]['commandToExecute']['outputTexture']=_0x2fc220['particlesTextures']['nextParticlesSpeed'];}}),'updatePosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){return _0x2fc220['particlesTextures']['currentParticlesPosition'];},'currentParticlesSpeed':function(){function _0x5770f6(_0x4a3316,_0x505634){return _0x325f4a(_0x4a3316- -0x353,_0x505634);}return _0x2fc220[_0x5770f6(0x106,0x142)]['currentParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x4a6c6a),'outputTexture':this['particlesTextures']['nextParticlesPosition'],'preExecute':function(){function _0x26f676(_0x47fa95,_0x1510d6){return _0x325f4a(_0x1510d6- -0x36e,_0x47fa95);}function _0x2425e7(_0x206a32,_0x1d1de2){return _0x325f4a(_0x206a32-0xea,_0x1d1de2);}const _0x22207a=_0x2fc220['particlesTextures']['currentParticlesPosition'];_0x2fc220['particlesTextures']['currentParticlesPosition']=_0x2fc220[_0x26f676(0x177,0xeb)][_0x26f676(0x16,0x75)],_0x2fc220['particlesTextures'][_0x2425e7(0x4cd,0x54b)]=_0x22207a,_0x2fc220['primitives']['updatePosition'][_0x26f676(-0x22,0x4e)]['outputTexture']=_0x2fc220[_0x26f676(0x88,0xeb)]['nextParticlesPosition'];}}),'postProcessingPosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){function _0x4be58c(_0x5910bb,_0x4608f2){return _0x564a4c(_0x5910bb- -0xc9,_0x4608f2);}return _0x2fc220['particlesTextures'][_0x4be58c(0x285,0x225)];},'nextParticlesSpeed':function(){return _0x2fc220['particlesTextures']['nextParticlesSpeed'];},'lonRange':function(){function _0x3f6b89(_0x38a7f3,_0xb2db82){return _0x564a4c(_0x38a7f3- -0x193,_0xb2db82);}return _0x3af46d[_0x3f6b89(0x173,0x166)];},'latRange':function(){return _0x3af46d['latRange'];},'randomCoefficient':function(){const _0x340c45=Math[_0x2b2b32(0x13d,0x165)]();function _0x2b2b32(_0x4dd62e,_0x172713){return _0x325f4a(_0x172713- -0x285,_0x4dd62e);}return _0x340c45;},'dropRate':function(){return _0x3f6974['dropRate'];},'dropRateBump':function(){return _0x3f6974['dropRateBump'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x4712e4),'outputTexture':this['particlesTextures'][_0x325f4a(0x3e3,0x385)],'preExecute':function(){function _0x5577f1(_0x2ea5f4,_0x59807c){return _0x564a4c(_0x2ea5f4-0x88,_0x59807c);}function _0x52c96c(_0x22c970,_0x2a09d2){return _0x325f4a(_0x2a09d2- -0x180,_0x22c970);}_0x2fc220['primitives']['postProcessingPosition'][_0x5577f1(0x340,0x2e3)][_0x52c96c(0x1c8,0x24a)]=_0x2fc220[_0x52c96c(0x2e2,0x2d9)][_0x52c96c(0x1f3,0x263)];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':_0x564a4c(0x32b,0x2db),'uniformMap':{'postProcessingPosition':function(){function _0x3b1ef0(_0x462db4,_0x44ea2f){return _0x564a4c(_0x44ea2f- -0x2,_0x462db4);}return _0x2fc220[_0x3b1ef0(0x359,0x353)]['postProcessingPosition'];},'nextParticlesSpeed':function(){function _0x5f46b7(_0x32022a,_0x49261f){return _0x564a4c(_0x49261f- -0x19a,_0x32022a);}function _0x1504af(_0x553c9e,_0x43f0af){return _0x564a4c(_0x553c9e- -0x4ef,_0x43f0af);}return _0x2fc220[_0x5f46b7(0x152,0x1bb)][_0x5f46b7(0x142,0xfe)];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x3931bb),'outputTexture':this['particlesTextures'][_0x325f4a(0x458,0x460)],'preExecute':function(){function _0x2c5bdc(_0x55f0ba,_0x20619e){return _0x325f4a(_0x55f0ba- -0x5d5,_0x20619e);}_0x2fc220['primitives']['postProcessingSpeed'][_0x2c5bdc(-0x219,-0x2a1)]['outputTexture']=_0x2fc220['particlesTextures']['postProcessingSpeed'];}})};}}function _0x4292(){const _0x5db337=['xmax','clientWidth','EventType','fromGeometry','data','abs','TWO_PI','_map','particlesTextureSize','commandType','top','currentParticlesSpeed','dropRate','lonRange','TextureMinificationFilter','createRenderingTextures','lng','NEAREST','_tomap','now','visible','mode','SceneMode','cancelAnimationFrame','_removedHook','getExtent','textures','keys','_pointerEvents','createCommand','pointerEvents','ShaderProgram','currentTrails','dimension','ClearCommand','lat','setGeometry','framebuffer','segmentsColor','Math','preExecute','push','get','lon','destroy','STATIC_DRAW','uniformMap','_bilinearInterpolation','preRender','uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}\x0a','Compute','getU','_createCanvas','canvasWind','colors','height','defines','depthTexture','viewport','dimensions','log','rows','east','Cesium','WindLayer','latRange','age','534176ImLVOy','onmessage','lineWidth','visibility','vertexArray','mouse_move','max','style','segments','lineTo','732459uRcHnm','particlesComputing','xmin','CanvasWindField','rawRenderState','unbindEvent','tlng','canvasHeight','nextParticlesPosition','_updateIng2','THREE_PI_OVER_TWO','BufferUsage','_updateIng','reverseY','postProcessingSpeed','particlesTextures','IDENTITY','TextureMagnificationFilter','updateSpeed','camera','windTextures','725554RmzXGY','getUVByXY','toDegrees','PixelFormat','round','LayerUtil','createRenderingPrimitives','GeometryAttribute','pointer-events','destroyParticlesTextures','_calcUV','depthMask','viewerParameters','LUMINANCE','hidden','enabled','Draw','currentParticlesPosition','getUVByPoint','vdata','cols','createRenderingFramebuffers','createFramebuffer','maxParticles','fromCache','sources','nextTrailsColor','clientHeight','attributeLocations','layer','fillRect','_canrefresh','zIndex','particleHeight','Pass','defineProperty','dropRateBump','pixelDatatype','depthTest','FLOAT','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\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\x0ain\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=\x20texture(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=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}\x0a','mouseUp','_onMouseMoveEvent','mouse_down','update','canvasResize','ymax','bind','vmin','getWind','globalAlpha','source','pow','windData','clear','223512Eszslz','maxAge','maximum','destination-in','fadeOpacity','particles','getDefaultRenderState','getFullscreenQuad','worker','WindUtil','mouseHidden','Framebuffer','remove','autoClear','none','setOptions','canvasContext','LINEAR','willReadFrequently','createRawRenderState','frameTime','length','clearCommand','_colorRamp','moveTo','frameRate','setData','_onMapWhellEvent','_mountedHook','udata','0px','create','createWindTextures','getOptions','framebuffers','redraw','ComputeCommand','clearFramebuffers','_randomParticle','Cartesian3','BoundingSphere','context','updatePosition','ZERO','SCENE3D','color','nextParticlesSpeed','fromDegrees','container','createTexture','initWorker','PrimitiveType','scene','vertexShaderSource','grid','40igiiBP','ComponentDatatype','mouseMove','shaderProgram','particlesNumber','min','mouseDown','addPrimitives','_data','TRIANGLES','pixelSize','fragmentShaderSource','413GZwoCP','toGridXY','trails','destroyObject','23245VWsBeR','wheel','register','currentTrailsDepth','1311660NjKoMs','animateFrame','stroke','commandToExecute','refreshParticles','BaseLayer','beginPath','particlesRendering','globeBoundingSphere','getParticles','DISABLE_GL_POSITION_LOG_DEPTH','VertexArray','auto','randomBetween','levmax','geometry','tlat','outputTexture','_onMouseUpEvent','_calc_speedRate','drawingBufferHeight','particleSystem','uniform\x20sampler2D\x20trailsColorTexture;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture(trailsColorTexture,\x20textureCoordinate);\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20trailsColor;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x0a}\x0a','OPAQUE','RenderState','speedRate','PrimitiveCollection','refreshTimer','bindEvent','_onMap_preRenderEvent','pixelFormat','PI_OVER_THREE','particlesWind','ShaderSource','position','setDate','Sampler','show','west','UNSIGNED_INT','windField','off','postProcessingPosition','fixedHeight','array','forEach','ymin','__proto__','11192fEYuPH','random','viewRectangleToLonLatRange','lev','normal','nextTrailsDepth','options','left','Texture','type','canvas','primitives','width','minimum','resize','postMessage','_addedHook','add','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','GeometryAttributes'];_0x4292=function(){return _0x5db337;};return _0x4292();}const Cesium$2=mars3d__namespace['Cesium'];class ParticleSystem{constructor(_0x58d800,_0x2ceec7,_0x451fa0,_0x59493d){function _0x525703(_0x244310,_0x4d9d45){return _0x939c96(_0x244310,_0x4d9d45- -0x478);}this['context']=_0x58d800,_0x2ceec7={..._0x2ceec7};_0x2ceec7[_0x525703(0x3a,-0x30)]&&_0x2ceec7[_0x525703(0x10b,0xb7)]&&(_0x2ceec7[_0x525703(0xef,0x7d)]={},_0x2ceec7[_0x525703(0x10b,0x7d)]['lon']=_0x2ceec7[_0x4b3f58(-0x11c,-0xd4)],_0x2ceec7[_0x525703(0x9,0x7d)]['lat']=_0x2ceec7['rows'],_0x2ceec7[_0x4b3f58(-0x182,-0x10f)]['lev']=_0x2ceec7[_0x525703(0x48,0x31)]||0x1,_0x2ceec7['lon']={},_0x2ceec7['lon']['min']=_0x2ceec7['xmin'],_0x2ceec7['lon'][_0x525703(0x8e,0x8b)]=_0x2ceec7[_0x525703(0xbe,0x42)],_0x2ceec7['lat']={},_0x2ceec7['lat']['min']=_0x2ceec7['ymin'],_0x2ceec7['lat']['max']=_0x2ceec7['ymax'],_0x2ceec7[_0x4b3f58(-0x1e2,-0x15b)]={},_0x2ceec7['lev'][_0x4b3f58(-0x1f7,-0x19d)]=_0x2ceec7['levmin']??0x1,_0x2ceec7['lev']['max']=_0x2ceec7[_0x4b3f58(-0x139,-0x180)]??0x1,_0x2ceec7['U']={},_0x2ceec7['U']['array']=new Float32Array(_0x2ceec7['udata']),_0x2ceec7['U'][_0x525703(0x80,-0x11)]=_0x2ceec7['umin']??Math['min'](..._0x2ceec7['udata']),_0x2ceec7['U']['max']=_0x2ceec7['umax']??Math['max'](..._0x2ceec7[_0x4b3f58(-0x236,-0x1bc)]),_0x2ceec7['V']={},_0x2ceec7['V'][_0x4b3f58(-0x161,-0x162)]=new Float32Array(_0x2ceec7[_0x525703(0x5f,0xb7)]),_0x2ceec7['V']['min']=_0x2ceec7[_0x525703(-0xc0,-0x54)]??Math['min'](..._0x2ceec7['vdata']),_0x2ceec7['V']['max']=_0x2ceec7['vmax']??Math['max'](..._0x2ceec7['vdata']));this['data']=_0x2ceec7,this['options']=_0x451fa0,this['viewerParameters']=_0x59493d;function _0x4b3f58(_0x5f4366,_0x337828){return _0x939c96(_0x5f4366,_0x337828- -0x604);}this['particlesComputing']=new ParticlesComputing(this['context'],this['data'],this[_0x525703(0xc,0x34)],this[_0x4b3f58(-0x169,-0xdc)]),this[_0x525703(-0x69,0x5)]=new ParticlesRendering(this['context'],this[_0x4b3f58(-0x146,-0x146)],this['options'],this['viewerParameters'],this[_0x525703(0xd1,0x90)]);}['canvasResize'](_0x3b305a){this['particlesComputing']['destroyParticlesTextures']();function _0x182495(_0x23ab7b,_0xde199b){return _0x939c96(_0xde199b,_0x23ab7b- -0x214);}Object['keys'](this['particlesComputing'][_0x182495(0x307,0x28d)])[_0x182495(0x28f,0x28e)](_0x53453c=>{function _0x3e6eef(_0x1a0c00,_0x3b0f21){return _0x112389(_0x3b0f21,_0x1a0c00- -0x679);}this[_0x3e6eef(-0x145,-0x1bc)]['windTextures'][_0x53453c]['destroy']();}),this[_0x182495(0x269,0x208)][_0x182495(0x2c0,0x2b0)]['colorTable'][_0x182495(0x2d2,0x2b6)](),Object[_0x182495(0x2c1,0x2e3)](this[_0x112389(0x4f5,0x4a9)][_0x182495(0x239,0x213)])[_0x182495(0x28f,0x2ef)](_0x4a2a0b=>{function _0x1c6743(_0x2e09c3,_0x1182ba){return _0x182495(_0x2e09c3-0x2aa,_0x1182ba);}this['particlesRendering'][_0x1c6743(0x4e3,0x47f)][_0x4a2a0b]['destroy']();}),this[_0x112389(0x43a,0x480)]=_0x3b305a,this['particlesComputing']=new ParticlesComputing(this[_0x112389(0x4bd,0x480)],this[_0x182495(0x2aa,0x2f6)],this[_0x112389(0x4cc,0x4d8)],this[_0x112389(0x574,0x554)]);function _0x112389(_0x10cbb6,_0xf31728){return _0x114188(_0x10cbb6,_0xf31728-0xde);}this[_0x112389(0x529,0x4a9)]=new ParticlesRendering(this['context'],this['data'],this[_0x112389(0x563,0x4d8)],this[_0x182495(0x314,0x33d)],this['particlesComputing']);}[_0x939c96(0x4a5,0x450)](){function _0x1e0c4c(_0x4cf8fb,_0x77d37b){return _0x114188(_0x77d37b,_0x4cf8fb- -0x2d1);}const _0x11c89b=new Cesium$2[(_0x326fc3(-0x111,-0xbd))]({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2[_0x326fc3(-0x26,-0x5b)]['OPAQUE']});function _0x326fc3(_0xc9126e,_0x45ae5a){return _0x114188(_0xc9126e,_0x45ae5a- -0x4e7);}Object['keys'](this['particlesRendering']['framebuffers'])['forEach'](_0xd06a14=>{function _0x5c1113(_0xe747f4,_0x166871){return _0x1e0c4c(_0x166871-0x111,_0xe747f4);}_0x11c89b[_0x1bb149(0x43e,0x415)]=this['particlesRendering']['framebuffers'][_0xd06a14];function _0x1bb149(_0x522a98,_0x3df9ef){return _0x1e0c4c(_0x3df9ef-0x2b9,_0x522a98);}_0x11c89b['execute'](this[_0x1bb149(0x3c8,0x38a)]);});}[_0x939c96(0x4c2,0x47a)](_0x33e76c){function _0xc82e24(_0x17818f,_0x3db8d3){return _0x939c96(_0x17818f,_0x3db8d3- -0x5c0);}function _0x4e50b3(_0x14c62f,_0x34880e){return _0x114188(_0x34880e,_0x14c62f- -0x534);}this['clearFramebuffers'](),this[_0x4e50b3(-0xde,-0x12b)][_0xc82e24(-0x13,-0x9b)](),this[_0xc82e24(-0xa7,-0xb8)]['createParticlesTextures'](this['context'],this[_0x4e50b3(-0x13a,-0x116)],this['viewerParameters']);if(_0x33e76c){var _0x25eff0;const _0x34b711=this['particlesRendering']['createSegmentsGeometry'](this['options']);this[_0xc82e24(-0x120,-0x143)][_0xc82e24(-0x1a1,-0x10f)]['segments']['geometry']=_0x34b711;const _0x3b6633=Cesium$2[_0x4e50b3(-0x165,-0x17d)]['fromGeometry']({'context':this[_0xc82e24(-0x1d3,-0x16c)],'geometry':_0x34b711,'attributeLocations':this['particlesRendering'][_0xc82e24(-0x8f,-0x10f)]['segments']['attributeLocations'],'bufferUsage':Cesium$2['BufferUsage']['STATIC_DRAW']});(_0x25eff0=this['particlesRendering']['primitives'])!==null&&_0x25eff0!==void 0x0&&(_0x25eff0=_0x25eff0['segments'])!==null&&_0x25eff0!==void 0x0&&_0x25eff0['commandToExecute']&&(this['particlesRendering'][_0xc82e24(-0x17d,-0x10f)]['segments'][_0xc82e24(-0x1a8,-0x147)]['vertexArray']=_0x3b6633);}}[_0x939c96(0x476,0x43a)](_0x1d68cf){let _0x1b57a5=![];function _0x577e9f(_0x3d1a86,_0x2d7c43){return _0x939c96(_0x2d7c43,_0x3d1a86- -0x387);}this['options'][_0x577e9f(0x1ac,0x12a)]!==_0x1d68cf['maxParticles']&&(_0x1b57a5=!![]),Object['keys'](_0x1d68cf)['forEach'](_0x19c119=>{this['options'][_0x19c119]=_0x1d68cf[_0x19c119];}),this['refreshParticles'](_0x1b57a5);}['applyViewerParameters'](_0x2c2450){function _0xae717f(_0x5d4ba6,_0x2ce0ed){return _0x114188(_0x5d4ba6,_0x2ce0ed- -0x125);}function _0x4fa4a3(_0x21bd2a,_0x459fc3){return _0x939c96(_0x21bd2a,_0x459fc3- -0x708);}Object[_0x4fa4a3(-0x1d7,-0x233)](_0x2c2450)['forEach'](_0x40fbd8=>{this['viewerParameters'][_0x40fbd8]=_0x2c2450[_0x40fbd8];}),this[_0x4fa4a3(-0x30d,-0x28e)](![]);}['destroy'](){clearTimeout(this['canrefresh']),this['particlesComputing']['destroyParticlesTextures']();function _0x3a82f3(_0x348c96,_0x53643a){return _0x939c96(_0x348c96,_0x53643a-0x56);}Object['keys'](this['particlesComputing']['windTextures'])['forEach'](_0x369708=>{function _0x105815(_0x34244b,_0x256ba7){return _0x15f1(_0x256ba7-0x2cd,_0x34244b);}this[_0x105815(0x46b,0x4ac)]['windTextures'][_0x369708]['destroy']();});function _0x101ead(_0x56a6b2,_0x174f4c){return _0x939c96(_0x174f4c,_0x56a6b2- -0x5b4);}this['particlesRendering'][_0x101ead(-0xe0,-0x10d)]['colorTable']['destroy'](),Object['keys'](this[_0x101ead(-0x137,-0x131)][_0x101ead(-0x167,-0x121)])['forEach'](_0x296a09=>{function _0x4f9df0(_0x477a6b,_0x58a6d1){return _0x3a82f3(_0x477a6b,_0x58a6d1- -0x273);}this[_0x4f9df0(0x26e,0x260)]['framebuffers'][_0x296a09]['destroy']();});for(const _0x17c7fe in this){delete this[_0x17c7fe];}}}const Cesium$1=mars3d__namespace[_0x939c96(0x46a,0x4f9)],BaseLayer$1=mars3d__namespace['layer']['BaseLayer'],_0xe2e688={};_0xe2e688['particlesNumber']=0x1000,_0xe2e688[_0x114188(0x475,0x3ef)]=0x0,_0xe2e688[_0x114188(0x407,0x37d)]=0.996,_0xe2e688['dropRate']=0.003,_0xe2e688['dropRateBump']=0.01,_0xe2e688['speedFactor']=0.5,_0xe2e688['lineWidth']=0x2,_0xe2e688['colors']=['rgb(206,255,255)'];const DEF_OPTIONS=_0xe2e688;class WindLayer extends BaseLayer$1{constructor(_0x509f81={}){_0x509f81={...DEF_OPTIONS,..._0x509f81},super(_0x509f81),this['_setOptionsHook'](_0x509f81);}get[_0x114188(0x408,0x487)](){function _0x4f41d8(_0x65cc99,_0x23c8ec){return _0x939c96(_0x23c8ec,_0x65cc99- -0x475);}return this[_0x4f41d8(0x3c,-0x2)];}get[_0x939c96(0x4e1,0x4be)](){return this['_data'];}set['data'](_0x336e66){function _0x1081b6(_0xb9dcdb,_0x1d487a){return _0x939c96(_0x1d487a,_0xb9dcdb-0x86);}this[_0x1081b6(0x4cb,0x4b8)](_0x336e66);}get[_0x939c96(0x540,0x4f0)](){function _0x1df98e(_0x299932,_0x243f0c){return _0x939c96(_0x299932,_0x243f0c- -0x619);}function _0x3d5aa6(_0x204281,_0x5e8e5e){return _0x114188(_0x5e8e5e,_0x204281- -0x1e1);}return this[_0x3d5aa6(0x219,0x269)][_0x3d5aa6(0x25d,0x2b1)];}set['colors'](_0x56023c){this['options']['colors']=_0x56023c;function _0x1252e0(_0x17493f,_0x3cd84d){return _0x114188(_0x3cd84d,_0x17493f- -0x5c2);}if(this['particleSystem']){const _0x7d528b={};_0x7d528b['colors']=_0x56023c,this[_0x1252e0(-0x1e9,-0x244)]['setOptions'](_0x7d528b);}this['resize']();}[_0x114188(0x30d,0x395)](){}['_addedHook'](){this[_0x26f04e(0x107,0xeb)]=this['_map']['scene'];function _0x26f04e(_0x59d057,_0x48f941){return _0x939c96(_0x59d057,_0x48f941- -0x374);}this['camera']=this['_map']['camera'],this['primitives']=new Cesium$1[(_0x26f04e(0x91,0x11c))](),this['_map']['scene']['primitives']['add'](this[_0x26f04e(0x146,0x13d)]),this[_0x4acf7a(0x4da,0x535)]={'lonRange':new Cesium$1['Cartesian2'](),'latRange':new Cesium$1['Cartesian2'](),'pixelSize':0x0},this[_0x26f04e(0x156,0x10a)]=new Cesium$1[(_0x4acf7a(0x405,0x3d7))](Cesium$1['Cartesian3'][_0x4acf7a(0x408,0x45f)],0.99*0x615299),this['updateViewerParameters'](),window['addEventListener']('resize',this[_0x4acf7a(0x466,0x481)][_0x4acf7a(0x4fd,0x4c4)](this),![]);function _0x4acf7a(_0x55b710,_0x1a3d4a){return _0x114188(_0x1a3d4a,_0x55b710-0x64);}this[_0x26f04e(0x215,0x1d3)]=![],this[_0x26f04e(0x1bf,0x18e)]=![],this['_map']['on'](mars3d__namespace['EventType']['wheel'],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace['EventType']['mouseDown'],this['_onMouseDownEvent'],this),this[_0x4acf7a(0x473,0x49e)]['on'](mars3d__namespace['EventType']['mouseUp'],this[_0x26f04e(0xed,0x114)],this),this[_0x26f04e(0xcf,0x14d)]['on'](mars3d__namespace['EventType'][_0x26f04e(0x142,0xf0)],this[_0x4acf7a(0x4f8,0x466)],this),this[_0x26f04e(0xb7,0xf6)]&&this[_0x4acf7a(0x3f7,0x41e)](this['_data']);}['_removedHook'](){function _0x2abed9(_0x106d4b,_0x272567){return _0x114188(_0x272567,_0x106d4b- -0x1ad);}window['removeEventListener'](_0x2abed9(0x255,0x2e7),this[_0x4f0b20(0x12c,0x116)]),this[_0x2abed9(0x262,0x222)]['off'](mars3d__namespace['EventType']['preRender'],this[_0x2abed9(0x234,0x22b)],this),this[_0x4f0b20(0x139,0x154)][_0x4f0b20(0x117,0x178)](mars3d__namespace['EventType']['wheel'],this[_0x4f0b20(0xbe,0x11e)],this),this['_map']['off'](mars3d__namespace['EventType']['mouseDown'],this['_onMouseDownEvent'],this),this[_0x4f0b20(0x139,0xd7)]['off'](mars3d__namespace['EventType']['mouseUp'],this[_0x4f0b20(0x100,0x7f)],this),this['_map'][_0x4f0b20(0x117,0xbb)](mars3d__namespace['EventType'][_0x2abed9(0x205,0x1a2)],this[_0x2abed9(0x2e7,0x27e)],this),this[_0x2abed9(0x252,0x2c6)]['removeAll']();function _0x4f0b20(_0x4ad5e2,_0x60035){return _0x114188(_0x60035,_0x4ad5e2- -0x2d6);}this[_0x2abed9(0x262,0x2db)][_0x4f0b20(0xd7,0xaa)]['primitives'][_0x4f0b20(0xaf,0x58)](this['primitives']);}['resize'](){function _0x4ac06f(_0x25b340,_0x136657){return _0x114188(_0x25b340,_0x136657- -0x2a7);}if(!this['show']||!this[_0x4ac06f(0x19c,0x132)])return;this[_0x4ac06f(0x1da,0x158)]['show']=![];function _0x2099e3(_0x3cccd0,_0x404bb2){return _0x939c96(_0x404bb2,_0x3cccd0- -0x491);}this['primitives']['removeAll'](),this['_map']['once'](mars3d__namespace['EventType'][_0x4ac06f(0x128,0x191)],this['_onMap_preRenderEvent'],this);}['_onMap_preRenderEvent'](_0x436c18){this['particleSystem'][_0x474e11(-0x1b4,-0x1c7)](this['scene']['context']);function _0x474e11(_0x1f86a3,_0x1acaa8){return _0x114188(_0x1acaa8,_0x1f86a3- -0x64b);}this['addPrimitives'](),this['primitives']['show']=!![];}[_0x939c96(0x413,0x446)](_0x593a47){clearTimeout(this[_0x554828(-0x22b,-0x1fb)]);if(!this['show']||!this[_0x219b5b(0x428,0x4a5)])return;function _0x554828(_0x350708,_0x33634c){return _0x114188(_0x350708,_0x33634c- -0x5da);}this[_0x554828(-0x201,-0x1db)][_0x554828(-0x257,-0x1f1)]=![];function _0x219b5b(_0x5ebb66,_0x44fcd0){return _0x114188(_0x5ebb66,_0x44fcd0-0xcc);}this['refreshTimer']=setTimeout(()=>{function _0xf549f(_0x2a2766,_0x54fe2a){return _0x554828(_0x54fe2a,_0x2a2766-0x735);}if(!this[_0xf549f(0x544,0x5af)])return;function _0x492d87(_0x38dbc2,_0x222f64){return _0x219b5b(_0x38dbc2,_0x222f64- -0x4cb);}this[_0xf549f(0x4f7,0x541)]();},0xc8);}['_onMouseDownEvent'](_0x1b5adf){function _0x46b0cc(_0x2cd76a,_0x2a5e32){return _0x939c96(_0x2cd76a,_0x2a5e32- -0x2fc);}this[_0x46b0cc(0x1e2,0x24b)]=!![];}[_0x114188(0x4e7,0x494)](_0x531ec4){if(!this['show']||!this['particleSystem'])return;this['mouse_down']&&(this['primitives']['show']=![],this['mouse_move']=!![]);}['_onMouseUpEvent'](_0x1f223c){if(!this['show']||!this[_0x2ccc8e(0x215,0x1af)])return;this['mouse_down']&&this[_0x2ccc8e(0x28c,0x23d)]&&this['redraw']();this['primitives'][_0x2e47d6(-0xc9,-0x11e)]=!![];function _0x2ccc8e(_0x38955c,_0x36c5a3){return _0x114188(_0x36c5a3,_0x38955c- -0x1c4);}this['mouse_down']=![];function _0x2e47d6(_0x460bab,_0x1d7fbb){return _0x114188(_0x460bab,_0x1d7fbb- -0x507);}this[_0x2ccc8e(0x28c,0x244)]=![];}['redraw'](){if(!this[_0x379bfd(0x5af,0x543)]||!this[_0x5c9fca(-0x29,0x58)])return;this['updateViewerParameters']();function _0x379bfd(_0x4cac76,_0x337457){return _0x114188(_0x4cac76,_0x337457-0x134);}this[_0x5c9fca(-0x5,0x48)]['applyViewerParameters'](this['viewerParameters']);function _0x5c9fca(_0x2a35bb,_0x4c9cba){return _0x939c96(_0x2a35bb,_0x4c9cba- -0x443);}this['primitives'][_0x379bfd(0x57c,0x51d)]=!![];}['setData'](_0x10f6a7){this['_data']=_0x10f6a7;function _0x461259(_0x2658c2,_0x2b6300){return _0x939c96(_0x2658c2,_0x2b6300- -0x369);}function _0xc9faf1(_0x2d4655,_0x29a71f){return _0x114188(_0x29a71f,_0x2d4655- -0x1d6);}this[_0x461259(0x189,0x122)]&&this[_0x461259(0xfe,0x122)]['destroy'](),this['particleSystem']=new ParticleSystem(this['scene'][_0x461259(0x9d,0xeb)],_0x10f6a7,this['getOptions'](),this['viewerParameters']),this[_0x461259(0xd8,0x100)]();}['_setOptionsHook'](_0x1b975d,_0x168cdd){if(_0x1b975d)for(const _0x3be49b in _0x1b975d){this[_0x3be49b]=_0x1b975d[_0x3be49b];}function _0x5bf755(_0x14039c,_0x6e2244){return _0x939c96(_0x6e2244,_0x14039c- -0x449);}function _0x49a7ba(_0x155465,_0x337284){return _0x114188(_0x155465,_0x337284- -0x10e);}this['particleSystem']&&this[_0x49a7ba(0x240,0x2cb)]['setOptions'](this[_0x49a7ba(0x232,0x28c)]());}[_0x939c96(0x443,0x44c)](){function _0x44263f(_0x3a5aa5,_0xfb2442){return _0x114188(_0x3a5aa5,_0xfb2442- -0x3a2);}const _0x3f951c=Math['ceil'](Math['sqrt'](this['particlesNumber']));this[_0x1e9ce3(0x16e,0x10a)]=_0x3f951c*_0x3f951c;const _0x10cee5={};_0x10cee5[_0x44263f(-0xb,0x6e)]=_0x3f951c,_0x10cee5['maxParticles']=this['particlesNumber'],_0x10cee5[_0x1e9ce3(0x245,0x2a6)]=this['fixedHeight'],_0x10cee5['fadeOpacity']=this[_0x44263f(-0x66,-0x25)],_0x10cee5['dropRate']=this[_0x44263f(0x7b,0x72)];function _0x1e9ce3(_0x3408ba,_0xf23554){return _0x114188(_0xf23554,_0x3408ba- -0x246);}return _0x10cee5['dropRateBump']=this[_0x1e9ce3(0x248,0x226)],_0x10cee5['speedFactor']=this['speedFactor'],_0x10cee5['lineWidth']=this['lineWidth'],_0x10cee5[_0x44263f(0xdf,0x9c)]=this[_0x1e9ce3(0x1f8,0x281)],_0x10cee5;}['addPrimitives'](){this[_0x178fd9(-0x25b,-0x204)]['add'](this[_0x178fd9(-0x1b8,-0x22a)][_0xcad491(0x36b,0x314)]['primitives'][_0x178fd9(-0x2e2,-0x290)]);function _0x178fd9(_0x40c1d3,_0x3697d3){return _0x939c96(_0x40c1d3,_0x3697d3- -0x6b5);}this['primitives'][_0xcad491(0x31a,0x2c5)](this[_0xcad491(0x2ee,0x28c)][_0xcad491(0x36b,0x377)][_0xcad491(0x314,0x37e)][_0xcad491(0x37c,0x368)]),this[_0xcad491(0x314,0x2aa)][_0xcad491(0x31a,0x355)](this[_0x178fd9(-0x1db,-0x22a)]['particlesComputing'][_0x178fd9(-0x267,-0x204)][_0x178fd9(-0x26f,-0x260)]),this[_0x178fd9(-0x22b,-0x204)][_0x178fd9(-0x26d,-0x1fe)](this['particleSystem']['particlesComputing'][_0xcad491(0x314,0x377)][_0x178fd9(-0x23f,-0x215)]);function _0xcad491(_0x4d29ed,_0xefa8a0){return _0x939c96(_0xefa8a0,_0x4d29ed- -0x19d);}this['primitives']['add'](this['particleSystem']['particlesComputing']['primitives'][_0xcad491(0x378,0x393)]),this['primitives'][_0x178fd9(-0x28d,-0x1fe)](this['particleSystem'][_0xcad491(0x2e0,0x2dc)]['primitives']['segments']),this['primitives']['add'](this[_0x178fd9(-0x255,-0x22a)]['particlesRendering']['primitives']['trails']),this['primitives']['add'](this['particleSystem'][_0x178fd9(-0x2b9,-0x238)]['primitives']['screen']);}['updateViewerParameters'](){let _0x2fd70e=this[_0x69eb35(0x149,0x197)]['computeViewRectangle'](this['scene']['globe']['ellipsoid']);if(!_0x2fd70e){const _0x3ae515=this[_0x1a5695(0x27a,0x1f4)][_0x69eb35(0x102,0x15f)]();_0x2fd70e=Cesium$1['Rectangle'][_0x1a5695(0x213,0x1bb)](_0x3ae515[_0x69eb35(0x138,0x111)],_0x3ae515[_0x1a5695(0x25d,0x25a)],_0x3ae515['xmax'],_0x3ae515[_0x69eb35(0x179,0x1b1)]);}const _0xbe4fd5=Util[_0x1a5695(0x261,0x260)](_0x2fd70e);this[_0x1a5695(0x2e1,0x2a9)]['lonRange']['x']=_0xbe4fd5[_0x69eb35(0x114,0x18d)]['min'],this[_0x69eb35(0x157,0xfe)]['lonRange']['y']=_0xbe4fd5[_0x69eb35(0x114,0xe0)][_0x1a5695(0x2bc,0x29a)];function _0x1a5695(_0x12b7af,_0xe52901){return _0x939c96(_0xe52901,_0x12b7af- -0x247);}this['viewerParameters'][_0x1a5695(0x2b4,0x313)]['x']=_0xbe4fd5['lat']['min'],this[_0x1a5695(0x2e1,0x326)]['latRange']['y']=_0xbe4fd5[_0x69eb35(0x10c,0x149)]['max'];function _0x69eb35(_0x24f538,_0x2298ef){return _0x114188(_0x2298ef,_0x24f538- -0x31f);}const _0x3971f3=this[_0x69eb35(0x149,0xfa)]['getPixelSize'](this[_0x1a5695(0x237,0x2c7)],this[_0x69eb35(0x8e,0xb7)]['drawingBufferWidth'],this['scene']['drawingBufferHeight']);_0x3971f3>0x0&&(this['viewerParameters'][_0x1a5695(0x225,0x1e5)]=_0x3971f3);}}mars3d__namespace['LayerUtil'][_0x114188(0x398,0x3c2)]('wind',WindLayer);function _0x114188(_0x326dd2,_0xc94b8f){return _0x15f1(_0xc94b8f-0x277,_0x326dd2);}mars3d__namespace[_0x939c96(0x4d6,0x539)]['WindLayer']=WindLayer;class CanvasParticle{constructor(){this['lng']=null,this[_0x4d9efe(-0xc3,-0x30)]=null;function _0x4d9efe(_0x1bed23,_0x36a43f){return _0x939c96(_0x1bed23,_0x36a43f- -0x50d);}this['tlng']=null,this['tlat']=null,this['age']=null,this['speed']=null;}['destroy'](){for(const _0x17f439 in this){delete this[_0x17f439];}}}class CanvasWindField{constructor(_0x3dc274){this['setOptions'](_0x3dc274);}get[_0x114188(0x3bb,0x3dd)](){return this['_speedRate'];}set['speedRate'](_0x41100f){function _0x49ec9b(_0x52a2cb,_0x17530e){return _0x114188(_0x52a2cb,_0x17530e- -0x2e);}this['_speedRate']=(0x64-(_0x41100f>0x63?0x63:_0x41100f))*0x64;function _0x3f2cfd(_0x1e78ce,_0x4b313e){return _0x939c96(_0x1e78ce,_0x4b313e- -0x66c);}this['_calc_speedRate']=[(this[_0x3f2cfd(-0x12b,-0x1b2)]-this['xmin'])/this['_speedRate'],(this['ymax']-this[_0x49ec9b(0x371,0x3c4)])/this['_speedRate']];}get['maxAge'](){return this['_maxAge'];}set['maxAge'](_0x2b1da2){this['_maxAge']=_0x2b1da2;}['setOptions'](_0x380915){this['options']=_0x380915;function _0x5c87a6(_0x2f84be,_0xd30215){return _0x939c96(_0xd30215,_0x2f84be- -0x65);}this[_0x5c87a6(0x3c7,0x3ad)]=_0x380915['maxAge']||0x78,this['speedRate']=_0x380915['speedRate']||0x32;function _0x4e4a9c(_0x408db9,_0x1c5441){return _0x939c96(_0x1c5441,_0x408db9-0x2b);}this[_0x5c87a6(0x3cb,0x423)]=[];const _0x322e59=_0x380915[_0x5c87a6(0x401,0x425)]||0x1000;for(let _0x154e2f=0x0;_0x154e2f<_0x322e59;_0x154e2f++){const _0x123101=this['_randomParticle'](new CanvasParticle());this['particles']['push'](_0x123101);}}['setDate'](_0x30cce7){this['rows']=_0x30cce7[_0x561e92(-0x12,0x53)],this[_0xf162b1(0x1bb,0x137)]=_0x30cce7[_0x561e92(0x5,0x8c)],this['xmin']=_0x30cce7[_0x561e92(0xc7,0x65)],this[_0xf162b1(0x145,0x175)]=_0x30cce7['xmax'],this['ymin']=_0x30cce7['ymin'],this['ymax']=_0x30cce7['ymax'],this[_0xf162b1(0xec,0x158)]=[];const _0x20fb1f=_0x30cce7['udata'],_0x1098e3=_0x30cce7['vdata'];let _0x3d0ad8=![];_0x20fb1f[_0x561e92(-0x7e,-0x64)]===this[_0x561e92(0x22,0x53)]&&_0x20fb1f[0x0][_0x561e92(-0x6,-0x64)]===this['cols']&&(_0x3d0ad8=!![]);function _0x561e92(_0x1d64fe,_0x50cab9){return _0x114188(_0x1d64fe,_0x50cab9- -0x3f2);}let _0x485d74=0x0,_0x3453c6=null;function _0xf162b1(_0x25278d,_0x616327){return _0x939c96(_0x616327,_0x25278d- -0x375);}let _0x594e05=null;for(let _0x22ac3e=0x0;_0x22ac3e<this['rows'];_0x22ac3e++){_0x3453c6=[];for(let _0x304e71=0x0;_0x304e71<this[_0xf162b1(0x1bb,0x165)];_0x304e71++,_0x485d74++){_0x3d0ad8?_0x594e05=this['_calcUV'](_0x20fb1f[_0x22ac3e][_0x304e71],_0x1098e3[_0x22ac3e][_0x304e71]):_0x594e05=this[_0xf162b1(0x1b1,0x20d)](_0x20fb1f[_0x485d74],_0x1098e3[_0x485d74]),_0x3453c6['push'](_0x594e05);}this['grid']['push'](_0x3453c6);}this[_0xf162b1(0x137,0x125)][_0xf162b1(0x19f,0x184)]&&this[_0xf162b1(0xec,0xec)]['reverse']();}[_0x939c96(0x3c1,0x42a)](){delete this['rows'];function _0x3afed3(_0x564ea8,_0x202633){return _0x114188(_0x202633,_0x564ea8- -0x1f8);}delete this['cols'];function _0x26123f(_0x4580e8,_0x1f5715){return _0x114188(_0x4580e8,_0x1f5715- -0x4a1);}delete this['xmin'],delete this[_0x26123f(-0x60,-0x99)],delete this['ymin'],delete this[_0x3afed3(0x2a0,0x20f)],delete this[_0x3afed3(0x1b7,0x1a0)],delete this[_0x26123f(-0xed,-0x123)];}[_0x939c96(0x3db,0x46f)](_0x545a12,_0x66e2f){function _0x1ab47e(_0x3537a0,_0x2ced0c){return _0x939c96(_0x2ced0c,_0x3537a0- -0x516);}function _0x5a31c8(_0x3c0a72,_0x3aaae5){return _0x114188(_0x3aaae5,_0x3c0a72- -0x40c);}const _0x586c57=(_0x545a12-this[_0x5a31c8(0x4b,0xcf)])/(this[_0x1ab47e(-0x5c,-0xcc)]-this[_0x5a31c8(0x4b,0xc2)])*(this[_0x5a31c8(0x72,0x93)]-0x1),_0x1929a5=(this[_0x1ab47e(0x34,-0x4f)]-_0x66e2f)/(this['ymax']-this[_0x1ab47e(-0x72,-0xff)])*(this['rows']-0x1);return[_0x586c57,_0x1929a5];}['getUVByXY'](_0x6c672a,_0x4e524f){if(_0x6c672a<0x0||_0x6c672a>=this['cols']||_0x4e524f>=this[_0x3e6da0(0x442,0x3d5)])return[0x0,0x0,0x0];const _0x6576b4=Math['floor'](_0x6c672a),_0x4374ee=Math['floor'](_0x4e524f);if(_0x6576b4===_0x6c672a&&_0x4374ee===_0x4e524f)return this[_0xcffba(-0x1e,0x5a)][_0x4e524f][_0x6c672a];function _0x3e6da0(_0x3822a7,_0x3e3f46){return _0x939c96(_0x3e3f46,_0x3822a7- -0xb5);}const _0x7feed6=_0x6576b4+0x1,_0x1524e2=_0x4374ee+0x1,_0x2a0eeb=this['getUVByXY'](_0x6576b4,_0x4374ee);function _0xcffba(_0x11953c,_0x32a94e){return _0x939c96(_0x32a94e,_0x11953c- -0x47f);}const _0x11b972=this['getUVByXY'](_0x7feed6,_0x4374ee),_0x2c7821=this[_0x3e6da0(0x468,0x4a1)](_0x6576b4,_0x1524e2),_0x4813cf=this[_0xcffba(0x9e,0xa9)](_0x7feed6,_0x1524e2);let _0x352cfc=null;try{_0x352cfc=this[_0x3e6da0(0x434,0x422)](_0x6c672a-_0x6576b4,_0x4e524f-_0x4374ee,_0x2a0eeb,_0x11b972,_0x2c7821,_0x4813cf);}catch(_0x24ae89){console[_0x3e6da0(0x441,0x468)](_0x6c672a,_0x4e524f);}return _0x352cfc;}[_0x114188(0x496,0x437)](_0x1d1c77,_0x3e3c30,_0x595bd2,_0x4c21f0,_0x4a8030,_0x13efb3){const _0x3b4dae=0x1-_0x1d1c77,_0x1e6ce6=0x1-_0x3e3c30;function _0x36001a(_0x26bdcd,_0x52fb99){return _0x114188(_0x26bdcd,_0x52fb99- -0x3c7);}const _0x225938=_0x3b4dae*_0x1e6ce6,_0x1eb5af=_0x1d1c77*_0x1e6ce6,_0xe53ddd=_0x3b4dae*_0x3e3c30,_0x1c6a24=_0x1d1c77*_0x3e3c30,_0x1a9ca9=_0x595bd2[0x0]*_0x225938+_0x4c21f0[0x0]*_0x1eb5af+_0x4a8030[0x0]*_0xe53ddd+_0x13efb3[0x0]*_0x1c6a24,_0x2839da=_0x595bd2[0x1]*_0x225938+_0x4c21f0[0x1]*_0x1eb5af+_0x4a8030[0x1]*_0xe53ddd+_0x13efb3[0x1]*_0x1c6a24;return this[_0x36001a(0xd3,0xad)](_0x1a9ca9,_0x2839da);}[_0x114188(0x3fe,0x474)](_0x3d70d7,_0x360840){return[+_0x3d70d7,+_0x360840,Math['sqrt'](_0x3d70d7*_0x3d70d7+_0x360840*_0x360840)];}['getUVByPoint'](_0x28789c,_0x4c1e49){if(!this['isInExtent'](_0x28789c,_0x4c1e49))return null;const _0x35761c=this['toGridXY'](_0x28789c,_0x4c1e49),_0x248593=this['getUVByXY'](_0x35761c[0x0],_0x35761c[0x1]);return _0x248593;}['isInExtent'](_0x5d2458,_0x140bd4){function _0x1d92a5(_0x2adc5f,_0x32fdbe){return _0x939c96(_0x2adc5f,_0x32fdbe- -0x6d1);}function _0xc20cec(_0x1c98db,_0x273658){return _0x939c96(_0x273658,_0x1c98db- -0x3c1);}return _0x5d2458>=this['xmin']&&_0x5d2458<=this['xmax']&&_0x140bd4>=this[_0xc20cec(0xe3,0x129)]&&_0x140bd4<=this[_0xc20cec(0x189,0x122)]?!![]:![];}['getRandomLatLng'](){const _0xc969d=fRandomByfloat(this[_0x5dda46(0x4f7,0x51e)],this[_0x6d785e(0x260,0x258)]);function _0x6d785e(_0x410fe4,_0x9ae5f2){return _0x114188(_0x9ae5f2,_0x410fe4- -0x1a8);}const _0xfd5bc5=fRandomByfloat(this[_0x6d785e(0x24a,0x1d0)],this['ymax']);function _0x5dda46(_0x418494,_0xcc8fb5){return _0x114188(_0xcc8fb5,_0x418494-0xa0);}const _0x314dab={};return _0x314dab[_0x6d785e(0x283,0x270)]=_0xfd5bc5,_0x314dab[_0x6d785e(0x270,0x2fe)]=_0xc969d,_0x314dab;}[_0x939c96(0x506,0x47f)](){let _0x3b9f65,_0x4e6cc0,_0x3d536e;for(let _0x597119=0x0,_0x24ba89=this['particles']['length'];_0x597119<_0x24ba89;_0x597119++){let _0x532dde=this[_0x2a21d7(0xc,0x3)][_0x597119];_0x532dde[_0x2a21d7(0xd8,0x14c)]<=0x0&&(_0x532dde=this['_randomParticle'](_0x532dde));if(_0x532dde['age']>0x0){const _0x18ae0a=_0x532dde[_0x34950a(0x319,0x37b)],_0x3550bd=_0x532dde[_0x34950a(0x27e,0x2f4)];_0x3d536e=this['getUVByPoint'](_0x18ae0a,_0x3550bd),_0x3d536e?(_0x3b9f65=_0x18ae0a+this['_calc_speedRate'][0x0]*_0x3d536e[0x0],_0x4e6cc0=_0x3550bd+this['_calc_speedRate'][0x1]*_0x3d536e[0x1],_0x532dde['lng']=_0x18ae0a,_0x532dde['lat']=_0x3550bd,_0x532dde['tlng']=_0x3b9f65,_0x532dde[_0x34950a(0x30c,0x2f4)]=_0x4e6cc0,_0x532dde['speed']=_0x3d536e[0x2],_0x532dde[_0x34950a(0x2d7,0x36a)]--):_0x532dde['age']=0x0;}}function _0x34950a(_0x1d7f16,_0x2983f5){return _0x114188(_0x1d7f16,_0x2983f5- -0xe0);}function _0x2a21d7(_0x11401c,_0x4d3e98){return _0x939c96(_0x4d3e98,_0x11401c- -0x424);}return this['particles'];}[_0x114188(0x3a1,0x39f)](_0x3279ff){let _0x380c85,_0x162c75;function _0x1f0981(_0x1875fd,_0x5930b7){return _0x939c96(_0x5930b7,_0x1875fd- -0x180);}for(let _0x46c666=0x0;_0x46c666<0x1e;_0x46c666++){_0x380c85=this['getRandomLatLng'](),_0x162c75=this[_0x4d256b(0x11e,0xf2)](_0x380c85[_0x4d256b(0xba,0x65)],_0x380c85[_0x1f0981(0x35d,0x3a9)]);if(_0x162c75&&_0x162c75[0x2]>0x0)break;}if(!_0x162c75)return _0x3279ff;const _0x2a202f=_0x380c85['lng']+this[_0x1f0981(0x309,0x297)][0x0]*_0x162c75[0x0],_0x28ef4a=_0x380c85[_0x1f0981(0x35d,0x33a)]+this[_0x1f0981(0x309,0x37f)][0x1]*_0x162c75[0x1];_0x3279ff['lng']=_0x380c85['lng'];function _0x4d256b(_0x441019,_0x39ab8c){return _0x939c96(_0x39ab8c,_0x441019- -0x410);}return _0x3279ff['lat']=_0x380c85['lat'],_0x3279ff['tlng']=_0x2a202f,_0x3279ff[_0x1f0981(0x306,0x2d6)]=_0x28ef4a,_0x3279ff[_0x1f0981(0x37c,0x3d4)]=Math[_0x1f0981(0x3a0,0x3d6)](Math['random']()*this['maxAge']),_0x3279ff['speed']=_0x162c75[0x2],_0x3279ff;}['destroy'](){for(const _0x65bf6f in this){delete this[_0x65bf6f];}}}function fRandomByfloat(_0x197280,_0x4108b3){return _0x197280+Math['random']()*(_0x4108b3-_0x197280);}const Cesium=mars3d__namespace[_0x114188(0x452,0x447)],BaseLayer=mars3d__namespace[_0x939c96(0x50a,0x539)][_0x114188(0x44d,0x3c9)];class CanvasWindLayer extends BaseLayer{constructor(_0x2636ff={}){function _0x295ba9(_0x14f667,_0x5ccb72){return _0x939c96(_0x5ccb72,_0x14f667- -0x37);}super(_0x2636ff),this['_setOptionsHook'](_0x2636ff),this[_0x295ba9(0x479,0x400)]=null;function _0x1a3578(_0x1f1351,_0x574321){return _0x114188(_0x574321,_0x1f1351- -0x31);}_0x2636ff[_0x1a3578(0x40d,0x494)]&&_0x2636ff['steps']&&(this['_colorRamp']=new mars3d__namespace['ColorRamp'](_0x2636ff));}['_setOptionsHook'](_0x219544,_0x47b1b){this['frameTime']=0x3e8/(_0x219544[_0x24f289(-0x11c,-0x1ac)]||0xa),this[_0x21ad8e(0x472,0x48c)]=this[_0x21ad8e(0x403,0x462)]['pointerEvents']??![],this['color']=_0x219544[_0x24f289(-0x108,-0xa1)]||'#ffffff',this['lineWidth']=_0x219544['lineWidth']||0x1;function _0x24f289(_0x79daf0,_0x21c7d0){return _0x114188(_0x21c7d0,_0x79daf0- -0x4ae);}function _0x21ad8e(_0x26a3a4,_0x59b498){return _0x939c96(_0x26a3a4,_0x59b498- -0x4a);}this['fixedHeight']=_0x219544['fixedHeight']??0x0,this[_0x24f289(-0x4c,-0x1f)]=_0x219544['reverseY']??![],this['windField']&&this['windField']['setOptions'](_0x219544);}get[_0x114188(0x4c2,0x487)](){return this['canvas'];}get['canvasWidth'](){function _0x51a8aa(_0x39be8d,_0x174076){return _0x114188(_0x174076,_0x39be8d- -0x4c7);}return this['_map']['scene'][_0x51a8aa(-0xc9,-0x11e)]['clientWidth'];}get[_0x939c96(0x525,0x50e)](){function _0x4a9476(_0x1d85fc,_0x3b006f){return _0x114188(_0x3b006f,_0x1d85fc-0xf0);}function _0x22029f(_0x15e44c,_0x50137d){return _0x939c96(_0x15e44c,_0x50137d- -0x4a0);}return this['_map'][_0x4a9476(0x49d,0x4f1)]['canvas'][_0x22029f(0x74,0x97)];}get['pointerEvents'](){return this['_pointerEvents'];}set[_0x114188(0x3e3,0x426)](_0x5502b0){this[_0xa450ca(0x472,0x4c9)]=_0x5502b0;function _0x21f967(_0x4c46c1,_0xa23156){return _0x114188(_0xa23156,_0x4c46c1-0xbd);}if(!this['canvas'])return;function _0xa450ca(_0x4ca6a2,_0x3ef368){return _0x939c96(_0x4ca6a2,_0x3ef368- -0xd);}_0x5502b0?this['canvas']['style'][_0xa450ca(0x5a3,0x517)]='all':this['canvas'][_0xa450ca(0x504,0x4f7)]['pointer-events']=_0x21f967(0x444,0x46c);}get['particlesNumber'](){return this['options']['particlesNumber'];}set['particlesNumber'](_0x2976d4){this['options'][_0x433197(-0x275,-0x22d)]=_0x2976d4,clearTimeout(this['_canrefresh']);function _0x3a54ff(_0x44c889,_0x3bb759){return _0x939c96(_0x3bb759,_0x44c889- -0x1b7);}function _0x433197(_0x712df1,_0x5e25f0){return _0x114188(_0x5e25f0,_0x712df1- -0x629);}this[_0x3a54ff(0x384,0x39d)]=setTimeout(()=>{this['redraw']();},0x1f4);}get['speedRate'](){function _0x1b37fb(_0x399749,_0x10d4d7){return _0x114188(_0x399749,_0x10d4d7- -0x4c6);}return this['options'][_0x1b37fb(-0x12c,-0xe9)];}set['speedRate'](_0x327cc2){function _0x331a94(_0x1131ba,_0x409ab0){return _0x939c96(_0x1131ba,_0x409ab0- -0x41a);}this[_0x331a94(0x89,0x92)]['speedRate']=_0x327cc2;function _0x437da2(_0x2766a2,_0x302aa6){return _0x939c96(_0x302aa6,_0x2766a2- -0x636);}this[_0x437da2(-0x198,-0x1d9)]&&(this['windField']['speedRate']=_0x327cc2);}get['maxAge'](){function _0x372cf0(_0x5e0426,_0x4a4669){return _0x114188(_0x4a4669,_0x5e0426- -0x317);}return this[_0x372cf0(0xe3,0x72)]['maxAge'];}set[_0x114188(0x314,0x37a)](_0x44fdf4){this['options'][_0x37e0f0(-0x168,-0x1c6)]=_0x44fdf4;function _0x37e0f0(_0x3b10cc,_0x4257a1){return _0x114188(_0x4257a1,_0x3b10cc- -0x4e2);}this['windField']&&(this['windField']['maxAge']=_0x44fdf4);}get[_0x939c96(0x42b,0x4be)](){function _0x394282(_0x3758b0,_0x3417b5){return _0x939c96(_0x3417b5,_0x3758b0- -0x240);}return this[_0x394282(0x1e9,0x212)];}set['data'](_0x2c8ff6){this['setData'](_0x2c8ff6);}['_showHook'](_0x3e825c){function _0x376852(_0x4eb3ab,_0x5d82ba){return _0x114188(_0x4eb3ab,_0x5d82ba- -0x38c);}function _0x849ab8(_0x2525c8,_0x196d06){return _0x114188(_0x196d06,_0x2525c8- -0x46);}_0x3e825c?this[_0x849ab8(0x3be,0x393)]():(this['windData']&&(this['options']['data']=this[_0x376852(-0x49,-0x15)]),this['_removedHook']());}[_0x939c96(0x404,0x447)](){function _0x130d72(_0xc2ff4e,_0xb870b4){return _0x939c96(_0xc2ff4e,_0xb870b4-0x3f);}function _0x176535(_0x3f3c5d,_0x1b296b){return _0x939c96(_0x3f3c5d,_0x1b296b- -0x362);}this[_0x176535(0x111,0x14a)][_0x130d72(0x4cd,0x472)]?this['initWorker']():this['windField']=new CanvasWindField(this[_0x130d72(0x474,0x4eb)]);}['_addedHook'](){function _0x509e85(_0x28b104,_0x54bec5){return _0x939c96(_0x54bec5,_0x28b104- -0xef);}this[_0x3d5cbc(0xd9,0x14c)]=this['_createCanvas']();const _0x2e54c2={};function _0x3d5cbc(_0x33c7ab,_0x4b06db){return _0x939c96(_0x33c7ab,_0x4b06db- -0x364);}_0x2e54c2[_0x3d5cbc(0x45,0xd9)]=!![],this[_0x509e85(0x34c,0x303)]=this['canvas']['getContext']('2d',_0x2e54c2),this[_0x509e85(0x3a3,0x338)](),this[_0x3d5cbc(0x1cd,0x148)][_0x3d5cbc(0x1c9,0x15a)]&&this['setData'](this[_0x3d5cbc(0x13f,0x148)][_0x3d5cbc(0x120,0x15a)]);}[_0x114188(0x444,0x420)](){function _0x191978(_0x4c217,_0x1699a2){return _0x939c96(_0x4c217,_0x1699a2- -0x68);}this[_0x191978(0x400,0x3c2)](),this[_0x191978(0x4b5,0x4a4)]();function _0x247b5c(_0x846b59,_0x2f94d0){return _0x939c96(_0x846b59,_0x2f94d0- -0x63);}this[_0x191978(0x46b,0x448)]&&(this[_0x191978(0x46b,0x459)]['container']['removeChild'](this['canvas']),delete this[_0x191978(0x459,0x448)]);}[_0x114188(0x483,0x43c)](){const _0x27a20d=mars3d__namespace['DomUtil']['create']('canvas','mars3d-canvasWind',this[_0x2c5d09(0x156,0x19f)][_0x2c5d09(0x19c,0x139)]);_0x27a20d['style'][_0x59548f(0x499,0x4ea)]='absolute',_0x27a20d[_0x2c5d09(0x219,0x1e2)][_0x59548f(0x49c,0x516)]=_0x2c5d09(0x161,0x127);function _0x2c5d09(_0x38cc4d,_0x4242fd){return _0x114188(_0x38cc4d,_0x4242fd- -0x270);}_0x27a20d['style'][_0x2c5d09(0x189,0x18b)]=_0x2c5d09(0x175,0x127),_0x27a20d['style']['width']=this[_0x59548f(0x54a,0x513)]['scene'][_0x59548f(0x507,0x502)][_0x59548f(0x570,0x50d)]+'px',_0x27a20d['style'][_0x59548f(0x5ce,0x543)]=this[_0x59548f(0x495,0x513)][_0x59548f(0x501,0x4b1)][_0x59548f(0x4d7,0x502)]['clientHeight']+'px',_0x27a20d[_0x2c5d09(0x268,0x1e2)]['pointerEvents']=this[_0x2c5d09(0x20f,0x1b4)]?_0x2c5d09(0x15e,0x160):_0x2c5d09(0xd8,0x117),_0x27a20d['style'][_0x2c5d09(0x1cc,0x21a)]=this['options']['zIndex']??0x9;function _0x59548f(_0x3a72dd,_0x20f81c){return _0x939c96(_0x3a72dd,_0x20f81c-0x52);}return _0x27a20d['width']=this[_0x2c5d09(0x201,0x19f)]['scene']['canvas'][_0x2c5d09(0x183,0x199)],_0x27a20d[_0x59548f(0x591,0x543)]=this[_0x2c5d09(0x18a,0x19f)][_0x59548f(0x465,0x4b1)]['canvas'][_0x2c5d09(0x23d,0x215)],_0x27a20d;}['resize'](){function _0x590d27(_0xefa6c,_0x418a22){return _0x939c96(_0xefa6c,_0x418a22- -0x45c);}function _0x16104d(_0x817063,_0x455ef2){return _0x939c96(_0x817063,_0x455ef2- -0x3e1);}this['canvas']&&(this['canvas'][_0x16104d(0x95,0x123)][_0x16104d(0x10f,0xd1)]=this[_0x16104d(0xd6,0xe0)]['scene'][_0x16104d(0x8a,0xcf)][_0x16104d(0x136,0xda)]+'px',this[_0x590d27(-0x29,0x54)][_0x590d27(0x72,0xa8)]['height']=this[_0x16104d(0x50,0xe0)]['scene'][_0x590d27(0x9,0x54)][_0x590d27(0xe8,0xdb)]+'px',this['canvas'][_0x590d27(0x5a,0x56)]=this[_0x16104d(0x14b,0xe0)]['scene'][_0x16104d(0x12b,0xcf)][_0x590d27(0x9e,0x5f)],this[_0x16104d(0x95,0xcf)]['height']=this['_map']['scene'][_0x16104d(0x124,0xcf)]['clientHeight']);}['bindEvent'](){const _0x5f37ec=this;let _0x23adc1=Date[_0x53b6da(0xcf,0x14f)]();(function _0x21b399(){_0x5f37ec['animateFrame']=window['requestAnimationFrame'](_0x21b399);function _0x551914(_0x1ea33a,_0x1f114a){return _0x53b6da(_0x1ea33a-0x444,_0x1f114a);}if(_0x5f37ec['show']&&_0x5f37ec['windField']){const _0x33bcfc=Date['now'](),_0x325c1a=_0x33bcfc-_0x23adc1;_0x325c1a>_0x5f37ec[_0x551914(0x485,0x427)]&&(_0x23adc1=_0x33bcfc-_0x325c1a%_0x5f37ec['frameTime'],_0x5f37ec['update']());}}(),window['addEventListener']('resize',this['resize'][_0x53b6da(0x14d,0x156)](this),![]),this['mouse_down']=![]);function _0x53b6da(_0x5351cc,_0x830026){return _0x939c96(_0x830026,_0x5351cc- -0x3fe);}this['mouse_move']=![];function _0x2ecc58(_0x532983,_0x3452b0){return _0x939c96(_0x532983,_0x3452b0- -0x452);}this['options'][_0x53b6da(0x37,0x71)]&&(this[_0x2ecc58(0xd7,0x6f)]['on'](mars3d__namespace['EventType']['wheel'],this['_onMapWhellEvent'],this),this[_0x53b6da(0xc3,0x4c)]['on'](mars3d__namespace['EventType'][_0x2ecc58(0x22,0x16)],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace[_0x2ecc58(0xba,0x6a)][_0x2ecc58(0x151,0xf3)],this[_0x53b6da(0x8a,0x11a)],this));}[_0x939c96(0x4d8,0x50c)](){function _0x2a5679(_0x1bbd0e,_0xd1e377){return _0x939c96(_0xd1e377,_0x1bbd0e- -0x42b);}window[_0xff1533(0x2d3,0x2f2)](this[_0x2a5679(0x4c,0x83)]);function _0xff1533(_0x5dd773,_0x45c407){return _0x939c96(_0x5dd773,_0x45c407- -0x1df);}delete this['animateFrame'],window['removeEventListener'](_0x2a5679(0x89,0x119),this['resize']),this[_0xff1533(0x2c4,0x2cd)]['mouseHidden']&&(this['_map'][_0xff1533(0x32a,0x2c0)](mars3d__namespace[_0xff1533(0x29f,0x2dd)][_0x2a5679(0x48,0x1e)],this[_0xff1533(0x2b3,0x267)],this),this['_map']['off'](mars3d__namespace[_0x2a5679(0x91,0x116)]['mouseDown'],this['_onMouseDownEvent'],this),this['_map']['off'](mars3d__namespace[_0x2a5679(0x91,0xd9)]['mouseUp'],this[_0xff1533(0x251,0x2a9)],this),this[_0xff1533(0x2d7,0x2e2)][_0xff1533(0x327,0x2c0)](mars3d__namespace[_0x2a5679(0x91,0xd4)]['mouseMove'],this[_0xff1533(0x33a,0x367)],this));}['_onMapWhellEvent'](_0x34963f){clearTimeout(this[_0xc7134c(0x6,-0x2)]);function _0x4d50f1(_0x51edcd,_0x1e371e){return _0x114188(_0x51edcd,_0x1e371e- -0x4d);}if(!this['show']||!this['canvas'])return;function _0xc7134c(_0x279768,_0x42df1b){return _0x939c96(_0x279768,_0x42df1b- -0x493);}this[_0xc7134c(0x87,0x1d)]['style'][_0xc7134c(0xe1,0x6d)]=_0x4d50f1(0x451,0x42b),this['refreshTimer']=setTimeout(()=>{function _0x2dcc3f(_0x4169e1,_0x582d8e){return _0x4d50f1(_0x582d8e,_0x4169e1- -0x323);}function _0x21a9b4(_0x5a5c23,_0x38381d){return _0x4d50f1(_0x5a5c23,_0x38381d- -0x46);}if(!this[_0x2dcc3f(0x79,0x95)])return;this['redraw'](),this['canvas']['style'][_0x2dcc3f(0xde,0x146)]=_0x2dcc3f(0xac,0x90);},0xc8);}['_onMouseDownEvent'](_0x55b86a){function _0x14585d(_0x4fe8fb,_0x213067){return _0x939c96(_0x4fe8fb,_0x213067- -0x5e8);}function _0x2bb7ad(_0x55c4f8,_0xa00fde){return _0x114188(_0xa00fde,_0x55c4f8- -0x62d);}this[_0x14585d(-0x12c,-0xa1)]=!![],this['_map']['off'](mars3d__namespace[_0x14585d(-0xdf,-0x12c)][_0x2bb7ad(-0x27b,-0x2cd)],this['_onMouseMoveEvent'],this),this['_map']['on'](mars3d__namespace['EventType']['mouseMove'],this[_0x2bb7ad(-0x199,-0x120)],this);}['_onMouseMoveEvent'](_0x586e4b){function _0x523a29(_0x5e9431,_0x4bf2a8){return _0x114188(_0x5e9431,_0x4bf2a8- -0x489);}function _0x2f6679(_0x803234,_0x413a6f){return _0x114188(_0x413a6f,_0x803234- -0x474);}if(!this['show']||!this['canvas'])return;this[_0x523a29(-0x2f,0xc)]&&(this[_0x2f6679(-0x76,0x13)]['style']['visibility']='hidden',this['mouse_move']=!![]);}['_onMouseUpEvent'](_0x5469b0){function _0x13e080(_0x1905e8,_0x25d847){return _0x114188(_0x25d847,_0x1905e8- -0xf2);}if(!this['show']||!this['canvas'])return;this['_map'][_0x13e080(0x2fb,0x2e6)](mars3d__namespace['EventType'][_0x13e080(0x2c0,0x34b)],this['_onMouseMoveEvent'],this);this['mouse_down']&&this[_0x13e080(0x35e,0x3da)]&&this['redraw']();this['canvas'][_0x13e080(0x360,0x353)]['visibility']=_0x13e080(0x32a,0x2e4),this[_0x13e080(0x3a3,0x350)]=![];function _0x1bdebc(_0x5d1393,_0x1f7a4a){return _0x939c96(_0x1f7a4a,_0x5d1393- -0x2b2);}this['mouse_move']=![];}['setData'](_0x2f42a6){this['clear']();function _0x8b6b90(_0x45ae7d,_0x7aca2a){return _0x114188(_0x45ae7d,_0x7aca2a- -0x316);}this['windData']=_0x2f42a6,this['windField'][_0x8b6b90(0xc9,0xd1)](_0x2f42a6);function _0x92285a(_0x9a3a9d,_0x1233e4){return _0x114188(_0x1233e4,_0x9a3a9d- -0x21d);}this[_0x8b6b90(0xcd,0x86)]();}['redraw'](){function _0x1eca12(_0x4a4869,_0x1f8969){return _0x939c96(_0x1f8969,_0x4a4869- -0x26);}if(!this['show'])return;this[_0x1eca12(0x478,0x4b8)]['setOptions'](this[_0x31008f(-0xb7,-0x9b)]);function _0x31008f(_0x2e89ba,_0xd6ca6f){return _0x114188(_0x2e89ba,_0xd6ca6f- -0x495);}this[_0x1eca12(0x522,0x550)]();}['update'](){if(this[_0x188674(0xc4,0x136)])return;this[_0x622a9a(0x78,0x71)]=!![];function _0x622a9a(_0x3b3302,_0x13969b){return _0x939c96(_0x13969b,_0x3b3302- -0x49b);}function _0x188674(_0x507db1,_0x268f6e){return _0x114188(_0x507db1,_0x268f6e- -0x32b);}if(this[_0x188674(0x1a,0x56)])this['windField']['update']();else{const _0x2304b9=this['windField']['getParticles']();this['_drawLines'](_0x2304b9);}this[_0x188674(0x1be,0x136)]=![];}['_drawLines'](_0x25968b){function _0x32d88d(_0x300788,_0x5d2696){return _0x114188(_0x300788,_0x5d2696- -0x3f0);}function _0x29a303(_0x5668ad,_0x57e98a){return _0x114188(_0x5668ad,_0x57e98a- -0x65e);}this[_0x29a303(-0x359,-0x2d5)]['globalCompositeOperation']=_0x32d88d(-0x5a,-0x74),this[_0x32d88d(-0x89,-0x67)][_0x32d88d(0xc,0x98)](0x0,0x0,this['canvasWidth'],this[_0x32d88d(0xef,0x6c)]),this[_0x32d88d(-0xe9,-0x67)]['globalCompositeOperation']='lighter',this[_0x29a303(-0x248,-0x2d5)][_0x32d88d(-0x59,-0x7c)]=0.9;const _0xe6e226=this['_map'][_0x32d88d(-0x9d,-0x43)][_0x32d88d(0x34,0x2d)]!==Cesium['SceneMode'][_0x32d88d(-0xac,-0x4b)],_0x3ccac3=this['canvasWidth']*0.25;if(this[_0x32d88d(0x2,-0x60)])for(let _0x547663=0x0,_0x3d0bd9=_0x25968b[_0x32d88d(-0x66,-0x62)];_0x547663<_0x3d0bd9;_0x547663++){const _0x2e9d25=_0x25968b[_0x547663],_0x2a7233=this[_0x29a303(-0x228,-0x244)](_0x2e9d25['lng'],_0x2e9d25[_0x32d88d(0x2d,0x3b)],_0x2e9d25),_0x30b24a=this['_tomap'](_0x2e9d25['tlng'],_0x2e9d25['tlat'],_0x2e9d25);if(!_0x2a7233||!_0x30b24a)continue;if(_0xe6e226&&Math[_0x29a303(-0x288,-0x251)](_0x2a7233[0x0]-_0x30b24a[0x0])>=_0x3ccac3)continue;this[_0x32d88d(-0x99,-0x67)]['beginPath'](),this[_0x29a303(-0x27b,-0x2d5)]['lineWidth']=this[_0x32d88d(0x4a,0x5d)],this['canvasContext']['strokeStyle']=this[_0x29a303(-0x2ab,-0x2ce)]['getColor'](_0x2e9d25['speed']),this['canvasContext'][_0x32d88d(-0xad,-0x5f)](_0x2a7233[0x0],_0x2a7233[0x1]),this[_0x29a303(-0x322,-0x2d5)][_0x32d88d(0xea,0x64)](_0x30b24a[0x0],_0x30b24a[0x1]),this['canvasContext']['stroke']();}else{this['canvasContext'][_0x29a303(-0x2d9,-0x294)](),this['canvasContext'][_0x32d88d(0xa4,0x5d)]=this['lineWidth'],this['canvasContext']['strokeStyle']=this[_0x29a303(-0x2bb,-0x2b8)];for(let _0x284b8a=0x0,_0x3197b5=_0x25968b[_0x29a303(-0x2e8,-0x2d0)];_0x284b8a<_0x3197b5;_0x284b8a++){const _0x9b9c18=_0x25968b[_0x284b8a],_0x34f1a7=this['_tomap'](_0x9b9c18['lng'],_0x9b9c18[_0x29a303(-0x225,-0x233)],_0x9b9c18),_0x51b3c5=this['_tomap'](_0x9b9c18[_0x29a303(-0x183,-0x203)],_0x9b9c18[_0x29a303(-0x20c,-0x28a)],_0x9b9c18);if(!_0x34f1a7||!_0x51b3c5)continue;if(_0xe6e226&&Math['abs'](_0x34f1a7[0x0]-_0x51b3c5[0x0])>=_0x3ccac3)continue;this['canvasContext'][_0x29a303(-0x344,-0x2cd)](_0x34f1a7[0x0],_0x34f1a7[0x1]),this['canvasContext'][_0x29a303(-0x24f,-0x20a)](_0x51b3c5[0x0],_0x51b3c5[0x1]);}this['canvasContext'][_0x29a303(-0x29e,-0x298)]();}}[_0x114188(0x478,0x41a)](_0x4ae229,_0x3a0f36,_0x48026e){const _0x4b9886=Cesium[_0x59c0e9(-0x162,-0x181)]['fromDegrees'](_0x4ae229,_0x3a0f36,this['fixedHeight']),_0x526374=this[_0x57fff9(0x367,0x30b)][_0x59c0e9(-0x155,-0x187)];if(_0x526374['mode']===Cesium['SceneMode']['SCENE3D']){const _0x405d3a=new Cesium['EllipsoidalOccluder'](_0x526374['globe']['ellipsoid'],_0x526374['camera']['positionWC']),_0x4d7658=_0x405d3a['isPointVisible'](_0x4b9886);if(!_0x4d7658)return _0x48026e[_0x57fff9(0x3a2,0x36a)]=0x0,null;}function _0x59c0e9(_0xec1bd,_0x519e85){return _0x939c96(_0x519e85,_0xec1bd- -0x5b4);}const _0x518cec=Cesium['SceneTransforms']['wgs84ToWindowCoordinates'](this['_map']['scene'],_0x4b9886);function _0x57fff9(_0x4b8d4a,_0x234dd4){return _0x939c96(_0x234dd4,_0x4b8d4a- -0x15a);}return _0x518cec?[_0x518cec['x'],_0x518cec['y']]:null;}['clear'](){this['windField']['clear']();function _0x4c6208(_0x32b465,_0x41a077){return _0x939c96(_0x32b465,_0x41a077- -0x633);}delete this[_0x4c6208(-0x208,-0x20a)];}[_0x114188(0x42a,0x3ab)](){this['worker']=new Worker(this[_0x54286c(0x3f9,0x473)][_0x3bdf53(0x1b3,0x1c8)]);function _0x3bdf53(_0x1d4cc4,_0x38e834){return _0x939c96(_0x38e834,_0x1d4cc4- -0x280);}function _0x54286c(_0x50f920,_0x1f8132){return _0x939c96(_0x50f920,_0x1f8132- -0x39);}this['worker'][_0x3bdf53(0x27e,0x269)]=_0x3bb3de=>{function _0x4aaf8b(_0x418c62,_0x55a6b7){return _0x3bdf53(_0x418c62- -0x29c,_0x55a6b7);}this['_drawLines'](_0x3bb3de[_0x4aaf8b(-0x5e,-0xa9)]['particles']),this['_updateIng2']=![];},this['windField']={'init':_0x1a86bf=>{const _0x3b3b16={};function _0x5e6b2d(_0x1f67d0,_0x595302){return _0x54286c(_0x1f67d0,_0x595302-0x97);}function _0x1462ed(_0x4206f7,_0x244c5e){return _0x3bdf53(_0x244c5e- -0xe8,_0x4206f7);}_0x3b3b16['type']='init',_0x3b3b16['options']=_0x1a86bf,this[_0x5e6b2d(0x48a,0x491)][_0x1462ed(0x16e,0x14d)](_0x3b3b16);},'setOptions':_0x512e54=>{const _0x42b0d0={};_0x42b0d0['type']='setOptions',_0x42b0d0['options']=_0x512e54,this['worker']['postMessage'](_0x42b0d0);},'setDate':_0x1f2cfb=>{function _0x15e7a2(_0x469f0b,_0x4dd991){return _0x54286c(_0x4dd991,_0x469f0b- -0x20b);}const _0x556037={};_0x556037['type']=_0x650486(-0x38,-0x3f);function _0x650486(_0x5a21ac,_0x9270d3){return _0x3bdf53(_0x9270d3- -0x258,_0x5a21ac);}_0x556037[_0x650486(0xd,-0x1a)]=_0x1f2cfb,this[_0x650486(-0x8f,-0xa5)][_0x650486(0x23,-0x23)](_0x556037);},'update':()=>{function _0x2d5fdb(_0x1faa88,_0x536e64){return _0x54286c(_0x1faa88,_0x536e64- -0x391);}if(this[_0x20c3e7(-0x19c,-0x124)])return;function _0x20c3e7(_0x2f3f26,_0x3a224e){return _0x3bdf53(_0x3a224e- -0x3b4,_0x2f3f26);}this['_updateIng2']=!![];const _0x3ba388={};_0x3ba388['type']=_0x2d5fdb(0x1d8,0x17e),this[_0x2d5fdb(0xf0,0x69)]['postMessage'](_0x3ba388);},'clear':()=>{const _0x45c52c={};_0x45c52c[_0x61a2e5(0x477,0x415)]=_0x61a2e5(0x3f2,0x3cf);function _0x3a1d4a(_0x3f41b5,_0x4f33d0){return _0x3bdf53(_0x4f33d0-0xaa,_0x3f41b5);}function _0x61a2e5(_0x5276f7,_0x150644){return _0x54286c(_0x150644,_0x5276f7-0x1);}this['worker']['postMessage'](_0x45c52c);}},this['windField']['init'](this[_0x3bdf53(0x22c,0x249)]);}}mars3d__namespace[_0x114188(0x401,0x46f)]['register'](_0x114188(0x3c0,0x43d),CanvasWindLayer),mars3d__namespace[_0x939c96(0x5a3,0x539)]['CanvasWindLayer']=CanvasWindLayer,mars3d__namespace[_0x114188(0x3f6,0x458)]=CanvasWindField,mars3d__namespace['WindUtil']=WindUtil,exports['CanvasWindField']=CanvasWindField,exports['CanvasWindLayer']=CanvasWindLayer,exports[_0x939c96(0x4ef,0x4fa)]=WindLayer,exports[_0x939c96(0x424,0x434)]=WindUtil;const _0x499ff7={};_0x499ff7['value']=!![],Object[_0x939c96(0x56d,0x53f)](exports,'__esModule',_0x499ff7);
|
|
15
15
|
}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.7.
|
|
3
|
+
"version": "3.7.17",
|
|
4
4
|
"description": "Mars3D平台插件,支持气象 风向图 功能插件",
|
|
5
5
|
"main": "dist/mars3d-wind.js",
|
|
6
6
|
"files": [
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
],
|
|
9
9
|
"peerDependencies": {},
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"mars3d": "~3.7.
|
|
11
|
+
"mars3d": "~3.7.17"
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
14
|
"lint": "eslint ./src/**/*.{js,ts} --fix"
|