mars3d-wind 3.7.21 → 3.7.22

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.
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Mars3D平台插件,支持气象 风向图 功能插件 mars3d-wind
3
3
  *
4
- * 版本信息:v3.7.21
5
- * 编译日期:2024-07-05 15:24:49
4
+ * 版本信息:v3.7.22
5
+ * 编译日期:2024-07-16 21:25:50
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(_0x3379fd,_0x1b5426){function _0x1b28ec(_0x40dcaa,_0x199300){return _0x4fd8(_0x40dcaa-0x3a6,_0x199300);}const _0x534cef=_0x3379fd();function _0x1430fa(_0x55d432,_0x511c06){return _0x4fd8(_0x511c06- -0x3c1,_0x55d432);}while(!![]){try{const _0x482a84=-parseInt(_0x1430fa(-0x2a9,-0x2eb))/0x1+-parseInt(_0x1430fa(-0x2cd,-0x282))/0x2+parseInt(_0x1430fa(-0x265,-0x27d))/0x3*(-parseInt(_0x1b28ec(0x53a,0x565))/0x4)+-parseInt(_0x1430fa(-0x2fc,-0x321))/0x5+parseInt(_0x1b28ec(0x4fe,0x556))/0x6*(parseInt(_0x1430fa(-0x36c,-0x2fb))/0x7)+-parseInt(_0x1430fa(-0x2ab,-0x24e))/0x8*(-parseInt(_0x1430fa(-0x215,-0x29f))/0x9)+-parseInt(_0x1b28ec(0x518,0x529))/0xa*(-parseInt(_0x1430fa(-0x2b2,-0x232))/0xb);if(_0x482a84===_0x1b5426)break;else _0x534cef['push'](_0x534cef['shift']());}catch(_0x3ebcd7){_0x534cef['push'](_0x534cef['shift']());}}}(_0x14a9,0x747f1));function _interopNamespace(_0x7bfd66){if(_0x7bfd66&&_0x7bfd66[_0x596152(-0x2f8,-0x28e)])return _0x7bfd66;var _0x1367ac=Object['create'](null);_0x7bfd66&&Object['keys'](_0x7bfd66)['forEach'](function(_0x401e94){function _0x2f8d2f(_0x2d3ab0,_0x3372d2){return _0x596152(_0x2d3ab0-0x462,_0x3372d2);}function _0x260ae1(_0x583869,_0x51d805){return _0x596152(_0x51d805-0x307,_0x583869);}if(_0x401e94!=='default'){var _0x4f40c7=Object[_0x2f8d2f(0x1ca,0x189)](_0x7bfd66,_0x401e94);Object['defineProperty'](_0x1367ac,_0x401e94,_0x4f40c7[_0x260ae1(-0x8,0x72)]?_0x4f40c7:{'enumerable':!![],'get':function(){return _0x7bfd66[_0x401e94];}});}});function _0x596152(_0x25c48,_0x1e68d9){return _0x4fd8(_0x25c48- -0x3b3,_0x1e68d9);}_0x1367ac[_0x142366(-0x2ff,-0x2f2)]=_0x7bfd66;function _0x142366(_0x48fa52,_0x2e12a3){return _0x4fd8(_0x48fa52- -0x38a,_0x2e12a3);}return _0x1367ac;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace['Cesium'];function _0x14a9(){const _0x33485c=['21396yJqWzL','lev','LUMINANCE','clear','//\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','createCommand','particleHeight','visible','clientHeight','depthTexture','isPointVisible','mouseHidden','addPrimitives','mod','willReadFrequently','grid','Geometry','attributeLocations','viewRectangleToLonLatRange','interval','ShaderSource','vertexShaderSource','preExecute','particlesRendering','NEAREST','dropRate','defineProperty','sqrt','autoClear','Cesium','length','clearCommand','default','abs','DrawCommand','normal','_addedHook','STATIC_DRAW','currentTrailsColor','applyViewerParameters','mouseMove','type','nextTrailsDepth','_data','_onMouseUpEvent','maxAge','latRange','preRender','fromCssColorString','pixelFormat','resize','rows','createSegmentsGeometry','2580955UuCerk','createRenderingFramebuffers','removeEventListener','_mountedHook','particlesWind','forEach','refreshParticles','defines','_calcUV','toDegrees','pow','minimum','Pass','ymin','Color','stroke','refreshTimer','TWO_PI','nextParticlesPosition','layer','createTexture','log','owner','framebuffer','Draw','xmax','beginPath','__esModule','primitives','mouse_down','blue','CanvasWindLayer','canvasContext','source','_bilinearInterpolation','currentParticlesPosition','_updateIng2','0px','21RaUGWH','xmin','windTextures','destroyParticlesTextures','depthMask','windField','_onMouseMoveEvent','createParticlesTextures','randomizeParticles','Cartesian2','globe','getDefaultRenderState','segmentsColor','speed','uniformMap','requestAnimationFrame','901986ZXoipn','UNSIGNED_BYTE','height','_tomap','init','Math','fromDegrees','all','wheel','add','register','data','LINEAR','Cartesian3','strokeStyle','VertexArray','fromCache','fadeOpacity','commandToExecute','steps','tlat','sources','worldToWindowCoordinates','_onMap_preRenderEvent','updateSpeed','maxParticles','viewport','update','rawRenderState','OPAQUE','moveTo','vertexArray','textures','nextParticlesSpeed','nextTrails','visibility','Rectangle','speedFactor','PixelFormat','mouseDown','_removedHook','_speedRate','toRadians','segments','color','_calc_speedRate','commandList','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','particlesNumber','age','geometry','setOptions','getUVByPoint','BaseLayer','worker','off','canvasWidth','canrefresh','destroy','TextureMinificationFilter','getV','mouse_move','shaderProgram','options','BoundingSphere','wind','currentParticlesSpeed','ymax','arrayBufferView','getOwnPropertyDescriptor','TextureMagnificationFilter','globalCompositeOperation','get','getRandomLatLng','getUVByXY','_updateIng','90693mnkYyZ','execute','pointer-events','array','destroyObject','push','postMessage','__proto__','fixedHeight','LayerUtil','addEventListener','getWind','clampToLatitudeRange','_randomParticle','drawingBufferWidth','particlesComputing','colors','randomBetween','fragmentShaderSource','particlesTextureSize','random','lineWidth','mode','PrimitiveType','mouseUp','red','positionWC','cols','getFullscreenQuad','1153696unVEvK','canvas','setData','umin','camera','321fRJYtg','windData','lon','clientWidth','commandType','style','dimensions','PixelDatatype','#ffffff','IDENTITY','EventType','_pointerEvents','_drawLines','none','FLOAT','globeBoundingSphere','_onMapWhellEvent','_colorRamp','ComputeCommand','framebuffers','966522iRXMWl','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','_canrefresh','getSpeed','updatePosition','defined','min','particlesTextures','container','particleSystem','lonRange','zIndex','vdata','redraw','show','max','bindEvent','bind','getOptions','udata','south','setDate','speedRate','tlng','viewerParameters','lng','170vLWNHH','296gbdONL','getPixelSize','drawingBufferHeight','nextTrailsColor','pointerEvents','Sampler','keys','_onMouseDownEvent','floor','_map','lineTo','context','fromGeometry','postProcessingPosition','width','SceneMode','getExtent','DomUtil','updateViewerParameters','ALWAYS','ComponentDatatype','postProcessingSpeed','GeometryAttribute','WindUtil','particles','Appearance','lat','scene','1416041wMDxXN','_maxAge','dropRateBump','outputTexture','hidden'];_0x14a9=function(){return _0x33485c;};return _0x14a9();}function getU(_0x503a40,_0xe8fed1){function _0x1c3df8(_0xb966b4,_0x1c0893){return _0x4fd8(_0xb966b4- -0x27f,_0x1c0893);}const _0x45617b=_0x503a40*Math['cos'](Cesium$7[_0x1c3df8(-0x1a4,-0x1ef)]['toRadians'](_0xe8fed1));return _0x45617b;}function getV(_0x153754,_0x2daeee){function _0x19da83(_0x5b8413,_0x5a7f65){return _0x4fd8(_0x5a7f65- -0x11,_0x5b8413);}const _0x1ee91b=_0x153754*Math['sin'](Cesium$7['Math'][_0x19da83(0x62,0xef)](_0x2daeee));return _0x1ee91b;}function getSpeed(_0x39275a,_0x2f72c2){const _0x2e400b=Math['sqrt'](Math[_0x44837a(-0x7d,-0x83)](_0x39275a,0x2)+Math['pow'](_0x2f72c2,0x2));function _0x44837a(_0x3d20f1,_0x41570e){return _0x4fd8(_0x41570e- -0x12d,_0x3d20f1);}return _0x2e400b;}function getDirection(_0x27292c,_0x783601){let _0x2107f3=Cesium$7['Math'][_0x555e68(0x11,-0x6)](Math['atan2'](_0x783601,_0x27292c));_0x2107f3+=_0x2107f3<0x0?0x168:0x0;function _0x555e68(_0x4cb75b,_0x4cf111){return _0x4fd8(_0x4cb75b- -0x98,_0x4cf111);}return _0x2107f3;}const _0x3dbae2={};_0x3dbae2[_0x455f78(0x26d,0x26e)]=null,_0x3dbae2['getU']=getU,_0x3dbae2[_0x158a3f(-0x2be,-0x2b5)]=getV,_0x3dbae2[_0x455f78(0x29f,0x262)]=getSpeed,_0x3dbae2['getDirection']=getDirection;var WindUtil=_0x3dbae2;function _0x4fd8(_0x390438,_0x2d435d){const _0x14a9f1=_0x14a9();return _0x4fd8=function(_0x4fd891,_0x16e986){_0x4fd891=_0x4fd891-0x78;let _0x280535=_0x14a9f1[_0x4fd891];return _0x280535;},_0x4fd8(_0x390438,_0x2d435d);}const Cesium$6=mars3d__namespace['Cesium'];class CustomPrimitive{constructor(_0x27aafb){this['commandType']=_0x27aafb[_0x31f3a6(-0x1b7,-0x1de)],this['geometry']=_0x27aafb['geometry'],this['attributeLocations']=_0x27aafb['attributeLocations'];function _0x5a706f(_0x3a85c1,_0x2530e8){return _0x158a3f(_0x2530e8,_0x3a85c1-0x21);}this['primitiveType']=_0x27aafb['primitiveType'];function _0x31f3a6(_0x2a3f3e,_0x1e4dea){return _0x158a3f(_0x2a3f3e,_0x1e4dea-0xa1);}this['uniformMap']=_0x27aafb[_0x5a706f(-0x2d2,-0x250)],this['vertexShaderSource']=_0x27aafb[_0x5a706f(-0x326,-0x2dc)],this[_0x31f3a6(-0x251,-0x1f2)]=_0x27aafb['fragmentShaderSource'],this[_0x31f3a6(-0x288,-0x234)]=_0x27aafb[_0x5a706f(-0x2b4,-0x312)],this['framebuffer']=_0x27aafb['framebuffer'],this['outputTexture']=_0x27aafb['outputTexture'],this[_0x5a706f(-0x31f,-0x30f)]=_0x27aafb[_0x5a706f(-0x31f,-0x2e0)]??![],this['preExecute']=_0x27aafb['preExecute'],this[_0x5a706f(-0x240,-0x2d0)]=!![],this[_0x31f3a6(-0x26c,-0x23e)]=undefined,this['clearCommand']=undefined,this['autoClear']&&(this['clearCommand']=new Cesium$6['ClearCommand']({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x31f3a6(-0x274,-0x26f)],'pass':Cesium$6[_0x31f3a6(-0x27d,-0x27a)]['OPAQUE']}));}[_0x455f78(0x2dd,0x370)](_0x26379e){function _0x3975f3(_0x26cd8b,_0x427622){return _0x158a3f(_0x26cd8b,_0x427622-0x91);}function _0x444aef(_0x5dabbc,_0x27a98a){return _0x455f78(_0x27a98a- -0x328,_0x5dabbc);}switch(this[_0x444aef(-0x126,-0x9c)]){case'Draw':{const _0x1480af=Cesium$6[_0x444aef(-0xeb,-0xff)]['fromGeometry']({'context':_0x26379e,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage']['STATIC_DRAW']}),_0x1cf2f4={};_0x1cf2f4[_0x444aef(-0xd6,-0x66)]=_0x26379e,_0x1cf2f4[_0x444aef(-0x1d5,-0x168)]=this[_0x444aef(-0x16f,-0x168)],_0x1cf2f4['vertexShaderSource']=this['vertexShaderSource'],_0x1cf2f4['fragmentShaderSource']=this['fragmentShaderSource'];const _0x49f6a2=Cesium$6['ShaderProgram'][_0x444aef(-0xc5,-0xfe)](_0x1cf2f4),_0x596f11=Cesium$6['RenderState'][_0x3975f3(-0x2e0,-0x250)](this['rawRenderState']);return new Cesium$6[(_0x444aef(-0xdd,-0x157))]({'primitiveType':this['primitiveType'],'shaderProgram':_0x49f6a2,'vertexArray':_0x1480af,'modelMatrix':Cesium$6['Matrix4'][_0x444aef(-0xac,-0x97)],'renderState':_0x596f11,'uniformMap':this[_0x3975f3(-0x1d1,-0x262)],'castShadows':![],'receiveShadows':![],'framebuffer':this[_0x3975f3(-0x251,-0x27f)],'pass':Cesium$6['Pass'][_0x3975f3(-0x289,-0x243)],'pickOnly':!![],'owner':this});}case'Compute':{const _0x1f6f06={};return _0x1f6f06[_0x3975f3(-0x2a2,-0x280)]=this,_0x1f6f06['fragmentShaderSource']=this['fragmentShaderSource'],_0x1f6f06['uniformMap']=this['uniformMap'],_0x1f6f06['outputTexture']=this[_0x444aef(-0x24,-0x52)],_0x1f6f06['persists']=!![],new Cesium$6[(_0x444aef(-0x11,-0x8e))](_0x1f6f06);}}}['setGeometry'](_0x16de23,_0x11d975){this[_0x4a18b5(0x1e8,0x227)]=_0x11d975;function _0x4a18b5(_0x252e34,_0x39258f){return _0x455f78(_0x39258f- -0x25,_0x252e34);}function _0x576115(_0x363223,_0x287e30){return _0x455f78(_0x287e30- -0x3d7,_0x363223);}const _0x2ac739=Cesium$6['VertexArray'][_0x4a18b5(0x2b3,0x29e)]({'context':_0x16de23,'geometry':this['geometry'],'attributeLocations':this[_0x576115(-0x1a9,-0x217)],'bufferUsage':Cesium$6['BufferUsage'][_0x576115(-0x282,-0x203)]});this['commandToExecute'][_0x4a18b5(0x224,0x214)]=_0x2ac739;}['update'](_0x1aa934){function _0x2384f4(_0x44292b,_0x22102e){return _0x455f78(_0x44292b- -0x2b1,_0x22102e);}if(!this['show'])return;if(_0x1aa934[_0x2384f4(-0x35,-0x93)]!==Cesium$6['SceneMode']['SCENE3D'])return;!Cesium$6[_0x597e28(-0x25e,-0x1c9)](this['commandToExecute'])&&(this['commandToExecute']=this[_0x2384f4(0x2c,-0x1e)](_0x1aa934['context']));Cesium$6['defined'](this[_0x597e28(-0x277,-0x2a5)])&&this['preExecute']();Cesium$6['defined'](this['clearCommand'])&&_0x1aa934[_0x597e28(-0x1c2,-0x222)]['push'](this['clearCommand']);function _0x597e28(_0x36b664,_0x36a11e){return _0x158a3f(_0x36b664,_0x36a11e-0xa1);}_0x1aa934['commandList']['push'](this[_0x2384f4(-0x85,-0xd7)]);}['isDestroyed'](){return![];}['destroy'](){if(this['clearCommand']){var _0x191d38,_0x20a109;(_0x191d38=this['clearCommand'])!==null&&_0x191d38!==void 0x0&&_0x191d38['vertexArray']&&this['clearCommand']['vertexArray']['destroy'](),(_0x20a109=this['clearCommand'])!==null&&_0x20a109!==void 0x0&&_0x20a109['shaderProgram']&&this[_0x20bcd5(0x68,0x23)]['shaderProgram']['destroy'](),delete this[_0x199a7e(-0x1e8,-0x177)];}this['commandToExecute']&&(this['commandToExecute']['vertexArray']&&this['commandToExecute']['vertexArray']['destroy'](),this['commandToExecute'][_0x199a7e(-0x15e,-0xcb)]&&this[_0x199a7e(-0x18a,-0x215)]['shaderProgram']['destroy'](),delete this['commandToExecute']);function _0x199a7e(_0x3d0054,_0x36777f){return _0x158a3f(_0x36777f,_0x3d0054-0x155);}function _0x20bcd5(_0x40d037,_0xdf3675){return _0x158a3f(_0xdf3675,_0x40d037-0x3a5);}return Cesium$6[_0x20bcd5(0x104,0xb5)](this);}}const Cesium$5=mars3d__namespace[_0x455f78(0x1cc,0x202)],Util=(function(){const _0x3153ed=function(){const _0x29d412=new Cesium$5[(_0x71c29a(0x2ab,0x2bf))]({'attributes':new Cesium$5['GeometryAttributes']({'position':new Cesium$5[(_0x5188e8(0x8c,0x10a))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x71c29a(0x3a1,0x396)],'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])});function _0x5188e8(_0x14d9a1,_0x48d824){return _0x4fd8(_0x14d9a1- -0xfd,_0x48d824);}function _0x71c29a(_0x5b194d,_0x172e74){return _0x4fd8(_0x172e74-0x244,_0x5b194d);}return _0x29d412;},_0x44e313=function(_0x24ac19,_0x100ed9){function _0x511df4(_0x2fbd20,_0x17e8d8){return _0x4fd8(_0x17e8d8- -0x1da,_0x2fbd20);}function _0x58438d(_0x2c4469,_0x1207dc){return _0x4fd8(_0x2c4469-0x3b0,_0x1207dc);}if(Cesium$5[_0x58438d(0x50d,0x4ad)](_0x100ed9)){const _0x4a435f={};_0x4a435f[_0x511df4(-0xdf,-0xc0)]=_0x100ed9,_0x24ac19[_0x58438d(0x471,0x40f)]=_0x4a435f;}const _0x3e8852=new Cesium$5['Texture'](_0x24ac19);return _0x3e8852;},_0x335923=function(_0x3b06e4,_0x507679,_0x131e5f){const _0xe54c06={};_0xe54c06['context']=_0x3b06e4,_0xe54c06['colorTextures']=[_0x507679],_0xe54c06['depthTexture']=_0x131e5f;const _0x24c5ca=new Cesium$5['Framebuffer'](_0xe54c06);return _0x24c5ca;},_0x2a984f=function(_0x4593d9){const _0x23d802=!![],_0x3da2c0=![],_0x4b376c={};_0x4b376c['viewport']=_0x4593d9[_0x299701(0x479,0x4ae)];function _0x39aa78(_0x20bb53,_0x202f11){return _0x4fd8(_0x202f11- -0x31b,_0x20bb53);}_0x4b376c['depthTest']=_0x4593d9['depthTest'],_0x4b376c['depthMask']=_0x4593d9[_0x299701(0x477,0x488)];function _0x299701(_0x409ffa,_0x4f8ee2){return _0x4fd8(_0x4f8ee2-0x3be,_0x409ffa);}_0x4b376c['blending']=_0x4593d9['blending'];const _0x3318c4=_0x4b376c,_0x148691=Cesium$5[_0x39aa78(-0x1d2,-0x18f)][_0x39aa78(-0x266,-0x24a)](_0x23d802,_0x3da2c0,_0x3318c4);return _0x148691;},_0x4c08c9=function(_0x481b92){const _0x56e6d9={},_0x3bb0ce=Cesium$5['Math']['mod'](_0x481b92['west'],Cesium$5[_0x5f130a(0x276,0x2ef)]['TWO_PI']),_0x599384=Cesium$5[_0x5f130a(0x276,0x2cb)][_0x5f130a(0x213,0x18c)](_0x481b92['east'],Cesium$5['Math']['TWO_PI']),_0x348237=_0x481b92['width'];let _0x6163d3,_0xed8c36;_0x348237>Cesium$5[_0x18e927(0x108,0x129)]['THREE_PI_OVER_TWO']?(_0x6163d3=0x0,_0xed8c36=Cesium$5['Math'][_0x5f130a(0x24c,0x248)]):_0x599384-_0x3bb0ce<_0x348237?(_0x6163d3=_0x3bb0ce,_0xed8c36=_0x3bb0ce+_0x348237):(_0x6163d3=_0x3bb0ce,_0xed8c36=_0x599384);_0x56e6d9[_0x18e927(0x1e2,0x194)]={'min':Cesium$5[_0x18e927(0x178,0x129)][_0x5f130a(0x244,0x27d)](_0x6163d3),'max':Cesium$5['Math'][_0x5f130a(0x244,0x297)](_0xed8c36)};function _0x5f130a(_0x40d8fa,_0x4f15d0){return _0x4fd8(_0x40d8fa-0x19b,_0x4f15d0);}const _0x50c7a3=_0x481b92[_0x18e927(0x15c,0x1ba)],_0x31cfd9=_0x481b92['north'],_0x2449ca=_0x481b92['height'],_0x1b9d0c=_0x2449ca>Cesium$5['Math']['PI']/0xc?_0x2449ca/0x2:0x0;let _0x350115=Cesium$5[_0x5f130a(0x276,0x271)]['clampToLatitudeRange'](_0x50c7a3-_0x1b9d0c),_0x57ddb3=Cesium$5[_0x18e927(0x9e,0x129)][_0x5f130a(0x2c9,0x325)](_0x31cfd9+_0x1b9d0c);_0x350115<-Cesium$5['Math']['PI_OVER_THREE']&&(_0x350115=-Cesium$5['Math']['PI_OVER_TWO']);_0x57ddb3>Cesium$5['Math']['PI_OVER_THREE']&&(_0x57ddb3=Cesium$5[_0x5f130a(0x276,0x21d)]['PI_OVER_TWO']);_0x56e6d9['lat']={'min':Cesium$5[_0x5f130a(0x276,0x2cc)]['toDegrees'](_0x350115),'max':Cesium$5['Math']['toDegrees'](_0x57ddb3)};function _0x18e927(_0x5e8143,_0x33718e){return _0x4fd8(_0x33718e-0x4e,_0x5e8143);}return _0x56e6d9;},_0x448ada={};_0x448ada[_0x1fdb33(-0xe2,-0xeb)]=_0x3153ed,_0x448ada['createTexture']=_0x44e313,_0x448ada['createFramebuffer']=_0x335923;function _0x414dac(_0x150fc0,_0x3d48c9){return _0x455f78(_0x150fc0- -0x235,_0x3d48c9);}_0x448ada['createRawRenderState']=_0x2a984f;function _0x1fdb33(_0x308cf1,_0x3db888){return _0x158a3f(_0x308cf1,_0x3db888-0x19e);}return _0x448ada[_0x1fdb33(-0x17e,-0x1ac)]=_0x4c08c9,_0x448ada;}());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='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['Cesium'];function _0x455f78(_0x755b1a,_0x21036e){return _0x4fd8(_0x755b1a-0x144,_0x21036e);}class ParticlesRendering{constructor(_0x24969c,_0x4a1316,_0x2bff83,_0x2727e6,_0x438b5d){this['createRenderingTextures'](_0x24969c,_0x4a1316,_0x2bff83['colors']),this['createRenderingFramebuffers'](_0x24969c),this['createRenderingPrimitives'](_0x24969c,_0x2bff83,_0x2727e6,_0x438b5d);}['createRenderingTextures'](_0x108451,_0x27d0bf,_0x104c95){const _0x2e09bc={};_0x2e09bc['context']=_0x108451;function _0x26e9d0(_0x145a13,_0x5afb0a){return _0x455f78(_0x5afb0a-0x17d,_0x145a13);}_0x2e09bc['width']=_0x108451[_0x1e6f71(0x4db,0x515)],_0x2e09bc['height']=_0x108451['drawingBufferHeight'],_0x2e09bc['pixelFormat']=Cesium$4[_0x26e9d0(0x3e7,0x3bd)]['RGBA'],_0x2e09bc['pixelDatatype']=Cesium$4[_0x1e6f71(0x542,0x530)][_0x1e6f71(0x44c,0x4bc)];const _0x2d5eac=_0x2e09bc,_0x51500b={};function _0x1e6f71(_0x2428e4,_0x2e3075){return _0x158a3f(_0x2428e4,_0x2e3075-0x7ac);}_0x51500b[_0x26e9d0(0x3e6,0x43f)]=_0x108451,_0x51500b[_0x26e9d0(0x3de,0x442)]=_0x108451['drawingBufferWidth'],_0x51500b[_0x26e9d0(0x409,0x399)]=_0x108451['drawingBufferHeight'],_0x51500b[_0x26e9d0(0x2cc,0x35d)]=Cesium$4['PixelFormat']['DEPTH_COMPONENT'],_0x51500b['pixelDatatype']=Cesium$4['PixelDatatype']['UNSIGNED_INT'];const _0x13de71=_0x51500b,_0x486469=_0x104c95['length'],_0x566cc0=new Float32Array(_0x486469*0x3);for(let _0x3ba328=0x0;_0x3ba328<_0x486469;_0x3ba328++){const _0x5e488f=Cesium$4[_0x1e6f71(0x403,0x493)][_0x26e9d0(0x3d5,0x35c)](_0x104c95[_0x3ba328]);_0x566cc0[0x3*_0x3ba328]=_0x5e488f[_0x26e9d0(0x3e9,0x3fc)],_0x566cc0[0x3*_0x3ba328+0x1]=_0x5e488f['green'],_0x566cc0[0x3*_0x3ba328+0x2]=_0x5e488f[_0x1e6f71(0x467,0x4a3)];}const _0x125071={'context':_0x108451,'width':_0x486469,'height':0x1,'pixelFormat':Cesium$4['PixelFormat']['RGB'],'pixelDatatype':Cesium$4['PixelDatatype']['FLOAT'],'sampler':new Cesium$4['Sampler']({'minificationFilter':Cesium$4['TextureMinificationFilter'][_0x26e9d0(0x410,0x3a3)],'magnificationFilter':Cesium$4[_0x1e6f71(0x48e,0x501)][_0x1e6f71(0x49d,0x4c7)]})};this[_0x1e6f71(0x4ea,0x4db)]={'segmentsColor':Util[_0x26e9d0(0x39f,0x375)](_0x2d5eac),'segmentsDepth':Util['createTexture'](_0x13de71),'currentTrailsColor':Util[_0x1e6f71(0x43b,0x499)](_0x2d5eac),'currentTrailsDepth':Util[_0x1e6f71(0x499,0x499)](_0x13de71),'nextTrailsColor':Util[_0x1e6f71(0x4e2,0x499)](_0x2d5eac),'nextTrailsDepth':Util['createTexture'](_0x13de71),'colorTable':Util[_0x1e6f71(0x413,0x499)](_0x125071,_0x566cc0)};}[_0x455f78(0x1e5,0x17e)](_0x250e53){function _0x41f67f(_0x563a22,_0x4a45a2){return _0x455f78(_0x4a45a2- -0x232,_0x563a22);}function _0x1addc3(_0x46c434,_0x1c180e){return _0x158a3f(_0x1c180e,_0x46c434-0xd8);}this['framebuffers']={'segments':Util['createFramebuffer'](_0x250e53,this[_0x1addc3(-0x1f9,-0x267)]['segmentsColor'],this['textures']['segmentsDepth']),'currentTrails':Util['createFramebuffer'](_0x250e53,this[_0x41f67f(0x3d,0x8)][_0x41f67f(-0x6d,-0x5d)],this['textures']['currentTrailsDepth']),'nextTrails':Util['createFramebuffer'](_0x250e53,this['textures'][_0x1addc3(-0x179,-0x1fb)],this[_0x41f67f(0x95,0x8)][_0x41f67f(-0x21,-0x59)])};}[_0x455f78(0x1e3,0x155)](_0x56eb24){const _0x5d9c06=0x4;let _0x426a25=[];for(let _0x1e6880=0x0;_0x1e6880<_0x56eb24[_0x388747(0x471,0x4d5)];_0x1e6880++){for(let _0x31655f=0x0;_0x31655f<_0x56eb24['particlesTextureSize'];_0x31655f++){for(let _0x598c0d=0x0;_0x598c0d<_0x5d9c06;_0x598c0d++){_0x426a25['push'](_0x1e6880/_0x56eb24[_0x34cb41(0x244,0x28d)]),_0x426a25['push'](_0x31655f/_0x56eb24['particlesTextureSize']);}}}_0x426a25=new Float32Array(_0x426a25);let _0x24f2e0=[];const _0x7a2761=[-0x1,0x1],_0x5bfc5e=[-0x1,0x1];for(let _0x4d25cb=0x0;_0x4d25cb<_0x56eb24['maxParticles'];_0x4d25cb++){for(let _0x280bb0=0x0;_0x280bb0<_0x5d9c06/0x2;_0x280bb0++){for(let _0x5ba9f8=0x0;_0x5ba9f8<_0x5d9c06/0x2;_0x5ba9f8++){_0x24f2e0[_0x34cb41(0x236,0x1e7)](_0x7a2761[_0x280bb0]),_0x24f2e0[_0x34cb41(0x236,0x1ef)](_0x5bfc5e[_0x5ba9f8]),_0x24f2e0['push'](0x0);}}}_0x24f2e0=new Float32Array(_0x24f2e0);function _0x34cb41(_0x3419e5,_0x104038){return _0x455f78(_0x3419e5- -0x35,_0x104038);}function _0x388747(_0x5f0f6c,_0x44e830){return _0x455f78(_0x5f0f6c-0x1f8,_0x44e830);}const _0x4bd1cc=0x6*_0x56eb24['maxParticles'],_0x67720e=new Uint32Array(_0x4bd1cc);for(let _0x11f57a=0x0,_0x47377c=0x0,_0x465530=0x0;_0x11f57a<_0x56eb24['maxParticles'];_0x11f57a++){_0x67720e[_0x47377c++]=_0x465530+0x0,_0x67720e[_0x47377c++]=_0x465530+0x1,_0x67720e[_0x47377c++]=_0x465530+0x2,_0x67720e[_0x47377c++]=_0x465530+0x2,_0x67720e[_0x47377c++]=_0x465530+0x1,_0x67720e[_0x47377c++]=_0x465530+0x3,_0x465530+=0x4;}const _0x18d91f=new Cesium$4['Geometry']({'attributes':new Cesium$4['GeometryAttributes']({'st':new Cesium$4[(_0x388747(0x4c5,0x524))]({'componentDatatype':Cesium$4[_0x34cb41(0x296,0x314)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x426a25}),'normal':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4[_0x34cb41(0x296,0x26b)]['FLOAT'],'componentsPerAttribute':0x3,'values':_0x24f2e0})}),'indices':_0x67720e});return _0x18d91f;}['createRenderingPrimitives'](_0x3a06f5,_0x5b6dee,_0x2ba474,_0x4fe5c7){const _0x13f857=this,_0x18e585={};_0x18e585['st']=0x0,_0x18e585[_0x45f4e1(0x2ab,0x230)]=0x1;const _0x49379f={};_0x49379f['sources']=[segmentDraw_vert];const _0x5159d9={};_0x5159d9['sources']=[segmentDraw_frag];const _0x2ea3bd={};_0x2ea3bd['enabled']=!![];const _0x190c24={};_0x190c24['viewport']=undefined,_0x190c24['depthTest']=_0x2ea3bd,_0x190c24['depthMask']=!![];function _0x45f4e1(_0x2d0d6e,_0x175fd9){return _0x158a3f(_0x175fd9,_0x2d0d6e-0x5e4);}const _0x3403cc={};_0x3403cc['position']=0x0,_0x3403cc['st']=0x1;const _0x58ec34={};_0x58ec34['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x58ec34['sources']=[fullscreen_vert];const _0x26493b={};_0x26493b['defines']=[_0x45f4e1(0x322,0x2b7)],_0x26493b[_0x45f4e1(0x308,0x32c)]=[trailDraw_frag];const _0x550872={};_0x550872['position']=0x0,_0x550872['st']=0x1;const _0x25ea7a={};_0x25ea7a['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x25ea7a[_0x11e335(0x1b3,0x23b)]=[fullscreen_vert];const _0x394157={};_0x394157[_0x11e335(0x27c,0x1f7)]=[_0x11e335(0x26d,0x255)],_0x394157[_0x11e335(0x1cf,0x23b)]=[screenDraw_frag];const _0x568dd4={};_0x568dd4['enabled']=![];const _0x534659={};function _0x11e335(_0x41677f,_0x335c04){return _0x158a3f(_0x41677f,_0x335c04-0x517);}_0x534659['enabled']=!![],this[_0x11e335(0x1af,0x20c)]={'segments':new CustomPrimitive({'commandType':_0x45f4e1(0x2d5,0x2c0),'attributeLocations':_0x18e585,'geometry':this['createSegmentsGeometry'](_0x5b6dee),'primitiveType':Cesium$4[_0x11e335(0x30b,0x289)]['TRIANGLES'],'uniformMap':{'currentParticlesPosition':function(){function _0x148e09(_0x1f14db,_0x5e21ff){return _0x11e335(_0x5e21ff,_0x1f14db- -0x20);}return _0x4fe5c7['particlesTextures'][_0x148e09(0x1f3,0x194)];},'postProcessingPosition':function(){function _0x4102b3(_0x19a9ba,_0x2e93cc){return _0x11e335(_0x2e93cc,_0x19a9ba- -0x316);}return _0x4fe5c7[_0x4102b3(-0x67,-0xa)]['postProcessingPosition'];},'postProcessingSpeed':function(){function _0x1dac5f(_0x517f1f,_0x50a491){return _0x45f4e1(_0x50a491-0x1a0,_0x517f1f);}function _0x20ae27(_0xb72559,_0x1bf8cd){return _0x45f4e1(_0xb72559- -0x342,_0x1bf8cd);}return _0x4fe5c7[_0x1dac5f(0x495,0x51c)][_0x1dac5f(0x5ab,0x545)];},'colorTable':function(){function _0x52dea2(_0x52e5d2,_0x320b36){return _0x45f4e1(_0x320b36- -0x4ed,_0x52e5d2);}return _0x13f857[_0x52dea2(-0x14c,-0x1da)]['colorTable'];},'aspect':function(){return _0x3a06f5['drawingBufferWidth']/_0x3a06f5['drawingBufferHeight'];},'pixelSize':function(){return _0x2ba474['pixelSize'];},'lineWidth':function(){return _0x5b6dee['lineWidth'];},'particleHeight':function(){function _0x531814(_0x95abc3,_0xf8cc76){return _0x45f4e1(_0x95abc3- -0xcd,_0xf8cc76);}return _0x5b6dee[_0x531814(0x2ea,0x2ca)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x49379f),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x5159d9),'rawRenderState':Util['createRawRenderState'](_0x190c24),'framebuffer':this['framebuffers'][_0x45f4e1(0x31e,0x2b2)],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0x45f4e1(0x2d5,0x26c),'attributeLocations':_0x3403cc,'geometry':Util[_0x45f4e1(0x35b,0x39c)](),'primitiveType':Cesium$4[_0x45f4e1(0x356,0x3a1)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){function _0x15961b(_0x48e16d,_0x69269a){return _0x11e335(_0x48e16d,_0x69269a-0x149);}function _0x6c69a5(_0x1cf9eb,_0x27f87e){return _0x45f4e1(_0x1cf9eb- -0x4b5,_0x27f87e);}return _0x13f857[_0x15961b(0x420,0x38f)][_0x15961b(0x3b8,0x36b)];},'segmentsDepthTexture':function(){return _0x13f857['textures']['segmentsDepth'];},'currentTrailsColor':function(){return _0x13f857['framebuffers']['currentTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0x1ce46f(_0x9ab1c7,_0x3362d6){return _0x45f4e1(_0x3362d6- -0x5d4,_0x9ab1c7);}return _0x13f857[_0x1ce46f(-0x2a8,-0x260)]['currentTrails']['depthTexture'];},'fadeOpacity':function(){return _0x5b6dee['fadeOpacity'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x58ec34),'fragmentShaderSource':new Cesium$4[(_0x45f4e1(0x29c,0x272))](_0x26493b),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction'][_0x11e335(0x364,0x2d6)]},'depthMask':!![]}),'framebuffer':this['framebuffers']['nextTrails'],'autoClear':!![],'preExecute':function(){function _0x14cc59(_0x3f1038,_0x146e16){return _0x45f4e1(_0x3f1038-0x153,_0x146e16);}const _0x1c517c=_0x13f857['framebuffers']['currentTrails'];_0x13f857['framebuffers']['currentTrails']=_0x13f857['framebuffers'][_0x47c03c(0x1ce,0x21a)],_0x13f857['framebuffers']['nextTrails']=_0x1c517c;function _0x47c03c(_0x40fcab,_0x482bbc){return _0x45f4e1(_0x482bbc- -0xfb,_0x40fcab);}_0x13f857[_0x14cc59(0x42c,0x3bd)]['trails']['commandToExecute']['framebuffer']=_0x13f857['framebuffers'][_0x47c03c(0x1e1,0x21a)],_0x13f857['primitives']['trails'][_0x47c03c(0x21c,0x1ac)]['framebuffer']=_0x13f857['framebuffers']['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x550872,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4[_0x11e335(0x2c2,0x289)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){function _0x3b3791(_0x361710,_0x4778f1){return _0x11e335(_0x4778f1,_0x361710- -0x4a6);}function _0x3ccb5a(_0x1454d3,_0xb4d020){return _0x45f4e1(_0xb4d020- -0x146,_0x1454d3);}return _0x13f857[_0x3ccb5a(0x2bf,0x22e)][_0x3b3791(-0x25e,-0x1e7)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0x184a49(_0x4e30c4,_0x531ea6){return _0x45f4e1(_0x4e30c4- -0x360,_0x531ea6);}return _0x13f857['framebuffers']['nextTrails'][_0x184a49(0x5a,0xe3)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x25ea7a),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x394157),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':_0x568dd4,'depthMask':!![],'blending':_0x534659}),'framebuffer':undefined})};}}var getWind_frag=_0x455f78(0x2dc,0x323),updateSpeed_frag=_0x158a3f(-0x1e7,-0x26e),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='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[_0x455f78(0x1cc,0x1b6)];class ParticlesComputing{constructor(_0x27238e,_0x3b8185,_0x87dfd8,_0x520acd){function _0x465a6f(_0x4a9ff7,_0x47aab7){return _0x455f78(_0x47aab7-0x1d4,_0x4a9ff7);}this[_0x465a6f(0x366,0x3f9)]=_0x3b8185,this['createWindTextures'](_0x27238e,_0x3b8185),this['createParticlesTextures'](_0x27238e,_0x87dfd8,_0x520acd),this['createComputingPrimitives'](_0x3b8185,_0x87dfd8,_0x520acd);}['createWindTextures'](_0x44270f,_0x5a0fcc){const _0x56d4df={'context':_0x44270f,'width':_0x5a0fcc[_0x320552(0x320,0x2d4)]['lon'],'height':_0x5a0fcc[_0x354436(0x2d1,0x30f)]['lat']*(_0x5a0fcc[_0x354436(0x2d1,0x334)][_0x354436(0x31c,0x2cc)]||0x1),'pixelFormat':Cesium$3[_0x354436(0x283,0x315)][_0x320552(0x37d,0x320)],'pixelDatatype':Cesium$3[_0x354436(0x2d2,0x289)][_0x354436(0x2d9,0x32f)],'flipY':![],'sampler':new Cesium$3[(_0x320552(0x2cb,0x302))]({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};function _0x320552(_0x1b0b49,_0x5c00bf){return _0x158a3f(_0x1b0b49,_0x5c00bf-0x551);}function _0x354436(_0x9a5e2a,_0x4f929b){return _0x455f78(_0x9a5e2a-0x43,_0x4f929b);}this[_0x354436(0x24f,0x1e1)]={'U':Util['createTexture'](_0x56d4df,_0x5a0fcc['U'][_0x320552(0x28f,0x2af)]),'V':Util['createTexture'](_0x56d4df,_0x5a0fcc['V']['array'])};}[_0x158a3f(-0x289,-0x2fa)](_0x112da8,_0x5da343,_0x1d3c33){function _0x270e23(_0x166567,_0x2e77cc){return _0x158a3f(_0x2e77cc,_0x166567-0x3ee);}const _0x250e1b={'context':_0x112da8,'width':_0x5da343['particlesTextureSize'],'height':_0x5da343['particlesTextureSize'],'pixelFormat':Cesium$3[_0x262d94(0x152,0x171)]['RGBA'],'pixelDatatype':Cesium$3[_0x270e23(0x172,0x144)]['FLOAT'],'flipY':![],'sampler':new Cesium$3[(_0x270e23(0x19f,0x1ae))]({'minificationFilter':Cesium$3[_0x262d94(0x167,0x104)]['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter'][_0x270e23(0xaa,0xfa)]})},_0x34af7a=this[_0x262d94(0x124,0xac)](_0x5da343['maxParticles'],_0x1d3c33);function _0x262d94(_0x18e7fa,_0x1f2a80){return _0x158a3f(_0x1f2a80,_0x18e7fa-0x41d);}const _0x8fb0f2=new Float32Array(0x4*_0x5da343[_0x262d94(0x145,0xc9)])['fill'](0x0);this['particlesTextures']={'particlesWind':Util['createTexture'](_0x250e1b),'currentParticlesPosition':Util['createTexture'](_0x250e1b,_0x34af7a),'nextParticlesPosition':Util[_0x270e23(0xdb,0xc4)](_0x250e1b,_0x34af7a),'currentParticlesSpeed':Util['createTexture'](_0x250e1b,_0x8fb0f2),'nextParticlesSpeed':Util[_0x270e23(0xdb,0x153)](_0x250e1b,_0x8fb0f2),'postProcessingPosition':Util[_0x262d94(0x10a,0xd2)](_0x250e1b,_0x34af7a),'postProcessingSpeed':Util['createTexture'](_0x250e1b,_0x8fb0f2)};}[_0x455f78(0x212,0x21d)](_0x574c50,_0x3f3e25){function _0x43ba9b(_0x592c95,_0xa30aad){return _0x158a3f(_0x592c95,_0xa30aad-0x19a);}const _0x90665c=new Float32Array(0x4*_0x574c50);function _0x496bfd(_0x2b10cd,_0x45f41c){return _0x158a3f(_0x45f41c,_0x2b10cd- -0x10);}for(let _0x4f658d=0x0;_0x4f658d<_0x574c50;_0x4f658d++){_0x90665c[0x4*_0x4f658d]=Cesium$3['Math'][_0x496bfd(-0x2a4,-0x21f)](_0x3f3e25['lonRange']['x'],_0x3f3e25[_0x43ba9b(-0x4a,-0xcb)]['y']),_0x90665c[0x4*_0x4f658d+0x1]=Cesium$3['Math'][_0x43ba9b(-0xc6,-0xfa)](_0x3f3e25['latRange']['x'],_0x3f3e25['latRange']['y']),_0x90665c[0x4*_0x4f658d+0x2]=Cesium$3[_0x496bfd(-0x2fc,-0x2ed)][_0x43ba9b(-0x71,-0xfa)](this['data'][_0x496bfd(-0x242,-0x25c)]['min'],this['data'][_0x496bfd(-0x242,-0x1d2)][_0x496bfd(-0x270,-0x2cf)]),_0x90665c[0x4*_0x4f658d+0x3]=0x0;}return _0x90665c;}[_0x158a3f(-0x35d,-0x2fe)](){function _0x2cbac2(_0x5486f1,_0x433b27){return _0x158a3f(_0x433b27,_0x5486f1-0x2e5);}function _0x40da06(_0x12e862,_0x9b9262){return _0x455f78(_0x9b9262- -0x2bc,_0x12e862);}Object[_0x2cbac2(0x97,0xc9)](this[_0x40da06(-0x6e,-0x19)])['forEach'](_0x4210a1=>{this['particlesTextures'][_0x4210a1]['destroy']();});}['createComputingPrimitives'](_0x291f12,_0x2c3b52,_0x5ad9ab){const _0xdbb06d=new Cesium$3['Cartesian3'](_0x291f12['dimensions'][_0x1bcb5f(-0x7a,-0x105)],_0x291f12['dimensions'][_0x1bcb5f(-0x134,-0xbe)],_0x291f12[_0x13d5eb(0x7d,0x7a)][_0x1bcb5f(-0x100,-0xb6)]),_0x34e798=new Cesium$3['Cartesian3'](_0x291f12['lon']['min'],_0x291f12[_0x1bcb5f(-0x7f,-0xbe)]['min'],_0x291f12['lev']['min']),_0x456375=new Cesium$3[(_0x13d5eb(0x16,-0x3b))](_0x291f12[_0x1bcb5f(-0x13d,-0x105)]['max'],_0x291f12['lat'][_0x1bcb5f(-0xf8,-0xe4)],_0x291f12['lev']['max']),_0x42bac2=new Cesium$3['Cartesian3']((_0x456375['x']-_0x34e798['x'])/(_0xdbb06d['x']-0x1),(_0x456375['y']-_0x34e798['y'])/(_0xdbb06d['y']-0x1),_0xdbb06d['z']>0x1?(_0x456375['z']-_0x34e798['z'])/(_0xdbb06d['z']-0x1):0x1),_0x25e038=new Cesium$3['Cartesian2'](_0x291f12['U']['min'],_0x291f12['U']['max']),_0x52a02f=new Cesium$3[(_0x13d5eb(0x2,-0x81))](_0x291f12['V']['min'],_0x291f12['V']['max']),_0xef780c=this,_0x1ffda1={};_0x1ffda1['U']=function(){function _0x44a168(_0x53feb6,_0x36e276){return _0x13d5eb(_0x36e276-0x5d,_0x53feb6);}return _0xef780c[_0x44a168(0x4f,0x58)]['U'];},_0x1ffda1['V']=function(){function _0x465ee3(_0x46bcf9,_0x391943){return _0x13d5eb(_0x391943-0x62,_0x46bcf9);}return _0xef780c[_0x465ee3(-0x20,0x5d)]['V'];},_0x1ffda1[_0x1bcb5f(-0xf4,-0x188)]=function(){function _0x15ec61(_0x42f2c4,_0x4ee548){return _0x1bcb5f(_0x42f2c4,_0x4ee548-0x3b6);}function _0x938d07(_0x3aac87,_0x40c536){return _0x1bcb5f(_0x40c536,_0x3aac87-0x55a);}return _0xef780c[_0x15ec61(0x293,0x2ca)][_0x938d07(0x3d2,0x43f)];};function _0x1bcb5f(_0x361d29,_0x3443dd){return _0x455f78(_0x3443dd- -0x38f,_0x361d29);}_0x1ffda1['dimension']=function(){return _0xdbb06d;},_0x1ffda1[_0x13d5eb(-0x22,-0x42)]=function(){return _0x34e798;},_0x1ffda1['maximum']=function(){return _0x456375;},_0x1ffda1[_0x1bcb5f(-0x194,-0x1cd)]=function(){return _0x42bac2;};const _0x501257={};_0x501257['sources']=[getWind_frag];const _0x3c7b7a={};_0x3c7b7a[_0x1bcb5f(-0xfd,-0x160)]=[updateSpeed_frag];const _0x3ac34a={};_0x3ac34a[_0x1bcb5f(-0x133,-0x160)]=[updatePosition_frag];const _0x102911={};_0x102911[_0x1bcb5f(-0x1aa,-0x160)]=[postProcessingPosition_frag];const _0x5885d8={};_0x5885d8['sources']=[postProcessingSpeed_frag];function _0x13d5eb(_0x369d44,_0x291190){return _0x158a3f(_0x291190,_0x369d44-0x2fa);}this['primitives']={'getWind':new CustomPrimitive({'commandType':'Compute','uniformMap':_0x1ffda1,'fragmentShaderSource':new Cesium$3[(_0x13d5eb(-0x4e,-0xe1))](_0x501257),'outputTexture':this['particlesTextures'][_0x13d5eb(-0x29,-0xba)],'preExecute':function(){function _0x362d55(_0x527b40,_0x592b77){return _0x13d5eb(_0x592b77- -0x2f8,_0x527b40);}function _0x1e7c37(_0x1156f8,_0x39c9d6){return _0x13d5eb(_0x39c9d6-0x182,_0x1156f8);}_0xef780c[_0x1e7c37(0x12f,0x171)][_0x1e7c37(0x16a,0x1e2)]['commandToExecute'][_0x362d55(-0x1ba,-0x233)]=_0xef780c['particlesTextures']['particlesWind'];}}),'updateSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesSpeed':function(){return _0xef780c['particlesTextures']['currentParticlesSpeed'];},'particlesWind':function(){return _0xef780c['particlesTextures']['particlesWind'];},'uSpeedRange':function(){return _0x25e038;},'vSpeedRange':function(){return _0x52a02f;},'pixelSize':function(){return _0x5ad9ab['pixelSize'];},'speedFactor':function(){return _0x2c3b52['speedFactor'];}},'fragmentShaderSource':new Cesium$3[(_0x1bcb5f(-0x1dd,-0x1cc))](_0x3c7b7a),'outputTexture':this['particlesTextures']['nextParticlesSpeed'],'preExecute':function(){const _0x1b4daa=_0xef780c['particlesTextures']['currentParticlesSpeed'];function _0x5c57a1(_0x5c9395,_0x49384){return _0x13d5eb(_0x5c9395-0x4b5,_0x49384);}_0xef780c[_0x5c57a1(0x547,0x5da)][_0x5c57a1(0x500,0x58b)]=_0xef780c[_0x5c57a1(0x547,0x5cb)]['postProcessingSpeed'];function _0x4bcb6a(_0x520cd0,_0x403171){return _0x13d5eb(_0x520cd0- -0x1c4,_0x403171);}_0xef780c[_0x4bcb6a(-0x132,-0x100)][_0x5c57a1(0x570,0x4e0)]=_0x1b4daa,_0xef780c[_0x5c57a1(0x4a4,0x49c)][_0x5c57a1(0x4d6,0x4f7)]['commandToExecute']['outputTexture']=_0xef780c['particlesTextures']['nextParticlesSpeed'];}}),'updatePosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){function _0x5b3e04(_0x333565,_0x6aae5d){return _0x13d5eb(_0x333565- -0x176,_0x6aae5d);}function _0x1d1608(_0x2ad8bb,_0x43e434){return _0x1bcb5f(_0x2ad8bb,_0x43e434- -0x187);}return _0xef780c[_0x1d1608(-0x2ab,-0x273)][_0x1d1608(-0x305,-0x30f)];},'currentParticlesSpeed':function(){return _0xef780c['particlesTextures']['currentParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3[(_0x1bcb5f(-0x231,-0x1cc))](_0x3ac34a),'outputTexture':this['particlesTextures'][_0x13d5eb(-0x1b,-0x7b)],'preExecute':function(){const _0x200d72=_0xef780c[_0x4dc7f4(-0x247,-0x211)][_0x4dc7f4(-0x2e3,-0x344)];function _0x85e27a(_0xe9d255,_0x477b4d){return _0x13d5eb(_0x477b4d- -0xcd,_0xe9d255);}_0xef780c[_0x4dc7f4(-0x247,-0x28a)][_0x85e27a(-0x5e,-0xd7)]=_0xef780c['particlesTextures'][_0x85e27a(-0xa2,-0x1a)];function _0x4dc7f4(_0x130100,_0xc9348d){return _0x1bcb5f(_0xc9348d,_0x130100- -0x15b);}_0xef780c['particlesTextures']['postProcessingPosition']=_0x200d72,_0xef780c['primitives'][_0x4dc7f4(-0x24a,-0x229)]['commandToExecute'][_0x4dc7f4(-0x214,-0x2a8)]=_0xef780c[_0x4dc7f4(-0x247,-0x1dd)]['nextParticlesPosition'];}}),'postProcessingPosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){function _0x38276c(_0x160fbc,_0x5cce74){return _0x13d5eb(_0x5cce74-0x36c,_0x160fbc);}function _0x54d85a(_0x1ad6d9,_0x520e37){return _0x13d5eb(_0x520e37- -0xd8,_0x1ad6d9);}return _0xef780c[_0x38276c(0x3d6,0x3fe)][_0x54d85a(-0x159,-0xf3)];},'nextParticlesSpeed':function(){function _0x2a6dac(_0x48b0e7,_0x3ece90){return _0x1bcb5f(_0x3ece90,_0x48b0e7- -0x47);}return _0xef780c['particlesTextures'][_0x2a6dac(-0x19b,-0x1c3)];},'lonRange':function(){function _0x674e0(_0x4f450e,_0x132ab1){return _0x1bcb5f(_0x4f450e,_0x132ab1-0x102);}return _0x5ad9ab[_0x674e0(-0x5f,0x19)];},'latRange':function(){function _0x1a06cc(_0x57b104,_0x54d65e){return _0x13d5eb(_0x54d65e-0x479,_0x57b104);}return _0x5ad9ab[_0x1a06cc(0x466,0x445)];},'randomCoefficient':function(){function _0x405f1c(_0x126791,_0x3d9c9d){return _0x13d5eb(_0x126791- -0x24c,_0x3d9c9d);}const _0x5d1d41=Math[_0x405f1c(-0x1e3,-0x179)]();return _0x5d1d41;},'dropRate':function(){return _0x2c3b52['dropRate'];},'dropRateBump':function(){return _0x2c3b52['dropRateBump'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x102911),'outputTexture':this['particlesTextures'][_0x13d5eb(0xb3,0x101)],'preExecute':function(){function _0xd7062e(_0xfbd4d3,_0x197ab5){return _0x13d5eb(_0xfbd4d3- -0x29a,_0x197ab5);}function _0x1d9758(_0x573750,_0x1b9e18){return _0x1bcb5f(_0x1b9e18,_0x573750- -0x39);}_0xef780c[_0xd7062e(-0x2ab,-0x2ad)]['postProcessingPosition']['commandToExecute'][_0x1d9758(-0xf2,-0x133)]=_0xef780c['particlesTextures']['postProcessingPosition'];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){return _0xef780c['particlesTextures']['postProcessingPosition'];},'nextParticlesSpeed':function(){function _0x4b323a(_0x4bcc54,_0x39bfec){return _0x1bcb5f(_0x39bfec,_0x4bcc54-0x5fd);}function _0x14e1cc(_0x56f9b6,_0x196a28){return _0x1bcb5f(_0x196a28,_0x56f9b6-0x319);}return _0xef780c[_0x4b323a(0x511,0x503)][_0x4b323a(0x4a9,0x4aa)];}},'fragmentShaderSource':new Cesium$3[(_0x13d5eb(-0x4e,-0x33))](_0x5885d8),'outputTexture':this['particlesTextures'][_0x13d5eb(0xbb,0x6d)],'preExecute':function(){function _0xaee7bd(_0x1fb957,_0x4fa7de){return _0x1bcb5f(_0x1fb957,_0x4fa7de-0x340);}function _0x5c1e6d(_0x497507,_0xf2fd56){return _0x13d5eb(_0xf2fd56- -0x2d,_0x497507);}_0xef780c['primitives'][_0xaee7bd(0x219,0x27d)]['commandToExecute'][_0x5c1e6d(0xe7,0x98)]=_0xef780c[_0x5c1e6d(0x68,0x65)][_0xaee7bd(0x285,0x27d)];}})};}}const Cesium$2=mars3d__namespace['Cesium'];class ParticleSystem{constructor(_0x108307,_0x37e5b3,_0x1f3dcc,_0x593b0f){this['context']=_0x108307,_0x37e5b3={..._0x37e5b3};_0x37e5b3[_0x496d1e(0x3d5,0x3ff)]&&_0x37e5b3[_0x496d1e(0x3f0,0x3f8)]&&(_0x37e5b3[_0x1b7585(-0x123,-0x119)]={},_0x37e5b3[_0x496d1e(0x414,0x3de)][_0x496d1e(0x452,0x3da)]=_0x37e5b3[_0x496d1e(0x395,0x3d1)],_0x37e5b3[_0x496d1e(0x448,0x3de)]['lat']=_0x37e5b3[_0x496d1e(0x3bf,0x332)],_0x37e5b3[_0x496d1e(0x44b,0x3de)]['lev']=_0x37e5b3['lev']||0x1,_0x37e5b3[_0x496d1e(0x34e,0x3da)]={},_0x37e5b3[_0x496d1e(0x3b8,0x3da)]['min']=_0x37e5b3[_0x496d1e(0x328,0x35b)],_0x37e5b3['lon']['max']=_0x37e5b3[_0x1b7585(-0x20b,-0x1aa)],_0x37e5b3[_0x1b7585(-0x11b,-0xd6)]={},_0x37e5b3[_0x1b7585(-0xf3,-0xd6)][_0x496d1e(0x408,0x3f2)]=_0x37e5b3['ymin'],_0x37e5b3[_0x496d1e(0x49d,0x421)]['max']=_0x37e5b3['ymax'],_0x37e5b3['lev']={},_0x37e5b3[_0x1b7585(-0x82,-0xce)][_0x496d1e(0x462,0x3f2)]=_0x37e5b3['levmin']??0x1,_0x37e5b3['lev'][_0x1b7585(-0x12d,-0xfc)]=_0x37e5b3['levmax']??0x1,_0x37e5b3['U']={},_0x37e5b3['U'][_0x496d1e(0x328,0x3b9)]=new Float32Array(_0x37e5b3['udata']),_0x37e5b3['U']['min']=_0x37e5b3[_0x1b7585(-0x9e,-0x121)]??Math[_0x496d1e(0x466,0x3f2)](..._0x37e5b3['udata']),_0x37e5b3['U']['max']=_0x37e5b3['umax']??Math[_0x496d1e(0x40d,0x3fb)](..._0x37e5b3['udata']),_0x37e5b3['V']={},_0x37e5b3['V'][_0x496d1e(0x406,0x3b9)]=new Float32Array(_0x37e5b3['vdata']),_0x37e5b3['V']['min']=_0x37e5b3['vmin']??Math['min'](..._0x37e5b3['vdata']),_0x37e5b3['V']['max']=_0x37e5b3['vmax']??Math['max'](..._0x37e5b3['vdata']));function _0x1b7585(_0x3cdf5e,_0x5e4678){return _0x455f78(_0x5e4678- -0x3a7,_0x3cdf5e);}this['data']=_0x37e5b3,this['options']=_0x1f3dcc;function _0x496d1e(_0x288eb0,_0x5be877){return _0x455f78(_0x5be877-0x150,_0x288eb0);}this[_0x1b7585(-0xaf,-0xf3)]=_0x593b0f,this[_0x496d1e(0x3fc,0x3c5)]=new ParticlesComputing(this['context'],this['data'],this[_0x1b7585(-0x15a,-0x14e)],this['viewerParameters']),this[_0x1b7585(-0x1f1,-0x1e1)]=new ParticlesRendering(this['context'],this['data'],this[_0x496d1e(0x368,0x3a9)],this['viewerParameters'],this['particlesComputing']);}['canvasResize'](_0x2020a7){this['particlesComputing']['destroyParticlesTextures']();function _0x94e718(_0x36111f,_0x586bdf){return _0x455f78(_0x36111f- -0x2f9,_0x586bdf);}function _0x352a2b(_0x264061,_0x57ad35){return _0x455f78(_0x264061- -0x363,_0x57ad35);}Object[_0x352a2b(-0xa6,-0x3e)](this[_0x94e718(-0x84,-0x28)]['windTextures'])['forEach'](_0x49435c=>{function _0x4e3a8c(_0x209e0a,_0x29dbf6){return _0x94e718(_0x209e0a-0xb,_0x29dbf6);}this['particlesComputing'][_0x4e3a8c(-0xe2,-0x8c)][_0x49435c]['destroy']();}),this['particlesRendering']['textures']['colorTable'][_0x352a2b(-0x10f,-0x9e)](),Object['keys'](this[_0x94e718(-0x133,-0xa4)]['framebuffers'])[_0x94e718(-0x110,-0x16c)](_0x3b4bf3=>{function _0x57fb07(_0x4a0b73,_0x37c391){return _0x94e718(_0x4a0b73-0x316,_0x37c391);}this['particlesRendering'][_0x57fb07(0x2b8,0x321)][_0x3b4bf3]['destroy']();}),this[_0x94e718(-0x37,-0x26)]=_0x2020a7,this['particlesComputing']=new ParticlesComputing(this[_0x352a2b(-0xa1,-0x77)],this[_0x352a2b(-0x13e,-0x157)],this[_0x352a2b(-0x10a,-0x112)],this['viewerParameters']),this[_0x352a2b(-0x19d,-0x144)]=new ParticlesRendering(this['context'],this['data'],this[_0x94e718(-0xa0,-0x5e)],this['viewerParameters'],this[_0x94e718(-0x84,0x1)]);}['clearFramebuffers'](){function _0x47751e(_0x3d0f39,_0x5a406e){return _0x455f78(_0x3d0f39- -0x343,_0x5a406e);}function _0x38bb5f(_0x3b2382,_0x37b6b6){return _0x455f78(_0x37b6b6- -0x167,_0x3b2382);}const _0x4fb0b9=new Cesium$2['ClearCommand']({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2['Pass'][_0x38bb5f(0x6b,0xd0)]});Object[_0x47751e(-0x86,-0xaa)](this['particlesRendering'][_0x47751e(-0xa8,-0xc5)])[_0x38bb5f(0x45,0x82)](_0x592cdd=>{function _0x4f10ff(_0x13f674,_0x4cd1e2){return _0x47751e(_0x13f674-0xc1,_0x4cd1e2);}_0x4fb0b9[_0x4f10ff(-0x87,-0x5d)]=this['particlesRendering'][_0x36f445(0x53b,0x546)][_0x592cdd];function _0x36f445(_0xa426c,_0x122b7d){return _0x38bb5f(_0x122b7d,_0xa426c-0x407);}_0x4fb0b9[_0x36f445(0x507,0x482)](this['context']);});}['refreshParticles'](_0x5d1a72){function _0x4fd70f(_0x5d96f2,_0x7de215){return _0x158a3f(_0x5d96f2,_0x7de215-0x1c8);}this['clearFramebuffers'](),this[_0x5d53cc(0x20b,0x1cc)]['destroyParticlesTextures'](),this['particlesComputing']['createParticlesTextures'](this['context'],this['options'],this['viewerParameters']);function _0x5d53cc(_0xb77133,_0x376b26){return _0x455f78(_0xb77133- -0x6a,_0x376b26);}if(_0x5d1a72){var _0x35a598;const _0x2ab01=this['particlesRendering']['createSegmentsGeometry'](this[_0x4fd70f(-0xca,-0xea)]);this[_0x5d53cc(0x15c,0xd6)]['primitives'][_0x4fd70f(-0x14f,-0xfe)]['geometry']=_0x2ab01;const _0x492fbb=Cesium$2[_0x5d53cc(0x1bf,0x15b)][_0x5d53cc(0x259,0x26a)]({'context':this['context'],'geometry':_0x2ab01,'attributeLocations':this[_0x4fd70f(-0x160,-0x17d)]['primitives']['segments']['attributeLocations'],'bufferUsage':Cesium$2['BufferUsage']['STATIC_DRAW']});(_0x35a598=this[_0x4fd70f(-0x19c,-0x17d)]['primitives'])!==null&&_0x35a598!==void 0x0&&(_0x35a598=_0x35a598['segments'])!==null&&_0x35a598!==void 0x0&&_0x35a598['commandToExecute']&&(this[_0x5d53cc(0x15c,0x1e3)]['primitives'][_0x4fd70f(-0x135,-0xfe)][_0x4fd70f(-0x12d,-0x117)]['vertexArray']=_0x492fbb);}}['setOptions'](_0x3cc7d2){let _0x1820f4=![];function _0x7407b4(_0x5b2f56,_0x567578){return _0x158a3f(_0x567578,_0x5b2f56-0x58f);}this['options'][_0x427dbe(-0x10b,-0x172)]!==_0x3cc7d2[_0x7407b4(0x2b7,0x340)]&&(_0x1820f4=!![]);Object['keys'](_0x3cc7d2)['forEach'](_0x1a188d=>{this['options'][_0x1a188d]=_0x3cc7d2[_0x1a188d];});function _0x427dbe(_0x4e4123,_0x1b7fd6){return _0x455f78(_0x4e4123- -0x33e,_0x1b7fd6);}this['refreshParticles'](_0x1820f4);}['applyViewerParameters'](_0x25c735){function _0x232492(_0x280512,_0x131deb){return _0x455f78(_0x131deb- -0x350,_0x280512);}Object[_0x232492(-0xe,-0x93)](_0x25c735)[_0x232492(-0x153,-0x167)](_0x29eef0=>{function _0x35a557(_0x5b6030,_0x26b9ad){return _0x232492(_0x26b9ad,_0x5b6030- -0x157);}this[_0x35a557(-0x1f3,-0x1cc)][_0x29eef0]=_0x25c735[_0x29eef0];});function _0x24fd08(_0x258175,_0x414219){return _0x158a3f(_0x414219,_0x258175-0x2e);}this[_0x232492(-0x1dd,-0x166)](![]);}['destroy'](){clearTimeout(this[_0x350c41(0x5d,-0x1e)]),this[_0x634fca(0x38e,0x3e0)]['destroyParticlesTextures']();function _0x350c41(_0x4d097f,_0x4b682b){return _0x158a3f(_0x4b682b,_0x4d097f-0x315);}Object[_0x634fca(0x3d6,0x3bf)](this['particlesComputing']['windTextures'])['forEach'](_0x169081=>{this['particlesComputing']['windTextures'][_0x169081]['destroy']();}),this['particlesRendering']['textures']['colorTable']['destroy'](),Object['keys'](this[_0x634fca(0x2df,0x271)]['framebuffers'])[_0x350c41(-0xd,-0x57)](_0xd8988c=>{function _0x152c2e(_0x94bcf8,_0x39c713){return _0x634fca(_0x94bcf8- -0x618,_0x39c713);}function _0x2125a2(_0x1d6a66,_0x298d7d){return _0x350c41(_0x1d6a66- -0x167,_0x298d7d);}this[_0x152c2e(-0x339,-0x3b9)]['framebuffers'][_0xd8988c][_0x152c2e(-0x2ab,-0x2d1)]();});function _0x634fca(_0x1792cb,_0x5d4d63){return _0x158a3f(_0x5d4d63,_0x1792cb-0x624);}for(const _0x2d4186 in this){delete this[_0x2d4186];}}}const Cesium$1=mars3d__namespace['Cesium'],BaseLayer$1=mars3d__namespace['layer']['BaseLayer'],_0x233799={};function _0x158a3f(_0xe90f3e,_0x18747d){return _0x4fd8(_0x18747d- -0x3c7,_0xe90f3e);}_0x233799['particlesNumber']=0x1000,_0x233799['fixedHeight']=0x0,_0x233799[_0x455f78(0x22b,0x254)]=0.996,_0x233799[_0x455f78(0x1c8,0x257)]=0.003,_0x233799[_0x455f78(0x2d5,0x343)]=0.01,_0x233799['speedFactor']=0.5,_0x233799[_0x455f78(0x27b,0x22d)]=0x2,_0x233799['colors']=['rgb(206,255,255)'];const DEF_OPTIONS=_0x233799;class WindLayer extends BaseLayer$1{constructor(_0x2faff3={}){_0x2faff3={...DEF_OPTIONS,..._0x2faff3},super(_0x2faff3),this['_setOptionsHook'](_0x2faff3);}get['layer'](){return this['primitives'];}get['data'](){function _0x45782b(_0x1581f5,_0xee5174){return _0x455f78(_0xee5174- -0x18f,_0x1581f5);}return this[_0x45782b(0x6,0x4b)];}set[_0x455f78(0x225,0x279)](_0x1c77c2){this['setData'](_0x1c77c2);}get[_0x158a3f(-0x25a,-0x295)](){function _0x26aa2e(_0x363ec2,_0x3e2a67){return _0x455f78(_0x363ec2- -0x4ac,_0x3e2a67);}return this['options'][_0x26aa2e(-0x236,-0x23b)];}set['colors'](_0x273e92){function _0x162143(_0x364962,_0x5c6c10){return _0x455f78(_0x364962- -0x1aa,_0x5c6c10);}this['options'][_0x162143(0xcc,0x61)]=_0x273e92;function _0x1ee764(_0x114e01,_0x1352f9){return _0x158a3f(_0x114e01,_0x1352f9-0x668);}if(this['particleSystem']){const _0x57489c={};_0x57489c[_0x162143(0xcc,0x73)]=_0x273e92,this[_0x1ee764(0x403,0x402)][_0x162143(0xa3,0x133)](_0x57489c);}this['resize']();}[_0x158a3f(-0x2c3,-0x324)](){}[_0x158a3f(-0x30a,-0x338)](){this['scene']=this['_map'][_0x41c155(0xee,0xa6)],this[_0x41c155(0x1c,0x5b)]=this[_0x41c155(0x8c,0x94)]['camera'];function _0x41c155(_0x43f09c,_0x56f693){return _0x455f78(_0x56f693- -0x22c,_0x43f09c);}this[_0x41c155(0x32,-0x2c)]=new Cesium$1['PrimitiveCollection'](),this['_map'][_0x261c43(0xe0,0xe6)]['primitives']['add'](this['primitives']),this[_0x261c43(0xc2,0xb5)]={'lonRange':new Cesium$1['Cartesian2'](),'latRange':new Cesium$1[(_0x261c43(0x21,0xac))](),'pixelSize':0x0},this[_0x261c43(0xa5,0x99)]=new Cesium$1[(_0x261c43(0x68,0xc9))](Cesium$1[_0x261c43(0x35,0x5)]['ZERO'],0.99*0x615299),this['updateViewerParameters'](),window[_0x261c43(0x7e,0x29)]('resize',this[_0x41c155(0x3c,-0x4b)]['bind'](this),![]),this['mouse_down']=![],this[_0x261c43(0x65,0x27)]=![],this['_map']['on'](mars3d__namespace['EventType'][_0x41c155(0x3,-0xa)],this['_onMapWhellEvent'],this);function _0x261c43(_0x357e1c,_0x1f7245){return _0x158a3f(_0x1f7245,_0x357e1c-0x319);}this['_map']['on'](mars3d__namespace['EventType']['mouseDown'],this['_onMouseDownEvent'],this),this[_0x41c155(0x51,0x94)]['on'](mars3d__namespace['EventType']['mouseUp'],this['_onMouseUpEvent'],this),this[_0x261c43(0xce,0xf7)]['on'](mars3d__namespace['EventType'][_0x41c155(-0x1b,-0x55)],this['_onMouseMoveEvent'],this),this['_data']&&this['setData'](this[_0x261c43(-0x18,0x3d)]);}['_removedHook'](){function _0x18789d(_0x1048b5,_0x236766){return _0x455f78(_0x236766- -0x360,_0x1048b5);}window['removeEventListener']('resize',this[_0x18789d(-0x1a4,-0x17f)]),this['_map'][_0x35f8b2(-0x23c,-0x231)](mars3d__namespace[_0x18789d(-0x74,-0xce)][_0x35f8b2(-0x2df,-0x2a4)],this['_onMap_preRenderEvent'],this),this[_0x35f8b2(-0x250,-0x1c2)]['off'](mars3d__namespace[_0x18789d(-0x88,-0xce)][_0x18789d(-0xee,-0x13e)],this['_onMapWhellEvent'],this),this[_0x18789d(-0x10e,-0xa0)]['off'](mars3d__namespace[_0x18789d(-0x91,-0xce)]['mouseDown'],this['_onMouseDownEvent'],this),this[_0x35f8b2(-0x176,-0x1c2)][_0x18789d(-0xb5,-0x10f)](mars3d__namespace['EventType']['mouseUp'],this[_0x35f8b2(-0x293,-0x2a7)],this);function _0x35f8b2(_0x39d064,_0x3e1c6a){return _0x158a3f(_0x39d064,_0x3e1c6a-0x89);}this[_0x35f8b2(-0x193,-0x1c2)]['off'](mars3d__namespace[_0x18789d(-0x83,-0xce)][_0x35f8b2(-0x224,-0x2ab)],this[_0x18789d(-0x1ac,-0x150)],this),this['primitives']['removeAll'](),this['_map']['scene']['primitives']['remove'](this['primitives']);}[_0x158a3f(-0x394,-0x32a)](){if(!this[_0x1cba69(-0x2f,0x19)]||!this['particleSystem'])return;function _0x1cba69(_0x569558,_0x1d8414){return _0x455f78(_0x1d8414- -0x291,_0x569558);}this['primitives']['show']=![],this[_0x1cba69(-0x7c,-0x91)]['removeAll']();function _0x1594c8(_0x51c836,_0x5b0151){return _0x455f78(_0x51c836- -0x2a1,_0x5b0151);}this['_map']['once'](mars3d__namespace['EventType']['preRender'],this[_0x1cba69(-0xee,-0x60)],this);}[_0x455f78(0x231,0x1e8)](_0x15a94a){function _0x552610(_0x45c75b,_0xfb7ea1){return _0x455f78(_0xfb7ea1- -0xe8,_0x45c75b);}function _0x5ca314(_0x5f517b,_0x14a05d){return _0x158a3f(_0x14a05d,_0x5f517b-0x79);}this['particleSystem']['canvasResize'](this['scene']['context']),this[_0x552610(0x206,0x1fc)](),this[_0x552610(0x137,0x118)]['show']=!![];}[_0x158a3f(-0x257,-0x273)](_0x25f326){clearTimeout(this[_0x187723(0x3a0,0x38e)]);function _0x14f02a(_0x40df54,_0x141572){return _0x455f78(_0x141572-0x101,_0x40df54);}function _0x187723(_0x26e5d6,_0x56ee96){return _0x455f78(_0x56ee96-0x19a,_0x26e5d6);}if(!this[_0x187723(0x437,0x444)]||!this['particleSystem'])return;this['primitives']['show']=![],this['refreshTimer']=setTimeout(()=>{if(!this['show'])return;this['redraw']();},0xc8);}['_onMouseDownEvent'](_0x3b7d0c){function _0x4702a(_0x130b14,_0x9a6913){return _0x158a3f(_0x9a6913,_0x130b14-0x398);}this[_0x4702a(0x8e,0x5e)]=!![];}['_onMouseMoveEvent'](_0x55eb47){if(!this['show']||!this['particleSystem'])return;function _0x4d2fbd(_0x2c017a,_0x3fc224){return _0x455f78(_0x3fc224- -0x2d3,_0x2c017a);}function _0x4cf6ed(_0x414ca0,_0x3d1775){return _0x158a3f(_0x414ca0,_0x3d1775-0xd4);}this[_0x4cf6ed(-0x29a,-0x236)]&&(this[_0x4cf6ed(-0x24a,-0x237)]['show']=![],this['mouse_move']=!![]);}['_onMouseUpEvent'](_0xa39d81){if(!this['show']||!this[_0x1844ed(0x4f1,0x4f3)])return;this['mouse_down']&&this[_0x1844ed(0x488,0x4a5)]&&this[_0x520660(-0x1a5,-0x1b0)]();function _0x520660(_0x21df1b,_0x3d11a5){return _0x455f78(_0x21df1b- -0x44e,_0x3d11a5);}this['primitives']['show']=!![],this['mouse_down']=![];function _0x1844ed(_0x26ae43,_0x43b8fe){return _0x455f78(_0x43b8fe-0x24e,_0x26ae43);}this['mouse_move']=![];}[_0x455f78(0x2a9,0x29e)](){function _0x413c68(_0x250a1e,_0x45ce56){return _0x158a3f(_0x45ce56,_0x250a1e-0x58);}if(!this['_map']||!this[_0x38b505(0x68,0x1f)])return;function _0x38b505(_0xe51a59,_0x1b69c2){return _0x158a3f(_0xe51a59,_0x1b69c2-0x280);}this[_0x38b505(0x8b,0x3e)](),this['particleSystem'][_0x38b505(-0x12b,-0xb5)](this['viewerParameters']),this[_0x38b505(-0x23,-0x8b)][_0x38b505(-0x5,0x1f)]=!![];}['setData'](_0x6ca4c2){this['_data']=_0x6ca4c2;function _0x4094e8(_0x4edfd3,_0x1bb6ce){return _0x455f78(_0x1bb6ce-0xb4,_0x4edfd3);}this['particleSystem']&&this['particleSystem'][_0x3ca6ae(-0x1c3,-0x195)]();function _0x3ca6ae(_0x430564,_0x5da1d1){return _0x158a3f(_0x5da1d1,_0x430564-0xf4);}this[_0x4094e8(0x38e,0x359)]=new ParticleSystem(this[_0x3ca6ae(-0x145,-0x12d)][_0x4094e8(0x2e9,0x376)],_0x6ca4c2,this['getOptions'](),this[_0x3ca6ae(-0x163,-0x112)]),this['addPrimitives']();}['_setOptionsHook'](_0x55a9b2,_0x1098be){if(_0x55a9b2)for(const _0x2bf51e in _0x55a9b2){this[_0x2bf51e]=_0x55a9b2[_0x2bf51e];}function _0x3f2703(_0x10392a,_0x42caad){return _0x158a3f(_0x10392a,_0x42caad-0x1d3);}this['particleSystem']&&this['particleSystem']['setOptions'](this[_0x3f2703(-0xe4,-0x8a)]());}[_0x455f78(0x2ae,0x33a)](){const _0x41e602=Math['ceil'](Math['sqrt'](this['particlesNumber']));this[_0x59d0b4(0x6d,0x42)]=_0x41e602*_0x41e602;const _0x16727b={};_0x16727b['particlesTextureSize']=_0x41e602,_0x16727b['maxParticles']=this['particlesNumber'],_0x16727b[_0x59d0b4(0x101,0x142)]=this['fixedHeight'],_0x16727b['fadeOpacity']=this['fadeOpacity'],_0x16727b['dropRate']=this[_0x59d0b4(-0x15,0x4c)],_0x16727b['dropRateBump']=this['dropRateBump'];function _0x2e4cf7(_0x10979b,_0x161a7f){return _0x455f78(_0x10979b-0x5b,_0x161a7f);}function _0x59d0b4(_0x5eaa54,_0x25d9c0){return _0x455f78(_0x5eaa54- -0x1dd,_0x25d9c0);}return _0x16727b[_0x59d0b4(0x62,-0x2c)]=this['speedFactor'],_0x16727b['lineWidth']=this['lineWidth'],_0x16727b['colors']=this['colors'],_0x16727b;}['addPrimitives'](){this['primitives']['add'](this['particleSystem']['particlesComputing'][_0x171a57(0xea,0x10a)][_0x7ae97a(0x41c,0x440)]),this['primitives'][_0x171a57(0x10d,0x131)](this[_0x7ae97a(0x450,0x4b7)][_0x171a57(0x15f,0x1c2)][_0x7ae97a(0x3ab,0x31a)][_0x171a57(0x11c,0x15a)]),this[_0x171a57(0xea,0x81)]['add'](this[_0x7ae97a(0x450,0x447)]['particlesComputing']['primitives']['updatePosition']),this['primitives'][_0x7ae97a(0x3ce,0x357)](this['particleSystem']['particlesComputing']['primitives']['postProcessingPosition']);function _0x7ae97a(_0x6e5078,_0x256ad5){return _0x158a3f(_0x256ad5,_0x6e5078-0x6b6);}this['primitives']['add'](this['particleSystem']['particlesComputing'][_0x7ae97a(0x3ab,0x418)]['postProcessingSpeed']),this[_0x171a57(0xea,0x131)]['add'](this['particleSystem']['particlesRendering']['primitives']['segments']),this['primitives'][_0x7ae97a(0x3ce,0x383)](this['particleSystem']['particlesRendering'][_0x7ae97a(0x3ab,0x386)]['trails']);function _0x171a57(_0x5eed1c,_0xe2b0bc){return _0x158a3f(_0xe2b0bc,_0x5eed1c-0x3f5);}this[_0x171a57(0xea,0x61)][_0x171a57(0x10d,0xe4)](this[_0x171a57(0x18f,0x1bc)]['particlesRendering'][_0x7ae97a(0x3ab,0x33b)]['screen']);}['updateViewerParameters'](){let _0xdfd8cf=this[_0x59679f(-0x1e8,-0x163)]['computeViewRectangle'](this['scene'][_0x17cbc6(-0x2a1,-0x214)]['ellipsoid']);if(!_0xdfd8cf){const _0x5d6308=this[_0x17cbc6(-0x1f5,-0x1e0)][_0x59679f(-0xbf,-0x123)]();_0xdfd8cf=Cesium$1[_0x59679f(-0x136,-0x1ac)][_0x17cbc6(-0x295,-0x321)](_0x5d6308[_0x17cbc6(-0x2aa,-0x228)],_0x5d6308['ymin'],_0x5d6308['xmax'],_0x5d6308['ymax']);}const _0x592abe=Util['viewRectangleToLonLatRange'](_0xdfd8cf);this['viewerParameters']['lonRange']['x']=_0x592abe['lon']['min'],this['viewerParameters'][_0x17cbc6(-0x20f,-0x1f6)]['y']=_0x592abe['lon'][_0x17cbc6(-0x20a,-0x1c3)],this['viewerParameters'][_0x59679f(-0x1a3,-0x20d)]['x']=_0x592abe['lat'][_0x17cbc6(-0x213,-0x18b)],this['viewerParameters']['latRange']['y']=_0x592abe[_0x59679f(-0xb0,-0x119)][_0x17cbc6(-0x20a,-0x26a)];const _0x7b6396=this['camera'][_0x17cbc6(-0x1fd,-0x1d0)](this[_0x59679f(-0xe4,-0x153)],this['scene']['drawingBufferWidth'],this['scene'][_0x59679f(-0x1a4,-0x131)]);function _0x59679f(_0xab9c19,_0x2fb392){return _0x158a3f(_0xab9c19,_0x2fb392-0x121);}function _0x17cbc6(_0x427a44,_0x163d24){return _0x158a3f(_0x163d24,_0x427a44-0x56);}_0x7b6396>0x0&&(this['viewerParameters']['pixelSize']=_0x7b6396);}}mars3d__namespace[_0x158a3f(-0x2d3,-0x29c)][_0x455f78(0x224,0x1cd)](_0x158a3f(-0x273,-0x2b0),WindLayer),mars3d__namespace[_0x455f78(0x1f7,0x21c)]['WindLayer']=WindLayer;class CanvasParticle{constructor(){this['lng']=null,this[_0x90a565(0x31,0x91)]=null,this['tlng']=null;function _0x34b00c(_0x5c52ba,_0xf154c8){return _0x455f78(_0xf154c8- -0xad,_0x5c52ba);}function _0x90a565(_0x2b82ba,_0x3eb06d){return _0x158a3f(_0x2b82ba,_0x3eb06d-0x2cb);}this['tlat']=null,this[_0x34b00c(0x18a,0x19e)]=null,this[_0x34b00c(0xe7,0x16a)]=null;}['destroy'](){for(const _0x510730 in this){delete this[_0x510730];}}}class CanvasWindField{constructor(_0x50da1f){this['setOptions'](_0x50da1f);}get[_0x158a3f(-0x24b,-0x259)](){return this['_speedRate'];}set['speedRate'](_0x58e38f){this[_0xe6f392(0x2b4,0x325)]=(0x64-(_0x58e38f>0x63?0x63:_0x58e38f))*0x64;function _0x2a2790(_0x1d009e,_0x607332){return _0x455f78(_0x607332- -0xcf,_0x1d009e);}function _0xe6f392(_0x5e747e,_0x5a8296){return _0x158a3f(_0x5e747e,_0x5a8296-0x5ed);}this['_calc_speedRate']=[(this['xmax']-this['xmin'])/this['_speedRate'],(this['ymax']-this[_0x2a2790(0x1ae,0x122)])/this['_speedRate']];}get['maxAge'](){return this['_maxAge'];}set['maxAge'](_0x124b17){function _0x327b66(_0x4a3a28,_0x58c581){return _0x455f78(_0x4a3a28-0x1bd,_0x58c581);}this[_0x327b66(0x491,0x4e1)]=_0x124b17;}[_0x455f78(0x24d,0x294)](_0x72635e){this['options']=_0x72635e,this[_0x2b44d0(-0x1a8,-0x1c4)]=_0x72635e['maxAge']||0x78,this['speedRate']=_0x72635e[_0x2b44d0(-0x165,-0xee)]||0x32,this['particles']=[];function _0x2b44d0(_0x26dd20,_0x3a4db5){return _0x455f78(_0x3a4db5- -0x3a0,_0x26dd20);}function _0x3e23f7(_0x4714aa,_0x18c92e){return _0x455f78(_0x18c92e- -0x467,_0x4714aa);}const _0x570245=_0x72635e[_0x2b44d0(-0xf4,-0x156)]||0x1000;for(let _0x8a6c3b=0x0;_0x8a6c3b<_0x570245;_0x8a6c3b++){const _0x900edf=this[_0x2b44d0(-0xe7,-0x12d)](new CanvasParticle());this['particles'][_0x3e23f7(-0x25b,-0x1fc)](_0x900edf);}}['setDate'](_0xd60fcb){this['rows']=_0xd60fcb['rows'],this['cols']=_0xd60fcb['cols'],this['xmin']=_0xd60fcb[_0x2d7cca(-0x298,-0x31a)],this[_0x2d7cca(-0x2a6,-0x327)]=_0xd60fcb['xmax'],this['ymin']=_0xd60fcb['ymin'],this['ymax']=_0xd60fcb[_0x3d8242(0x165,0x1cd)],this[_0x2d7cca(-0x2e5,-0x28d)]=[];const _0x49705d=_0xd60fcb['udata'];function _0x2d7cca(_0x23b6cb,_0x532198){return _0x158a3f(_0x532198,_0x23b6cb-0x68);}const _0x299965=_0xd60fcb[_0x3d8242(0x21c,0x218)];function _0x3d8242(_0xecfafe,_0x3de3a6){return _0x158a3f(_0xecfafe,_0x3de3a6-0x47b);}let _0x2903b3=![];_0x49705d['length']===this['rows']&&_0x49705d[0x0]['length']===this['cols']&&(_0x2903b3=!![]);let _0x45164d=0x0,_0x16688e=null,_0x27bc71=null;for(let _0xf0d273=0x0;_0xf0d273<this[_0x3d8242(0x1a4,0x152)];_0xf0d273++){_0x16688e=[];for(let _0x5837c3=0x0;_0x5837c3<this[_0x3d8242(0x1a9,0x1f1)];_0x5837c3++,_0x45164d++){_0x2903b3?_0x27bc71=this['_calcUV'](_0x49705d[_0xf0d273][_0x5837c3],_0x299965[_0xf0d273][_0x5837c3]):_0x27bc71=this[_0x3d8242(0x1e8,0x15c)](_0x49705d[_0x45164d],_0x299965[_0x45164d]),_0x16688e[_0x2d7cca(-0x238,-0x1d8)](_0x27bc71);}this['grid'][_0x2d7cca(-0x238,-0x22d)](_0x16688e);}this[_0x2d7cca(-0x24a,-0x2d7)]['reverseY']&&this[_0x3d8242(0x180,0x12e)]['reverse']();}['clear'](){delete this['rows'],delete this['cols'],delete this[_0x3a9f9c(0x2d0,0x305)],delete this['xmax'];function _0x3a9f9c(_0x49ac9e,_0x358735){return _0x158a3f(_0x49ac9e,_0x358735-0x605);}delete this[_0x3a9f9c(0x2a8,0x2eb)];function _0x4ec2b2(_0x166dad,_0x2ba958){return _0x158a3f(_0x2ba958,_0x166dad-0x6bd);}delete this['ymax'],delete this['grid'],delete this['particles'];}['toGridXY'](_0x5666aa,_0x5850bb){const _0x32bad9=(_0x5666aa-this['xmin'])/(this[_0x3a4721(-0x11e,-0x117)]-this[_0x3a4721(-0x110,-0x109)])*(this[_0x4c928e(0x1f,0x92)]-0x1);function _0x3a4721(_0x2e2898,_0x1d2ba5){return _0x158a3f(_0x2e2898,_0x1d2ba5-0x1f7);}function _0x4c928e(_0x1a9005,_0x52bb94){return _0x455f78(_0x52bb94- -0x1ef,_0x1a9005);}const _0x511e5a=(this['ymax']-_0x5850bb)/(this['ymax']-this['ymin'])*(this['rows']-0x1);return[_0x32bad9,_0x511e5a];}[_0x455f78(0x264,0x2e8)](_0x2c83d6,_0x34434a){if(_0x2c83d6<0x0||_0x2c83d6>=this['cols']||_0x34434a>=this[_0x34fb9a(0x1dd,0x255)])return[0x0,0x0,0x0];const _0x44f32c=Math[_0x34fb9a(0x2ba,0x23b)](_0x2c83d6),_0x56d178=Math[_0x12f1e8(0x494,0x4c1)](_0x34434a);if(_0x44f32c===_0x2c83d6&&_0x56d178===_0x34434a)return this[_0x34fb9a(0x1b9,0x220)][_0x34434a][_0x2c83d6];const _0x5c3c8c=_0x44f32c+0x1,_0xf07f2f=_0x56d178+0x1;function _0x12f1e8(_0x50c0f5,_0x43cdb1){return _0x455f78(_0x50c0f5-0x1d5,_0x43cdb1);}const _0x2dc3df=this['getUVByXY'](_0x44f32c,_0x56d178),_0xff4cc7=this['getUVByXY'](_0x5c3c8c,_0x56d178),_0x547da2=this[_0x34fb9a(0x25f,0x1d9)](_0x44f32c,_0xf07f2f),_0x1a6368=this['getUVByXY'](_0x5c3c8c,_0xf07f2f);let _0x255575=null;function _0x34fb9a(_0x269fd5,_0x3a4108){return _0x158a3f(_0x3a4108,_0x269fd5-0x506);}try{_0x255575=this[_0x34fb9a(0x201,0x231)](_0x2c83d6-_0x44f32c,_0x34434a-_0x56d178,_0x2dc3df,_0xff4cc7,_0x547da2,_0x1a6368);}catch(_0x469770){console[_0x34fb9a(0x1f4,0x215)](_0x2c83d6,_0x34434a);}return _0x255575;}[_0x455f78(0x206,0x236)](_0x2de940,_0xdf691f,_0x24dfbd,_0xdeb20,_0x11a282,_0x32b3b1){const _0x347abf=0x1-_0x2de940,_0x32625e=0x1-_0xdf691f,_0x445600=_0x347abf*_0x32625e,_0x5567be=_0x2de940*_0x32625e,_0x546382=_0x347abf*_0xdf691f,_0x41cda2=_0x2de940*_0xdf691f,_0x160c0f=_0x24dfbd[0x0]*_0x445600+_0xdeb20[0x0]*_0x5567be+_0x11a282[0x0]*_0x546382+_0x32b3b1[0x0]*_0x41cda2,_0x2436ec=_0x24dfbd[0x1]*_0x445600+_0xdeb20[0x1]*_0x5567be+_0x11a282[0x1]*_0x546382+_0x32b3b1[0x1]*_0x41cda2;return this['_calcUV'](_0x160c0f,_0x2436ec);}['_calcUV'](_0x378470,_0x23928a){function _0x40edef(_0x53f608,_0x4975fc){return _0x455f78(_0x53f608- -0x397,_0x4975fc);}return[+_0x378470,+_0x23928a,Math[_0x40edef(-0x1cd,-0x1b4)](_0x378470*_0x378470+_0x23928a*_0x23928a)];}[_0x158a3f(-0x2ee,-0x2bd)](_0x298d33,_0x4dee1b){if(!this['isInExtent'](_0x298d33,_0x4dee1b))return null;const _0x2373db=this['toGridXY'](_0x298d33,_0x4dee1b),_0x3f295e=this['getUVByXY'](_0x2373db[0x0],_0x2373db[0x1]);return _0x3f295e;}['isInExtent'](_0x1bdcf2,_0x3d885b){function _0x2bec87(_0x4c9414,_0x291b68){return _0x158a3f(_0x291b68,_0x4c9414-0x49a);}function _0x726c0(_0x4bb7b6,_0x23b4d4){return _0x455f78(_0x4bb7b6- -0x409,_0x23b4d4);}return _0x1bdcf2>=this['xmin']&&_0x1bdcf2<=this[_0x726c0(-0x20c,-0x1fc)]&&_0x3d885b>=this[_0x726c0(-0x218,-0x240)]&&_0x3d885b<=this[_0x726c0(-0x1ac,-0x188)]?!![]:![];}['getRandomLatLng'](){function _0x4e1188(_0xf7aaa9,_0x4e772c){return _0x158a3f(_0x4e772c,_0xf7aaa9-0x3d2);}function _0xa38539(_0x105447,_0x213613){return _0x455f78(_0x213613- -0x7e,_0x105447);}const _0x570a4d=fRandomByfloat(this['xmin'],this[_0x4e1188(0xc4,0x7d)]),_0x336fd3=fRandomByfloat(this[_0xa38539(0x180,0x173)],this['ymax']),_0x4e64fe={};return _0x4e64fe[_0xa38539(0x214,0x253)]=_0x336fd3,_0x4e64fe[_0xa38539(0x2b8,0x237)]=_0x570a4d,_0x4e64fe;}['getParticles'](){let _0x21eb7e,_0x2a4b51,_0x352777;function _0x59588f(_0x531a66,_0x480653){return _0x158a3f(_0x480653,_0x531a66-0x409);}for(let _0x5de5bd=0x0,_0x48ba5d=this['particles']['length'];_0x5de5bd<_0x48ba5d;_0x5de5bd++){let _0x361d5a=this[_0x59588f(0x1cd,0x20c)][_0x5de5bd];_0x361d5a['age']<=0x0&&(_0x361d5a=this['_randomParticle'](_0x361d5a));if(_0x361d5a['age']>0x0){const _0x1e85be=_0x361d5a['tlng'],_0x4ab4f1=_0x361d5a['tlat'];_0x352777=this['getUVByPoint'](_0x1e85be,_0x4ab4f1),_0x352777?(_0x21eb7e=_0x1e85be+this['_calc_speedRate'][0x0]*_0x352777[0x0],_0x2a4b51=_0x4ab4f1+this[_0x59588f(0x145,0xf2)][0x1]*_0x352777[0x1],_0x361d5a[_0x3bd2c4(-0x166,-0x16e)]=_0x1e85be,_0x361d5a['lat']=_0x4ab4f1,_0x361d5a['tlng']=_0x21eb7e,_0x361d5a[_0x3bd2c4(-0x189,-0x1f5)]=_0x2a4b51,_0x361d5a['speed']=_0x352777[0x2],_0x361d5a['age']--):_0x361d5a[_0x3bd2c4(-0x184,-0x1d8)]=0x0;}}function _0x3bd2c4(_0x4032e2,_0x5c8c74){return _0x158a3f(_0x4032e2,_0x5c8c74-0xe8);}return this['particles'];}['_randomParticle'](_0x385dc1){let _0x593770,_0x1c7a87;for(let _0x364701=0x0;_0x364701<0x1e;_0x364701++){_0x593770=this[_0x4fbfb2(0x2a2,0x23a)](),_0x1c7a87=this[_0x54ab90(0x8e,0xcf)](_0x593770['lng'],_0x593770['lat']);if(_0x1c7a87&&_0x1c7a87[0x2]>0x0)break;}if(!_0x1c7a87)return _0x385dc1;const _0x37b5fb=_0x593770[_0x4fbfb2(0x2f4,0x2dc)]+this['_calc_speedRate'][0x0]*_0x1c7a87[0x0],_0x66d5b8=_0x593770[_0x54ab90(0x10a,0x152)]+this['_calc_speedRate'][0x1]*_0x1c7a87[0x1];_0x385dc1['lng']=_0x593770[_0x54ab90(0x128,0x136)],_0x385dc1['lat']=_0x593770[_0x4fbfb2(0x310,0x2f9)],_0x385dc1['tlng']=_0x37b5fb;function _0x4fbfb2(_0x2d6f05,_0x2e8f7b){return _0x455f78(_0x2d6f05-0x3f,_0x2e8f7b);}_0x385dc1['tlat']=_0x66d5b8,_0x385dc1[_0x54ab90(0x158,0xcc)]=Math['round'](Math['random']()*this['maxAge']);function _0x54ab90(_0xef3eea,_0x22daa9){return _0x455f78(_0x22daa9- -0x17f,_0xef3eea);}return _0x385dc1['speed']=_0x1c7a87[0x2],_0x385dc1;}[_0x158a3f(-0x2f5,-0x2b7)](){for(const _0x3b90f5 in this){delete this[_0x3b90f5];}}}function fRandomByfloat(_0x370678,_0x51b8b8){return _0x370678+Math['random']()*(_0x51b8b8-_0x370678);}const Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace[_0x455f78(0x1f7,0x21c)][_0x455f78(0x24f,0x21b)];class CanvasWindLayer extends BaseLayer{constructor(_0x3c1b78={}){super(_0x3c1b78);function _0x5ee25c(_0x2ab962,_0x1cc7be){return _0x158a3f(_0x1cc7be,_0x2ab962-0x2c3);}this['_setOptionsHook'](_0x3c1b78);function _0x12630a(_0x55abc3,_0x3b0647){return _0x455f78(_0x3b0647- -0x4dd,_0x55abc3);}this['canvas']=null,_0x3c1b78[_0x5ee25c(0x2e,0x24)]&&_0x3c1b78[_0x12630a(-0x240,-0x2b0)]&&(this['_colorRamp']=new mars3d__namespace['ColorRamp'](_0x3c1b78));}['_setOptionsHook'](_0xb2518d,_0x5b4fc6){this['frameTime']=0x3e8/(_0xb2518d['frameRate']||0xa);function _0x43790d(_0x519c33,_0x424a82){return _0x455f78(_0x424a82-0xc8,_0x519c33);}this['_pointerEvents']=this['options'][_0x7b1bcf(0x83,0x115)]??![],this[_0x43790d(0x2d4,0x30e)]=_0xb2518d['color']||_0x7b1bcf(0x58,0xd8),this['lineWidth']=_0xb2518d[_0x7b1bcf(0x43,0xa5)]||0x1,this[_0x7b1bcf(0x36,0x6c)]=_0xb2518d[_0x7b1bcf(0x36,0x1c)]??0x0,this['reverseY']=_0xb2518d['reverseY']??![];function _0x7b1bcf(_0x1b7692,_0x11d878){return _0x455f78(_0x1b7692- -0x238,_0x11d878);}this['windField']&&this[_0x7b1bcf(-0x29,-0x3f)][_0x43790d(0x38a,0x315)](_0xb2518d);}get['layer'](){function _0x17fe28(_0x37e526,_0x583d63){return _0x158a3f(_0x583d63,_0x37e526-0x6dd);}return this[_0x17fe28(0x456,0x3e5)];}get['canvasWidth'](){function _0x16af69(_0x295a3f,_0x117010){return _0x158a3f(_0x117010,_0x295a3f-0x6ee);}return this['_map'][_0x16af69(0x4b5,0x4ac)]['canvas']['clientWidth'];}get['canvasHeight'](){function _0x5bad64(_0x5457c0,_0x32e3f2){return _0x158a3f(_0x32e3f2,_0x5457c0-0x4bf);}return this['_map']['scene'][_0x5bad64(0x238,0x28f)]['clientHeight'];}get['pointerEvents'](){return this['_pointerEvents'];}set['pointerEvents'](_0x1c820e){function _0x4e59f2(_0x5b1c25,_0x5dd10a){return _0x158a3f(_0x5b1c25,_0x5dd10a-0x118);}function _0x1b8aa8(_0x20fd1a,_0xf8baf0){return _0x158a3f(_0x20fd1a,_0xf8baf0-0x666);}this['_pointerEvents']=_0x1c820e;if(!this['canvas'])return;_0x1c820e?this['canvas']['style'][_0x1b8aa8(0x41a,0x3c3)]=_0x1b8aa8(0x38f,0x37c):this[_0x1b8aa8(0x42d,0x3df)]['style'][_0x4e59f2(-0x1ed,-0x18b)]=_0x1b8aa8(0x35d,0x3f0);}get[_0x455f78(0x24a,0x22a)](){return this['options']['particlesNumber'];}set[_0x158a3f(-0x268,-0x2c1)](_0xcd8305){this['options']['particlesNumber']=_0xcd8305;function _0x428014(_0x291477,_0x183444){return _0x455f78(_0x183444- -0x138,_0x291477);}clearTimeout(this[_0x428014(0x185,0x166)]),this['_canrefresh']=setTimeout(()=>{function _0x21dec9(_0xec93e,_0x131936){return _0x428014(_0xec93e,_0x131936- -0x45);}this[_0x21dec9(0x133,0x12c)]();},0x1f4);}get['speedRate'](){function _0x59b66d(_0x116a66,_0x1707b7){return _0x158a3f(_0x1707b7,_0x116a66-0x6bf);}return this['options'][_0x59b66d(0x466,0x4cd)];}set['speedRate'](_0x40341e){function _0x2f0144(_0x529054,_0x2d5d6e){return _0x158a3f(_0x2d5d6e,_0x529054-0x36a);}function _0x5abb79(_0x1dda6d,_0x437cee){return _0x455f78(_0x1dda6d- -0x40e,_0x437cee);}this[_0x2f0144(0xb8,0x86)]['speedRate']=_0x40341e,this['windField']&&(this[_0x5abb79(-0x1ff,-0x23f)][_0x2f0144(0x111,0xe9)]=_0x40341e);}get['maxAge'](){function _0x344b67(_0x26291a,_0x3a57e3){return _0x158a3f(_0x26291a,_0x3a57e3-0x65b);}return this[_0x344b67(0x3fc,0x3a9)]['maxAge'];}set['maxAge'](_0x26497c){function _0x3628b4(_0x17525c,_0x282c14){return _0x455f78(_0x282c14- -0x484,_0x17525c);}this[_0x5cafb4(-0x112,-0x110)]['maxAge']=_0x26497c;function _0x5cafb4(_0x2ec87b,_0x50009b){return _0x455f78(_0x50009b- -0x369,_0x2ec87b);}this['windField']&&(this[_0x5cafb4(-0xfe,-0x15a)]['maxAge']=_0x26497c);}get['data'](){function _0x267b07(_0x367d4d,_0xe6541e){return _0x455f78(_0x367d4d- -0x22b,_0xe6541e);}return this[_0x267b07(0x5e,-0x2c)];}set['data'](_0x199c43){this['setData'](_0x199c43);}['_showHook'](_0x25f2ef){function _0x1d73ca(_0x12578f,_0x873c34){return _0x158a3f(_0x12578f,_0x873c34-0x393);}function _0x45f0f2(_0x60d281,_0x58d8fc){return _0x158a3f(_0x60d281,_0x58d8fc-0x20a);}_0x25f2ef?this['_addedHook']():(this[_0x45f0f2(-0x13,-0x78)]&&(this['options']['data']=this['windData']),this[_0x45f0f2(-0x51,-0xbf)]());}[_0x455f78(0x1e7,0x1b4)](){this['options']['worker']?this['initWorker']():this['windField']=new CanvasWindField(this['options']);}[_0x158a3f(-0x2cd,-0x338)](){this[_0xe9acc0(-0x1ac,-0x231)]=this['_createCanvas']();const _0x872903={};_0x872903[_0x312af7(0x348,0x336)]=!![];function _0x312af7(_0x4a99a9,_0x105c73){return _0x158a3f(_0x4a99a9,_0x105c73-0x684);}this['canvasContext']=this[_0xe9acc0(-0x1ac,-0x179)]['getContext']('2d',_0x872903);function _0xe9acc0(_0x1b9575,_0x4b9d3b){return _0x455f78(_0x1b9575- -0x430,_0x4b9d3b);}this['bindEvent'](),this[_0x312af7(0x365,0x3d2)][_0x312af7(0x3a5,0x39e)]&&this[_0xe9acc0(-0x1ab,-0x20e)](this[_0xe9acc0(-0x1d7,-0x244)]['data']);}['_removedHook'](){function _0x5a573a(_0x4b4e46,_0x4e43cc){return _0x455f78(_0x4e43cc- -0x4ba,_0x4b4e46);}function _0x5c1df4(_0x4111f1,_0x4e27bc){return _0x455f78(_0x4e27bc- -0x45a,_0x4111f1);}this[_0x5c1df4(-0x1d6,-0x17f)](),this['unbindEvent'](),this['canvas']&&(this[_0x5a573a(-0x16f,-0x1fa)][_0x5c1df4(-0x23a,-0x1b6)]['removeChild'](this['canvas']),delete this['canvas']);}['_createCanvas'](){const _0x5a460c=mars3d__namespace[_0x501505(0x446,0x3ec)]['create']('canvas','mars3d-canvasWind',this['_map']['container']);_0x5a460c[_0x2f793f(-0xae,-0x2b)]['position']='absolute',_0x5a460c['style']['top']=_0x501505(0x29d,0x32d);function _0x2f793f(_0x46cee0,_0x2c42c0){return _0x158a3f(_0x2c42c0,_0x46cee0-0x1d0);}function _0x501505(_0x2a6434,_0xd35e65){return _0x158a3f(_0x2a6434,_0xd35e65-0x62f);}return _0x5a460c[_0x501505(0x334,0x3b1)]['left']='0px',_0x5a460c[_0x2f793f(-0xae,-0x3f)]['width']=this['_map'][_0x501505(0x436,0x3f6)][_0x501505(0x418,0x3a8)][_0x501505(0x3a9,0x3af)]+'px',_0x5a460c['style'][_0x2f793f(-0x11f,-0xa1)]=this['_map']['scene'][_0x501505(0x34d,0x3a8)]['clientHeight']+'px',_0x5a460c[_0x501505(0x3f4,0x3b1)][_0x2f793f(-0x80,-0x6a)]=this[_0x501505(0x3e4,0x3b7)]?'auto':'none',_0x5a460c['style']['zIndex']=this['options'][_0x2f793f(-0x94,-0x7f)]??0x9,_0x5a460c['width']=this['_map'][_0x501505(0x3e4,0x3f6)]['canvas']['clientWidth'],_0x5a460c[_0x501505(0x3d2,0x340)]=this['_map'][_0x2f793f(-0x69,-0x9a)][_0x501505(0x404,0x3a8)][_0x2f793f(-0x5b,-0x9a)],_0x5a460c;}['resize'](){function _0x4d0cd8(_0x12067d,_0xc2c79e){return _0x455f78(_0xc2c79e- -0x244,_0x12067d);}function _0x1d798a(_0x83c988,_0x2e33f8){return _0x455f78(_0x83c988- -0x468,_0x2e33f8);}this['canvas']&&(this[_0x1d798a(-0x1e4,-0x188)]['style'][_0x4d0cd8(0x64,0x81)]=this[_0x4d0cd8(0xd,0x7c)]['scene'][_0x4d0cd8(0x80,0x40)]['clientWidth']+'px',this['canvas']['style'][_0x4d0cd8(-0x58,-0x28)]=this['_map'][_0x4d0cd8(0x5a,0x8e)]['canvas']['clientHeight']+'px',this[_0x4d0cd8(-0x3b,0x40)][_0x4d0cd8(0xc,0x81)]=this['_map']['scene']['canvas']['clientWidth'],this[_0x1d798a(-0x1e4,-0x196)][_0x4d0cd8(0x4f,-0x28)]=this['_map']['scene'][_0x1d798a(-0x1e4,-0x1a1)]['clientHeight']);}[_0x455f78(0x2ac,0x293)](){const _0x3f4e54=this;function _0x5aff88(_0x4b88fe,_0x11e0fe){return _0x455f78(_0x11e0fe-0x1b6,_0x4b88fe);}let _0xebd5ff=Date['now']();function _0x14a5f8(_0x2da890,_0xedeb49){return _0x158a3f(_0x2da890,_0xedeb49-0x5b5);}(function _0x12c3e9(){function _0x51f08f(_0x3c2ac8,_0x48efeb){return _0x4fd8(_0x3c2ac8- -0x1f2,_0x48efeb);}if(_0x3f4e54['isDestroy'])return;function _0x134e59(_0x5586d4,_0x2e7758){return _0x4fd8(_0x5586d4- -0x3c9,_0x2e7758);}_0x3f4e54['_animateFrame']=window[_0x51f08f(-0x11d,-0x159)](_0x12c3e9);if(_0x3f4e54[_0x51f08f(-0x8c,-0x65)]&&_0x3f4e54['windField']){const _0x134872=Date['now'](),_0x3921c4=_0x134872-_0xebd5ff;_0x3921c4>_0x3f4e54['frameTime']&&(_0xebd5ff=_0x134872-_0x3921c4%_0x3f4e54['frameTime'],_0x3f4e54[_0x134e59(-0x2d8,-0x257)]());}}(),window[_0x5aff88(0x3d4,0x426)](_0x5aff88(0x3b4,0x397),this[_0x14a5f8(0x25b,0x28b)][_0x5aff88(0x4e8,0x463)](this),![]),this[_0x14a5f8(0x266,0x2ab)]=![],this['mouse_move']=![],this[_0x5aff88(0x3f9,0x40f)]['mouseHidden']&&(this[_0x5aff88(0x427,0x476)]['on'](mars3d__namespace[_0x5aff88(0x409,0x448)]['wheel'],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace[_0x14a5f8(0x304,0x33c)]['mouseDown'],this[_0x14a5f8(0x2ed,0x368)],this),this[_0x5aff88(0x4de,0x476)]['on'](mars3d__namespace['EventType']['mouseUp'],this['_onMouseUpEvent'],this)));}['unbindEvent'](){function _0x1a8414(_0x178ff6,_0x21892a){return _0x158a3f(_0x21892a,_0x178ff6-0x6f8);}window['cancelAnimationFrame'](this['_animateFrame']);function _0x2ce876(_0x28221e,_0x54706a){return _0x455f78(_0x28221e- -0x4b7,_0x54706a);}delete this['_animateFrame'],window[_0x1a8414(0x3d3,0x35f)]('resize',this['resize']),this[_0x2ce876(-0x25e,-0x26f)][_0x1a8414(0x4d0,0x4ec)]&&(this['_map']['off'](mars3d__namespace['EventType']['wheel'],this[_0x1a8414(0x485,0x50f)],this),this[_0x1a8414(0x4ad,0x423)]['off'](mars3d__namespace[_0x2ce876(-0x225,-0x1e5)][_0x2ce876(-0x276,-0x2f3)],this['_onMouseDownEvent'],this),this['_map'][_0x2ce876(-0x266,-0x28d)](mars3d__namespace['EventType'][_0x1a8414(0x46b,0x4c3)],this['_onMouseUpEvent'],this),this[_0x1a8414(0x4ad,0x438)]['off'](mars3d__namespace['EventType']['mouseMove'],this['_onMouseMoveEvent'],this));}['_onMapWhellEvent'](_0x1d2060){clearTimeout(this[_0xfdb92d(0x144,0x10a)]);if(!this['show']||!this[_0x42b52f(0x51a,0x594)])return;function _0xfdb92d(_0x377968,_0x1bdac0){return _0x158a3f(_0x1bdac0,_0x377968-0x45b);}function _0x42b52f(_0x1b4039,_0x968c5f){return _0x455f78(_0x1b4039-0x296,_0x968c5f);}this['canvas'][_0x42b52f(0x523,0x52f)][_0x42b52f(0x4d3,0x468)]=_0xfdb92d(0x227,0x2ab),this['refreshTimer']=setTimeout(()=>{if(!this[_0x13a771(0x3f6,0x365)])return;function _0x13a771(_0xe82e76,_0x3ae480){return _0x42b52f(_0xe82e76- -0x14a,_0x3ae480);}function _0xf918c0(_0x5a041d,_0x588bf3){return _0xfdb92d(_0x588bf3- -0x234,_0x5a041d);}this['redraw'](),this['canvas']['style'][_0x13a771(0x389,0x32a)]='visible';},0xc8);}['_onMouseDownEvent'](_0x82b98b){function _0x3cb2ea(_0x12952c,_0x1e790a){return _0x158a3f(_0x1e790a,_0x12952c-0x14c);}function _0x27bb9a(_0x4d6109,_0xe95b3){return _0x158a3f(_0x4d6109,_0xe95b3-0x41d);}this['mouse_down']=!![],this[_0x3cb2ea(-0xff,-0x13f)]['off'](mars3d__namespace[_0x3cb2ea(-0x12d,-0xcb)]['mouseMove'],this['_onMouseMoveEvent'],this),this['_map']['on'](mars3d__namespace['EventType'][_0x27bb9a(0x74,0xe9)],this['_onMouseMoveEvent'],this);}[_0x158a3f(-0x29e,-0x2fb)](_0x1e468a){if(!this[_0x74c535(0x19,-0x7b)]||!this[_0x34b96d(0x3d0,0x436)])return;function _0x74c535(_0x276a61,_0x203750){return _0x455f78(_0x276a61- -0x291,_0x203750);}function _0x34b96d(_0xf68735,_0x36f43f){return _0x158a3f(_0x36f43f,_0xf68735-0x657);}this[_0x74c535(-0x90,-0xe5)]&&(this['canvas']['style']['visibility']=_0x74c535(0x46,-0x16),this[_0x34b96d(0x3a3,0x3e2)]=!![]);}['_onMouseUpEvent'](_0x404f03){function _0x304070(_0x4446bc,_0x2c9353){return _0x455f78(_0x4446bc-0x17c,_0x2c9353);}if(!this['show']||!this[_0x304070(0x400,0x428)])return;this['_map'][_0x5972fb(0x2f3,0x2f5)](mars3d__namespace[_0x5972fb(0x332,0x336)]['mouseMove'],this['_onMouseMoveEvent'],this);function _0x5972fb(_0x31a6df,_0x200fe3){return _0x158a3f(_0x31a6df,_0x200fe3-0x5af);}this['mouse_down']&&this[_0x5972fb(0x338,0x2fb)]&&this['redraw'](),this['canvas']['style']['visibility']=_0x5972fb(0x311,0x383),this['mouse_down']=![],this[_0x5972fb(0x387,0x2fb)]=![];}[_0x158a3f(-0x279,-0x286)](_0x4153b8){this[_0x36abf6(0x2,-0x56)](),this['windData']=_0x4153b8;function _0x36abf6(_0x3d329c,_0x1bca78){return _0x455f78(_0x3d329c- -0x2d9,_0x1bca78);}this['windField'][_0x36abf6(-0x28,0x16)](_0x4153b8);function _0x8a4a4(_0x365633,_0x25c960){return _0x158a3f(_0x365633,_0x25c960-0x45);}this[_0x36abf6(-0x30,-0x99)]();}[_0x158a3f(-0x211,-0x262)](){function _0x5063ca(_0x501417,_0x5a3f99){return _0x455f78(_0x5a3f99- -0x37b,_0x501417);}if(!this['show'])return;function _0x487de0(_0x1ba8e8,_0x418fc8){return _0x158a3f(_0x418fc8,_0x1ba8e8-0x396);}this['windField']['setOptions'](this[_0x487de0(0xe4,0x163)]),this[_0x5063ca(-0x1cc,-0x146)]();}['update'](){if(this[_0xecf5ff(0x483,0x41f)])return;this[_0x4dbb65(0x32f,0x32b)]=!![];if(this['worker'])this['windField'][_0xecf5ff(0x422,0x3ef)]();else{const _0x1dfb9e=this['windField']['getParticles']();this[_0x4dbb65(0x39b,0x35a)](_0x1dfb9e);}function _0xecf5ff(_0x387129,_0x1134bf){return _0x158a3f(_0x387129,_0x1134bf-0x6c5);}function _0x4dbb65(_0x3d60ab,_0x43c0d7){return _0x455f78(_0x43c0d7-0xc6,_0x3d60ab);}this[_0xecf5ff(0x3e0,0x41f)]=![];}['_drawLines'](_0x8cb5a5){this[_0xeba62a(-0x48,-0xbb)][_0xeba62a(-0x28,-0x5e)]='destination-in',this[_0x2cfc32(0x2e1,0x33c)]['fillRect'](0x0,0x0,this[_0x2cfc32(0x3a4,0x38a)],this['canvasHeight']),this[_0xeba62a(-0xde,-0xbb)]['globalCompositeOperation']='lighter';function _0x2cfc32(_0x4a76ec,_0x2a80e4){return _0x455f78(_0x2a80e4-0x138,_0x4a76ec);}function _0xeba62a(_0x19df6d,_0x2f4ea3){return _0x455f78(_0x2f4ea3- -0x2bf,_0x19df6d);}this['canvasContext']['globalAlpha']=0.9;const _0x49df47=this['_map']['scene']['mode']!==Cesium[_0x2cfc32(0x3ef,0x3fe)]['SCENE3D'],_0x326ecc=this[_0xeba62a(-0xec,-0x6d)]*0.25;if(this['_colorRamp'])for(let _0x1d6e58=0x0,_0x4f3394=_0x8cb5a5[_0xeba62a(-0x13e,-0xf2)];_0x1d6e58<_0x4f3394;_0x1d6e58++){const _0x4b89c4=_0x8cb5a5[_0x1d6e58],_0x171385=this[_0xeba62a(-0x59,-0xa2)](_0x4b89c4['lng'],_0x4b89c4[_0x2cfc32(0x3b2,0x409)],_0x4b89c4),_0x33c043=this['_tomap'](_0x4b89c4[_0x2cfc32(0x3b8,0x3eb)],_0x4b89c4['tlat'],_0x4b89c4);if(!_0x171385||!_0x33c043)continue;if(_0x49df47&&Math['abs'](_0x171385[0x0]-_0x33c043[0x0])>=_0x326ecc)continue;this[_0x2cfc32(0x2cb,0x33c)]['beginPath'](),this['canvasContext'][_0x2cfc32(0x3e2,0x3b3)]=this[_0x2cfc32(0x3e7,0x3b3)],this['canvasContext'][_0xeba62a(-0x76,-0x97)]=this[_0x2cfc32(0x3ad,0x3d1)]['getColor'](_0x4b89c4['speed']),this['canvasContext'][_0xeba62a(-0xa2,-0x87)](_0x171385[0x0],_0x171385[0x1]),this[_0x2cfc32(0x2ca,0x33c)]['lineTo'](_0x33c043[0x0],_0x33c043[0x1]),this['canvasContext'][_0xeba62a(-0x57,-0xcc)]();}else{this[_0x2cfc32(0x2bb,0x33c)][_0x2cfc32(0x369,0x336)](),this['canvasContext'][_0x2cfc32(0x351,0x3b3)]=this[_0xeba62a(-0x97,-0x44)],this['canvasContext'][_0x2cfc32(0x31a,0x360)]=this[_0xeba62a(-0xb5,-0x79)];for(let _0x2d454f=0x0,_0x253577=_0x8cb5a5['length'];_0x2d454f<_0x253577;_0x2d454f++){const _0x2039dd=_0x8cb5a5[_0x2d454f],_0x4fef0c=this['_tomap'](_0x2039dd['lng'],_0x2039dd[_0x2cfc32(0x419,0x409)],_0x2039dd),_0xcb8f00=this['_tomap'](_0x2039dd[_0x2cfc32(0x383,0x3eb)],_0x2039dd[_0xeba62a(-0x68,-0x91)],_0x2039dd);if(!_0x4fef0c||!_0xcb8f00)continue;if(_0x49df47&&Math[_0xeba62a(-0x17c,-0xef)](_0x4fef0c[0x0]-_0xcb8f00[0x0])>=_0x326ecc)continue;this[_0xeba62a(-0xe6,-0xbb)][_0xeba62a(-0x5e,-0x87)](_0x4fef0c[0x0],_0x4fef0c[0x1]),this['canvasContext'][_0x2cfc32(0x43b,0x3f9)](_0xcb8f00[0x0],_0xcb8f00[0x1]);}this['canvasContext']['stroke']();}}['_tomap'](_0x48f082,_0x227020,_0x4a71cb){function _0x80c28d(_0x112e0f,_0x350dbb){return _0x158a3f(_0x350dbb,_0x112e0f-0x747);}const _0x17b51f=Cesium['Cartesian3']['fromDegrees'](_0x48f082,_0x227020,this[_0x3850d0(0x2a2,0x2bf)]);function _0x3850d0(_0x2b5494,_0x1316b8){return _0x455f78(_0x1316b8-0x51,_0x2b5494);}const _0x37b913=this['_map']['scene'];if(_0x37b913[_0x3850d0(0x31a,0x2cd)]===Cesium['SceneMode']['SCENE3D']){const _0x3056eb=new Cesium['EllipsoidalOccluder'](_0x37b913[_0x3850d0(0x211,0x265)]['ellipsoid'],_0x37b913[_0x80c28d(0x4c3,0x4e0)][_0x3850d0(0x2dc,0x2d1)]),_0x298900=_0x3056eb[_0x3850d0(0x378,0x333)](_0x17b51f);if(!_0x298900)return _0x4a71cb['age']=0x0,null;}const _0x4aa087=Cesium['SceneTransforms'][_0x80c28d(0x46c,0x495)](this['_map']['scene'],_0x17b51f);return _0x4aa087?[_0x4aa087['x'],_0x4aa087['y']]:null;}['clear'](){this['windField']['clear']();function _0x1f277d(_0x944fe3,_0xbcf9c4){return _0x158a3f(_0xbcf9c4,_0x944fe3-0x59b);}delete this[_0x1f277d(0x319,0x385)];}['initWorker'](){this['worker']=new Worker(this['options'][_0x1432dc(-0x2da,-0x26a)]),this[_0x1432dc(-0x2da,-0x33d)]['onmessage']=_0xd6f662=>{this['_drawLines'](_0xd6f662['data']['particles']),this['_updateIng2']=![];};function _0x1432dc(_0x2b3223,_0x472e5c){return _0x455f78(_0x2b3223- -0x52a,_0x472e5c);}this[_0x1432dc(-0x31b,-0x36c)]={'init':_0x2e87c4=>{const _0xd020f8={};function _0x7c0aab(_0x343520,_0xcac32){return _0x10fd15(_0xcac32-0xbb,_0x343520);}_0xd020f8['type']=_0x7c0aab(-0x5b,-0x1b);function _0x263ad2(_0x3f3fcc,_0x1e2eb3){return _0x10fd15(_0x1e2eb3-0x443,_0x3f3fcc);}_0xd020f8['options']=_0x2e87c4,this[_0x7c0aab(0x9e,0x17)]['postMessage'](_0xd020f8);},'setOptions':_0x5ddce3=>{const _0x24ea2f={};_0x24ea2f[_0xc26f3e(0x108,0x15a)]='setOptions';function _0x58b8c7(_0x340ba3,_0x92784){return _0x1432dc(_0x340ba3-0x59b,_0x92784);}_0x24ea2f['options']=_0x5ddce3;function _0xc26f3e(_0x55665,_0x1508fe){return _0x10fd15(_0x55665-0x224,_0x1508fe);}this[_0x58b8c7(0x2c1,0x26f)]['postMessage'](_0x24ea2f);},'setDate':_0x4a118c=>{const _0x217911={};function _0x52a481(_0x10b44f,_0x43cc68){return _0x10fd15(_0x43cc68-0x130,_0x10b44f);}_0x217911['type']=_0x183864(0x19a,0x179);function _0x183864(_0x4676e5,_0x4a9de1){return _0x10fd15(_0x4676e5-0x1dd,_0x4a9de1);}_0x217911['data']=_0x4a118c,this['worker'][_0x52a481(0x106,0xa8)](_0x217911);},'update':()=>{if(this['_updateIng2'])return;function _0x21b8b8(_0x257b9a,_0x34b178){return _0x10fd15(_0x257b9a-0xaf,_0x34b178);}function _0x438179(_0x5e7c70,_0x556c35){return _0x10fd15(_0x556c35-0x68,_0x5e7c70);}this[_0x21b8b8(-0x3d,-0xca)]=!![];const _0x52b958={};_0x52b958['type']='update',this[_0x21b8b8(0xb,-0x9)]['postMessage'](_0x52b958);},'clear':()=>{const _0x480321={};function _0x5d5fcf(_0x28507f,_0x1e3d42){return _0x10fd15(_0x1e3d42- -0x1a5,_0x28507f);}_0x480321[_0x5d5fcf(-0x2a6,-0x2c1)]='clear',this['worker']['postMessage'](_0x480321);}};function _0x10fd15(_0x30915c,_0x2199d6){return _0x158a3f(_0x2199d6,_0x30915c-0x217);}this[_0x1432dc(-0x31b,-0x28a)]['init'](this[_0x10fd15(-0x9b,-0x8)]);}}mars3d__namespace[_0x158a3f(-0x26f,-0x29c)]['register']('canvasWind',CanvasWindLayer),mars3d__namespace['layer'][_0x455f78(0x203,0x23a)]=CanvasWindLayer,mars3d__namespace['CanvasWindField']=CanvasWindField,mars3d__namespace[_0x158a3f(-0x294,-0x23d)]=WindUtil,exports['CanvasWindField']=CanvasWindField,exports[_0x158a3f(-0x387,-0x308)]=CanvasWindLayer,exports['WindLayer']=WindLayer,exports['WindUtil']=WindUtil;const _0x44f801={};_0x44f801['value']=!![],Object[_0x158a3f(-0x390,-0x342)](exports,'__esModule',_0x44f801);
14
+ 'use strict';(function(_0x511489,_0x3a2e99){const _0x32a19e=_0x511489();function _0x28e1e4(_0x348410,_0x2cd7e3){return _0x1cf6(_0x2cd7e3-0x2bf,_0x348410);}function _0x1709fd(_0x41c239,_0x9d2d98){return _0x1cf6(_0x9d2d98- -0xa9,_0x41c239);}while(!![]){try{const _0x3b0713=parseInt(_0x1709fd(0xc,0x49))/0x1*(-parseInt(_0x28e1e4(0x4c6,0x458))/0x2)+-parseInt(_0x1709fd(0x3a,0x54))/0x3+-parseInt(_0x1709fd(0x9,0x2f))/0x4*(parseInt(_0x1709fd(0x109,0xcd))/0x5)+parseInt(_0x28e1e4(0x4f1,0x4b4))/0x6*(parseInt(_0x28e1e4(0x3e8,0x3e4))/0x7)+-parseInt(_0x28e1e4(0x3aa,0x3c3))/0x8*(parseInt(_0x28e1e4(0x41b,0x39c))/0x9)+parseInt(_0x1709fd(0xc1,0x7a))/0xa+parseInt(_0x28e1e4(0x4cb,0x47d))/0xb;if(_0x3b0713===_0x3a2e99)break;else _0x32a19e['push'](_0x32a19e['shift']());}catch(_0x5d047e){_0x32a19e['push'](_0x32a19e['shift']());}}}(_0x1251,0x6fbf8));function _interopNamespace(_0x51c93e){function _0x5b72a2(_0x456740,_0x27446b){return _0x1cf6(_0x27446b-0x25d,_0x456740);}function _0xe048b4(_0x4fceae,_0x894643){return _0x1cf6(_0x894643- -0x340,_0x4fceae);}if(_0x51c93e&&_0x51c93e[_0xe048b4(-0x208,-0x173)])return _0x51c93e;var _0xa87aab=Object['create'](null);return _0x51c93e&&Object[_0x5b72a2(0x33b,0x32e)](_0x51c93e)[_0x5b72a2(0x3c0,0x358)](function(_0x1dc3e7){function _0x30cf13(_0x1b897e,_0x23847e){return _0xe048b4(_0x23847e,_0x1b897e-0x299);}if(_0x1dc3e7!=='default'){var _0x509826=Object['getOwnPropertyDescriptor'](_0x51c93e,_0x1dc3e7);Object[_0x30cf13(0xd6,0x161)](_0xa87aab,_0x1dc3e7,_0x509826['get']?_0x509826:{'enumerable':!![],'get':function(){return _0x51c93e[_0x1dc3e7];}});}}),_0xa87aab['default']=_0x51c93e,_0xa87aab;}function _0x1cf6(_0x5880c1,_0x447de8){const _0x125111=_0x1251();return _0x1cf6=function(_0x1cf6b0,_0x1a221c){_0x1cf6b0=_0x1cf6b0-0xc4;let _0x59793f=_0x125111[_0x1cf6b0];return _0x59793f;},_0x1cf6(_0x5880c1,_0x447de8);}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace['Cesium'];function getU(_0x6d0797,_0x1d240){const _0x481687=_0x6d0797*Math['cos'](Cesium$7['Math'][_0x413ce0(-0x185,-0x115)](_0x1d240));function _0x413ce0(_0x5a3671,_0x1f9e06){return _0x1cf6(_0x5a3671- -0x32a,_0x1f9e06);}return _0x481687;}function _0x1251(){const _0x3a4ccb=['currentTrailsColor','pixelSize','currentParticlesPosition','refreshParticles','clearFramebuffers','updateViewerParameters','style','IDENTITY','STATIC_DRAW','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','height','particlesTextures','_setOptionsHook','destination-in','camera','execute','toGridXY','setData','15RrxUtp','Draw','preExecute','clear','scene','_pointerEvents','removeChild','defineProperty','BaseLayer','pointerEvents','toDegrees','DISABLE_GL_POSITION_LOG_DEPTH','_calc_speedRate','nextParticlesPosition','visibility','viewerParameters','mouse_move','defines','sources','xmax','getColor','dropRate','createSegmentsGeometry','getWind','mouseUp','PI_OVER_TWO','log','moveTo','rgb(206,255,255)','add','setOptions','createRenderingPrimitives','mouseDown','mouse_down','Compute','1586KvxXBo','canvas','createRenderingFramebuffers','onmessage','none','maxAge','getFullscreenQuad','_removedHook','ClearCommand','width','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','preRender','toRadians','_colorRamp','_tomap','length','canvasWidth','wind','mouseHidden','Cartesian2','umin','pow','reverse','atan2','framebuffer','fromCssColorString','postProcessingPosition','umax','context','_onMouseMoveEvent','_onMouseDownEvent','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','fromGeometry','//\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','viewport','data','getColorTexture','8892488czhphc','random','vdata','absolute','type','normal','createRenderingTextures','east','depthTexture','resize','tlng','canvasContext','CanvasWindField','drawingBufferHeight','RGB','__esModule','maxParticles','commandToExecute','windData','zIndex','PI_OVER_THREE','particlesNumber','xmin','WindLayer','createCommand','getU','colorTable','pixelFormat','ShaderSource','OPAQUE','tlat','_bilinearInterpolation','_calcUV','canvasWind','visible','vertexShaderSource','PrimitiveType','postProcessingSpeed','north','lighter','fromCache','fragmentShaderSource','_speedRate','windTextures','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','shaderProgram','frameRate','autoClear','clientHeight','_map','DrawCommand','nextTrailsDepth','DepthFunction','isDestroyed','beginPath','6TPECSV','FLOAT','speedFactor','push','getParticles','_animateFrame','fixedHeight','isPointVisible','globeBoundingSphere','globe','outputTexture','getUVByXY','nextTrails','nextParticlesSpeed','age','createTexture','keys','VertexArray','minimum','uniformMap','WindUtil','_onMapWhellEvent','updatePosition','389744znGnFk','particleSystem','maximum','lev','max','4581CggvzR','particles','Math','GeometryAttribute','source','rawRenderState','randomBetween','lineTo','createWindTextures','currentParticlesSpeed','_onMap_preRenderEvent','grid','BufferUsage','defined','lineWidth','geometry','Geometry','_drawLines','stroke','postMessage','getSpeed','808rajGMU','destroy','ComponentDatatype','now','vertexArray','_createCanvas','currentTrails','commandList','EllipsoidalOccluder','forEach','particlesRendering','1107048bFofoC','options','depthMask','lng','ymin','fadeOpacity','TWO_PI','4088PCUrIO','framebuffers','GeometryAttributes','off','PixelDatatype','pixelDatatype','commandType','frameTime','clampToLatitudeRange','speedRate','floor','drawingBufferWidth','cols','show','mod','levmax','worker','PrimitiveCollection','trails','SceneMode','Cartesian3','bindEvent','worldToWindowCoordinates','currentTrailsDepth','particlesComputing','reverseY','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','lonRange','redraw','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','mode','4049940MOYtle','ColorRamp','5645395kYiQRH','canrefresh','colors','_onMouseUpEvent','PixelFormat','refreshTimer','dimensions','_randomParticle','addPrimitives','min','removeAll','Color','getRandomLatLng','isInExtent','primitives','rows','bind','layer','primitiveType','mouseMove','_updateIng','textures','array','setDate','udata','enabled','red','particleHeight','initWorker','globalCompositeOperation','segments','clearCommand','SceneTransforms','Sampler','latRange','EventType','BoundingSphere','_updateIng2','wheel','steps','UNSIGNED_BYTE','colorTextures','west','createRawRenderState','SCENE3D','createParticlesTextures','particlesTextureSize','lat','dimension','LINEAR','randomizeParticles','attributeLocations','windField','fill','viewRectangleToLonLatRange','#ffffff','update','pointer-events','Cesium','lon','ymax','container','dropRateBump'];_0x1251=function(){return _0x3a4ccb;};return _0x1251();}function getV(_0x2bb483,_0x5674fb){function _0x294983(_0x566ccd,_0x1d4387){return _0x1cf6(_0x1d4387- -0x397,_0x566ccd);}const _0xc1dc05=_0x2bb483*Math['sin'](Cesium$7['Math'][_0x294983(-0x215,-0x1f2)](_0x5674fb));return _0xc1dc05;}function getSpeed(_0x397a5a,_0x5632e9){function _0x30d9ed(_0x1566bf,_0x2e5468){return _0x1cf6(_0x1566bf- -0x277,_0x2e5468);}const _0x193e6e=Math['sqrt'](Math[_0x30d9ed(-0xc9,-0xf7)](_0x397a5a,0x2)+Math['pow'](_0x5632e9,0x2));return _0x193e6e;}function getDirection(_0x24bb7b,_0x585d6c){let _0x2353d6=Cesium$7[_0x1ecf12(0x74,0x80)][_0x1ecf12(0x115,0x177)](Math[_0x1ecf12(0x145,0x181)](_0x585d6c,_0x24bb7b));function _0x1ecf12(_0x3956b8,_0x150bcb){return _0x1cf6(_0x3956b8- -0x6b,_0x150bcb);}function _0x3f3fed(_0x36af96,_0x4ec201){return _0x1cf6(_0x36af96- -0x25a,_0x4ec201);}return _0x2353d6+=_0x2353d6<0x0?0x168:0x0,_0x2353d6;}const _0x3cde00={};_0x3cde00['__proto__']=null,_0x3cde00[_0x25a800(0x329,0x3af)]=getU,_0x3cde00['getV']=getV,_0x3cde00[_0x263d96(0x10d,0x10a)]=getSpeed;function _0x25a800(_0x4e8839,_0x5b500b){return _0x1cf6(_0x5b500b-0x1d8,_0x4e8839);}_0x3cde00['getDirection']=getDirection;var WindUtil=_0x3cde00;const Cesium$6=mars3d__namespace['Cesium'];class CustomPrimitive{constructor(_0x11a459){this['commandType']=_0x11a459[_0x4e6b71(0x323,0x32a)],this['geometry']=_0x11a459['geometry'],this['attributeLocations']=_0x11a459['attributeLocations'],this['primitiveType']=_0x11a459[_0x3cb723(0x457,0x3e7)],this[_0x4e6b71(0x2ed,0x350)]=_0x11a459['uniformMap'],this['vertexShaderSource']=_0x11a459[_0x3cb723(0x4b8,0x491)],this['fragmentShaderSource']=_0x11a459[_0x3cb723(0x4af,0x497)],this['rawRenderState']=_0x11a459[_0x3cb723(0x325,0x392)];function _0x3cb723(_0x34fb07,_0x1d1400){return _0x263d96(_0x34fb07,_0x1d1400-0x297);}this['framebuffer']=_0x11a459['framebuffer'],this[_0x4e6b71(0x2e4,0x35d)]=_0x11a459['outputTexture'],this['autoClear']=_0x11a459[_0x3cb723(0x48e,0x49d)]??![],this[_0x3cb723(0x469,0x428)]=_0x11a459[_0x4e6b71(0x391,0x3fa)],this[_0x3cb723(0x33c,0x3c1)]=!![],this['commandToExecute']=undefined,this['clearCommand']=undefined;function _0x4e6b71(_0x1fa037,_0x21588c){return _0x25a800(_0x21588c,_0x1fa037-0x41);}this[_0x3cb723(0x45d,0x49d)]&&(this['clearCommand']=new Cesium$6[(_0x4e6b71(0x3ba,0x39d))]({'color':new Cesium$6[(_0x4e6b71(0x349,0x350))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':Cesium$6['Pass']['OPAQUE']}));}['createCommand'](_0x742637){function _0x38b167(_0x48a74a,_0xb879a3){return _0x25a800(_0xb879a3,_0x48a74a- -0x29e);}function _0x3ba53e(_0x3dc910,_0x38719b){return _0x263d96(_0x3dc910,_0x38719b- -0x363);}switch(this['commandType']){case'Draw':{const _0x29faea=Cesium$6['VertexArray'][_0x3ba53e(-0x19d,-0x191)]({'context':_0x742637,'geometry':this[_0x38b167(0x26,-0x15)],'attributeLocations':this[_0x3ba53e(-0x1a3,-0x1f2)],'bufferUsage':Cesium$6['BufferUsage']['STATIC_DRAW']}),_0x53013d={};_0x53013d['context']=_0x742637,_0x53013d['attributeLocations']=this['attributeLocations'],_0x53013d['vertexShaderSource']=this['vertexShaderSource'],_0x53013d['fragmentShaderSource']=this[_0x3ba53e(-0x123,-0x163)];const _0x2d89db=Cesium$6['ShaderProgram'][_0x3ba53e(-0x19d,-0x164)](_0x53013d),_0xde5a57=Cesium$6['RenderState']['fromCache'](this['rawRenderState']);return new Cesium$6[(_0x38b167(0x12a,0xac))]({'primitiveType':this[_0x3ba53e(-0x194,-0x213)],'shaderProgram':_0x2d89db,'vertexArray':_0x29faea,'modelMatrix':Cesium$6['Matrix4'][_0x3ba53e(-0x183,-0x1df)],'renderState':_0xde5a57,'uniformMap':this['uniformMap'],'castShadows':![],'receiveShadows':![],'framebuffer':this[_0x38b167(0xeb,0xd2)],'pass':Cesium$6['Pass'][_0x38b167(0x115,0xb6)],'pickOnly':!![],'owner':this});}case _0x38b167(0xd2,0x71):{const _0x36d85f={};return _0x36d85f['owner']=this,_0x36d85f[_0x3ba53e(-0xe4,-0x163)]=this['fragmentShaderSource'],_0x36d85f['uniformMap']=this['uniformMap'],_0x36d85f[_0x38b167(0x5,-0x87)]=this[_0x3ba53e(-0x1f4,-0x27f)],_0x36d85f['persists']=!![],new Cesium$6['ComputeCommand'](_0x36d85f);}}}['setGeometry'](_0x5356ab,_0x415561){function _0x2bee88(_0x648c5c,_0x3f1306){return _0x263d96(_0x3f1306,_0x648c5c-0x363);}this['geometry']=_0x415561;const _0x539253=Cesium$6[_0x778cf6(0x267,0x2f7)]['fromGeometry']({'context':_0x5356ab,'geometry':this[_0x778cf6(0x38d,0x311)],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage'][_0x778cf6(0x3c5,0x391)]});function _0x778cf6(_0xaf534f,_0x5f1351){return _0x263d96(_0xaf534f,_0x5f1351-0x20c);}this[_0x2bee88(0x54b,0x58b)][_0x778cf6(0x29e,0x31b)]=_0x539253;}['update'](_0x95328f){if(!this[_0x4773f4(-0x3b,-0x81)])return;function _0x46317e(_0x29691e,_0xefe346){return _0x25a800(_0x29691e,_0xefe346-0x17a);}function _0x4773f4(_0x5b389e,_0x18c6f8){return _0x263d96(_0x5b389e,_0x18c6f8- -0x1ab);}if(_0x95328f['mode']!==Cesium$6['SceneMode']['SCENE3D'])return;!Cesium$6['defined'](this[_0x46317e(0x569,0x521)])&&(this[_0x46317e(0x50a,0x521)]=this[_0x46317e(0x5b2,0x528)](_0x95328f['context'])),Cesium$6['defined'](this['preExecute'])&&this[_0x4773f4(-0x80,-0x1a)](),Cesium$6[_0x4773f4(-0x142,-0xa8)](this[_0x46317e(0x504,0x496)])&&_0x95328f[_0x4773f4(-0x74,-0x99)][_0x46317e(0x434,0x416)](this[_0x46317e(0x408,0x496)]),_0x95328f['commandList'][_0x4773f4(-0x91,-0xce)](this['commandToExecute']);}[_0x263d96(0x1c6,0x20c)](){return![];}[_0x263d96(0x88,0x10c)](){if(this['clearCommand']){var _0x3559bf,_0x336ed9;(_0x3559bf=this['clearCommand'])!==null&&_0x3559bf!==void 0x0&&_0x3559bf['vertexArray']&&this[_0x23c950(0xbd,0x11c)][_0x23c950(0x6f,-0xc)]['destroy'](),(_0x336ed9=this['clearCommand'])!==null&&_0x336ed9!==void 0x0&&_0x336ed9[_0x23c950(0x164,0x1de)]&&this[_0xc1f0d6(0x2aa,0x2e2)]['shaderProgram']['destroy'](),delete this['clearCommand'];}function _0xc1f0d6(_0x304aaf,_0x2836b2){return _0x25a800(_0x2836b2,_0x304aaf- -0x72);}function _0x23c950(_0x4fe988,_0x54cac1){return _0x25a800(_0x54cac1,_0x4fe988- -0x25f);}return this[_0x23c950(0x148,0x193)]&&(this[_0x23c950(0x148,0x168)]['vertexArray']&&this['commandToExecute']['vertexArray']['destroy'](),this[_0xc1f0d6(0x335,0x2e3)]['shaderProgram']&&this['commandToExecute']['shaderProgram']['destroy'](),delete this['commandToExecute']),Cesium$6['destroyObject'](this);}}const Cesium$5=mars3d__namespace['Cesium'],Util=(function(){const _0x211859=function(){function _0x350a1e(_0x3e3f20,_0x269926){return _0x1cf6(_0x3e3f20- -0x2d9,_0x269926);}function _0xfad38c(_0x171187,_0x3713f9){return _0x1cf6(_0x171187-0x320,_0x3713f9);}const _0x6d32d4=new Cesium$5[(_0x350a1e(-0x1ec,-0x221))]({'attributes':new Cesium$5[(_0xfad38c(0x426,0x3fa))]({'position':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5[_0xfad38c(0x414,0x410)][_0xfad38c(0x516,0x4fb)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5[(_0x350a1e(-0x1f9,-0x217))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x350a1e(-0xe3,-0x17c)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});return _0x6d32d4;},_0x231c94=function(_0x14adf9,_0x132252){function _0x413da2(_0x3a3332,_0x218c17){return _0x1cf6(_0x3a3332-0x101,_0x218c17);}if(Cesium$5['defined'](_0x132252)){const _0x15b40d={};_0x15b40d['arrayBufferView']=_0x132252,_0x14adf9[_0x413da2(0x1e2,0x191)]=_0x15b40d;}const _0x524d39=new Cesium$5['Texture'](_0x14adf9);return _0x524d39;},_0x1f0131=function(_0x59a835,_0x33e563,_0x3888b2){const _0x261eb0={};_0x261eb0['context']=_0x59a835,_0x261eb0[_0x53506f(0x355,0x2d4)]=[_0x33e563],_0x261eb0['depthTexture']=_0x3888b2;const _0x3df016=new Cesium$5['Framebuffer'](_0x261eb0);function _0x53506f(_0x9a8056,_0x5a537e){return _0x1cf6(_0x9a8056-0x207,_0x5a537e);}return _0x3df016;},_0x25849d=function(_0x5d6c84){const _0x274717=!![],_0x17a114=![];function _0x1c0369(_0x18633a,_0x3ef73c){return _0x1cf6(_0x3ef73c-0xb2,_0x18633a);}const _0x4f3f54={};_0x4f3f54['viewport']=_0x5d6c84[_0x29672e(0x131,0x185)],_0x4f3f54['depthTest']=_0x5d6c84['depthTest'],_0x4f3f54[_0x1c0369(0x249,0x1b1)]=_0x5d6c84['depthMask'];function _0x29672e(_0x33e22f,_0x2c1187){return _0x1cf6(_0x2c1187- -0x36,_0x33e22f);}_0x4f3f54['blending']=_0x5d6c84['blending'];const _0x2e066f=_0x4f3f54,_0x1122be=Cesium$5['Appearance']['getDefaultRenderState'](_0x274717,_0x17a114,_0x2e066f);return _0x1122be;},_0x240ba8=function(_0x2128d4){const _0x4264a9={},_0x10398c=Cesium$5['Math'][_0x42d091(0x41c,0x413)](_0x2128d4[_0x42d091(0x41a,0x450)],Cesium$5['Math'][_0x42d091(0x37c,0x404)]),_0x4bf4b8=Cesium$5['Math'][_0x42d091(0x3cc,0x413)](_0x2128d4[_0x47ab24(-0x14c,-0x1b8)],Cesium$5['Math'][_0x42d091(0x439,0x404)]),_0x409649=_0x2128d4['width'];let _0x480b4b,_0x11d79c;_0x409649>Cesium$5['Math']['THREE_PI_OVER_TWO']?(_0x480b4b=0x0,_0x11d79c=Cesium$5[_0x47ab24(-0x232,-0x27d)]['TWO_PI']):_0x4bf4b8-_0x10398c<_0x409649?(_0x480b4b=_0x10398c,_0x11d79c=_0x10398c+_0x409649):(_0x480b4b=_0x10398c,_0x11d79c=_0x4bf4b8);_0x4264a9['lon']={'min':Cesium$5[_0x47ab24(-0x232,-0x293)][_0x42d091(0x42e,0x481)](_0x480b4b),'max':Cesium$5[_0x47ab24(-0x232,-0x293)]['toDegrees'](_0x11d79c)};function _0x42d091(_0x1b9acd,_0x575680){return _0x1cf6(_0x575680-0x301,_0x1b9acd);}const _0x43641a=_0x2128d4['south'],_0x3fa5f3=_0x2128d4[_0x47ab24(-0x12d,-0xd5)],_0x49e691=_0x2128d4[_0x42d091(0x4ba,0x46f)],_0x5cdb76=_0x49e691>Cesium$5['Math']['PI']/0xc?_0x49e691/0x2:0x0;let _0x40aa08=Cesium$5[_0x42d091(0x375,0x3e0)][_0x47ab24(-0x205,-0x1dd)](_0x43641a-_0x5cdb76),_0x15712b=Cesium$5['Math']['clampToLatitudeRange'](_0x3fa5f3+_0x5cdb76);_0x40aa08<-Cesium$5[_0x47ab24(-0x232,-0x1af)][_0x47ab24(-0x13f,-0xff)]&&(_0x40aa08=-Cesium$5['Math'][_0x42d091(0x518,0x490)]);function _0x47ab24(_0x1b9cb9,_0x2f7a4d){return _0x1cf6(_0x1b9cb9- -0x311,_0x2f7a4d);}return _0x15712b>Cesium$5[_0x42d091(0x371,0x3e0)]['PI_OVER_THREE']&&(_0x15712b=Cesium$5['Math'][_0x47ab24(-0x182,-0x16d)]),_0x4264a9[_0x47ab24(-0x1bd,-0x245)]={'min':Cesium$5['Math'][_0x42d091(0x45b,0x481)](_0x40aa08),'max':Cesium$5['Math']['toDegrees'](_0x15712b)},_0x4264a9;},_0x4389f9={};_0x4389f9['getFullscreenQuad']=_0x211859;function _0x422e23(_0x41a83f,_0x2d3f78){return _0x25a800(_0x2d3f78,_0x41a83f- -0x578);}return _0x4389f9['createTexture']=_0x231c94,_0x4389f9['createFramebuffer']=_0x1f0131,_0x4389f9['createRawRenderState']=_0x25849d,_0x4389f9[_0x422e23(-0x245,-0x2b5)]=_0x240ba8,_0x4389f9;}());var segmentDraw_vert=_0x25a800(0x330,0x2f6),segmentDraw_frag=_0x263d96(0x1fe,0x203),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=_0x263d96(0x242,0x1bc);const Cesium$4=mars3d__namespace['Cesium'];function _0x263d96(_0x4145af,_0x80e01c){return _0x1cf6(_0x80e01c-0x19,_0x4145af);}class ParticlesRendering{constructor(_0x109a1f,_0x2b7ede,_0x212619,_0x5a4b45,_0x403529){function _0x554e95(_0x127a0e,_0x35a09e){return _0x263d96(_0x35a09e,_0x127a0e-0x296);}this['createRenderingTextures'](_0x109a1f,_0x2b7ede,_0x212619[_0x96ce50(-0x22f,-0x270)]);function _0x96ce50(_0x34ab73,_0x22c468){return _0x263d96(_0x34ab73,_0x22c468- -0x3b0);}this[_0x554e95(0x44a,0x499)](_0x109a1f),this[_0x96ce50(-0x16d,-0x202)](_0x109a1f,_0x212619,_0x5a4b45,_0x403529);}[_0x25a800(0x377,0x39c)](_0x4e8cd8,_0x64ebe7,_0x172811){function _0x3092fb(_0x3a5eba,_0x1d26dd){return _0x25a800(_0x3a5eba,_0x1d26dd- -0x572);}const _0x2c8bae={};_0x2c8bae['context']=_0x4e8cd8,_0x2c8bae['width']=_0x4e8cd8['drawingBufferWidth'],_0x2c8bae['height']=_0x4e8cd8[_0x3092fb(-0x150,-0x1cf)];function _0x4e3a88(_0x381152,_0x3bdbd7){return _0x25a800(_0x381152,_0x3bdbd7- -0x7a);}_0x2c8bae['pixelFormat']=Cesium$4['PixelFormat']['RGBA'],_0x2c8bae[_0x3092fb(-0x22d,-0x291)]=Cesium$4['PixelDatatype'][_0x4e3a88(0x32e,0x2ab)];const _0x471f74=_0x2c8bae,_0x485d63={};_0x485d63['context']=_0x4e8cd8,_0x485d63[_0x4e3a88(0x319,0x300)]=_0x4e8cd8[_0x4e3a88(0x20a,0x26d)],_0x485d63['height']=_0x4e8cd8['drawingBufferHeight'],_0x485d63[_0x4e3a88(0x348,0x337)]=Cesium$4[_0x3092fb(-0x228,-0x271)]['DEPTH_COMPONENT'],_0x485d63[_0x3092fb(-0x22b,-0x291)]=Cesium$4[_0x4e3a88(0x272,0x266)]['UNSIGNED_INT'];const _0x16baf8=_0x485d63,_0x2124cb=_0x172811['length'],_0x19c3ce=new Float32Array(_0x2124cb*0x3);for(let _0x11044e=0x0;_0x11044e<_0x2124cb;_0x11044e++){const _0x3af621=Cesium$4[_0x3092fb(-0x2b3,-0x26a)][_0x4e3a88(0x287,0x310)](_0x172811[_0x11044e]);_0x19c3ce[0x3*_0x11044e]=_0x3af621[_0x4e3a88(0x26c,0x29d)],_0x19c3ce[0x3*_0x11044e+0x1]=_0x3af621['green'],_0x19c3ce[0x3*_0x11044e+0x2]=_0x3af621['blue'];}const _0x2abb6c={'context':_0x4e8cd8,'width':_0x2124cb,'height':0x1,'pixelFormat':Cesium$4['PixelFormat'][_0x4e3a88(0x3bf,0x32a)],'pixelDatatype':Cesium$4['PixelDatatype'][_0x4e3a88(0x343,0x354)],'sampler':new Cesium$4[(_0x4e3a88(0x26b,0x2a4))]({'minificationFilter':Cesium$4['TextureMinificationFilter']['LINEAR'],'magnificationFilter':Cesium$4['TextureMagnificationFilter'][_0x4e3a88(0x2aa,0x2b4)]})};this['textures']={'segmentsColor':Util[_0x3092fb(-0x310,-0x2ca)](_0x471f74),'segmentsDepth':Util[_0x3092fb(-0x2ee,-0x2ca)](_0x16baf8),'currentTrailsColor':Util[_0x4e3a88(0x2c7,0x22e)](_0x471f74),'currentTrailsDepth':Util['createTexture'](_0x16baf8),'nextTrailsColor':Util[_0x3092fb(-0x32a,-0x2ca)](_0x471f74),'nextTrailsDepth':Util[_0x4e3a88(0x1cb,0x22e)](_0x16baf8),'colorTable':Util['createTexture'](_0x2abb6c,_0x19c3ce)};}[_0x25a800(0x3e4,0x373)](_0x356201){function _0x41f3cc(_0x5c1eee,_0x2d373c){return _0x263d96(_0x2d373c,_0x5c1eee- -0x2f1);}function _0x4e95da(_0x1019ed,_0xecdad8){return _0x25a800(_0x1019ed,_0xecdad8- -0x517);}this['framebuffers']={'segments':Util['createFramebuffer'](_0x356201,this['textures']['segmentsColor'],this[_0x4e95da(-0x271,-0x205)]['segmentsDepth']),'currentTrails':Util['createFramebuffer'](_0x356201,this[_0x41f3cc(-0x19e,-0x10f)][_0x4e95da(-0x1d0,-0x1db)],this['textures'][_0x41f3cc(-0x1bd,-0x180)]),'nextTrails':Util['createFramebuffer'](_0x356201,this[_0x41f3cc(-0x19e,-0x1dc)]['nextTrailsColor'],this['textures'][_0x4e95da(-0x127,-0x14e)])};}['createSegmentsGeometry'](_0x1d071f){const _0x59ab9b=0x4;let _0x2f570d=[];for(let _0x13cea9=0x0;_0x13cea9<_0x1d071f['particlesTextureSize'];_0x13cea9++){for(let _0x3c3e5a=0x0;_0x3c3e5a<_0x1d071f['particlesTextureSize'];_0x3c3e5a++){for(let _0x4b8156=0x0;_0x4b8156<_0x59ab9b;_0x4b8156++){_0x2f570d[_0x33b9ea(0x3c0,0x458)](_0x13cea9/_0x1d071f['particlesTextureSize']),_0x2f570d[_0x33b9ea(0x4c3,0x458)](_0x3c3e5a/_0x1d071f['particlesTextureSize']);}}}_0x2f570d=new Float32Array(_0x2f570d);let _0x29cff0=[];const _0x54f550=[-0x1,0x1],_0x4622bf=[-0x1,0x1];function _0x487750(_0x5867f6,_0x174ba7){return _0x25a800(_0x5867f6,_0x174ba7-0x1a5);}for(let _0x1291bc=0x0;_0x1291bc<_0x1d071f['maxParticles'];_0x1291bc++){for(let _0x298637=0x0;_0x298637<_0x59ab9b/0x2;_0x298637++){for(let _0x4d4613=0x0;_0x4d4613<_0x59ab9b/0x2;_0x4d4613++){_0x29cff0[_0x33b9ea(0x462,0x458)](_0x54f550[_0x298637]),_0x29cff0['push'](_0x4622bf[_0x4d4613]),_0x29cff0['push'](0x0);}}}_0x29cff0=new Float32Array(_0x29cff0);const _0x5a8361=0x6*_0x1d071f[_0x487750(0x57e,0x54b)],_0x38d47d=new Uint32Array(_0x5a8361);function _0x33b9ea(_0x1c8616,_0x34d0e8){return _0x25a800(_0x1c8616,_0x34d0e8-0x1bc);}for(let _0x1875f1=0x0,_0x1103b0=0x0,_0x2f45f6=0x0;_0x1875f1<_0x1d071f[_0x487750(0x4dd,0x54b)];_0x1875f1++){_0x38d47d[_0x1103b0++]=_0x2f45f6+0x0,_0x38d47d[_0x1103b0++]=_0x2f45f6+0x1,_0x38d47d[_0x1103b0++]=_0x2f45f6+0x2,_0x38d47d[_0x1103b0++]=_0x2f45f6+0x2,_0x38d47d[_0x1103b0++]=_0x2f45f6+0x1,_0x38d47d[_0x1103b0++]=_0x2f45f6+0x3,_0x2f45f6+=0x4;}const _0x4e212c=new Cesium$4[(_0x487750(0x45b,0x46a))]({'attributes':new Cesium$4['GeometryAttributes']({'st':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4['ComponentDatatype'][_0x33b9ea(0x546,0x58a)],'componentsPerAttribute':0x2,'values':_0x2f570d}),'normal':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4['ComponentDatatype'][_0x33b9ea(0x59a,0x58a)],'componentsPerAttribute':0x3,'values':_0x29cff0})}),'indices':_0x38d47d});return _0x4e212c;}['createRenderingPrimitives'](_0x400152,_0x968700,_0x2fac85,_0x3b5e35){const _0x2325ba=this,_0x9bb59={};_0x9bb59['st']=0x0,_0x9bb59[_0xe15eae(0x2af,0x2cb)]=0x1;const _0x5d8e13={};_0x5d8e13['sources']=[segmentDraw_vert];const _0x91a44e={};function _0xe15eae(_0x48f655,_0x2a9abc){return _0x25a800(_0x48f655,_0x2a9abc- -0xd0);}_0x91a44e[_0x52ca18(-0x1e,0x21)]=[segmentDraw_frag];const _0xb1c98b={};_0xb1c98b[_0x52ca18(-0x68,-0x2)]=!![];const _0x3fb6a0={};_0x3fb6a0['viewport']=undefined,_0x3fb6a0['depthTest']=_0xb1c98b,_0x3fb6a0[_0x52ca18(-0xa7,-0x43)]=!![];const _0x510aaf={};_0x510aaf['position']=0x0,_0x510aaf['st']=0x1;const _0x3153d3={};_0x3153d3['defines']=[_0x52ca18(-0x25,-0x12)],_0x3153d3['sources']=[fullscreen_vert];const _0x259d05={};_0x259d05['defines']=[_0xe15eae(0x218,0x275)],_0x259d05[_0x52ca18(-0x1e,-0xa0)]=[trailDraw_frag];const _0x5423df={};_0x5423df['position']=0x0,_0x5423df['st']=0x1;const _0x18e139={};_0x18e139['defines']=[_0xe15eae(0x222,0x289)],_0x18e139[_0x52ca18(-0x1e,-0x84)]=[fullscreen_vert];const _0x1c26fc={};_0x1c26fc[_0x52ca18(-0x1f,0xa)]=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x1c26fc['sources']=[screenDraw_frag];const _0x3df0de={};_0x3df0de['enabled']=![];function _0x52ca18(_0x3b08b1,_0x10849d){return _0x263d96(_0x10849d,_0x3b08b1- -0x1bf);}const _0x5aab1d={};_0x5aab1d['enabled']=!![],this['primitives']={'segments':new CustomPrimitive({'commandType':_0xe15eae(0x2f3,0x27f),'attributeLocations':_0x9bb59,'geometry':this[_0x52ca18(-0x1a,-0x9f)](_0x968700),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'currentParticlesPosition':function(){return _0x3b5e35['particlesTextures']['currentParticlesPosition'];},'postProcessingPosition':function(){function _0x227752(_0x26df42,_0x38e834){return _0x52ca18(_0x38e834-0x335,_0x26df42);}return _0x3b5e35['particlesTextures'][_0x227752(0x38e,0x342)];},'postProcessingSpeed':function(){function _0xfa7c1b(_0x5a5433,_0x243229){return _0x52ca18(_0x243229- -0x188,_0x5a5433);}return _0x3b5e35[_0xfa7c1b(-0x174,-0x1bf)]['postProcessingSpeed'];},'colorTable':function(){function _0x5481e4(_0x6372bf,_0x35979e){return _0x52ca18(_0x35979e-0x3c3,_0x6372bf);}function _0x48dc95(_0x5d77e9,_0x107935){return _0xe15eae(_0x5d77e9,_0x107935-0x277);}return _0x2325ba[_0x48dc95(0x530,0x4b9)][_0x5481e4(0x42f,0x3f5)];},'aspect':function(){return _0x400152['drawingBufferWidth']/_0x400152['drawingBufferHeight'];},'pixelSize':function(){return _0x2fac85['pixelSize'];},'lineWidth':function(){return _0x968700['lineWidth'];},'particleHeight':function(){function _0x4c3592(_0x52bf04,_0x45406c){return _0xe15eae(_0x52bf04,_0x45406c- -0x347);}return _0x968700[_0x4c3592(-0xc3,-0xff)];}},'vertexShaderSource':new Cesium$4[(_0x52ca18(0x34,0x4b))](_0x5d8e13),'fragmentShaderSource':new Cesium$4[(_0x52ca18(0x34,0x1e))](_0x91a44e),'rawRenderState':Util['createRawRenderState'](_0x3fb6a0),'framebuffer':this['framebuffers']['segments'],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0x52ca18(-0x2f,0x14),'attributeLocations':_0x510aaf,'geometry':Util[_0xe15eae(0x220,0x2a7)](),'primitiveType':Cesium$4[_0x52ca18(0x3c,-0x4a)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){function _0x4e2c90(_0x137734,_0x272163){return _0x52ca18(_0x137734- -0xf6,_0x272163);}return _0x2325ba[_0x4e2c90(-0x162,-0x165)]['segmentsColor'];},'segmentsDepthTexture':function(){return _0x2325ba['textures']['segmentsDepth'];},'currentTrailsColor':function(){function _0x517fcc(_0x1ceb7d,_0x49ba66){return _0x52ca18(_0x49ba66-0x1ae,_0x1ceb7d);}function _0x1e413a(_0x3b7d69,_0x13f251){return _0xe15eae(_0x13f251,_0x3b7d69-0x3e);}return _0x2325ba[_0x1e413a(0x24b,0x25b)]['currentTrails'][_0x1e413a(0x303,0x28e)](0x0);},'trailsDepthTexture':function(){return _0x2325ba['framebuffers']['currentTrails']['depthTexture'];},'fadeOpacity':function(){function _0x3f1ba6(_0x2656cb,_0xb47af2){return _0xe15eae(_0xb47af2,_0x2656cb- -0x30c);}return _0x968700[_0x3f1ba6(-0x102,-0xd6)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x3153d3),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x259d05),'rawRenderState':Util[_0x52ca18(-0x56,0x6)]({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4[_0xe15eae(0x380,0x2fa)]['ALWAYS']},'depthMask':!![]}),'framebuffer':this[_0xe15eae(0x297,0x20d)][_0xe15eae(0x14c,0x1d5)],'autoClear':!![],'preExecute':function(){const _0x396c9a=_0x2325ba[_0x5f3caa(0x1f0,0x1c5)][_0x5f3caa(0x15c,0x1b8)];_0x2325ba[_0x5f3caa(0x20e,0x1c5)][_0x46c1df(0x168,0x1bd)]=_0x2325ba[_0x46c1df(0x254,0x1ca)]['nextTrails'];function _0x46c1df(_0x4bc1f9,_0x4df17c){return _0x52ca18(_0x4df17c-0x26b,_0x4bc1f9);}function _0x5f3caa(_0x193f0b,_0x30d6aa){return _0x52ca18(_0x30d6aa-0x266,_0x193f0b);}_0x2325ba[_0x46c1df(0x150,0x1ca)]['nextTrails']=_0x396c9a,_0x2325ba['primitives']['trails']['commandToExecute']['framebuffer']=_0x2325ba['framebuffers'][_0x46c1df(0x11c,0x192)],_0x2325ba['primitives'][_0x5f3caa(0x192,0x1d6)][_0x46c1df(0x276,0x209)][_0x5f3caa(0x2d6,0x271)]=_0x2325ba['framebuffers']['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':_0xe15eae(0x2bb,0x27f),'attributeLocations':_0x5423df,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){function _0x3132ec(_0x1f292d,_0x331d34){return _0xe15eae(_0x331d34,_0x1f292d- -0x273);}return _0x2325ba['framebuffers'][_0x3132ec(-0x9e,-0xf4)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0x4f5499(_0x2c45ca,_0x18abb0){return _0xe15eae(_0x2c45ca,_0x18abb0-0x280);}function _0x5c54d4(_0x5b7ea6,_0x1733e9){return _0x52ca18(_0x1733e9-0x31a,_0x5b7ea6);}return _0x2325ba[_0x4f5499(0x480,0x48d)][_0x5c54d4(0x297,0x241)][_0x5c54d4(0x3c1,0x33a)];}},'vertexShaderSource':new Cesium$4[(_0x52ca18(0x34,0x32))](_0x18e139),'fragmentShaderSource':new Cesium$4[(_0xe15eae(0x29d,0x2e2))](_0x1c26fc),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':_0x3df0de,'depthMask':!![],'blending':_0x5aab1d}),'framebuffer':undefined})};}}var getWind_frag=_0x25a800(0x301,0x392),updateSpeed_frag=_0x25a800(0x325,0x2f9),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=_0x25a800(0x368,0x390),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[_0x25a800(0x38e,0x337)];class ParticlesComputing{constructor(_0x5e0d8a,_0x2bf610,_0x4049c0,_0x3ae052){this['data']=_0x2bf610,this[_0x25cd0c(0x20a,0x285)](_0x5e0d8a,_0x2bf610);function _0x25cd0c(_0x2e264e,_0x3de03a){return _0x25a800(_0x2e264e,_0x3de03a- -0x38);}this[_0x25cd0c(0x30f,0x2f2)](_0x5e0d8a,_0x4049c0,_0x3ae052);function _0x2389ea(_0x2a7387,_0x43e4aa){return _0x263d96(_0x2a7387,_0x43e4aa-0x54);}this['createComputingPrimitives'](_0x2bf610,_0x4049c0,_0x3ae052);}['createWindTextures'](_0x26de40,_0x30d955){const _0xe53f4f={'context':_0x26de40,'width':_0x30d955[_0x48d021(0x24,-0x73)][_0x48d021(0xf,-0x3e)],'height':_0x30d955[_0x1abdb5(0x37f,0x2ff)]['lat']*(_0x30d955[_0x48d021(-0xd5,-0x73)]['lev']||0x1),'pixelFormat':Cesium$3[_0x1abdb5(0x37d,0x352)]['LUMINANCE'],'pixelDatatype':Cesium$3['PixelDatatype'][_0x48d021(0x4f,0x58)],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};function _0x48d021(_0x206f53,_0xcc6787){return _0x263d96(_0x206f53,_0xcc6787- -0x1b7);}function _0x1abdb5(_0x3db124,_0x364186){return _0x25a800(_0x364186,_0x3db124-0x7c);}this['windTextures']={'U':Util['createTexture'](_0xe53f4f,_0x30d955['U'][_0x48d021(-0x87,-0x63)]),'V':Util['createTexture'](_0xe53f4f,_0x30d955['V']['array'])};}[_0x263d96(0x113,0x16b)](_0x3a9a55,_0x3ae15d,_0x4638e7){const _0x228c4d={'context':_0x3a9a55,'width':_0x3ae15d['particlesTextureSize'],'height':_0x3ae15d['particlesTextureSize'],'pixelFormat':Cesium$3['PixelFormat']['RGBA'],'pixelDatatype':Cesium$3['PixelDatatype']['FLOAT'],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};function _0x1dcbc8(_0x17e7f5,_0x2bead5){return _0x25a800(_0x2bead5,_0x17e7f5- -0x2c7);}function _0x7f286d(_0x2b803e,_0x4d5612){return _0x25a800(_0x2b803e,_0x4d5612-0x1fd);}const _0xf90581=this['randomizeParticles'](_0x3ae15d['maxParticles'],_0x4638e7),_0x5bc7d6=new Float32Array(0x4*_0x3ae15d['maxParticles'])[_0x1dcbc8(0x6b,0x34)](0x0);this['particlesTextures']={'particlesWind':Util['createTexture'](_0x228c4d),'currentParticlesPosition':Util['createTexture'](_0x228c4d,_0xf90581),'nextParticlesPosition':Util['createTexture'](_0x228c4d,_0xf90581),'currentParticlesSpeed':Util[_0x1dcbc8(-0x1f,-0x34)](_0x228c4d,_0x5bc7d6),'nextParticlesSpeed':Util[_0x7f286d(0x4a9,0x4a5)](_0x228c4d,_0x5bc7d6),'postProcessingPosition':Util['createTexture'](_0x228c4d,_0xf90581),'postProcessingSpeed':Util[_0x1dcbc8(-0x1f,0x78)](_0x228c4d,_0x5bc7d6)};}[_0x25a800(0x378,0x32f)](_0x569d1d,_0x2bf6ed){const _0x38e62c=new Float32Array(0x4*_0x569d1d);function _0x2e55b8(_0x26a1ec,_0x30c38e){return _0x25a800(_0x30c38e,_0x26a1ec-0x1d1);}function _0x269b63(_0x49b377,_0x2b8790){return _0x25a800(_0x49b377,_0x2b8790-0x82);}for(let _0x47fa67=0x0;_0x47fa67<_0x569d1d;_0x47fa67++){_0x38e62c[0x4*_0x47fa67]=Cesium$3['Math']['randomBetween'](_0x2bf6ed['lonRange']['x'],_0x2bf6ed[_0x2e55b8(0x4c8,0x490)]['y']),_0x38e62c[0x4*_0x47fa67+0x1]=Cesium$3[_0x269b63(0x398,0x339)][_0x269b63(0x3cc,0x33d)](_0x2bf6ed[_0x269b63(0x360,0x3a1)]['x'],_0x2bf6ed[_0x269b63(0x41d,0x3a1)]['y']),_0x38e62c[0x4*_0x47fa67+0x2]=Cesium$3['Math']['randomBetween'](this['data'][_0x2e55b8(0x484,0x3ec)][_0x269b63(0x390,0x388)],this['data']['lev']['max']),_0x38e62c[0x4*_0x47fa67+0x3]=0x0;}return _0x38e62c;}['destroyParticlesTextures'](){Object['keys'](this['particlesTextures'])['forEach'](_0x5e822b=>{function _0x1507f9(_0x56507e,_0x8f90e3){return _0x1cf6(_0x8f90e3- -0x34b,_0x56507e);}this[_0x1507f9(-0x1f6,-0x1dc)][_0x5e822b]['destroy']();});}['createComputingPrimitives'](_0x28885e,_0x179fee,_0x249871){const _0x47d1d2=new Cesium$3['Cartesian3'](_0x28885e['dimensions'][_0x5897fe(0x2b4,0x309)],_0x28885e['dimensions'][_0x5956a1(0x326,0x397)],_0x28885e['dimensions']['lev']),_0xd964f5=new Cesium$3['Cartesian3'](_0x28885e[_0x5956a1(0x3c5,0x3a3)][_0x5956a1(0x387,0x371)],_0x28885e['lat'][_0x5897fe(0x2c1,0x2d7)],_0x28885e['lev']['min']),_0x1f7e61=new Cesium$3['Cartesian3'](_0x28885e[_0x5897fe(0x2d5,0x309)][_0x5956a1(0x3af,0x31f)],_0x28885e[_0x5956a1(0x355,0x397)]['max'],_0x28885e['lev'][_0x5956a1(0x2a6,0x31f)]),_0x3942a2=new Cesium$3['Cartesian3']((_0x1f7e61['x']-_0xd964f5['x'])/(_0x47d1d2['x']-0x1),(_0x1f7e61['y']-_0xd964f5['y'])/(_0x47d1d2['y']-0x1),_0x47d1d2['z']>0x1?(_0x1f7e61['z']-_0xd964f5['z'])/(_0x47d1d2['z']-0x1):0x1),_0xf68c70=new Cesium$3[(_0x5956a1(0x3f4,0x3ef))](_0x28885e['U'][_0x5897fe(0x2ec,0x2d7)],_0x28885e['U']['max']),_0x1eba7e=new Cesium$3['Cartesian2'](_0x28885e['V']['min'],_0x28885e['V'][_0x5956a1(0x28d,0x31f)]),_0x494dd9=this,_0xf31ab1={};_0xf31ab1['U']=function(){return _0x494dd9['windTextures']['U'];},_0xf31ab1['V']=function(){function _0x3aa6ad(_0x4aea15,_0x348ec6){return _0x5897fe(_0x348ec6,_0x4aea15- -0x2aa);}return _0x494dd9[_0x3aa6ad(0xe8,0x165)]['V'];},_0xf31ab1[_0x5897fe(0x345,0x30f)]=function(){return _0x494dd9['particlesTextures']['currentParticlesPosition'];};function _0x5956a1(_0x503b1c,_0x5e673f){return _0x25a800(_0x503b1c,_0x5e673f-0x6b);}_0xf31ab1[_0x5897fe(0x322,0x2fe)]=function(){return _0x47d1d2;},_0xf31ab1[_0x5897fe(0x2bb,0x27c)]=function(){return _0xd964f5;},_0xf31ab1[_0x5897fe(0x213,0x283)]=function(){return _0x1f7e61;},_0xf31ab1['interval']=function(){return _0x3942a2;};const _0x253cb6={};_0x253cb6['sources']=[getWind_frag];const _0x3f3d7a={};_0x3f3d7a['sources']=[updateSpeed_frag];function _0x5897fe(_0x15d444,_0x3637b7){return _0x263d96(_0x15d444,_0x3637b7-0x190);}const _0x2a1860={};_0x2a1860[_0x5956a1(0x431,0x3cb)]=[updatePosition_frag];const _0x5adb1e={};_0x5adb1e[_0x5897fe(0x31b,0x331)]=[postProcessingPosition_frag];const _0x3a95f1={};_0x3a95f1['sources']=[postProcessingSpeed_frag],this['primitives']={'getWind':new CustomPrimitive({'commandType':'Compute','uniformMap':_0xf31ab1,'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x253cb6),'outputTexture':this['particlesTextures']['particlesWind'],'preExecute':function(){function _0x2ab117(_0x3c2587,_0xbef4ff){return _0x5956a1(_0xbef4ff,_0x3c2587- -0x300);}function _0x1018ec(_0x479dc5,_0x4f49b8){return _0x5897fe(_0x4f49b8,_0x479dc5- -0x36c);}_0x494dd9['primitives']['getWind'][_0x2ab117(0x112,0xc2)][_0x2ab117(0xe,-0x46)]=_0x494dd9['particlesTextures']['particlesWind'];}}),'updateSpeed':new CustomPrimitive({'commandType':_0x5897fe(0x360,0x341),'uniformMap':{'currentParticlesSpeed':function(){return _0x494dd9['particlesTextures']['currentParticlesSpeed'];},'particlesWind':function(){return _0x494dd9['particlesTextures']['particlesWind'];},'uSpeedRange':function(){return _0xf68c70;},'vSpeedRange':function(){return _0x1eba7e;},'pixelSize':function(){function _0x5217cb(_0x190261,_0x35cc03){return _0x5956a1(_0x190261,_0x35cc03- -0x18b);}return _0x249871[_0x5217cb(0x1d7,0x21d)];},'speedFactor':function(){return _0x179fee['speedFactor'];}},'fragmentShaderSource':new Cesium$3[(_0x5897fe(0x2f7,0x383))](_0x3f3d7a),'outputTexture':this['particlesTextures'][_0x5956a1(0x2fb,0x311)],'preExecute':function(){const _0x2a2ce6=_0x494dd9['particlesTextures']['currentParticlesSpeed'];_0x494dd9['particlesTextures'][_0x21d2d4(0x475,0x4b6)]=_0x494dd9['particlesTextures']['postProcessingSpeed'];function _0x21d2d4(_0x57ba1b,_0x4030eb){return _0x5956a1(_0x4030eb,_0x57ba1b-0x14c);}_0x494dd9['particlesTextures']['postProcessingSpeed']=_0x2a2ce6;function _0x21d3bc(_0x17a73d,_0x3602d9){return _0x5956a1(_0x3602d9,_0x17a73d- -0x1bc);}_0x494dd9['primitives']['updateSpeed']['commandToExecute']['outputTexture']=_0x494dd9[_0x21d3bc(0x1f6,0x202)][_0x21d3bc(0x155,0xef)];}}),'updatePosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){function _0x1f800d(_0x4e6ebf,_0x24572e){return _0x5956a1(_0x4e6ebf,_0x24572e- -0x1d7);}return _0x494dd9[_0x1f800d(0x1b4,0x1db)]['currentParticlesPosition'];},'currentParticlesSpeed':function(){function _0x52b1bf(_0x3f2bfd,_0x3ae332){return _0x5956a1(_0x3f2bfd,_0x3ae332-0x8c);}return _0x494dd9['particlesTextures'][_0x52b1bf(0x3e4,0x3b5)];}},'fragmentShaderSource':new Cesium$3[(_0x5956a1(0x396,0x41d))](_0x2a1860),'outputTexture':this[_0x5956a1(0x398,0x3b2)]['nextParticlesPosition'],'preExecute':function(){function _0x15bd80(_0x510199,_0x30eb70){return _0x5897fe(_0x30eb70,_0x510199- -0x4b5);}const _0x2f530e=_0x494dd9['particlesTextures'][_0x15bd80(-0x1a6,-0x231)];function _0x541c67(_0x4b9111,_0x1957cf){return _0x5956a1(_0x1957cf,_0x4b9111- -0x575);}_0x494dd9[_0x541c67(-0x1c3,-0x216)][_0x541c67(-0x1cc,-0x1ce)]=_0x494dd9[_0x15bd80(-0x19d,-0x220)][_0x15bd80(-0x159,-0x135)],_0x494dd9['particlesTextures'][_0x541c67(-0x17f,-0x201)]=_0x2f530e,_0x494dd9['primitives'][_0x541c67(-0x25b,-0x254)]['commandToExecute']['outputTexture']=_0x494dd9['particlesTextures'][_0x541c67(-0x1af,-0x17e)];}}),'postProcessingPosition':new CustomPrimitive({'commandType':_0x5897fe(0x36d,0x341),'uniformMap':{'nextParticlesPosition':function(){function _0x2b39df(_0x2b92f2,_0x44453e){return _0x5897fe(_0x2b92f2,_0x44453e- -0x1a5);}function _0x5e6b09(_0xb3ad93,_0x5ce482){return _0x5897fe(_0x5ce482,_0xb3ad93- -0x586);}return _0x494dd9[_0x2b39df(0x168,0x173)][_0x2b39df(0x215,0x187)];},'nextParticlesSpeed':function(){function _0x4daa22(_0x1d3c9b,_0x14259b){return _0x5956a1(_0x14259b,_0x1d3c9b- -0x36f);}return _0x494dd9[_0x4daa22(0x43,0x32)]['nextParticlesSpeed'];},'lonRange':function(){return _0x249871['lonRange'];},'latRange':function(){return _0x249871['latRange'];},'randomCoefficient':function(){const _0x478913=Math['random']();return _0x478913;},'dropRate':function(){return _0x179fee['dropRate'];},'dropRateBump':function(){function _0x24c00e(_0x2387ed,_0x14fbfa){return _0x5897fe(_0x14fbfa,_0x2387ed- -0x199);}return _0x179fee[_0x24c00e(0x173,0x108)];}},'fragmentShaderSource':new Cesium$3[(_0x5956a1(0x4b0,0x41d))](_0x5adb1e),'outputTexture':this['particlesTextures'][_0x5956a1(0x476,0x3f6)],'preExecute':function(){function _0x353543(_0x21f766,_0x171a58){return _0x5897fe(_0x21f766,_0x171a58- -0x560);}function _0x31ba7c(_0x1ec775,_0x28729d){return _0x5897fe(_0x28729d,_0x1ec775- -0x17);}_0x494dd9['primitives'][_0x31ba7c(0x345,0x315)]['commandToExecute'][_0x31ba7c(0x25d,0x22e)]=_0x494dd9[_0x31ba7c(0x301,0x2a4)][_0x31ba7c(0x345,0x2f5)];}}),'postProcessingSpeed':new CustomPrimitive({'commandType':_0x5956a1(0x435,0x3db),'uniformMap':{'postProcessingPosition':function(){function _0x359696(_0x5a4666,_0x2d4ac0){return _0x5897fe(_0x5a4666,_0x2d4ac0- -0x1a9);}return _0x494dd9[_0x359696(0x1a8,0x16f)]['postProcessingPosition'];},'nextParticlesSpeed':function(){return _0x494dd9['particlesTextures']['nextParticlesSpeed'];}},'fragmentShaderSource':new Cesium$3[(_0x5956a1(0x450,0x41d))](_0x3a95f1),'outputTexture':this['particlesTextures']['postProcessingSpeed'],'preExecute':function(){function _0x127ff3(_0x3028f9,_0x15d003){return _0x5897fe(_0x15d003,_0x3028f9- -0x419);}function _0xd63eb4(_0x5194f3,_0x1da9d9){return _0x5897fe(_0x5194f3,_0x1da9d9-0xcc);}_0x494dd9[_0x127ff3(-0x13d,-0x168)][_0xd63eb4(0x434,0x458)]['commandToExecute']['outputTexture']=_0x494dd9[_0x127ff3(-0x101,-0x9d)]['postProcessingSpeed'];}})};}}const Cesium$2=mars3d__namespace['Cesium'];class ParticleSystem{constructor(_0x554e65,_0x33c995,_0x219921,_0xf00920){this[_0x1f010f(-0x49,0x5)]=_0x554e65;function _0x1f010f(_0x3c1fd4,_0x622fa0){return _0x25a800(_0x622fa0,_0x3c1fd4- -0x3d6);}_0x33c995={..._0x33c995};_0x33c995[_0x5d0a47(-0x28a,-0x27e)]&&_0x33c995['vdata']&&(_0x33c995[_0x5d0a47(-0x327,-0x290)]={},_0x33c995[_0x5d0a47(-0x220,-0x290)]['lon']=_0x33c995[_0x1f010f(-0xee,-0xbc)],_0x33c995['dimensions']['lat']=_0x33c995[_0x5d0a47(-0x238,-0x287)],_0x33c995[_0x1f010f(-0xd3,-0x104)]['lev']=_0x33c995[_0x1f010f(-0x123,-0xc7)]||0x1,_0x33c995['lon']={},_0x33c995['lon']['min']=_0x33c995['xmin'],_0x33c995['lon'][_0x5d0a47(-0x289,-0x2df)]=_0x33c995[_0x1f010f(-0x75,-0x70)],_0x33c995['lat']={},_0x33c995['lat']['min']=_0x33c995[_0x1f010f(-0xfd,-0x68)],_0x33c995[_0x1f010f(-0xaa,-0x3f)][_0x1f010f(-0x122,-0xc6)]=_0x33c995['ymax'],_0x33c995['lev']={},_0x33c995['lev']['min']=_0x33c995['levmin']??0x1,_0x33c995['lev'][_0x5d0a47(-0x2ee,-0x2df)]=_0x33c995[_0x5d0a47(-0x319,-0x2a8)]??0x1,_0x33c995['U']={},_0x33c995['U']['array']=new Float32Array(_0x33c995[_0x5d0a47(-0x294,-0x27e)]),_0x33c995['U']['min']=_0x33c995[_0x5d0a47(-0x298,-0x20e)]??Math['min'](..._0x33c995[_0x5d0a47(-0x1f3,-0x27e)]),_0x33c995['U']['max']=_0x33c995[_0x1f010f(-0x4a,-0x1d)]??Math['max'](..._0x33c995[_0x5d0a47(-0x1ee,-0x27e)]),_0x33c995['V']={},_0x33c995['V']['array']=new Float32Array(_0x33c995['vdata']),_0x33c995['V'][_0x1f010f(-0xd0,-0x4a)]=_0x33c995['vmin']??Math['min'](..._0x33c995['vdata']),_0x33c995['V']['max']=_0x33c995['vmax']??Math[_0x1f010f(-0x122,-0x156)](..._0x33c995['vdata']));this[_0x5d0a47(-0x167,-0x1ff)]=_0x33c995;function _0x5d0a47(_0x5e6f99,_0xf44be0){return _0x25a800(_0x5e6f99,_0xf44be0- -0x593);}this[_0x5d0a47(-0x2ca,-0x2bd)]=_0x219921,this['viewerParameters']=_0xf00920,this['particlesComputing']=new ParticlesComputing(this['context'],this[_0x1f010f(-0x42,0x9)],this[_0x5d0a47(-0x2fa,-0x2bd)],this['viewerParameters']),this['particlesRendering']=new ParticlesRendering(this['context'],this['data'],this['options'],this['viewerParameters'],this['particlesComputing']);}['canvasResize'](_0x4af7d3){this['particlesComputing']['destroyParticlesTextures'](),Object['keys'](this[_0x4837f3(-0x2b,0x1a)][_0x4837f3(0xa2,0x59)])[_0x4837f3(-0x4c,-0x3b)](_0x256b0f=>{function _0x16056f(_0x474866,_0x31a831){return _0x4837f3(_0x474866-0x75,_0x31a831);}this['particlesComputing']['windTextures'][_0x256b0f][_0x16056f(0x21,0x57)]();}),this['particlesRendering'][_0x50e0f0(0x1dc,0x24b)]['colorTable']['destroy'](),Object['keys'](this[_0x4837f3(-0x4b,-0x5b)][_0x50e0f0(0x1a7,0x169)])[_0x50e0f0(0x19d,0x15b)](_0x59b5eb=>{this['particlesRendering']['framebuffers'][_0x59b5eb]['destroy']();});function _0x50e0f0(_0x1366f8,_0x284bca){return _0x25a800(_0x284bca,_0x1366f8- -0x136);}function _0x4837f3(_0x48f7e,_0x38a3fa){return _0x263d96(_0x38a3fa,_0x48f7e- -0x160);}this['context']=_0x4af7d3,this['particlesComputing']=new ParticlesComputing(this[_0x50e0f0(0x257,0x214)],this['data'],this['options'],this[_0x50e0f0(0x227,0x1ea)]),this['particlesRendering']=new ParticlesRendering(this[_0x4837f3(0x6e,0xe4)],this[_0x50e0f0(0x25e,0x20b)],this['options'],this['viewerParameters'],this['particlesComputing']);}[_0x263d96(0x111,0x181)](){const _0x1f0f1c=new Cesium$2['ClearCommand']({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2['Pass']['OPAQUE']});Object['keys'](this['particlesRendering']['framebuffers'])['forEach'](_0x5e69f6=>{_0x1f0f1c['framebuffer']=this[_0x178d4a(-0x14b,-0x16b)]['framebuffers'][_0x5e69f6];function _0x495fd1(_0xc92ca4,_0x523a26){return _0x1cf6(_0x523a26- -0x193,_0xc92ca4);}function _0x178d4a(_0x3fd917,_0x2bfea5){return _0x1cf6(_0x2bfea5- -0x267,_0x3fd917);}_0x1f0f1c[_0x495fd1(0x1,-0x20)](this['context']);});}['refreshParticles'](_0xc5d693){this['clearFramebuffers'](),this['particlesComputing']['destroyParticlesTextures'](),this['particlesComputing'][_0x5567ae(-0x240,-0x1d4)](this[_0x42b149(0x138,0x199)],this[_0x5567ae(-0x1a2,-0x228)],this[_0x42b149(0x191,0x169)]);function _0x42b149(_0x2753ae,_0x44b907){return _0x263d96(_0x2753ae,_0x44b907- -0x35);}function _0x5567ae(_0x4e945f,_0x3d3029){return _0x263d96(_0x4e945f,_0x3d3029- -0x33f);}if(_0xc5d693){var _0x3100b9;const _0x55cd14=this[_0x42b149(0x164,0xe0)]['createSegmentsGeometry'](this[_0x5567ae(-0x27e,-0x228)]);this[_0x5567ae(-0x2a1,-0x22a)][_0x5567ae(-0x214,-0x1f3)]['segments']['geometry']=_0x55cd14;const _0x588c02=Cesium$2[_0x42b149(0x36,0xb6)]['fromGeometry']({'context':this[_0x5567ae(-0x105,-0x171)],'geometry':_0x55cd14,'attributeLocations':this[_0x42b149(0x51,0xe0)]['primitives']['segments']['attributeLocations'],'bufferUsage':Cesium$2[_0x5567ae(-0x1ce,-0x23d)][_0x5567ae(-0x241,-0x1ba)]});(_0x3100b9=this[_0x5567ae(-0x23a,-0x22a)][_0x5567ae(-0x287,-0x1f3)])!==null&&_0x3100b9!==void 0x0&&(_0x3100b9=_0x3100b9[_0x5567ae(-0x1c0,-0x1e3)])!==null&&_0x3100b9!==void 0x0&&_0x3100b9['commandToExecute']&&(this['particlesRendering']['primitives']['segments'][_0x5567ae(-0x183,-0x157)][_0x42b149(0xcd,0xda)]=_0x588c02);}}['setOptions'](_0x19eb56){let _0x415197=![];this['options'][_0x10a118(0x379,0x3ef)]!==_0x19eb56[_0x384049(-0x129,-0xb0)]&&(_0x415197=!![]);function _0x10a118(_0x46c234,_0x71e80d){return _0x263d96(_0x46c234,_0x71e80d-0x208);}Object[_0x10a118(0x2eb,0x2f2)](_0x19eb56)[_0x384049(-0x1ab,-0x183)](_0x4ff5af=>{function _0x551b47(_0xb88df7,_0x3764f7){return _0x384049(_0x3764f7,_0xb88df7-0x62);}this[_0x551b47(-0x11e,-0x13b)][_0x4ff5af]=_0x19eb56[_0x4ff5af];});function _0x384049(_0x24ed79,_0x1890cb){return _0x25a800(_0x24ed79,_0x1890cb- -0x456);}this[_0x10a118(0x3d3,0x388)](_0x415197);}['applyViewerParameters'](_0x586dca){function _0x418103(_0x5e7968,_0x19912b){return _0x263d96(_0x5e7968,_0x19912b- -0x10f);}Object[_0x418103(0xc,-0x25)](_0x586dca)[_0x418103(-0x5e,0x5)](_0x227fb0=>{function _0x5da152(_0x65e077,_0x457d4e){return _0x418103(_0x65e077,_0x457d4e- -0x2e2);}this[_0x5da152(-0x207,-0x253)][_0x227fb0]=_0x586dca[_0x227fb0];});function _0x50a181(_0x3015c8,_0x42d129){return _0x25a800(_0x42d129,_0x3015c8- -0x45d);}this['refreshParticles'](![]);}['destroy'](){clearTimeout(this[_0x5d1c86(0x467,0x486)]),this[_0x5b7e45(0x265,0x252)]['destroyParticlesTextures']();function _0x5d1c86(_0x41fdef,_0x436547){return _0x25a800(_0x436547,_0x41fdef-0x169);}Object['keys'](this['particlesComputing']['windTextures'])['forEach'](_0x57c178=>{this['particlesComputing']['windTextures'][_0x57c178]['destroy']();}),this[_0x5b7e45(0x245,0x2a7)]['textures']['colorTable']['destroy']();function _0x5b7e45(_0x4de73d,_0x2886d9){return _0x263d96(_0x2886d9,_0x4de73d-0x130);}Object['keys'](this[_0x5b7e45(0x245,0x225)][_0x5b7e45(0x24e,0x1d6)])['forEach'](_0x49d46f=>{function _0x3fadfa(_0x50c1db,_0x3b50bb){return _0x5b7e45(_0x3b50bb- -0x3c3,_0x50c1db);}function _0x1ee8f5(_0x35a4ba,_0x157af1){return _0x5b7e45(_0x35a4ba- -0x310,_0x157af1);}this['particlesRendering'][_0x1ee8f5(-0xc2,-0x94)][_0x49d46f][_0x1ee8f5(-0xd4,-0xb8)]();});for(const _0x107bcb in this){delete this[_0x107bcb];}}}const Cesium$1=mars3d__namespace[_0x263d96(0x140,0x178)],BaseLayer$1=mars3d__namespace['layer']['BaseLayer'],_0x4dead3={};_0x4dead3[_0x25a800(0x3b5,0x3ab)]=0x1000,_0x4dead3[_0x25a800(0x325,0x29f)]=0x0,_0x4dead3['fadeOpacity']=0.996,_0x4dead3[_0x263d96(0x15a,0x1a4)]=0.003,_0x4dead3['dropRateBump']=0.01,_0x4dead3[_0x263d96(0x1b2,0x210)]=0.5,_0x4dead3[_0x25a800(0x2e7,0x2c3)]=0x2,_0x4dead3[_0x25a800(0x339,0x2ff)]=[_0x263d96(0x239,0x1ab)];const DEF_OPTIONS=_0x4dead3;class WindLayer extends BaseLayer$1{constructor(_0x11ca91={}){_0x11ca91={...DEF_OPTIONS,..._0x11ca91},super(_0x11ca91),this['_setOptionsHook'](_0x11ca91);}get[_0x25a800(0x301,0x30e)](){return this['primitives'];}get['data'](){return this['_data'];}set['data'](_0x2013f2){this['setData'](_0x2013f2);}get['colors'](){function _0x110ca3(_0x58211d,_0x69eee7){return _0x25a800(_0x58211d,_0x69eee7- -0x1f7);}return this[_0x110ca3(0x108,0xdf)]['colors'];}set[_0x25a800(0x345,0x2ff)](_0xae2f67){function _0x45d7bd(_0x2bbca2,_0xeeb3e1){return _0x263d96(_0x2bbca2,_0xeeb3e1- -0x207);}function _0x251c67(_0x3f03e7,_0x408367){return _0x263d96(_0x3f03e7,_0x408367- -0x181);}this[_0x45d7bd(-0xc6,-0xf0)]['colors']=_0xae2f67;if(this['particleSystem']){const _0xb3a04c={};_0xb3a04c[_0x45d7bd(-0x62,-0xc7)]=_0xae2f67,this[_0x251c67(-0x102,-0x8f)]['setOptions'](_0xb3a04c);}this['resize']();}['_mountedHook'](){}['_addedHook'](){this['scene']=this['_map'][_0x1e4758(0x4c2,0x45f)],this[_0x1e4758(0x470,0x457)]=this['_map'][_0x34915a(0x294,0x20e)];function _0x34915a(_0x587add,_0x26b706){return _0x263d96(_0x26b706,_0x587add-0x109);}this['primitives']=new Cesium$1[(_0x34915a(0x237,0x29b))](),this['_map'][_0x34915a(0x29c,0x295)]['primitives']['add'](this['primitives']),this[_0x1e4758(0x4db,0x46a)]={'lonRange':new Cesium$1['Cartesian2'](),'latRange':new Cesium$1[(_0x34915a(0x2ce,0x246))](),'pixelSize':0x0},this[_0x34915a(0x1eb,0x260)]=new Cesium$1[(_0x34915a(0x26b,0x2cd))](Cesium$1[_0x34915a(0x23a,0x1be)]['ZERO'],0.99*0x615299),this['updateViewerParameters'](),window['addEventListener']('resize',this[_0x34915a(0x2e9,0x333)][_0x34915a(0x257,0x2d9)](this),![]);function _0x1e4758(_0x41f2fc,_0x342ce2){return _0x263d96(_0x41f2fc,_0x342ce2-0x2cc);}this[_0x1e4758(0x4d8,0x47c)]=![],this['mouse_move']=![],this['_map']['on'](mars3d__namespace['EventType']['wheel'],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace['EventType'][_0x1e4758(0x435,0x47b)],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace['EventType'][_0x34915a(0x2b0,0x23a)],this[_0x1e4758(0x494,0x40d)],this),this['_map']['on'](mars3d__namespace[_0x34915a(0x26a,0x280)][_0x34915a(0x25a,0x272)],this['_onMouseMoveEvent'],this),this['_data']&&this['setData'](this['_data']);}['_removedHook'](){window['removeEventListener']('resize',this['resize']),this[_0x4c9bac(0x1cd,0x232)][_0x2ba608(-0x116,-0x8a)](mars3d__namespace[_0x2ba608(0x1e,-0x49)]['preRender'],this['_onMap_preRenderEvent'],this);function _0x4c9bac(_0x200146,_0xd62c37){return _0x25a800(_0xd62c37,_0x200146- -0x1fa);}this['_map'][_0x4c9bac(0xe5,0x80)](mars3d__namespace['EventType'][_0x4c9bac(0x129,0x11e)],this['_onMapWhellEvent'],this),this['_map']['off'](mars3d__namespace['EventType'][_0x2ba608(0x49,0x5)],this['_onMouseDownEvent'],this);function _0x2ba608(_0x5068fe,_0x1491ff){return _0x25a800(_0x5068fe,_0x1491ff- -0x369);}this[_0x2ba608(-0x13,0x5e)][_0x2ba608(-0x76,-0x8a)](mars3d__namespace[_0x4c9bac(0x126,0xd9)]['mouseUp'],this['_onMouseUpEvent'],this),this[_0x2ba608(0x8e,0x5e)]['off'](mars3d__namespace['EventType']['mouseMove'],this['_onMouseMoveEvent'],this),this['primitives']['removeAll'](),this[_0x2ba608(-0x2c,0x5e)][_0x2ba608(-0x73,-0x17)]['primitives']['remove'](this[_0x4c9bac(0x111,0xaa)]);}[_0x263d96(0x1ca,0x1e0)](){function _0x383207(_0x5bccc1,_0x71c69b){return _0x263d96(_0x71c69b,_0x5bccc1- -0x38c);}if(!this['show']||!this['particleSystem'])return;this['primitives'][_0x383207(-0x262,-0x2b5)]=![],this['primitives'][_0x383207(-0x244,-0x283)]();function _0x2a9863(_0x2c2c71,_0x59aaae){return _0x263d96(_0x2c2c71,_0x59aaae-0x337);}this[_0x383207(-0x184,-0x151)]['once'](mars3d__namespace[_0x383207(-0x22b,-0x223)][_0x383207(-0x1cf,-0x243)],this[_0x383207(-0x28c,-0x2e2)],this);}['_onMap_preRenderEvent'](_0x56530b){this['particleSystem']['canvasResize'](this['scene']['context']),this['addPrimitives'](),this['primitives']['show']=!![];}[_0x25a800(0x21a,0x2ae)](_0xe45785){clearTimeout(this[_0x8e210f(-0x251,-0x280)]);function _0x8e210f(_0x35d843,_0x1c4cc5){return _0x25a800(_0x35d843,_0x1c4cc5- -0x582);}if(!this['show']||!this['particleSystem'])return;function _0x278d10(_0x5d1057,_0x313c0a){return _0x263d96(_0x5d1057,_0x313c0a-0x19d);}this['primitives'][_0x278d10(0x26f,0x2c7)]=![],this[_0x278d10(0x359,0x2e0)]=setTimeout(()=>{if(!this['show'])return;this['redraw']();},0xc8);}[_0x25a800(0x3e8,0x38f)](_0x3c18a0){this['mouse_down']=!![];}['_onMouseMoveEvent'](_0x38fe78){function _0x1ffdc7(_0x2daef7,_0x1ba4c9){return _0x263d96(_0x2daef7,_0x1ba4c9-0x125);}function _0x246f8a(_0x4fff03,_0x51fb94){return _0x263d96(_0x51fb94,_0x4fff03-0xf0);}if(!this['show']||!this['particleSystem'])return;this['mouse_down']&&(this[_0x1ffdc7(0x252,0x271)][_0x246f8a(0x21a,0x193)]=![],this['mouse_move']=!![]);}['_onMouseUpEvent'](_0x1fdb99){if(!this['show']||!this['particleSystem'])return;this['mouse_down']&&this[_0x1b08a5(0x109,0x99)]&&this[_0x1b08a5(0xa3,0xc5)]();function _0x454f56(_0x2b8fb9,_0x3c57e3){return _0x263d96(_0x3c57e3,_0x2b8fb9- -0xcc);}function _0x1b08a5(_0x40c266,_0x33d692){return _0x25a800(_0x33d692,_0x40c266- -0x255);}this['primitives'][_0x1b08a5(0x94,0xad)]=!![],this['mouse_down']=![],this[_0x1b08a5(0x109,0x187)]=![];}['redraw'](){function _0x1f57f8(_0x464ead,_0x157482){return _0x263d96(_0x464ead,_0x157482- -0x76);}if(!this[_0x3e2fc6(0x370,0x2f6)]||!this['show'])return;this[_0x1f57f8(0x120,0x10c)]();function _0x3e2fc6(_0x15ea9e,_0x20d6c3){return _0x25a800(_0x20d6c3,_0x15ea9e- -0x57);}this[_0x3e2fc6(0x25a,0x27d)]['applyViewerParameters'](this[_0x3e2fc6(0x306,0x364)]),this['primitives']['show']=!![];}[_0x25a800(0x33f,0x34d)](_0x3df01d){this['_data']=_0x3df01d;function _0x1f8079(_0x209463,_0x1c4f1c){return _0x25a800(_0x1c4f1c,_0x209463- -0x355);}function _0x3fce4b(_0x30a21b,_0x2d3f1d){return _0x25a800(_0x30a21b,_0x2d3f1d- -0x2e8);}this['particleSystem']&&this[_0x3fce4b(0x16,-0x37)]['destroy'](),this['particleSystem']=new ParticleSystem(this[_0x1f8079(-0x3,-0x6d)][_0x1f8079(0x38,0xab)],_0x3df01d,this['getOptions'](),this['viewerParameters']),this[_0x1f8079(-0x50,0x21)]();}['_setOptionsHook'](_0x347d44,_0x196ba4){function _0x46d8b8(_0x59935e,_0x37bdf3){return _0x263d96(_0x59935e,_0x37bdf3- -0x25f);}if(_0x347d44)for(const _0x4e595d in _0x347d44){this[_0x4e595d]=_0x347d44[_0x4e595d];}this['particleSystem']&&this['particleSystem'][_0x46d8b8(-0x94,-0xb2)](this['getOptions']());}['getOptions'](){const _0x4da300=Math['ceil'](Math['sqrt'](this['particlesNumber']));this['particlesNumber']=_0x4da300*_0x4da300;const _0xacce07={};_0xacce07[_0x3d392f(0x167,0x1f7)]=_0x4da300,_0xacce07[_0x3d392f(0x1e2,0x1c4)]=this['particlesNumber'],_0xacce07['particleHeight']=this['fixedHeight'];function _0x3d392f(_0x113585,_0x4fddae){return _0x263d96(_0x4fddae,_0x113585- -0x5);}_0xacce07['fadeOpacity']=this[_0x58a394(0x1d6,0x1e8)],_0xacce07[_0x58a394(0x25f,0x298)]=this['dropRate'],_0xacce07[_0x58a394(0x237,0x25a)]=this[_0x58a394(0x237,0x2ba)];function _0x58a394(_0x20be2f,_0x51ead7){return _0x263d96(_0x51ead7,_0x20be2f-0xbb);}return _0xacce07[_0x3d392f(0x20b,0x1c1)]=this[_0x3d392f(0x20b,0x215)],_0xacce07[_0x58a394(0x1bf,0x14f)]=this['lineWidth'],_0xacce07['colors']=this[_0x58a394(0x1fb,0x166)],_0xacce07;}[_0x263d96(0x1ab,0x146)](){this['primitives']['add'](this['particleSystem']['particlesComputing']['primitives'][_0x3f05af(0x14,0x4b)]),this['primitives'][_0x3f05af(0x1a,-0x78)](this['particleSystem']['particlesComputing']['primitives']['updateSpeed']);function _0x20d91d(_0x15dc15,_0x10f6ec){return _0x25a800(_0x10f6ec,_0x15dc15- -0x3af);}function _0x3f05af(_0xdd109f,_0x5c1467){return _0x25a800(_0x5c1467,_0xdd109f- -0x351);}this['primitives'][_0x20d91d(-0x44,-0x3b)](this['particleSystem'][_0x20d91d(-0xbb,-0x148)]['primitives']['updatePosition']),this['primitives'][_0x20d91d(-0x44,-0x8e)](this[_0x3f05af(-0xa0,-0x123)]['particlesComputing']['primitives'][_0x20d91d(-0x24,0x75)]),this['primitives']['add'](this['particleSystem']['particlesComputing'][_0x20d91d(-0xa4,-0x13)]['postProcessingSpeed']),this['primitives'][_0x20d91d(-0x44,0x52)](this[_0x20d91d(-0xfe,-0x7f)][_0x20d91d(-0xdb,-0x57)][_0x3f05af(-0x46,-0xa8)]['segments']),this['primitives'][_0x20d91d(-0x44,0x41)](this[_0x20d91d(-0xfe,-0x93)]['particlesRendering'][_0x20d91d(-0xa4,-0x27)]['trails']),this['primitives'][_0x20d91d(-0x44,-0xbc)](this['particleSystem']['particlesRendering'][_0x3f05af(-0x46,-0xb1)]['screen']);}['updateViewerParameters'](){let _0x46e02f=this['camera']['computeViewRectangle'](this['scene']['globe']['ellipsoid']);if(!_0x46e02f){const _0x251b53=this['_map']['getExtent']();_0x46e02f=Cesium$1['Rectangle']['fromDegrees'](_0x251b53[_0x515fd6(0x563,0x548)],_0x251b53['ymin'],_0x251b53[_0x515fd6(0x4fc,0x4fd)],_0x251b53[_0x515fd6(0x4ad,0x4d5)]);}const _0x1fb85d=Util['viewRectangleToLonLatRange'](_0x46e02f);this['viewerParameters']['lonRange']['x']=_0x1fb85d['lon']['min'],this['viewerParameters'][_0x5b60e1(-0x2c7,-0x26f)]['y']=_0x1fb85d['lon']['max'],this[_0x5b60e1(-0x261,-0x1fb)]['latRange']['x']=_0x1fb85d[_0x515fd6(0x531,0x4c8)]['min'],this['viewerParameters']['latRange']['y']=_0x1fb85d['lat']['max'];const _0x35fc55=this['camera']['getPixelSize'](this[_0x515fd6(0x3cd,0x43d)],this['scene']['drawingBufferWidth'],this[_0x5b60e1(-0x26c,-0x28d)]['drawingBufferHeight']);function _0x515fd6(_0x76bb3d,_0x31a1de){return _0x25a800(_0x76bb3d,_0x31a1de-0x19c);}function _0x5b60e1(_0x65bf95,_0x3d6e8a){return _0x25a800(_0x3d6e8a,_0x65bf95- -0x5be);}_0x35fc55>0x0&&(this[_0x5b60e1(-0x261,-0x270)][_0x515fd6(0x53f,0x4d9)]=_0x35fc55);}}mars3d__namespace['LayerUtil']['register'](_0x25a800(0x313,0x382),WindLayer),mars3d__namespace[_0x263d96(0x1bd,0x14f)]['WindLayer']=WindLayer;class CanvasParticle{constructor(){this['lng']=null;function _0x1e7cbb(_0x5d1620,_0x31f54b){return _0x25a800(_0x5d1620,_0x31f54b- -0x241);}this['lat']=null,this[_0x124670(0x56c,0x55d)]=null,this[_0x124670(0x586,0x571)]=null;function _0x124670(_0x44121d,_0x1e435a){return _0x263d96(_0x44121d,_0x1e435a-0x37c);}this[_0x1e7cbb(0xf5,0x66)]=null,this['speed']=null;}['destroy'](){for(const _0x542c27 in this){delete this[_0x542c27];}}}class CanvasWindField{constructor(_0x360a47){function _0x1f64f4(_0x17aa26,_0x5aae4c){return _0x263d96(_0x5aae4c,_0x17aa26- -0x177);}this[_0x1f64f4(0x36,-0x42)](_0x360a47);}get['speedRate'](){function _0x440b12(_0x54ce0d,_0x4a0d9f){return _0x263d96(_0x4a0d9f,_0x54ce0d- -0xb1);}return this[_0x440b12(0x150,0x132)];}set['speedRate'](_0x2fc595){this['_speedRate']=(0x64-(_0x2fc595>0x63?0x63:_0x2fc595))*0x64;function _0x7115ef(_0x45d875,_0x25db41){return _0x25a800(_0x45d875,_0x25db41-0x16e);}function _0xee9898(_0x35e0d6,_0x409b57){return _0x263d96(_0x35e0d6,_0x409b57- -0x25e);}this['_calc_speedRate']=[(this[_0xee9898(-0x132,-0xbc)]-this[_0x7115ef(0x4bb,0x51a)])/this['_speedRate'],(this['ymax']-this[_0xee9898(-0x153,-0x144)])/this['_speedRate']];}get[_0x25a800(0x329,0x376)](){return this['_maxAge'];}set[_0x263d96(0x126,0x1b7)](_0x4bf3d3){this['_maxAge']=_0x4bf3d3;}['setOptions'](_0x114064){this['options']=_0x114064,this['maxAge']=_0x114064[_0x22d229(0x1d3,0x192)]||0x78,this['speedRate']=_0x114064['speedRate']||0x32,this['particles']=[];const _0x4d34d2=_0x114064['particlesNumber']||0x1000;function _0x22d229(_0x1a21df,_0x4791f0){return _0x263d96(_0x4791f0,_0x1a21df-0x1c);}function _0x301811(_0x1125ab,_0x2c0150){return _0x25a800(_0x1125ab,_0x2c0150- -0x2e3);}for(let _0x4af143=0x0;_0x4af143<_0x4d34d2;_0x4af143++){const _0x2dc93a=this[_0x22d229(0x161,0x17a)](new CanvasParticle());this[_0x22d229(0x113,0x8f)]['push'](_0x2dc93a);}}['setDate'](_0x1ce38){this[_0x40c046(0x39e,0x3ae)]=_0x1ce38[_0x40c046(0x39e,0x41f)],this['cols']=_0x1ce38['cols'],this[_0x40c046(0x43e,0x3d4)]=_0x1ce38[_0x2e9f10(0x97,0xc1)],this[_0x2e9f10(0x4c,0xcc)]=_0x1ce38['xmax'],this['ymin']=_0x1ce38[_0x40c046(0x36b,0x327)],this[_0x2e9f10(0x24,-0x11)]=_0x1ce38['ymax'],this['grid']=[];const _0x1b31f4=_0x1ce38[_0x40c046(0x3a7,0x38f)];function _0x2e9f10(_0x1080dd,_0x5aeb5b){return _0x263d96(_0x5aeb5b,_0x1080dd- -0x156);}const _0x5300f0=_0x1ce38[_0x2e9f10(0x83,0x1)];function _0x40c046(_0x39ab9a,_0x1fb099){return _0x263d96(_0x1fb099,_0x39ab9a-0x251);}let _0x141682=![];_0x1b31f4['length']===this['rows']&&_0x1b31f4[0x0][_0x2e9f10(0x6b,0xb7)]===this[_0x40c046(0x37a,0x3a9)]&&(_0x141682=!![]);let _0x1b87c0=0x0,_0x5a2d9e=null,_0x50a030=null;for(let _0x27c903=0x0;_0x27c903<this['rows'];_0x27c903++){_0x5a2d9e=[];for(let _0x163c1e=0x0;_0x163c1e<this['cols'];_0x163c1e++,_0x1b87c0++){_0x141682?_0x50a030=this[_0x2e9f10(0xa1,0xa9)](_0x1b31f4[_0x27c903][_0x163c1e],_0x5300f0[_0x27c903][_0x163c1e]):_0x50a030=this[_0x2e9f10(0xa1,0xaa)](_0x1b31f4[_0x1b87c0],_0x5300f0[_0x1b87c0]),_0x5a2d9e['push'](_0x50a030);}this[_0x2e9f10(-0x55,-0x59)]['push'](_0x5a2d9e);}this['options'][_0x40c046(0x387,0x2f7)]&&this['grid'][_0x40c046(0x419,0x38e)]();}['clear'](){delete this['rows'],delete this[_0x1002c8(0x3a5,0x370)],delete this['xmin'],delete this['xmax'],delete this['ymin'],delete this['ymax'];function _0x1002c8(_0x53b99f,_0x389af1){return _0x263d96(_0x389af1,_0x53b99f-0x27c);}delete this['grid'],delete this['particles'];}[_0x25a800(0x3d0,0x34c)](_0x3fa53a,_0x1c58a4){const _0x4f828b=(_0x3fa53a-this['xmin'])/(this[_0x4c61f8(-0x1bc,-0x1b3)]-this['xmin'])*(this[_0x4c61f8(-0x2a4,-0x22c)]-0x1);function _0x3914e6(_0x3489c9,_0x16dfde){return _0x25a800(_0x3489c9,_0x16dfde-0x1a5);}function _0x4c61f8(_0x223eda,_0x3f1fb2){return _0x25a800(_0x223eda,_0x3f1fb2- -0x514);}const _0x33a48e=(this[_0x4c61f8(-0x1b9,-0x1db)]-_0x1c58a4)/(this['ymax']-this[_0x4c61f8(-0x212,-0x23b)])*(this['rows']-0x1);return[_0x4f828b,_0x33a48e];}['getUVByXY'](_0x1f914c,_0x23ba20){if(_0x1f914c<0x0||_0x1f914c>=this['cols']||_0x23ba20>=this[_0x5e9c33(-0x1a9,-0x1be)])return[0x0,0x0,0x0];const _0x211666=Math[_0x5e9c33(-0x1cf,-0x1a7)](_0x1f914c),_0x2ed544=Math[_0x5e9c33(-0x1cf,-0x1be)](_0x23ba20);if(_0x211666===_0x1f914c&&_0x2ed544===_0x23ba20)return this['grid'][_0x23ba20][_0x1f914c];function _0x3ef9d0(_0x1bfea1,_0x194c0c){return _0x263d96(_0x194c0c,_0x1bfea1-0x53);}function _0x5e9c33(_0x3fb1c3,_0x1ed142){return _0x25a800(_0x1ed142,_0x3fb1c3- -0x4b5);}const _0x5431c5=_0x211666+0x1,_0x256b73=_0x2ed544+0x1,_0x2f600d=this['getUVByXY'](_0x211666,_0x2ed544),_0x39fd16=this['getUVByXY'](_0x5431c5,_0x2ed544),_0x372c54=this['getUVByXY'](_0x211666,_0x256b73),_0x17c99b=this[_0x3ef9d0(0x138,0x152)](_0x5431c5,_0x256b73);let _0x5b184f=null;try{_0x5b184f=this[_0x5e9c33(-0x100,-0x14e)](_0x1f914c-_0x211666,_0x23ba20-_0x2ed544,_0x2f600d,_0x39fd16,_0x372c54,_0x17c99b);}catch(_0x40257c){console[_0x3ef9d0(0x1fc,0x278)](_0x1f914c,_0x23ba20);}return _0x5b184f;}['_bilinearInterpolation'](_0x3f6b13,_0x579d1d,_0x339a95,_0x1f5fa1,_0xb9e6e4,_0xa822fd){const _0x19c8cf=0x1-_0x3f6b13,_0x4f00bd=0x1-_0x579d1d,_0x2e2068=_0x19c8cf*_0x4f00bd,_0x37a9a0=_0x3f6b13*_0x4f00bd,_0x1dbfee=_0x19c8cf*_0x579d1d,_0x22caed=_0x3f6b13*_0x579d1d,_0x1b39be=_0x339a95[0x0]*_0x2e2068+_0x1f5fa1[0x0]*_0x37a9a0+_0xb9e6e4[0x0]*_0x1dbfee+_0xa822fd[0x0]*_0x22caed,_0x5781f9=_0x339a95[0x1]*_0x2e2068+_0x1f5fa1[0x1]*_0x37a9a0+_0xb9e6e4[0x1]*_0x1dbfee+_0xa822fd[0x1]*_0x22caed;return this['_calcUV'](_0x1b39be,_0x5781f9);}[_0x263d96(0x194,0x1f7)](_0x319713,_0x9897f5){return[+_0x319713,+_0x9897f5,Math['sqrt'](_0x319713*_0x319713+_0x9897f5*_0x9897f5)];}['getUVByPoint'](_0x50e506,_0x9c5d63){if(!this[_0xeb9da(0x14a,0xd6)](_0x50e506,_0x9c5d63))return null;const _0x5b6668=this[_0xeb9da(0x14a,0x118)](_0x50e506,_0x9c5d63);function _0xeb9da(_0xda0236,_0x1ba535){return _0x263d96(_0xda0236,_0x1ba535- -0x75);}function _0x5061b3(_0x55633a,_0x490fe5){return _0x263d96(_0x490fe5,_0x55633a- -0x19);}const _0x3248ea=this['getUVByXY'](_0x5b6668[0x0],_0x5b6668[0x1]);return _0x3248ea;}['isInExtent'](_0x2f0032,_0x36cba2){function _0x2ace8a(_0x45e326,_0xd8769e){return _0x25a800(_0x45e326,_0xd8769e- -0xd7);}function _0x23623b(_0x406df7,_0xc4842d){return _0x25a800(_0xc4842d,_0x406df7- -0x365);}return _0x2f0032>=this[_0x23623b(0x47,0x88)]&&_0x2f0032<=this[_0x23623b(-0x4,-0x99)]&&_0x36cba2>=this['ymin']&&_0x36cba2<=this['ymax']?!![]:![];}['getRandomLatLng'](){const _0x482a61=fRandomByfloat(this[_0x25413b(0x2e0,0x250)],this['xmax']);function _0xaeb6dc(_0x14407c,_0x57b1b6){return _0x263d96(_0x57b1b6,_0x14407c-0x10e);}const _0x20777f=fRandomByfloat(this[_0xaeb6dc(0x228,0x1c6)],this['ymax']),_0x579130={};_0x579130['lat']=_0x20777f,_0x579130[_0x25413b(0x102,0x17c)]=_0x482a61;function _0x25413b(_0x11b980,_0x389783){return _0x25a800(_0x11b980,_0x389783- -0x15c);}return _0x579130;}[_0x25a800(0x2b4,0x29d)](){let _0x5a68f7,_0x2c46b3,_0xbf130c;for(let _0x37c0a9=0x0,_0xe5bdf6=this['particles']['length'];_0x37c0a9<_0xe5bdf6;_0x37c0a9++){let _0x32d480=this['particles'][_0x37c0a9];_0x32d480['age']<=0x0&&(_0x32d480=this['_randomParticle'](_0x32d480));if(_0x32d480['age']>0x0){const _0xd3dc84=_0x32d480[_0x477c0c(0x39f,0x30d)],_0x3ed479=_0x32d480['tlat'];_0xbf130c=this['getUVByPoint'](_0xd3dc84,_0x3ed479),_0xbf130c?(_0x5a68f7=_0xd3dc84+this[_0x374f85(0x2e,-0x55)][0x0]*_0xbf130c[0x0],_0x2c46b3=_0x3ed479+this[_0x374f85(0x2e,0x70)][0x1]*_0xbf130c[0x1],_0x32d480[_0x477c0c(0x2d7,0x368)]=_0xd3dc84,_0x32d480['lat']=_0x3ed479,_0x32d480['tlng']=_0x5a68f7,_0x32d480[_0x374f85(0x88,0x6e)]=_0x2c46b3,_0x32d480['speed']=_0xbf130c[0x2],_0x32d480['age']--):_0x32d480['age']=0x0;}}function _0x477c0c(_0x3edabb,_0x13b782){return _0x25a800(_0x13b782,_0x3edabb- -0x1);}function _0x374f85(_0x52bf25,_0x4897a5){return _0x263d96(_0x4897a5,_0x52bf25- -0x16d);}return this['particles'];}[_0x263d96(0x124,0x145)](_0x1a608b){let _0x6b6818,_0x17b6c6;function _0x34d57e(_0x52678c,_0x35299f){return _0x25a800(_0x35299f,_0x52678c-0xa4);}for(let _0x819a0b=0x0;_0x819a0b<0x1e;_0x819a0b++){_0x6b6818=this[_0x34d57e(0x3ad,0x350)](),_0x17b6c6=this['getUVByPoint'](_0x6b6818['lng'],_0x6b6818['lat']);if(_0x17b6c6&&_0x17b6c6[0x2]>0x0)break;}function _0xff742c(_0x5ca65f,_0x3b8d9d){return _0x25a800(_0x3b8d9d,_0x5ca65f-0x196);}if(!_0x17b6c6)return _0x1a608b;const _0x201db3=_0x6b6818[_0xff742c(0x46e,0x416)]+this['_calc_speedRate'][0x0]*_0x17b6c6[0x0],_0x83f160=_0x6b6818[_0xff742c(0x4c2,0x4c8)]+this['_calc_speedRate'][0x1]*_0x17b6c6[0x1];return _0x1a608b['lng']=_0x6b6818[_0xff742c(0x46e,0x4d9)],_0x1a608b['lat']=_0x6b6818[_0x34d57e(0x3d0,0x426)],_0x1a608b['tlng']=_0x201db3,_0x1a608b['tlat']=_0x83f160,_0x1a608b['age']=Math['round'](Math[_0x34d57e(0x43b,0x467)]()*this['maxAge']),_0x1a608b['speed']=_0x17b6c6[0x2],_0x1a608b;}['destroy'](){for(const _0x5d2bf7 in this){delete this[_0x5d2bf7];}}}function fRandomByfloat(_0x1cda00,_0x2b668c){function _0x4c85be(_0x6430d,_0x12a6e1){return _0x25a800(_0x12a6e1,_0x6430d- -0x513);}return _0x1cda00+Math[_0x4c85be(-0x17c,-0x178)]()*(_0x2b668c-_0x1cda00);}const Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace[_0x263d96(0xb7,0x14f)][_0x25a800(0x34d,0x356)];class CanvasWindLayer extends BaseLayer{constructor(_0xf702fc={}){super(_0xf702fc);function _0x4d72ca(_0x2f2d2d,_0x1aac24){return _0x25a800(_0x1aac24,_0x2f2d2d- -0x57b);}this['_setOptionsHook'](_0xf702fc),this['canvas']=null;function _0x48b9b1(_0x4cb6c4,_0x500f24){return _0x263d96(_0x500f24,_0x4cb6c4- -0x107);}_0xf702fc['colors']&&_0xf702fc[_0x4d72ca(-0x257,-0x27c)]&&(this['_colorRamp']=new mars3d__namespace[(_0x48b9b1(0x36,0x30))](_0xf702fc));}[_0x25a800(0x395,0x348)](_0x2f9417,_0x2e4198){this[_0x3a5056(0x1ce,0x1bd)]=0x3e8/(_0x2f9417[_0x3a5056(0x2af,0x22d)]||0xa),this[_0x27b2b4(0x35c,0x367)]=this[_0x3a5056(0x1c1,0x183)]['pointerEvents']??![],this['color']=_0x2f9417['color']||_0x27b2b4(0x33d,0x2d9);function _0x27b2b4(_0x5e2b33,_0x56ef3e){return _0x263d96(_0x56ef3e,_0x5e2b33-0x1c8);}function _0x3a5056(_0x26dff8,_0x1ce01d){return _0x263d96(_0x1ce01d,_0x26dff8-0xaa);}this['lineWidth']=_0x2f9417['lineWidth']||0x1,this['fixedHeight']=_0x2f9417[_0x27b2b4(0x2a8,0x2dc)]??0x0,this['reverseY']=_0x2f9417['reverseY']??![],this['windField']&&this['windField']['setOptions'](_0x2f9417);}get['layer'](){function _0x6d1900(_0x3e62a4,_0x46baea){return _0x263d96(_0x46baea,_0x3e62a4- -0x104);}return this[_0x6d1900(0xaf,0x5f)];}get[_0x263d96(0x17b,0x1c2)](){function _0x5b4758(_0x2fc88f,_0x2db14c){return _0x263d96(_0x2db14c,_0x2fc88f-0x107);}return this['_map'][_0x5b4758(0x29a,0x2de)]['canvas']['clientWidth'];}get['canvasHeight'](){function _0x3fb67f(_0x37145c,_0x5a0513){return _0x25a800(_0x5a0513,_0x37145c-0x173);}return this['_map']['scene'][_0x3fb67f(0x4e5,0x4d3)]['clientHeight'];}get[_0x263d96(0x17c,0x198)](){return this['_pointerEvents'];}set[_0x263d96(0x1d7,0x198)](_0x2b2263){this['_pointerEvents']=_0x2b2263;function _0x111296(_0x26d13d,_0x362f77){return _0x25a800(_0x362f77,_0x26d13d- -0x48e);}function _0x5cd4b6(_0x506c6e,_0x2a77e1){return _0x263d96(_0x2a77e1,_0x506c6e-0x11d);}if(!this[_0x5cd4b6(0x2d0,0x241)])return;_0x2b2263?this['canvas']['style'][_0x111296(-0x158,-0x109)]='all':this['canvas']['style']['pointer-events']='none';}get['particlesNumber'](){function _0x16d971(_0x379862,_0x1c0f20){return _0x263d96(_0x1c0f20,_0x379862- -0x2a8);}return this[_0x16d971(-0x191,-0x1e2)]['particlesNumber'];}set['particlesNumber'](_0x3543a8){this[_0x13faf0(0x42f,0x3a2)][_0x13faf0(0x504,0x4f7)]=_0x3543a8;function _0x13faf0(_0x49b2cb,_0x42ef01){return _0x263d96(_0x42ef01,_0x49b2cb-0x318);}clearTimeout(this['_canrefresh']);function _0xca797b(_0x796e03,_0x15654b){return _0x25a800(_0x15654b,_0x796e03-0xd7);}this['_canrefresh']=setTimeout(()=>{function _0x1fc7bc(_0x470484,_0xeac2cb){return _0x13faf0(_0x470484- -0x2c,_0xeac2cb);}this[_0x1fc7bc(0x425,0x485)]();},0x1f4);}get[_0x25a800(0x322,0x2e5)](){function _0x5c66f2(_0x18218d,_0x4b557b){return _0x263d96(_0x4b557b,_0x18218d- -0x2a3);}return this['options'][_0x5c66f2(-0x17d,-0x10a)];}set['speedRate'](_0x548d48){this[_0x4dcff2(0x36e,0x2f2)]['speedRate']=_0x548d48;function _0x4dcff2(_0x344b87,_0x49ccbc){return _0x25a800(_0x344b87,_0x49ccbc-0x1c);}function _0x3e2e8a(_0x5886fe,_0x18614b){return _0x263d96(_0x5886fe,_0x18614b-0x202);}this['windField']&&(this['windField'][_0x4dcff2(0x314,0x301)]=_0x548d48);}get[_0x25a800(0x401,0x376)](){function _0x5cb8a2(_0x285364,_0x2c5e83){return _0x263d96(_0x285364,_0x2c5e83- -0xd);}return this[_0x5cb8a2(0xa4,0x10a)]['maxAge'];}set['maxAge'](_0x43ba65){this['options']['maxAge']=_0x43ba65,this['windField']&&(this['windField']['maxAge']=_0x43ba65);}get['data'](){return this['windData'];}set['data'](_0x5cada9){function _0x3cc80f(_0x2a1855,_0x3a060c){return _0x25a800(_0x2a1855,_0x3a060c- -0x1d0);}this[_0x3cc80f(0xf7,0x17d)](_0x5cada9);}['_showHook'](_0x3be880){function _0x6038b3(_0x2a571f,_0x3fe44e){return _0x25a800(_0x2a571f,_0x3fe44e- -0x201);}function _0x11ae9f(_0x3ec583,_0x377d26){return _0x263d96(_0x377d26,_0x3ec583-0x336);}_0x3be880?this['_addedHook']():(this[_0x11ae9f(0x51f,0x589)]&&(this['options'][_0x6038b3(0x15c,0x193)]=this['windData']),this[_0x6038b3(0x139,0x177)]());}['_mountedHook'](){function _0x32c5d5(_0x276744,_0x196715){return _0x25a800(_0x276744,_0x196715- -0x437);}function _0x18414c(_0x163d37,_0x49ba9c){return _0x25a800(_0x49ba9c,_0x163d37-0xa5);}this['options'][_0x18414c(0x391,0x30d)]?this['initWorker']():this['windField']=new CanvasWindField(this[_0x18414c(0x37b,0x3b6)]);}['_addedHook'](){this['canvas']=this[_0x445b8b(-0x141,-0x1ac)]();const _0x177fed={};function _0x5f19df(_0x3802bc,_0x21e6df){return _0x25a800(_0x3802bc,_0x21e6df- -0x4e4);}_0x177fed['willReadFrequently']=!![],this['canvasContext']=this['canvas']['getContext']('2d',_0x177fed);function _0x445b8b(_0x27f745,_0x4f4848){return _0x263d96(_0x27f745,_0x4f4848- -0x2bc);}this['bindEvent'](),this[_0x5f19df(-0x1f5,-0x20e)]['data']&&this['setData'](this[_0x5f19df(-0x245,-0x20e)]['data']);}['_removedHook'](){this[_0x24f624(0x560,0x568)]();function _0x52b03e(_0x56fe93,_0x41d6dd){return _0x263d96(_0x41d6dd,_0x56fe93-0x259);}this['unbindEvent']();function _0x24f624(_0x35792d,_0x35f014){return _0x25a800(_0x35f014,_0x35792d-0x20f);}this[_0x24f624(0x581,0x5e9)]&&(this['_map'][_0x24f624(0x549,0x584)][_0x24f624(0x563,0x547)](this['canvas']),delete this['canvas']);}[_0x263d96(0xbd,0x110)](){const _0x5e64a8=mars3d__namespace['DomUtil']['create']('canvas','mars3d-canvasWind',this['_map']['container']);_0x5e64a8[_0x368720(-0x9d,-0x128)]['position']=_0x44da2b(0x61,0xdc),_0x5e64a8['style']['top']='0px',_0x5e64a8['style']['left']='0px',_0x5e64a8[_0x44da2b(0xa,-0x73)]['width']=this[_0x368720(-0xf5,-0xa3)]['scene']['canvas']['clientWidth']+'px',_0x5e64a8[_0x44da2b(0xa,-0x73)][_0x44da2b(0xe,0xa0)]=this[_0x44da2b(0x8f,0x122)]['scene']['canvas']['clientHeight']+'px';function _0x368720(_0xb2dc05,_0x1cd8fa){return _0x263d96(_0xb2dc05,_0x1cd8fa- -0x2ab);}function _0x44da2b(_0x40b7e4,_0x549c9e){return _0x263d96(_0x549c9e,_0x40b7e4- -0x179);}return _0x5e64a8[_0x44da2b(0xa,0x2f)]['pointerEvents']=this['_pointerEvents']?'auto':_0x44da2b(0x3d,0x99),_0x5e64a8['style']['zIndex']=this[_0x368720(-0x1d0,-0x194)][_0x368720(-0x8b,-0xc1)]??0x9,_0x5e64a8[_0x368720(-0xbc,-0xf0)]=this[_0x44da2b(0x8f,0xc)]['scene'][_0x368720(-0x127,-0xf8)]['clientWidth'],_0x5e64a8[_0x368720(-0x163,-0x124)]=this['_map'][_0x368720(-0x1ac,-0x118)]['canvas']['clientHeight'],_0x5e64a8;}[_0x25a800(0x36e,0x39f)](){function _0x24c86e(_0x3da96d,_0x559e7e){return _0x25a800(_0x3da96d,_0x559e7e- -0x575);}function _0x53df7c(_0x1a2ef0,_0x119999){return _0x25a800(_0x119999,_0x1a2ef0-0xf8);}this['canvas']&&(this['canvas'][_0x53df7c(0x43a,0x490)]['width']=this[_0x24c86e(-0x127,-0x1ae)][_0x53df7c(0x44a,0x4b2)]['canvas']['clientWidth']+'px',this['canvas'][_0x24c86e(-0x2c4,-0x233)]['height']=this[_0x24c86e(-0x146,-0x1ae)]['scene']['canvas'][_0x53df7c(0x4be,0x517)]+'px',this['canvas'][_0x53df7c(0x472,0x4d9)]=this[_0x24c86e(-0x13c,-0x1ae)]['scene']['canvas']['clientWidth'],this['canvas'][_0x53df7c(0x43e,0x443)]=this['_map']['scene'][_0x24c86e(-0x1f4,-0x203)]['clientHeight']);}[_0x25a800(0x293,0x2f1)](){const _0x2e1450=this;let _0x3ebfb8=Date[_0xc20200(-0x7b,-0x72)]();(function _0x45e066(){if(_0x2e1450['isDestroy'])return;_0x2e1450['_animateFrame']=window['requestAnimationFrame'](_0x45e066);if(_0x2e1450['show']&&_0x2e1450['windField']){const _0x4c87a0=Date['now'](),_0x27f677=_0x4c87a0-_0x3ebfb8;_0x27f677>_0x2e1450['frameTime']&&(_0x3ebfb8=_0x4c87a0-_0x27f677%_0x2e1450['frameTime'],_0x2e1450['update']());}}());function _0x2c63f0(_0xe7d358,_0x839f97){return _0x25a800(_0x839f97,_0xe7d358-0x10b);}function _0xc20200(_0x4f6a19,_0x420bd1){return _0x263d96(_0x4f6a19,_0x420bd1- -0x180);}window['addEventListener'](_0x2c63f0(0x4aa,0x48f),this[_0x2c63f0(0x4aa,0x4b3)]['bind'](this),![]),this[_0xc20200(-0x12,0x30)]=![],this['mouse_move']=![],this[_0x2c63f0(0x3e1,0x39d)]['mouseHidden']&&(this['_map']['on'](mars3d__namespace['EventType'][_0x2c63f0(0x42e,0x4b4)],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace['EventType'][_0xc20200(0x82,0x2f)],this['_onMouseDownEvent'],this),this['_map']['on'](mars3d__namespace[_0xc20200(-0x9,-0x1f)]['mouseUp'],this['_onMouseUpEvent'],this));}['unbindEvent'](){window['cancelAnimationFrame'](this['_animateFrame']);function _0x235f80(_0x1e5879,_0x504f44){return _0x25a800(_0x504f44,_0x1e5879- -0x1e7);}delete this[_0x235f80(0xb7,0x103)];function _0x5d3590(_0x22fcd8,_0x35f0e1){return _0x263d96(_0x35f0e1,_0x22fcd8-0x2be);}window['removeEventListener']('resize',this['resize']),this['options'][_0x235f80(0x19c,0x18d)]&&(this['_map'][_0x235f80(0xf8,0x8d)](mars3d__namespace['EventType']['wheel'],this[_0x5d3590(0x3ad,0x3a9)],this),this['_map']['off'](mars3d__namespace['EventType'][_0x5d3590(0x46d,0x485)],this['_onMouseDownEvent'],this),this[_0x5d3590(0x4c6,0x507)][_0x235f80(0xf8,0x10a)](mars3d__namespace[_0x235f80(0x139,0x169)]['mouseUp'],this[_0x235f80(0x119,0x159)],this),this['_map']['off'](mars3d__namespace[_0x235f80(0x139,0x10c)]['mouseMove'],this['_onMouseMoveEvent'],this));}['_onMapWhellEvent'](_0x14c56e){function _0x8c37db(_0xaa1b6d,_0x3b2b87){return _0x25a800(_0x3b2b87,_0xaa1b6d-0xe5);}function _0x336165(_0x16ffda,_0x5c3649){return _0x263d96(_0x5c3649,_0x16ffda-0x34c);}clearTimeout(this['refreshTimer']);if(!this[_0x336165(0x476,0x434)]||!this['canvas'])return;this[_0x8c37db(0x457,0x44c)][_0x8c37db(0x427,0x427)]['visibility']='hidden',this[_0x336165(0x48f,0x48c)]=setTimeout(()=>{if(!this['show'])return;function _0x5a7357(_0x1b169d,_0x5b0c76){return _0x336165(_0x5b0c76- -0x3fa,_0x1b169d);}this[_0x5a7357(0x4e,0x8b)]();function _0x7faec(_0x3b41f3,_0x8b65fb){return _0x8c37db(_0x8b65fb- -0x80,_0x3b41f3);}this[_0x5a7357(0xf0,0x105)]['style']['visibility']='visible';},0xc8);}[_0x263d96(0x1eb,0x1d0)](_0x9cc400){this[_0x7c7de3(-0x1ce,-0x1f9)]=!![],this[_0x6a17f7(0x8b,0xaa)][_0x6a17f7(-0x5d,-0x51)](mars3d__namespace['EventType'][_0x7c7de3(-0x29b,-0x258)],this[_0x6a17f7(0x52,0xe0)],this);function _0x6a17f7(_0x250d67,_0x2756a){return _0x25a800(_0x2756a,_0x250d67- -0x33c);}function _0x7c7de3(_0x50b8fd,_0x501e79){return _0x25a800(_0x50b8fd,_0x501e79- -0x568);}this[_0x7c7de3(-0x14e,-0x1a1)]['on'](mars3d__namespace['EventType'][_0x7c7de3(-0x239,-0x258)],this[_0x7c7de3(-0x22f,-0x1da)],this);}[_0x25a800(0x424,0x38e)](_0x4e5a6d){function _0x4147be(_0x140caa,_0x3ecf2e){return _0x25a800(_0x3ecf2e,_0x140caa- -0x293);}if(!this[_0x4147be(0x56,-0x27)]||!this['canvas'])return;this['mouse_down']&&(this['canvas']['style']['visibility']='hidden',this['mouse_move']=!![]);}['_onMouseUpEvent'](_0x164b7e){if(!this[_0x454cee(0x18c,0x113)]||!this['canvas'])return;this['_map']['off'](mars3d__namespace['EventType'][_0x454cee(0x1b3,0x226)],this[_0x45f931(0x321,0x2a3)],this);function _0x45f931(_0x3fc249,_0x34bff1){return _0x263d96(_0x34bff1,_0x3fc249-0x152);}this[_0x454cee(0x212,0x189)]&&this['mouse_move']&&this[_0x45f931(0x28b,0x318)]();this['canvas']['style'][_0x454cee(0x1ff,0x248)]=_0x454cee(0x25b,0x256);function _0x454cee(_0x48219c,_0x215fb6){return _0x263d96(_0x215fb6,_0x48219c-0x62);}this['mouse_down']=![],this['mouse_move']=![];}[_0x25a800(0x38e,0x34d)](_0x1bfec9){this['clear'](),this['windData']=_0x1bfec9;function _0x4b6133(_0x5abbb8,_0x419882){return _0x25a800(_0x419882,_0x5abbb8- -0x421);}this['windField']['setDate'](_0x1bfec9),this[_0x4b6133(-0x129,-0x191)]();}['redraw'](){function _0x3bb744(_0x1ccb90,_0x43bda9){return _0x25a800(_0x43bda9,_0x1ccb90- -0x527);}if(!this['show'])return;this['windField'][_0x3bb744(-0x1bb,-0x138)](this[_0x3bb744(-0x251,-0x1b8)]);function _0xfc1f7f(_0x2dd9b5,_0x38edce){return _0x25a800(_0x2dd9b5,_0x38edce- -0x510);}this['update']();}['update'](){if(this['_updateIng'])return;function _0x563cb8(_0x19673e,_0x1236a3){return _0x25a800(_0x19673e,_0x1236a3- -0x2bb);}this[_0x563cb8(0x93,0x56)]=!![];function _0x42d765(_0x24f242,_0x424e89){return _0x25a800(_0x424e89,_0x24f242- -0x2e5);}if(this[_0x563cb8(0x22,0x31)])this['windField'][_0x563cb8(0x5f,0x7a)]();else{const _0x228a99=this[_0x42d765(0x4c,0xe)]['getParticles']();this[_0x42d765(-0x1f,0x2f)](_0x228a99);}this['_updateIng']=![];}['_drawLines'](_0x2a11ab){this['canvasContext']['globalCompositeOperation']=_0xfc6806(-0xf9,-0x99),this['canvasContext']['fillRect'](0x0,0x0,this[_0xfc6806(-0x9,-0x61)],this['canvasHeight']);function _0x2e9567(_0x280ffc,_0x33946d){return _0x263d96(_0x33946d,_0x280ffc-0x39b);}this['canvasContext'][_0xfc6806(-0xa2,-0xc8)]=_0x2e9567(0x599,0x61f),this[_0xfc6806(-0x87,-0x41)]['globalAlpha']=0.9;const _0x5510ac=this['_map']['scene'][_0x2e9567(0x4d6,0x43d)]!==Cesium[_0xfc6806(-0x131,-0xf3)][_0xfc6806(-0xae,-0xb9)],_0x4f0c38=this[_0xfc6806(0x7,-0x61)]*0.25;function _0xfc6806(_0x1ed89b,_0x37c842){return _0x25a800(_0x1ed89b,_0x37c842- -0x3e2);}if(this['_colorRamp'])for(let _0x1f801c=0x0,_0x2fab29=_0x2a11ab[_0xfc6806(-0x24,-0x62)];_0x1f801c<_0x2fab29;_0x1f801c++){const _0x4e91b7=_0x2a11ab[_0x1f801c],_0x1079e6=this['_tomap'](_0x4e91b7[_0xfc6806(-0xd6,-0x10a)],_0x4e91b7[_0xfc6806(-0xa5,-0xb6)],_0x4e91b7),_0x297120=this['_tomap'](_0x4e91b7[_0xfc6806(0x2a,-0x42)],_0x4e91b7['tlat'],_0x4e91b7);if(!_0x1079e6||!_0x297120)continue;if(_0x5510ac&&Math['abs'](_0x1079e6[0x0]-_0x297120[0x0])>=_0x4f0c38)continue;this[_0xfc6806(-0x35,-0x41)][_0x2e9567(0x5a8,0x539)](),this['canvasContext'][_0x2e9567(0x49f,0x519)]=this[_0xfc6806(-0x126,-0x11f)],this['canvasContext']['strokeStyle']=this[_0x2e9567(0x55a,0x526)][_0x2e9567(0x53e,0x4ec)](_0x4e91b7['speed']),this['canvasContext']['moveTo'](_0x1079e6[0x0],_0x1079e6[0x1]),this['canvasContext'][_0x2e9567(0x498,0x518)](_0x297120[0x0],_0x297120[0x1]),this[_0xfc6806(-0x73,-0x41)][_0x2e9567(0x4a3,0x4ee)]();}else{this['canvasContext']['beginPath'](),this[_0x2e9567(0x57d,0x603)]['lineWidth']=this['lineWidth'],this['canvasContext']['strokeStyle']=this['color'];for(let _0x1d752e=0x0,_0x15bcf5=_0x2a11ab['length'];_0x1d752e<_0x15bcf5;_0x1d752e++){const _0x369f91=_0x2a11ab[_0x1d752e],_0x1300f9=this['_tomap'](_0x369f91['lng'],_0x369f91['lat'],_0x369f91),_0x2f27a0=this[_0x2e9567(0x55b,0x559)](_0x369f91['tlng'],_0x369f91['tlat'],_0x369f91);if(!_0x1300f9||!_0x2f27a0)continue;if(_0x5510ac&&Math['abs'](_0x1300f9[0x0]-_0x2f27a0[0x0])>=_0x4f0c38)continue;this[_0x2e9567(0x57d,0x5d8)][_0x2e9567(0x545,0x4b9)](_0x1300f9[0x0],_0x1300f9[0x1]),this[_0xfc6806(-0x2e,-0x41)]['lineTo'](_0x2f27a0[0x0],_0x2f27a0[0x1]);}this['canvasContext'][_0x2e9567(0x4a3,0x49e)]();}}['_tomap'](_0x2dfbf6,_0x5a6330,_0xcc85e9){const _0xe4ac22=Cesium[_0x53305f(0x46b,0x422)]['fromDegrees'](_0x2dfbf6,_0x5a6330,this['fixedHeight']),_0x570626=this['_map'][_0xf8ed47(0x38,0x4)];function _0xf8ed47(_0x361728,_0x592ce0){return _0x25a800(_0x592ce0,_0x361728- -0x31a);}if(_0x570626[_0x53305f(0x3cf,0x42c)]===Cesium['SceneMode'][_0x53305f(0x490,0x45b)]){const _0x3d1f66=new Cesium[(_0x53305f(0x3c8,0x404))](_0x570626[_0xf8ed47(-0x78,-0x8d)]['ellipsoid'],_0x570626['camera']['positionWC']),_0x550f86=_0x3d1f66[_0xf8ed47(-0x7a,-0x50)](_0xe4ac22);if(!_0x550f86)return _0xcc85e9['age']=0x0,null;}const _0x5c5c68=Cesium[_0xf8ed47(0x3,0x80)][_0x53305f(0x43f,0x424)](this[_0xf8ed47(0xad,0x59)][_0x53305f(0x42a,0x484)],_0xe4ac22);function _0x53305f(_0x209273,_0x4a3d20){return _0x263d96(_0x209273,_0x4a3d20-0x2f1);}return _0x5c5c68?[_0x5c5c68['x'],_0x5c5c68['y']]:null;}['clear'](){function _0x4a8f77(_0x56b9e2,_0x11e6f9){return _0x263d96(_0x56b9e2,_0x11e6f9-0x8c);}this[_0x4a8f77(0x200,0x1fe)][_0x4a8f77(0x1e3,0x21e)]();function _0x3e231a(_0x4923d0,_0x365597){return _0x25a800(_0x365597,_0x4923d0- -0x520);}delete this[_0x3e231a(-0x178,-0x1bc)];}[_0x263d96(0x1cd,0x15a)](){function _0x289e72(_0x2ada84,_0x184c36){return _0x25a800(_0x2ada84,_0x184c36- -0x189);}this[_0x884a75(-0x27,-0x48)]=new Worker(this[_0x884a75(-0x3d,-0x4a)]['worker']);function _0x884a75(_0x1e996f,_0x91735){return _0x263d96(_0x91735,_0x1e996f- -0x154);}this['worker'][_0x884a75(0x61,0x5c)]=_0x110828=>{this[_0xc1a435(-0x1e0,-0x237)](_0x110828['data'][_0xc1a435(-0x1f0,-0x219)]);function _0x4e3e70(_0xc92f9b,_0x582bbc){return _0x884a75(_0x582bbc- -0x79,_0xc92f9b);}function _0xc1a435(_0x4a3104,_0x4bd963){return _0x289e72(_0x4bd963,_0x4a3104- -0x31d);}this['_updateIng2']=![];},this['windField']={'init':_0x33159f=>{const _0x5f356b={};_0x5f356b['type']='init',_0x5f356b['options']=_0x33159f,this['worker']['postMessage'](_0x5f356b);},'setOptions':_0x2b3f15=>{const _0x1df6db={};function _0x368d09(_0x545b37,_0x5e6f74){return _0x289e72(_0x545b37,_0x5e6f74- -0x8b);}function _0x504929(_0x18d751,_0x282dc2){return _0x289e72(_0x18d751,_0x282dc2-0x12c);}_0x1df6db[_0x504929(0x2eb,0x33d)]='setOptions',_0x1df6db[_0x368d09(0x95,0xc2)]=_0x2b3f15,this['worker']['postMessage'](_0x1df6db);},'setDate':_0x301918=>{function _0x3e106a(_0x55217,_0x4bdfa9){return _0x289e72(_0x4bdfa9,_0x55217- -0x352);}function _0x1899ad(_0x26ea7c,_0x47881c){return _0x884a75(_0x26ea7c-0x2a4,_0x47881c);}const _0x172c24={};_0x172c24['type']=_0x1899ad(0x2a5,0x232),_0x172c24['data']=_0x301918,this['worker'][_0x1899ad(0x259,0x2ac)](_0x172c24);},'update':()=>{function _0x22bc43(_0x3bbde9,_0x3c0b5f){return _0x289e72(_0x3c0b5f,_0x3bbde9-0x19d);}function _0x1b9c6e(_0x28b18b,_0x3c89a3){return _0x884a75(_0x3c89a3-0x25c,_0x28b18b);}if(this[_0x1b9c6e(0x294,0x26b)])return;this['_updateIng2']=!![];const _0x54f8ae={};_0x54f8ae['type']='update',this[_0x22bc43(0x300,0x273)]['postMessage'](_0x54f8ae);},'clear':()=>{const _0x5dbcbf={};function _0x11d232(_0x5df9bc,_0x8ac431){return _0x289e72(_0x8ac431,_0x5df9bc-0x28e);}_0x5dbcbf['type']=_0x11d232(0x456,0x46c),this['worker']['postMessage'](_0x5dbcbf);}},this[_0x289e72(0x1bf,0x1a8)]['init'](this['options']);}}mars3d__namespace['LayerUtil']['register'](_0x25a800(0x33e,0x3b7),CanvasWindLayer),mars3d__namespace[_0x25a800(0x281,0x30e)]['CanvasWindLayer']=CanvasWindLayer,mars3d__namespace[_0x25a800(0x420,0x3a2)]=CanvasWindField,mars3d__namespace[_0x25a800(0x219,0x2ad)]=WindUtil,exports[_0x25a800(0x3ae,0x3a2)]=CanvasWindField,exports['CanvasWindLayer']=CanvasWindLayer,exports[_0x263d96(0x1f4,0x1ee)]=WindLayer,exports['WindUtil']=WindUtil;const _0x498770={};_0x498770['value']=!![],Object['defineProperty'](exports,_0x263d96(0x1a2,0x1e6),_0x498770);
15
15
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mars3d-wind",
3
- "version": "3.7.21",
3
+ "version": "3.7.22",
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.21"
11
+ "mars3d": "~3.7.22"
12
12
  },
13
13
  "scripts": {
14
14
  "lint": "eslint ./src/**/*.{js,ts} --fix"