From 451aa577530cd19d08b7db614eb4ed3713203b34 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期三, 08 九月 2021 13:37:05 +0800
Subject: [PATCH] bug fix

---
 lib/mars3d/plugins/wind/mars3d-wind.js |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/mars3d/plugins/wind/mars3d-wind.js b/lib/mars3d/plugins/wind/mars3d-wind.js
index 5c035a9..8a2b495 100644
--- a/lib/mars3d/plugins/wind/mars3d-wind.js
+++ b/lib/mars3d/plugins/wind/mars3d-wind.js
@@ -1 +1 @@
-(function(_0x349638,_0x1c2f01){var _0x49c473=a0_0x3690,_0x2b266a=_0x349638();while(!![]){try{var _0x476199=-parseInt(_0x49c473(0x276))/0x1+parseInt(_0x49c473(0x249))/0x2+parseInt(_0x49c473(0x287))/0x3*(parseInt(_0x49c473(0x28e))/0x4)+parseInt(_0x49c473(0x2b8))/0x5+-parseInt(_0x49c473(0x2b4))/0x6*(parseInt(_0x49c473(0x2c8))/0x7)+parseInt(_0x49c473(0x19c))/0x8+parseInt(_0x49c473(0x1d0))/0x9*(-parseInt(_0x49c473(0x2a4))/0xa);if(_0x476199===_0x1c2f01)break;else _0x2b266a['push'](_0x2b266a['shift']());}catch(_0x37cb2d){_0x2b266a['push'](_0x2b266a['shift']());}}}(a0_0x586e,0x509a5),!function(_0x2b887c,_0x21faa6){var _0x53d748=a0_0x3690;_0x53d748(0x292)==typeof exports&&'object'==typeof module?module['exports']=_0x21faa6(require('mars3d-cesium'),require(_0x53d748(0x1b2))):'function'==typeof define&&define['amd']?define('mars3dWind',['mars3d-cesium',_0x53d748(0x1b2)],_0x21faa6):_0x53d748(0x292)==typeof exports?exports[_0x53d748(0x2cf)]=_0x21faa6(require(_0x53d748(0x2c6)),require('mars3d')):_0x2b887c[_0x53d748(0x2cf)]=_0x21faa6(_0x2b887c[_0x53d748(0x2e2)],_0x2b887c[_0x53d748(0x1b2)]);}(window,function(_0xf25a1d,_0x11aada){return function(_0x162808){var _0x5278f5={};function _0x4c7686(_0x2ca6c9){var _0x7d56d=a0_0x3690;if(_0x5278f5[_0x2ca6c9])return _0x5278f5[_0x2ca6c9]['exports'];var _0x4faf73=_0x5278f5[_0x2ca6c9]={'i':_0x2ca6c9,'l':!0x1,'exports':{}};return _0x162808[_0x2ca6c9][_0x7d56d(0x2da)](_0x4faf73[_0x7d56d(0x1bb)],_0x4faf73,_0x4faf73[_0x7d56d(0x1bb)],_0x4c7686),_0x4faf73['l']=!0x0,_0x4faf73[_0x7d56d(0x1bb)];}return _0x4c7686['m']=_0x162808,_0x4c7686['c']=_0x5278f5,_0x4c7686['d']=function(_0x1f9fa2,_0x345fba,_0x2ebd20){_0x4c7686['o'](_0x1f9fa2,_0x345fba)||Object['defineProperty'](_0x1f9fa2,_0x345fba,{'enumerable':!0x0,'get':_0x2ebd20});},_0x4c7686['r']=function(_0x101032){var _0x1749a6=a0_0x3690;_0x1749a6(0x2d3)!=typeof Symbol&&Symbol['toStringTag']&&Object[_0x1749a6(0x28f)](_0x101032,Symbol[_0x1749a6(0x2be)],{'value':'Module'}),Object[_0x1749a6(0x28f)](_0x101032,_0x1749a6(0x2f6),{'value':!0x0});},_0x4c7686['t']=function(_0x3d3a27,_0x277dea){var _0x47f1e1=a0_0x3690;if(0x1&_0x277dea&&(_0x3d3a27=_0x4c7686(_0x3d3a27)),0x8&_0x277dea)return _0x3d3a27;if(0x4&_0x277dea&&_0x47f1e1(0x292)==typeof _0x3d3a27&&_0x3d3a27&&_0x3d3a27[_0x47f1e1(0x2f6)])return _0x3d3a27;var _0x356c95=Object[_0x47f1e1(0x24e)](null);if(_0x4c7686['r'](_0x356c95),Object[_0x47f1e1(0x28f)](_0x356c95,_0x47f1e1(0x2cd),{'enumerable':!0x0,'value':_0x3d3a27}),0x2&_0x277dea&&_0x47f1e1(0x1d7)!=typeof _0x3d3a27){for(var _0x379991 in _0x3d3a27)_0x4c7686['d'](_0x356c95,_0x379991,function(_0x250655){return _0x3d3a27[_0x250655];}[_0x47f1e1(0x295)](null,_0x379991));}return _0x356c95;},_0x4c7686['n']=function(_0x13e574){var _0x1b6d9b=a0_0x3690,_0x231657=_0x13e574&&_0x13e574[_0x1b6d9b(0x2f6)]?function(){var _0x485191=_0x1b6d9b;return _0x13e574[_0x485191(0x2cd)];}:function(){return _0x13e574;};return _0x4c7686['d'](_0x231657,'a',_0x231657),_0x231657;},_0x4c7686['o']=function(_0x2279cc,_0x1db47b){var _0x248303=a0_0x3690;return Object[_0x248303(0x1ac)]['hasOwnProperty']['call'](_0x2279cc,_0x1db47b);},_0x4c7686['p']='',_0x4c7686(_0x4c7686['s']=0x14);}([function(_0x4a7545,_0x465a93){var _0x4d1d31=a0_0x3690;_0x4a7545[_0x4d1d31(0x1bb)]=_0xf25a1d;},function(_0x2a22c3,_0x1783fb){var _0x5101df=a0_0x3690;_0x2a22c3[_0x5101df(0x1bb)]=function(_0x45dba9,_0x194ad6){var _0x39d698=_0x5101df;if(!(_0x45dba9 instanceof _0x194ad6))throw new TypeError(_0x39d698(0x2aa));},_0x2a22c3['exports'][_0x5101df(0x2cd)]=_0x2a22c3[_0x5101df(0x1bb)],_0x2a22c3[_0x5101df(0x1bb)]['__esModule']=!0x0;},function(_0x494825,_0x3b826f){var _0x5b56f5=a0_0x3690;function _0x53fdf9(_0xde119e,_0x3e16e8){var _0x59bb39=a0_0x3690;for(var _0x21ac63=0x0;_0x21ac63<_0x3e16e8[_0x59bb39(0x1e1)];_0x21ac63++){var _0x40bca9=_0x3e16e8[_0x21ac63];_0x40bca9[_0x59bb39(0x1df)]=_0x40bca9[_0x59bb39(0x1df)]||!0x1,_0x40bca9['configurable']=!0x0,_0x59bb39(0x2e3)in _0x40bca9&&(_0x40bca9[_0x59bb39(0x1e3)]=!0x0),Object[_0x59bb39(0x28f)](_0xde119e,_0x40bca9[_0x59bb39(0x2f0)],_0x40bca9);}}_0x494825[_0x5b56f5(0x1bb)]=function(_0x3487b0,_0x4fd700,_0x581c73){return _0x4fd700&&_0x53fdf9(_0x3487b0['prototype'],_0x4fd700),_0x581c73&&_0x53fdf9(_0x3487b0,_0x581c73),_0x3487b0;},_0x494825['exports']['default']=_0x494825['exports'],_0x494825[_0x5b56f5(0x1bb)]['__esModule']=!0x0;},function(_0x4fa492,_0x16d9ff){_0x4fa492['exports']=_0x11aada;},function(_0x371c6a,_0x2643ad){var _0x49da7f=a0_0x3690;function _0x29cac8(_0x505cc7){var _0x226135=a0_0x3690;return _0x371c6a[_0x226135(0x1bb)]=_0x29cac8=Object[_0x226135(0x2d6)]?Object[_0x226135(0x228)]:function(_0x3494f4){var _0x3d0974=_0x226135;return _0x3494f4['__proto__']||Object[_0x3d0974(0x228)](_0x3494f4);},_0x371c6a['exports']['default']=_0x371c6a[_0x226135(0x1bb)],_0x371c6a[_0x226135(0x1bb)][_0x226135(0x2f6)]=!0x0,_0x29cac8(_0x505cc7);}_0x371c6a[_0x49da7f(0x1bb)]=_0x29cac8,_0x371c6a['exports']['default']=_0x371c6a[_0x49da7f(0x1bb)],_0x371c6a[_0x49da7f(0x1bb)]['__esModule']=!0x0;},function(_0x107054,_0x20b721,_0x49fb1b){var _0x4ad8d9=a0_0x3690,_0x4352a2=_0x49fb1b(0x11);_0x107054['exports']=function(_0x484efd,_0x220beb){var _0x54ebb6=a0_0x3690;if(_0x54ebb6(0x1b5)!=typeof _0x220beb&&null!==_0x220beb)throw new TypeError(_0x54ebb6(0x296));_0x484efd[_0x54ebb6(0x1ac)]=Object[_0x54ebb6(0x24e)](_0x220beb&&_0x220beb[_0x54ebb6(0x1ac)],{'constructor':{'value':_0x484efd,'writable':!0x0,'configurable':!0x0}}),_0x220beb&&_0x4352a2(_0x484efd,_0x220beb);},_0x107054[_0x4ad8d9(0x1bb)]['default']=_0x107054[_0x4ad8d9(0x1bb)],_0x107054[_0x4ad8d9(0x1bb)][_0x4ad8d9(0x2f6)]=!0x0;},function(_0x81c426,_0x377fe1,_0x37f135){var _0x3b9934=a0_0x3690,_0x48ddf9=_0x37f135(0x12)['default'],_0x57b431=_0x37f135(0x13);_0x81c426['exports']=function(_0x35906e,_0x49c0fc){var _0x2ec6dc=a0_0x3690;if(_0x49c0fc&&('object'===_0x48ddf9(_0x49c0fc)||_0x2ec6dc(0x1b5)==typeof _0x49c0fc))return _0x49c0fc;if(void 0x0!==_0x49c0fc)throw new TypeError(_0x2ec6dc(0x2f2));return _0x57b431(_0x35906e);},_0x81c426[_0x3b9934(0x1bb)]['default']=_0x81c426[_0x3b9934(0x1bb)],_0x81c426['exports'][_0x3b9934(0x2f6)]=!0x0;},function(_0x59f146,_0x1d4492){var _0x569393=a0_0x3690;_0x59f146[_0x569393(0x1bb)]='attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}';},function(_0x3fcdac,_0x334d0a){var _0x14abb7=a0_0x3690;_0x3fcdac[_0x14abb7(0x1bb)]='attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}';},function(_0x4d594f,_0x5282de){var _0x23f0ef=a0_0x3690;_0x4d594f[_0x23f0ef(0x1bb)]=_0x23f0ef(0x2a6);},function(_0x21eb5a,_0x5427e2){var _0x151fae=a0_0x3690;_0x21eb5a['exports']=_0x151fae(0x1a6);},function(_0x4e2005,_0x555729){var _0x3ac474=a0_0x3690;_0x4e2005[_0x3ac474(0x1bb)]=_0x3ac474(0x1ff);},function(_0x3f2d22,_0x5ece21){var _0x2f1e68=a0_0x3690;_0x3f2d22['exports']=_0x2f1e68(0x23d);},function(_0x488bd1,_0x3b59c2){var _0x57bcb7=a0_0x3690;_0x488bd1[_0x57bcb7(0x1bb)]='uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}';},function(_0x4afe2c,_0x10baf6){_0x4afe2c['exports']='uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}';},function(_0x1fcdd0,_0x34a3ee){var _0x4b6046=a0_0x3690;_0x1fcdd0[_0x4b6046(0x1bb)]=_0x4b6046(0x1e5);},function(_0x139c9e,_0x1c3dfb){var _0x3092ea=a0_0x3690;_0x139c9e[_0x3092ea(0x1bb)]=_0x3092ea(0x1a0);},function(_0x1aaefb,_0x1799c0){var _0x2c4063=a0_0x3690;function _0x2d30a4(_0x3a14ec,_0x4b442d){var _0x52bfda=a0_0x3690;return _0x1aaefb[_0x52bfda(0x1bb)]=_0x2d30a4=Object[_0x52bfda(0x2d6)]||function(_0x3c2f28,_0x3656ee){var _0x1836b1=_0x52bfda;return _0x3c2f28[_0x1836b1(0x27d)]=_0x3656ee,_0x3c2f28;},_0x1aaefb[_0x52bfda(0x1bb)][_0x52bfda(0x2cd)]=_0x1aaefb['exports'],_0x1aaefb[_0x52bfda(0x1bb)][_0x52bfda(0x2f6)]=!0x0,_0x2d30a4(_0x3a14ec,_0x4b442d);}_0x1aaefb[_0x2c4063(0x1bb)]=_0x2d30a4,_0x1aaefb[_0x2c4063(0x1bb)]['default']=_0x1aaefb[_0x2c4063(0x1bb)],_0x1aaefb[_0x2c4063(0x1bb)][_0x2c4063(0x2f6)]=!0x0;},function(_0x55197b,_0x3f8953){var _0xa538bf=a0_0x3690;function _0x1aeb3e(_0x1d73d6){var _0x14aca2=a0_0x3690;return _0x14aca2(0x1b5)==typeof Symbol&&'symbol'==typeof Symbol[_0x14aca2(0x20a)]?(_0x55197b['exports']=_0x1aeb3e=function(_0x14b4b4){return typeof _0x14b4b4;},_0x55197b[_0x14aca2(0x1bb)]['default']=_0x55197b['exports'],_0x55197b[_0x14aca2(0x1bb)][_0x14aca2(0x2f6)]=!0x0):(_0x55197b[_0x14aca2(0x1bb)]=_0x1aeb3e=function(_0x1ea893){var _0x4db02f=_0x14aca2;return _0x1ea893&&'function'==typeof Symbol&&_0x1ea893[_0x4db02f(0x233)]===Symbol&&_0x1ea893!==Symbol[_0x4db02f(0x1ac)]?_0x4db02f(0x1c5):typeof _0x1ea893;},_0x55197b[_0x14aca2(0x1bb)][_0x14aca2(0x2cd)]=_0x55197b[_0x14aca2(0x1bb)],_0x55197b['exports'][_0x14aca2(0x2f6)]=!0x0),_0x1aeb3e(_0x1d73d6);}_0x55197b[_0xa538bf(0x1bb)]=_0x1aeb3e,_0x55197b[_0xa538bf(0x1bb)][_0xa538bf(0x2cd)]=_0x55197b['exports'],_0x55197b[_0xa538bf(0x1bb)][_0xa538bf(0x2f6)]=!0x0;},function(_0x44aefe,_0x16f584){var _0xd11d64=a0_0x3690;_0x44aefe[_0xd11d64(0x1bb)]=function(_0x15e8e8){var _0x543bbe=_0xd11d64;if(void 0x0===_0x15e8e8)throw new ReferenceError(_0x543bbe(0x247));return _0x15e8e8;},_0x44aefe[_0xd11d64(0x1bb)][_0xd11d64(0x2cd)]=_0x44aefe['exports'],_0x44aefe[_0xd11d64(0x1bb)][_0xd11d64(0x2f6)]=!0x0;},function(_0x50fc95,_0x518c74,_0x3d27c5){'use strict';var _0x3271f3=a0_0x3690;_0x3d27c5['r'](_0x518c74),_0x3d27c5['d'](_0x518c74,_0x3271f3(0x22e),function(){return _0x56edb5;}),_0x3d27c5['d'](_0x518c74,_0x3271f3(0x2e0),function(){return _0x2c3fda;}),_0x3d27c5['d'](_0x518c74,_0x3271f3(0x225),function(){return _0x2c13a3;});var _0x2c13a3={};_0x3d27c5['r'](_0x2c13a3),_0x3d27c5['d'](_0x2c13a3,_0x3271f3(0x1f9),function(){return _0x1b20cd;}),_0x3d27c5['d'](_0x2c13a3,_0x3271f3(0x1fe),function(){return _0x4d9888;}),_0x3d27c5['d'](_0x2c13a3,'getSpeed',function(){return _0x194507;}),_0x3d27c5['d'](_0x2c13a3,_0x3271f3(0x262),function(){return _0xb0bd42;});var _0x5deb98=_0x3d27c5(0x3),_0xab1c1f=_0x3d27c5(0x1),_0x9593b9=_0x3d27c5['n'](_0xab1c1f),_0x5615b7=_0x3d27c5(0x2),_0x1a7c99=_0x3d27c5['n'](_0x5615b7),_0x1d19df=_0x3d27c5(0x5),_0x5c2e1b=_0x3d27c5['n'](_0x1d19df),_0x26b20c=_0x3d27c5(0x6),_0x29e5b5=_0x3d27c5['n'](_0x26b20c),_0x2e9f88=_0x3d27c5(0x4),_0x505d0b=_0x3d27c5['n'](_0x2e9f88),_0x5b947f=_0x3d27c5(0x0),_0x1f0fce=function(){var _0x46dba2=_0x3271f3;function _0x1e8a63(_0xd1b67b){var _0x28a3e2=a0_0x3690;_0x9593b9()(this,_0x1e8a63),this[_0x28a3e2(0x26e)]=_0xd1b67b[_0x28a3e2(0x26e)],this[_0x28a3e2(0x2cc)]=_0xd1b67b[_0x28a3e2(0x2cc)],this[_0x28a3e2(0x221)]=_0xd1b67b['attributeLocations'],this[_0x28a3e2(0x267)]=_0xd1b67b[_0x28a3e2(0x267)],this[_0x28a3e2(0x274)]=_0xd1b67b[_0x28a3e2(0x274)],this[_0x28a3e2(0x29f)]=_0xd1b67b[_0x28a3e2(0x29f)],this[_0x28a3e2(0x220)]=_0xd1b67b[_0x28a3e2(0x220)],this[_0x28a3e2(0x2b1)]=_0xd1b67b['rawRenderState'],this[_0x28a3e2(0x202)]=_0xd1b67b[_0x28a3e2(0x202)],this[_0x28a3e2(0x1c6)]=_0xd1b67b[_0x28a3e2(0x1c6)],this[_0x28a3e2(0x2e7)]=_0x5b947f[_0x28a3e2(0x1fb)](_0xd1b67b[_0x28a3e2(0x2e7)],!0x1),this[_0x28a3e2(0x27c)]=_0xd1b67b['preExecute'],this[_0x28a3e2(0x236)]=!0x0,this['commandToExecute']=void 0x0,this[_0x28a3e2(0x1fd)]=void 0x0,this[_0x28a3e2(0x2e7)]&&(this[_0x28a3e2(0x1fd)]=new _0x5b947f['ClearCommand']({'color':new _0x5b947f[(_0x28a3e2(0x215))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x28a3e2(0x202)],'pass':_0x5b947f[_0x28a3e2(0x281)][_0x28a3e2(0x2fb)]}));}return _0x1a7c99()(_0x1e8a63,[{'key':_0x46dba2(0x29b),'value':function(_0x2279aa){var _0x4ddf73=_0x46dba2;switch(this[_0x4ddf73(0x26e)]){case _0x4ddf73(0x285):var _0x4f9151=_0x5b947f[_0x4ddf73(0x2b0)]['fromGeometry']({'context':_0x2279aa,'geometry':this['geometry'],'attributeLocations':this[_0x4ddf73(0x221)],'bufferUsage':_0x5b947f[_0x4ddf73(0x2dd)][_0x4ddf73(0x1cd)]}),_0xf58d40=_0x5b947f[_0x4ddf73(0x24b)][_0x4ddf73(0x239)]({'context':_0x2279aa,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this['vertexShaderSource'],'fragmentShaderSource':this[_0x4ddf73(0x220)]}),_0x2b5452=_0x5b947f[_0x4ddf73(0x27a)][_0x4ddf73(0x239)](this['rawRenderState']);return new _0x5b947f[(_0x4ddf73(0x1e9))]({'owner':this,'vertexArray':_0x4f9151,'primitiveType':this['primitiveType'],'uniformMap':this['uniformMap'],'modelMatrix':_0x5b947f[_0x4ddf73(0x303)][_0x4ddf73(0x2d8)],'shaderProgram':_0xf58d40,'framebuffer':this[_0x4ddf73(0x202)],'renderState':_0x2b5452,'pass':_0x5b947f[_0x4ddf73(0x281)]['OPAQUE']});case _0x4ddf73(0x26a):return new _0x5b947f[(_0x4ddf73(0x21e))]({'owner':this,'fragmentShaderSource':this[_0x4ddf73(0x220)],'uniformMap':this[_0x4ddf73(0x274)],'outputTexture':this['outputTexture'],'persists':!0x0});}}},{'key':_0x46dba2(0x2bf),'value':function(_0x1527cb,_0x3f36e1){var _0x459ec4=_0x46dba2;this[_0x459ec4(0x2cc)]=_0x3f36e1;var _0x5b64ca=_0x5b947f['VertexArray'][_0x459ec4(0x278)]({'context':_0x1527cb,'geometry':this[_0x459ec4(0x2cc)],'attributeLocations':this[_0x459ec4(0x221)],'bufferUsage':_0x5b947f[_0x459ec4(0x2dd)][_0x459ec4(0x1cd)]});this[_0x459ec4(0x21d)]['vertexArray']=_0x5b64ca;}},{'key':_0x46dba2(0x264),'value':function(_0x338a55){var _0x19d7bf=_0x46dba2;this[_0x19d7bf(0x236)]&&_0x338a55['mode']==_0x5b947f[_0x19d7bf(0x2e5)][_0x19d7bf(0x1a8)]&&(_0x5b947f['defined'](this[_0x19d7bf(0x21d)])||(this[_0x19d7bf(0x21d)]=this[_0x19d7bf(0x29b)](_0x338a55[_0x19d7bf(0x1b1)])),_0x5b947f[_0x19d7bf(0x2bc)](this['preExecute'])&&this[_0x19d7bf(0x27c)](),_0x5b947f[_0x19d7bf(0x2bc)](this[_0x19d7bf(0x1fd)])&&_0x338a55[_0x19d7bf(0x2b7)]['push'](this[_0x19d7bf(0x1fd)]),_0x338a55[_0x19d7bf(0x2b7)]['push'](this[_0x19d7bf(0x21d)]));}},{'key':_0x46dba2(0x2ca),'value':function(){return!0x1;}},{'key':_0x46dba2(0x242),'value':function(){var _0x479dbc=_0x46dba2;return _0x5b947f[_0x479dbc(0x2bc)](this['commandToExecute'])&&(this[_0x479dbc(0x21d)][_0x479dbc(0x26b)]=this[_0x479dbc(0x21d)]['shaderProgram']&&this[_0x479dbc(0x21d)][_0x479dbc(0x26b)][_0x479dbc(0x242)]()),_0x5b947f[_0x479dbc(0x2ef)](this);}}]),_0x1e8a63;}(),_0x5bd9bb={'getFullscreenQuad':function(){var _0x3cf4fb=_0x3271f3;return new _0x5b947f[(_0x3cf4fb(0x259))]({'attributes':new _0x5b947f[(_0x3cf4fb(0x1ae))]({'position':new _0x5b947f[(_0x3cf4fb(0x2d1))]({'componentDatatype':_0x5b947f[_0x3cf4fb(0x1e7)][_0x3cf4fb(0x1b0)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x5b947f['GeometryAttribute']({'componentDatatype':_0x5b947f[_0x3cf4fb(0x1e7)][_0x3cf4fb(0x1b0)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x593b51,_0x5af9d4){var _0x3de7a2=_0x3271f3;if(_0x5b947f[_0x3de7a2(0x2bc)](_0x5af9d4)){var _0x3da0b4={};_0x3da0b4[_0x3de7a2(0x1c7)]=_0x5af9d4,_0x593b51[_0x3de7a2(0x1aa)]=_0x3da0b4;}return new _0x5b947f[(_0x3de7a2(0x2a0))](_0x593b51);},'createFramebuffer':function(_0x138919,_0x4ecd87,_0x2a5224){return new _0x5b947f['Framebuffer']({'context':_0x138919,'colorTextures':[_0x4ecd87],'depthTexture':_0x2a5224});},'createRawRenderState':function(_0x2d39f3){var _0x1ba9ee=_0x3271f3,_0x197947={'viewport':_0x2d39f3[_0x1ba9ee(0x1f6)],'depthTest':_0x2d39f3[_0x1ba9ee(0x20b)],'depthMask':_0x2d39f3['depthMask'],'blending':_0x2d39f3[_0x1ba9ee(0x300)]};return _0x5b947f[_0x1ba9ee(0x2a2)][_0x1ba9ee(0x266)](!0x0,!0x1,_0x197947);},'viewRectangleToLonLatRange':function(_0x33b7b2){var _0x8cb285=_0x3271f3,_0x35e411,_0x2a03e6,_0x19a6a5={},_0x1f58f1=_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x263)](_0x33b7b2[_0x8cb285(0x1ad)],_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x26f)]),_0x47f5f6=_0x5b947f['Math'][_0x8cb285(0x263)](_0x33b7b2[_0x8cb285(0x1f1)],_0x5b947f[_0x8cb285(0x2a8)]['TWO_PI']),_0x13dc3c=_0x33b7b2['width'];_0x13dc3c>_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x25f)]?(_0x35e411=0x0,_0x2a03e6=_0x5b947f['Math'][_0x8cb285(0x26f)]):_0x47f5f6-_0x1f58f1<_0x13dc3c?(_0x35e411=_0x1f58f1,_0x2a03e6=_0x1f58f1+_0x13dc3c):(_0x35e411=_0x1f58f1,_0x2a03e6=_0x47f5f6),_0x19a6a5[_0x8cb285(0x26d)]={'min':_0x5b947f['Math']['toDegrees'](_0x35e411),'max':_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x2bd)](_0x2a03e6)};var _0x1e80bc=_0x33b7b2[_0x8cb285(0x1b9)],_0x3ecc40=_0x33b7b2[_0x8cb285(0x206)],_0x194b8b=_0x33b7b2['height'],_0x490589=_0x194b8b>_0x5b947f[_0x8cb285(0x2a8)]['PI']/0xc?_0x194b8b/0x2:0x0,_0x299026=_0x5b947f[_0x8cb285(0x2a8)]['clampToLatitudeRange'](_0x1e80bc-_0x490589),_0x2c17ba=_0x5b947f['Math'][_0x8cb285(0x268)](_0x3ecc40+_0x490589);return _0x299026<-_0x5b947f[_0x8cb285(0x2a8)]['PI_OVER_THREE']&&(_0x299026=-_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x246)]),_0x2c17ba>_0x5b947f[_0x8cb285(0x2a8)][_0x8cb285(0x2fc)]&&(_0x2c17ba=_0x5b947f['Math'][_0x8cb285(0x246)]),_0x19a6a5[_0x8cb285(0x2c3)]={'min':_0x5b947f['Math'][_0x8cb285(0x2bd)](_0x299026),'max':_0x5b947f[_0x8cb285(0x2a8)]['toDegrees'](_0x2c17ba)},_0x19a6a5;}},_0x39dec1=_0x3d27c5(0x8),_0x5793bf=_0x3d27c5['n'](_0x39dec1),_0x57badd=_0x3d27c5(0x9),_0x152f12=_0x3d27c5['n'](_0x57badd),_0x5c5088=_0x3d27c5(0x7),_0x31d928=_0x3d27c5['n'](_0x5c5088),_0x4496b0=_0x3d27c5(0xa),_0x18fa18=_0x3d27c5['n'](_0x4496b0),_0x2b43f8=_0x3d27c5(0xb),_0xac4b35=_0x3d27c5['n'](_0x2b43f8),_0xcfd54d=function(){var _0x3ff3f9=_0x3271f3;function _0x277393(_0x3cf81f,_0x57661c,_0x41cdd9,_0x48f4fd,_0x1f20a7){var _0x4205fe=a0_0x3690;_0x9593b9()(this,_0x277393),this[_0x4205fe(0x270)](_0x3cf81f,_0x57661c),this[_0x4205fe(0x2f8)](_0x3cf81f),this[_0x4205fe(0x21b)](_0x3cf81f,_0x41cdd9,_0x48f4fd,_0x1f20a7);}return _0x1a7c99()(_0x277393,[{'key':_0x3ff3f9(0x270),'value':function(_0x2a857b,_0x5e05c8){var _0x182153=_0x3ff3f9,_0x526f99={'context':_0x2a857b,'width':_0x2a857b[_0x182153(0x22f)],'height':_0x2a857b[_0x182153(0x1c4)],'pixelFormat':_0x5b947f[_0x182153(0x19d)][_0x182153(0x230)],'pixelDatatype':_0x5b947f['PixelDatatype'][_0x182153(0x1b8)]},_0xf3b007={'context':_0x2a857b,'width':_0x2a857b['drawingBufferWidth'],'height':_0x2a857b[_0x182153(0x1c4)],'pixelFormat':_0x5b947f[_0x182153(0x19d)][_0x182153(0x1fc)],'pixelDatatype':_0x5b947f['PixelDatatype'][_0x182153(0x257)]},_0x4b8539={'context':_0x2a857b,'width':_0x5e05c8[_0x182153(0x254)]['colorNum'],'height':0x1,'pixelFormat':_0x5b947f['PixelFormat']['RGB'],'pixelDatatype':_0x5b947f[_0x182153(0x1d9)]['FLOAT'],'sampler':new _0x5b947f['Sampler']({'minificationFilter':_0x5b947f[_0x182153(0x301)]['LINEAR'],'magnificationFilter':_0x5b947f[_0x182153(0x22d)][_0x182153(0x299)]})};this[_0x182153(0x2a3)]={'segmentsColor':_0x5bd9bb[_0x182153(0x235)](_0x526f99),'segmentsDepth':_0x5bd9bb[_0x182153(0x235)](_0xf3b007),'currentTrailsColor':_0x5bd9bb[_0x182153(0x235)](_0x526f99),'currentTrailsDepth':_0x5bd9bb['createTexture'](_0xf3b007),'nextTrailsColor':_0x5bd9bb[_0x182153(0x235)](_0x526f99),'nextTrailsDepth':_0x5bd9bb['createTexture'](_0xf3b007),'colorTable':_0x5bd9bb[_0x182153(0x235)](_0x4b8539,_0x5e05c8[_0x182153(0x254)]['array'])};}},{'key':_0x3ff3f9(0x2f8),'value':function(_0x125b57){var _0x3ea62e=_0x3ff3f9;this[_0x3ea62e(0x302)]={'segments':_0x5bd9bb[_0x3ea62e(0x29a)](_0x125b57,this[_0x3ea62e(0x2a3)][_0x3ea62e(0x25b)],this[_0x3ea62e(0x2a3)][_0x3ea62e(0x2c4)]),'currentTrails':_0x5bd9bb[_0x3ea62e(0x29a)](_0x125b57,this[_0x3ea62e(0x2a3)][_0x3ea62e(0x24f)],this[_0x3ea62e(0x2a3)]['currentTrailsDepth']),'nextTrails':_0x5bd9bb[_0x3ea62e(0x29a)](_0x125b57,this[_0x3ea62e(0x2a3)][_0x3ea62e(0x204)],this[_0x3ea62e(0x2a3)]['nextTrailsDepth'])};}},{'key':_0x3ff3f9(0x22c),'value':function(_0xbcd7ad){var _0x4c0865=_0x3ff3f9;for(var _0x66fff9=[],_0x2e2e0e=0x0;_0x2e2e0e<_0xbcd7ad[_0x4c0865(0x248)];_0x2e2e0e++)for(var _0x4be102=0x0;_0x4be102<_0xbcd7ad[_0x4c0865(0x248)];_0x4be102++)for(var _0x20a259=0x0;_0x20a259<0x4;_0x20a259++)_0x66fff9[_0x4c0865(0x29d)](_0x2e2e0e/_0xbcd7ad['particlesTextureSize']),_0x66fff9[_0x4c0865(0x29d)](_0x4be102/_0xbcd7ad[_0x4c0865(0x248)]);_0x66fff9=new Float32Array(_0x66fff9);for(var _0x347493=[],_0x1d97e1=[-0x1,0x1],_0x101853=[-0x1,0x1],_0x577724=0x0;_0x577724<_0xbcd7ad['maxParticles'];_0x577724++)for(var _0x14e4c2=0x0;_0x14e4c2<0x2;_0x14e4c2++)for(var _0x313cd2=0x0;_0x313cd2<0x2;_0x313cd2++)_0x347493[_0x4c0865(0x29d)](_0x1d97e1[_0x14e4c2]),_0x347493['push'](_0x101853[_0x313cd2]),_0x347493[_0x4c0865(0x29d)](0x0);_0x347493=new Float32Array(_0x347493);for(var _0x5f0711=0x6*_0xbcd7ad[_0x4c0865(0x1a3)],_0x199059=new Uint32Array(_0x5f0711),_0x2b56cf=0x0,_0x5b2d9c=0x0,_0x2fd5e0=0x0;_0x2b56cf<_0xbcd7ad[_0x4c0865(0x1a3)];_0x2b56cf++)_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x0,_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x1,_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x2,_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x2,_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x1,_0x199059[_0x5b2d9c++]=_0x2fd5e0+0x3,_0x2fd5e0+=0x4;return new _0x5b947f[(_0x4c0865(0x259))]({'attributes':new _0x5b947f[(_0x4c0865(0x1ae))]({'st':new _0x5b947f[(_0x4c0865(0x2d1))]({'componentDatatype':_0x5b947f[_0x4c0865(0x1e7)][_0x4c0865(0x1b0)],'componentsPerAttribute':0x2,'values':_0x66fff9}),'normal':new _0x5b947f[(_0x4c0865(0x2d1))]({'componentDatatype':_0x5b947f[_0x4c0865(0x1e7)][_0x4c0865(0x1b0)],'componentsPerAttribute':0x3,'values':_0x347493})}),'indices':_0x199059});}},{'key':_0x3ff3f9(0x21b),'value':function(_0x26b28b,_0x42e553,_0x21f9d4,_0x40bc01){var _0x1395dc=_0x3ff3f9,_0x333337=this;this['primitives']={'segments':new _0x1f0fce({'commandType':_0x1395dc(0x285),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x1395dc(0x22c)](_0x42e553),'primitiveType':_0x5b947f[_0x1395dc(0x232)][_0x1395dc(0x253)],'uniformMap':{'currentParticlesPosition':function(){var _0x4297f1=_0x1395dc;return _0x40bc01[_0x4297f1(0x256)]['currentParticlesPosition'];},'postProcessingPosition':function(){var _0x3bc0af=_0x1395dc;return _0x40bc01[_0x3bc0af(0x256)]['postProcessingPosition'];},'postProcessingSpeed':function(){return _0x40bc01['particlesTextures']['postProcessingSpeed'];},'colorTable':function(){var _0x4bce55=_0x1395dc;return _0x333337[_0x4bce55(0x2a3)][_0x4bce55(0x254)];},'aspect':function(){var _0x1fb173=_0x1395dc;return _0x26b28b[_0x1fb173(0x22f)]/_0x26b28b[_0x1fb173(0x1c4)];},'pixelSize':function(){var _0x195165=_0x1395dc;return _0x21f9d4[_0x195165(0x28d)];},'lineWidth':function(){var _0x495d0e=_0x1395dc;return _0x42e553[_0x495d0e(0x1f3)];},'particleHeight':function(){var _0x1ab9a6=_0x1395dc;return _0x42e553[_0x1ab9a6(0x25c)];}},'vertexShaderSource':new _0x5b947f[(_0x1395dc(0x2d7))]({'sources':[_0x5793bf['a']]}),'fragmentShaderSource':new _0x5b947f['ShaderSource']({'sources':[_0x152f12['a']]}),'rawRenderState':_0x5bd9bb[_0x1395dc(0x258)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x1395dc(0x302)][_0x1395dc(0x282)],'autoClear':!0x0}),'trails':new _0x1f0fce({'commandType':_0x1395dc(0x285),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x5bd9bb[_0x1395dc(0x198)](),'primitiveType':_0x5b947f[_0x1395dc(0x232)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){var _0x26aec8=_0x1395dc;return _0x333337['textures'][_0x26aec8(0x25b)];},'segmentsDepthTexture':function(){return _0x333337['textures']['segmentsDepth'];},'currentTrailsColor':function(){var _0x32add2=_0x1395dc;return _0x333337[_0x32add2(0x302)]['currentTrails'][_0x32add2(0x1ee)](0x0);},'trailsDepthTexture':function(){var _0xb702b2=_0x1395dc;return _0x333337[_0xb702b2(0x302)]['currentTrails'][_0xb702b2(0x1fa)];},'fadeOpacity':function(){return _0x42e553['fadeOpacity'];}},'vertexShaderSource':new _0x5b947f[(_0x1395dc(0x2d7))]({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x31d928['a']]}),'fragmentShaderSource':new _0x5b947f[(_0x1395dc(0x2d7))]({'defines':[_0x1395dc(0x214)],'sources':[_0x18fa18['a']]}),'rawRenderState':_0x5bd9bb[_0x1395dc(0x258)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x5b947f['DepthFunction']['ALWAYS']},'depthMask':!0x0}),'framebuffer':this[_0x1395dc(0x302)][_0x1395dc(0x20e)],'autoClear':!0x0,'preExecute':function(){var _0xd69a27=_0x1395dc,_0x4fea91;_0x4fea91=_0x333337[_0xd69a27(0x302)]['currentTrails'],_0x333337[_0xd69a27(0x302)][_0xd69a27(0x2fa)]=_0x333337['framebuffers'][_0xd69a27(0x20e)],_0x333337[_0xd69a27(0x302)][_0xd69a27(0x20e)]=_0x4fea91,_0x333337['primitives']['trails'][_0xd69a27(0x21d)]['framebuffer']=_0x333337[_0xd69a27(0x302)][_0xd69a27(0x20e)],_0x333337[_0xd69a27(0x1de)][_0xd69a27(0x1d1)][_0xd69a27(0x1fd)][_0xd69a27(0x202)]=_0x333337[_0xd69a27(0x302)]['nextTrails'];}}),'screen':new _0x1f0fce({'commandType':_0x1395dc(0x285),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x5bd9bb['getFullscreenQuad'](),'primitiveType':_0x5b947f[_0x1395dc(0x232)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x4a4d2f=_0x1395dc;return _0x333337[_0x4a4d2f(0x302)][_0x4a4d2f(0x20e)][_0x4a4d2f(0x1ee)](0x0);},'trailsDepthTexture':function(){var _0x25e07f=_0x1395dc;return _0x333337[_0x25e07f(0x302)][_0x25e07f(0x20e)][_0x25e07f(0x1fa)];}},'vertexShaderSource':new _0x5b947f['ShaderSource']({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x31d928['a']]}),'fragmentShaderSource':new _0x5b947f[(_0x1395dc(0x2d7))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0xac4b35['a']]}),'rawRenderState':_0x5bd9bb[_0x1395dc(0x258)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x277393;}(),_0x28f155=_0x3d27c5(0xc),_0x225541=_0x3d27c5['n'](_0x28f155),_0x484f12=_0x3d27c5(0xd),_0x43dc6e=_0x3d27c5['n'](_0x484f12),_0x22b1f9=_0x3d27c5(0xe),_0x3878ca=_0x3d27c5['n'](_0x22b1f9),_0x345c3b=_0x3d27c5(0xf),_0x467940=_0x3d27c5['n'](_0x345c3b),_0x16dd51=_0x3d27c5(0x10),_0x1807b1=_0x3d27c5['n'](_0x16dd51),_0x27cbbe=function(){var _0x6a46cf=_0x3271f3;function _0x54151d(_0x4adc0b,_0x377aa3,_0x105823,_0x3e362d){var _0x22ee43=a0_0x3690;_0x9593b9()(this,_0x54151d),this[_0x22ee43(0x1f0)]=_0x377aa3,this[_0x22ee43(0x2a1)](_0x4adc0b,_0x377aa3),this[_0x22ee43(0x1e2)](_0x4adc0b,_0x105823,_0x3e362d),this[_0x22ee43(0x2b9)](_0x377aa3,_0x105823,_0x3e362d);}return _0x1a7c99()(_0x54151d,[{'key':_0x6a46cf(0x2a1),'value':function(_0x2ec21e,_0x20556d){var _0x386332=_0x6a46cf,_0x2ab726={'context':_0x2ec21e,'width':_0x20556d[_0x386332(0x2df)]['lon'],'height':_0x20556d[_0x386332(0x2df)]['lat']*_0x20556d[_0x386332(0x2df)][_0x386332(0x284)],'pixelFormat':_0x5b947f[_0x386332(0x19d)]['LUMINANCE'],'pixelDatatype':_0x5b947f['PixelDatatype'][_0x386332(0x1b0)],'flipY':!0x1,'sampler':new _0x5b947f[(_0x386332(0x2e1))]({'minificationFilter':_0x5b947f[_0x386332(0x301)][_0x386332(0x2b5)],'magnificationFilter':_0x5b947f['TextureMagnificationFilter'][_0x386332(0x2b5)]})};this['windTextures']={'U':_0x5bd9bb['createTexture'](_0x2ab726,_0x20556d['U'][_0x386332(0x1db)]),'V':_0x5bd9bb[_0x386332(0x235)](_0x2ab726,_0x20556d['V']['array'])};}},{'key':_0x6a46cf(0x1e2),'value':function(_0x17d9c7,_0x5ce9d5,_0x453f5b){var _0x27f8e9=_0x6a46cf,_0x5dc4b7={'context':_0x17d9c7,'width':_0x5ce9d5[_0x27f8e9(0x248)],'height':_0x5ce9d5[_0x27f8e9(0x248)],'pixelFormat':_0x5b947f[_0x27f8e9(0x19d)][_0x27f8e9(0x230)],'pixelDatatype':_0x5b947f[_0x27f8e9(0x1d9)][_0x27f8e9(0x1b0)],'flipY':!0x1,'sampler':new _0x5b947f[(_0x27f8e9(0x2e1))]({'minificationFilter':_0x5b947f['TextureMinificationFilter'][_0x27f8e9(0x2b5)],'magnificationFilter':_0x5b947f['TextureMagnificationFilter'][_0x27f8e9(0x2b5)]})},_0x1811ef=this[_0x27f8e9(0x1b4)](_0x5ce9d5[_0x27f8e9(0x1a3)],_0x453f5b),_0x93c7de=new Float32Array(0x4*_0x5ce9d5[_0x27f8e9(0x1a3)])[_0x27f8e9(0x21a)](0x0);this[_0x27f8e9(0x256)]={'particlesWind':_0x5bd9bb['createTexture'](_0x5dc4b7),'currentParticlesPosition':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x1811ef),'nextParticlesPosition':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x1811ef),'currentParticlesSpeed':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x93c7de),'nextParticlesSpeed':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x93c7de),'postProcessingPosition':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x1811ef),'postProcessingSpeed':_0x5bd9bb[_0x27f8e9(0x235)](_0x5dc4b7,_0x93c7de)};}},{'key':_0x6a46cf(0x1b4),'value':function(_0x5014c6,_0x4392cd){var _0x4f8000=_0x6a46cf;for(var _0x2375a0=new Float32Array(0x4*_0x5014c6),_0x1183ac=0x0;_0x1183ac<_0x5014c6;_0x1183ac++)_0x2375a0[0x4*_0x1183ac]=_0x5b947f[_0x4f8000(0x2a8)]['randomBetween'](_0x4392cd[_0x4f8000(0x1cb)]['x'],_0x4392cd['lonRange']['y']),_0x2375a0[0x4*_0x1183ac+0x1]=_0x5b947f[_0x4f8000(0x2a8)][_0x4f8000(0x1e6)](_0x4392cd[_0x4f8000(0x1da)]['x'],_0x4392cd[_0x4f8000(0x1da)]['y']),_0x2375a0[0x4*_0x1183ac+0x2]=_0x5b947f[_0x4f8000(0x2a8)][_0x4f8000(0x1e6)](this['data']['lev'][_0x4f8000(0x197)],this[_0x4f8000(0x1f0)][_0x4f8000(0x284)][_0x4f8000(0x298)]),_0x2375a0[0x4*_0x1183ac+0x3]=0x0;return _0x2375a0;}},{'key':_0x6a46cf(0x194),'value':function(){var _0x21ab1c=_0x6a46cf,_0x173c2e=this;Object[_0x21ab1c(0x2e6)](this[_0x21ab1c(0x256)])[_0x21ab1c(0x208)](function(_0x3bb6aa){var _0x42c563=_0x21ab1c;_0x173c2e[_0x42c563(0x256)][_0x3bb6aa]['destroy']();});}},{'key':'createComputingPrimitives','value':function(_0x463d8b,_0x98ca52,_0x590673){var _0x5d2ef0=_0x6a46cf,_0x5c7d9b=new _0x5b947f[(_0x5d2ef0(0x2c1))](_0x463d8b[_0x5d2ef0(0x2df)][_0x5d2ef0(0x26d)],_0x463d8b[_0x5d2ef0(0x2df)]['lat'],_0x463d8b[_0x5d2ef0(0x2df)][_0x5d2ef0(0x284)]),_0x548cdc=new _0x5b947f['Cartesian3'](_0x463d8b[_0x5d2ef0(0x26d)][_0x5d2ef0(0x197)],_0x463d8b[_0x5d2ef0(0x2c3)][_0x5d2ef0(0x197)],_0x463d8b[_0x5d2ef0(0x284)]['min']),_0x44ade5=new _0x5b947f[(_0x5d2ef0(0x2c1))](_0x463d8b[_0x5d2ef0(0x26d)]['max'],_0x463d8b[_0x5d2ef0(0x2c3)][_0x5d2ef0(0x298)],_0x463d8b[_0x5d2ef0(0x284)][_0x5d2ef0(0x298)]),_0x53469f=new _0x5b947f[(_0x5d2ef0(0x2c1))]((_0x44ade5['x']-_0x548cdc['x'])/(_0x5c7d9b['x']-0x1),(_0x44ade5['y']-_0x548cdc['y'])/(_0x5c7d9b['y']-0x1),_0x5c7d9b['z']>0x1?(_0x44ade5['z']-_0x548cdc['z'])/(_0x5c7d9b['z']-0x1):0x1),_0x24bcfe=new _0x5b947f[(_0x5d2ef0(0x1af))](_0x463d8b['U']['min'],_0x463d8b['U'][_0x5d2ef0(0x298)]),_0x1e0155=new _0x5b947f['Cartesian2'](_0x463d8b['V'][_0x5d2ef0(0x197)],_0x463d8b['V'][_0x5d2ef0(0x298)]),_0x441a33=this;this[_0x5d2ef0(0x1de)]={'getWind':new _0x1f0fce({'commandType':_0x5d2ef0(0x26a),'uniformMap':{'U':function(){return _0x441a33['windTextures']['U'];},'V':function(){var _0xaababd=_0x5d2ef0;return _0x441a33[_0xaababd(0x1c1)]['V'];},'currentParticlesPosition':function(){var _0x20ad54=_0x5d2ef0;return _0x441a33[_0x20ad54(0x256)][_0x20ad54(0x28a)];},'dimension':function(){return _0x5c7d9b;},'minimum':function(){return _0x548cdc;},'maximum':function(){return _0x44ade5;},'interval':function(){return _0x53469f;}},'fragmentShaderSource':new _0x5b947f[(_0x5d2ef0(0x2d7))]({'sources':[_0x225541['a']]}),'outputTexture':this[_0x5d2ef0(0x256)][_0x5d2ef0(0x294)],'preExecute':function(){var _0x5659d4=_0x5d2ef0;_0x441a33['primitives'][_0x5659d4(0x1b7)][_0x5659d4(0x21d)][_0x5659d4(0x1c6)]=_0x441a33[_0x5659d4(0x256)]['particlesWind'];}}),'updateSpeed':new _0x1f0fce({'commandType':_0x5d2ef0(0x26a),'uniformMap':{'currentParticlesSpeed':function(){var _0x36ed78=_0x5d2ef0;return _0x441a33[_0x36ed78(0x256)][_0x36ed78(0x1cc)];},'particlesWind':function(){var _0x5ada7a=_0x5d2ef0;return _0x441a33[_0x5ada7a(0x256)]['particlesWind'];},'uSpeedRange':function(){return _0x24bcfe;},'vSpeedRange':function(){return _0x1e0155;},'pixelSize':function(){return _0x590673['pixelSize'];},'speedFactor':function(){var _0xaf8221=_0x5d2ef0;return _0x98ca52[_0xaf8221(0x1dd)];}},'fragmentShaderSource':new _0x5b947f[(_0x5d2ef0(0x2d7))]({'sources':[_0x43dc6e['a']]}),'outputTexture':this[_0x5d2ef0(0x256)][_0x5d2ef0(0x2db)],'preExecute':function(){var _0x40199c=_0x5d2ef0,_0x548ce5;_0x548ce5=_0x441a33[_0x40199c(0x256)][_0x40199c(0x1cc)],_0x441a33[_0x40199c(0x256)]['currentParticlesSpeed']=_0x441a33[_0x40199c(0x256)]['postProcessingSpeed'],_0x441a33[_0x40199c(0x256)][_0x40199c(0x271)]=_0x548ce5,_0x441a33['primitives']['updateSpeed'][_0x40199c(0x21d)]['outputTexture']=_0x441a33[_0x40199c(0x256)][_0x40199c(0x2db)];}}),'updatePosition':new _0x1f0fce({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){var _0x32f868=_0x5d2ef0;return _0x441a33[_0x32f868(0x256)][_0x32f868(0x28a)];},'currentParticlesSpeed':function(){var _0x510be3=_0x5d2ef0;return _0x441a33[_0x510be3(0x256)][_0x510be3(0x1cc)];}},'fragmentShaderSource':new _0x5b947f[(_0x5d2ef0(0x2d7))]({'sources':[_0x3878ca['a']]}),'outputTexture':this['particlesTextures']['nextParticlesPosition'],'preExecute':function(){var _0x426d72=_0x5d2ef0,_0x12178a;_0x12178a=_0x441a33[_0x426d72(0x256)][_0x426d72(0x28a)],_0x441a33['particlesTextures'][_0x426d72(0x28a)]=_0x441a33[_0x426d72(0x256)]['postProcessingPosition'],_0x441a33['particlesTextures'][_0x426d72(0x28c)]=_0x12178a,_0x441a33[_0x426d72(0x1de)][_0x426d72(0x1f8)][_0x426d72(0x21d)]['outputTexture']=_0x441a33[_0x426d72(0x256)][_0x426d72(0x227)];}}),'postProcessingPosition':new _0x1f0fce({'commandType':_0x5d2ef0(0x26a),'uniformMap':{'nextParticlesPosition':function(){var _0x6350f3=_0x5d2ef0;return _0x441a33['particlesTextures'][_0x6350f3(0x227)];},'nextParticlesSpeed':function(){var _0x1e9919=_0x5d2ef0;return _0x441a33[_0x1e9919(0x256)][_0x1e9919(0x2db)];},'lonRange':function(){return _0x590673['lonRange'];},'latRange':function(){return _0x590673['latRange'];},'randomCoefficient':function(){var _0xb9aa56=_0x5d2ef0,_0x2fe241=Math[_0xb9aa56(0x1a7)]();return _0x2fe241;},'dropRate':function(){var _0x2f26b8=_0x5d2ef0;return _0x98ca52[_0x2f26b8(0x277)];},'dropRateBump':function(){var _0x556952=_0x5d2ef0;return _0x98ca52[_0x556952(0x2a5)];}},'fragmentShaderSource':new _0x5b947f[(_0x5d2ef0(0x2d7))]({'sources':[_0x467940['a']]}),'outputTexture':this[_0x5d2ef0(0x256)]['postProcessingPosition'],'preExecute':function(){var _0x121d6d=_0x5d2ef0;_0x441a33[_0x121d6d(0x1de)][_0x121d6d(0x28c)]['commandToExecute']['outputTexture']=_0x441a33['particlesTextures']['postProcessingPosition'];}}),'postProcessingSpeed':new _0x1f0fce({'commandType':_0x5d2ef0(0x26a),'uniformMap':{'postProcessingPosition':function(){var _0x9272a2=_0x5d2ef0;return _0x441a33[_0x9272a2(0x256)]['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0x40dba1=_0x5d2ef0;return _0x441a33[_0x40dba1(0x256)]['nextParticlesSpeed'];}},'fragmentShaderSource':new _0x5b947f[(_0x5d2ef0(0x2d7))]({'sources':[_0x1807b1['a']]}),'outputTexture':this[_0x5d2ef0(0x256)][_0x5d2ef0(0x271)],'preExecute':function(){var _0x1b1440=_0x5d2ef0;_0x441a33[_0x1b1440(0x1de)][_0x1b1440(0x271)][_0x1b1440(0x21d)][_0x1b1440(0x1c6)]=_0x441a33[_0x1b1440(0x256)][_0x1b1440(0x271)];}})};}}]),_0x54151d;}(),_0x332a01=function(){var _0x391ace=_0x3271f3;function _0x13763c(_0x300471,_0x4b3343,_0x3e9803,_0x5cbabe){var _0x52a5a3=a0_0x3690;_0x9593b9()(this,_0x13763c),this[_0x52a5a3(0x1b1)]=_0x300471,this['data']=_0x4b3343,this['userInput']=_0x3e9803,this[_0x52a5a3(0x23e)]=_0x5cbabe,this['particlesComputing']=new _0x27cbbe(this['context'],this[_0x52a5a3(0x1f0)],this['userInput'],this[_0x52a5a3(0x23e)]),this['particlesRendering']=new _0xcfd54d(this[_0x52a5a3(0x1b1)],this[_0x52a5a3(0x1f0)],this['userInput'],this[_0x52a5a3(0x23e)],this[_0x52a5a3(0x2ee)]);}return _0x1a7c99()(_0x13763c,[{'key':'canvasResize','value':function(_0x2e11d6){var _0x3dddcc=a0_0x3690,_0x457b8d=this;this[_0x3dddcc(0x2ee)]['destroyParticlesTextures'](),Object['keys'](this[_0x3dddcc(0x2ee)]['windTextures'])[_0x3dddcc(0x208)](function(_0x59f24c){var _0xd04809=_0x3dddcc;_0x457b8d[_0xd04809(0x2ee)][_0xd04809(0x1c1)][_0x59f24c][_0xd04809(0x242)]();}),this[_0x3dddcc(0x1b6)][_0x3dddcc(0x2a3)]['colorTable'][_0x3dddcc(0x242)](),Object[_0x3dddcc(0x2e6)](this[_0x3dddcc(0x1b6)]['framebuffers'])[_0x3dddcc(0x208)](function(_0x21464b){var _0x24adfa=_0x3dddcc;_0x457b8d[_0x24adfa(0x1b6)][_0x24adfa(0x302)][_0x21464b][_0x24adfa(0x242)]();}),this['context']=_0x2e11d6,this['particlesComputing']=new _0x27cbbe(this['context'],this[_0x3dddcc(0x1f0)],this[_0x3dddcc(0x21c)],this['viewerParameters']),this['particlesRendering']=new _0xcfd54d(this['context'],this[_0x3dddcc(0x1f0)],this[_0x3dddcc(0x21c)],this['viewerParameters'],this['particlesComputing']);}},{'key':_0x391ace(0x2f4),'value':function(){var _0x5f1ba3=_0x391ace,_0x19f107=this,_0x27fa3e=new _0x5b947f[(_0x5f1ba3(0x275))]({'color':new _0x5b947f[(_0x5f1ba3(0x215))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x5b947f['Pass'][_0x5f1ba3(0x2fb)]});Object[_0x5f1ba3(0x2e6)](this[_0x5f1ba3(0x1b6)][_0x5f1ba3(0x302)])[_0x5f1ba3(0x208)](function(_0x35be54){var _0x205495=_0x5f1ba3;_0x27fa3e[_0x205495(0x202)]=_0x19f107[_0x205495(0x1b6)][_0x205495(0x302)][_0x35be54],_0x27fa3e['execute'](_0x19f107[_0x205495(0x1b1)]);});}},{'key':'refreshParticles','value':function(_0x4406b0){var _0x2e3560=_0x391ace;if(this[_0x2e3560(0x2f4)](),this[_0x2e3560(0x2ee)]['destroyParticlesTextures'](),this[_0x2e3560(0x2ee)]['createParticlesTextures'](this[_0x2e3560(0x1b1)],this[_0x2e3560(0x21c)],this['viewerParameters']),_0x4406b0){var _0x47157e=this['particlesRendering']['createSegmentsGeometry'](this[_0x2e3560(0x21c)]);this[_0x2e3560(0x1b6)][_0x2e3560(0x1de)][_0x2e3560(0x282)][_0x2e3560(0x2cc)]=_0x47157e;var _0x5b351a=_0x5b947f[_0x2e3560(0x2b0)][_0x2e3560(0x278)]({'context':this[_0x2e3560(0x1b1)],'geometry':_0x47157e,'attributeLocations':this[_0x2e3560(0x1b6)][_0x2e3560(0x1de)][_0x2e3560(0x282)]['attributeLocations'],'bufferUsage':_0x5b947f[_0x2e3560(0x2dd)]['STATIC_DRAW']});this[_0x2e3560(0x1b6)][_0x2e3560(0x1de)][_0x2e3560(0x282)][_0x2e3560(0x21d)][_0x2e3560(0x1be)]=_0x5b351a;}}},{'key':_0x391ace(0x2ce),'value':function(_0x116899){var _0xcf7fc9=_0x391ace,_0x4f2be4=this,_0x59a1c4=!0x1;this['userInput'][_0xcf7fc9(0x1a3)]!=_0x116899[_0xcf7fc9(0x1a3)]&&(_0x59a1c4=!0x0),Object[_0xcf7fc9(0x2e6)](_0x116899)[_0xcf7fc9(0x208)](function(_0x34ec01){var _0x378783=_0xcf7fc9;_0x4f2be4[_0x378783(0x21c)][_0x34ec01]=_0x116899[_0x34ec01];}),this['refreshParticles'](_0x59a1c4);}},{'key':_0x391ace(0x1d4),'value':function(_0x1200dd){var _0x2d6fad=_0x391ace,_0x19ad93=this;Object[_0x2d6fad(0x2e6)](_0x1200dd)[_0x2d6fad(0x208)](function(_0x17d2e0){_0x19ad93['viewerParameters'][_0x17d2e0]=_0x1200dd[_0x17d2e0];}),this[_0x2d6fad(0x2b2)](!0x1);}}]),_0x13763c;}();function _0xb44375(_0x1763b9){var _0x348e09=function(){var _0x23ec0a=a0_0x3690;if(_0x23ec0a(0x2d3)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x23ec0a(0x1f4)][_0x23ec0a(0x209)])return!0x1;if(_0x23ec0a(0x1b5)==typeof Proxy)return!0x0;try{return Boolean[_0x23ec0a(0x1ac)][_0x23ec0a(0x1d8)][_0x23ec0a(0x2da)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x2abf2b){return!0x1;}}();return function(){var _0x206b24=a0_0x3690,_0x3214be,_0x475657=_0x505d0b()(_0x1763b9);if(_0x348e09){var _0x42ac93=_0x505d0b()(this)[_0x206b24(0x233)];_0x3214be=Reflect['construct'](_0x475657,arguments,_0x42ac93);}else _0x3214be=_0x475657['apply'](this,arguments);return _0x29e5b5()(this,_0x3214be);};}var _0xb0bb79=_0x5deb98[_0x3271f3(0x19b)]['BaseLayer'],_0x176fae=0x1000,_0x252ac2=0x64,_0x14347d=0.996,_0x1f778c=0.003,_0x58f17f=0.01,_0x22205c=0.5,_0x400126=0x2,_0x56edb5=function(_0x541cfe){var _0x13ba77=_0x3271f3;_0x5c2e1b()(_0x593957,_0x541cfe);var _0x238853=_0xb44375(_0x593957);function _0x593957(){var _0x5dd837=a0_0x3690,_0x45f160,_0x212d6b=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x9593b9()(this,_0x593957),(_0x45f160=_0x238853[_0x5dd837(0x2da)](this,_0x212d6b))[_0x5dd837(0x1a3)]=_0x176fae,_0x45f160[_0x5dd837(0x25c)]=_0x252ac2,_0x45f160[_0x5dd837(0x269)]=_0x14347d,_0x45f160[_0x5dd837(0x277)]=_0x1f778c,_0x45f160['dropRateBump']=_0x58f17f,_0x45f160[_0x5dd837(0x1dd)]=_0x22205c,_0x45f160[_0x5dd837(0x1f3)]=_0x400126,_0x212d6b){for(var _0x2bfcf2 in _0x212d6b)_0x45f160[_0x2bfcf2]=_0x212d6b[_0x2bfcf2];}return _0x45f160;}return _0x1a7c99()(_0x593957,[{'key':_0x13ba77(0x19b),'get':function(){var _0x266175=_0x13ba77;return this[_0x266175(0x1de)];}},{'key':_0x13ba77(0x1bf),'value':function(){}},{'key':_0x13ba77(0x2de),'value':function(){var _0x22db65=_0x13ba77;this['scene']=this[_0x22db65(0x23a)][_0x22db65(0x2f9)],this[_0x22db65(0x223)]=this[_0x22db65(0x23a)][_0x22db65(0x223)],this[_0x22db65(0x1de)]=new _0x5b947f[(_0x22db65(0x261))](),this[_0x22db65(0x23a)][_0x22db65(0x2f9)][_0x22db65(0x1de)][_0x22db65(0x212)](this['primitives']),this[_0x22db65(0x23e)]={'lonRange':new _0x5b947f[(_0x22db65(0x1af))](),'latRange':new _0x5b947f['Cartesian2'](),'pixelSize':0x0},this[_0x22db65(0x21f)]=new _0x5b947f[(_0x22db65(0x200))](_0x5b947f[_0x22db65(0x2c1)][_0x22db65(0x2c5)],6314355.63),this[_0x22db65(0x1d6)]();}},{'key':'_removedHook','value':function(){var _0x47523a=_0x13ba77;this[_0x47523a(0x1de)][_0x47523a(0x195)](),this[_0x47523a(0x23a)][_0x47523a(0x2f9)][_0x47523a(0x1de)]['remove'](this[_0x47523a(0x1de)]);}},{'key':_0x13ba77(0x2e8),'value':function(_0x326729){var _0x5934c4=_0x13ba77;this['particleSystem']=new _0x332a01(this[_0x5934c4(0x2f9)][_0x5934c4(0x1b1)],_0x326729,this['getUserInput'](),this[_0x5934c4(0x23e)]),this[_0x5934c4(0x272)](),this[_0x5934c4(0x22a)]();}},{'key':_0x13ba77(0x291),'value':function(_0x523bfe){var _0x3b46e6=_0x13ba77;if(_0x523bfe){for(var _0x26e324 in _0x523bfe)this[_0x26e324]=_0x523bfe[_0x26e324];}return this['particleSystem']['applyUserInput'](this[_0x3b46e6(0x25d)]()),this;}},{'key':'getUserInput','value':function(){var _0x1d42ed=_0x13ba77,_0x2caddf=Math[_0x1d42ed(0x19e)](Math[_0x1d42ed(0x1c8)](this[_0x1d42ed(0x1a3)]));return this[_0x1d42ed(0x1a3)]=_0x2caddf*_0x2caddf,{'particlesTextureSize':_0x2caddf,'maxParticles':this[_0x1d42ed(0x1a3)],'particleHeight':this[_0x1d42ed(0x25c)],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x1d42ed(0x277)],'dropRateBump':this[_0x1d42ed(0x2a5)],'speedFactor':this[_0x1d42ed(0x1dd)],'lineWidth':this[_0x1d42ed(0x1f3)],'globeLayer':this['globeLayer'],'WMS_URL':this[_0x1d42ed(0x2d0)]};}},{'key':_0x13ba77(0x272),'value':function(){var _0x2acaa3=_0x13ba77;this[_0x2acaa3(0x1de)][_0x2acaa3(0x212)](this[_0x2acaa3(0x2c7)]['particlesComputing']['primitives'][_0x2acaa3(0x1b7)]),this[_0x2acaa3(0x1de)][_0x2acaa3(0x212)](this[_0x2acaa3(0x2c7)]['particlesComputing'][_0x2acaa3(0x1de)][_0x2acaa3(0x2ae)]),this['primitives'][_0x2acaa3(0x212)](this['particleSystem'][_0x2acaa3(0x2ee)][_0x2acaa3(0x1de)][_0x2acaa3(0x1f8)]),this[_0x2acaa3(0x1de)][_0x2acaa3(0x212)](this[_0x2acaa3(0x2c7)][_0x2acaa3(0x2ee)][_0x2acaa3(0x1de)][_0x2acaa3(0x28c)]),this[_0x2acaa3(0x1de)][_0x2acaa3(0x212)](this[_0x2acaa3(0x2c7)][_0x2acaa3(0x2ee)][_0x2acaa3(0x1de)][_0x2acaa3(0x271)]),this[_0x2acaa3(0x1de)][_0x2acaa3(0x212)](this[_0x2acaa3(0x2c7)][_0x2acaa3(0x1b6)]['primitives'][_0x2acaa3(0x282)]),this[_0x2acaa3(0x1de)]['add'](this['particleSystem']['particlesRendering']['primitives'][_0x2acaa3(0x1d1)]),this['primitives'][_0x2acaa3(0x212)](this['particleSystem'][_0x2acaa3(0x1b6)][_0x2acaa3(0x1de)][_0x2acaa3(0x224)]);}},{'key':'updateViewerParameters','value':function(){var _0x50b049=_0x13ba77,_0x5e3d04=this['camera'][_0x50b049(0x1a1)](this[_0x50b049(0x2f9)]['globe'][_0x50b049(0x2d5)]);if(!_0x5e3d04){var _0x131b96=this[_0x50b049(0x23a)]['getExtent']();_0x5e3d04=_0x5b947f[_0x50b049(0x2fe)][_0x50b049(0x27e)](_0x131b96[_0x50b049(0x2d4)],_0x131b96['ymin'],_0x131b96['xmax'],_0x131b96[_0x50b049(0x2ed)]);}var _0x451974=_0x5bd9bb[_0x50b049(0x2ab)](_0x5e3d04);this[_0x50b049(0x23e)][_0x50b049(0x1cb)]['x']=_0x451974[_0x50b049(0x26d)]['min'],this[_0x50b049(0x23e)][_0x50b049(0x1cb)]['y']=_0x451974[_0x50b049(0x26d)][_0x50b049(0x298)],this[_0x50b049(0x23e)][_0x50b049(0x1da)]['x']=_0x451974['lat'][_0x50b049(0x197)],this['viewerParameters'][_0x50b049(0x1da)]['y']=_0x451974['lat']['max'];var _0x5b537c=this[_0x50b049(0x223)][_0x50b049(0x1c9)](this[_0x50b049(0x21f)],this[_0x50b049(0x2f9)][_0x50b049(0x22f)],this[_0x50b049(0x2f9)]['drawingBufferHeight']);_0x5b537c>0x0&&(this['viewerParameters'][_0x50b049(0x28d)]=_0x5b537c);}},{'key':'setupEventListeners','value':function(){var _0x380b9c=_0x13ba77,_0x202952=this;this['camera'][_0x380b9c(0x289)][_0x380b9c(0x280)](function(){var _0x29088f=_0x380b9c;_0x202952['_map']&&_0x202952[_0x29088f(0x236)]&&(_0x202952[_0x29088f(0x1de)][_0x29088f(0x236)]=!0x1);}),this[_0x380b9c(0x223)]['moveEnd'][_0x380b9c(0x280)](function(){var _0x4c7611=_0x380b9c;_0x202952['_map']&&_0x202952[_0x4c7611(0x236)]&&(_0x202952['updateViewerParameters'](),_0x202952[_0x4c7611(0x2c7)][_0x4c7611(0x1d4)](_0x202952['viewerParameters']),_0x202952[_0x4c7611(0x1de)]['show']=!0x0);});var _0xe27826=!0x1;window[_0x380b9c(0x280)](_0x380b9c(0x1d5),function(){var _0x372666=_0x380b9c;_0x202952[_0x372666(0x23a)]&&_0x202952[_0x372666(0x236)]&&(_0xe27826=!0x0,_0x202952[_0x372666(0x1de)]['show']=!0x1,_0x202952[_0x372666(0x1de)]['removeAll']());}),this['scene']['preRender']['addEventListener'](function(){var _0x3f27d2=_0x380b9c;_0x202952[_0x3f27d2(0x23a)]&&_0xe27826&&(_0x202952['particleSystem'][_0x3f27d2(0x1f7)](_0x202952[_0x3f27d2(0x2f9)][_0x3f27d2(0x1b1)]),_0xe27826=!0x1,_0x202952[_0x3f27d2(0x272)](),_0x202952[_0x3f27d2(0x1de)][_0x3f27d2(0x236)]=!0x0);});}}]),_0x593957;}(_0xb0bb79);_0x5deb98[_0x3271f3(0x218)][_0x3271f3(0x1ea)](_0x3271f3(0x1f2),_0x56edb5),_0x5deb98[_0x3271f3(0x19b)][_0x3271f3(0x22e)]=_0x56edb5;var _0x218096=function _0x5a0c9e(){var _0x3087e2=_0x3271f3;_0x9593b9()(this,_0x5a0c9e),this[_0x3087e2(0x23b)]=null,this['lat']=null,this['tlng']=null,this[_0x3087e2(0x2c2)]=null,this[_0x3087e2(0x1ed)]=null;},_0x9855c1=function(){var _0x3eb3a3=_0x3271f3;function _0x123615(_0x1d1562,_0x2972be){var _0x193c31=a0_0x3690;_0x9593b9()(this,_0x123615),this[_0x193c31(0x2cb)]=_0x1d1562[_0x193c31(0x2cb)],this['cols']=_0x1d1562['cols'],this[_0x193c31(0x2d4)]=_0x1d1562['xmin'],this[_0x193c31(0x1c0)]=_0x1d1562[_0x193c31(0x1c0)],this['ymin']=_0x1d1562[_0x193c31(0x24a)],this['ymax']=_0x1d1562[_0x193c31(0x2ed)],this[_0x193c31(0x2a9)]=[];var _0x5b7abd=_0x1d1562[_0x193c31(0x241)],_0x4251e1=_0x1d1562[_0x193c31(0x2f3)],_0x1d76fc=!0x1;_0x5b7abd[_0x193c31(0x1e1)]===this['rows']&&_0x5b7abd[0x0][_0x193c31(0x1e1)]===this[_0x193c31(0x237)]&&(_0x1d76fc=!0x0);for(var _0x21ca10=0x0,_0x2648cb=null,_0x589da1=null,_0x325067=0x0;_0x325067<this[_0x193c31(0x2cb)];_0x325067++){_0x2648cb=[];for(var _0x46b734=0x0;_0x46b734<this['cols'];_0x46b734++,_0x21ca10++)_0x589da1=_0x1d76fc?this[_0x193c31(0x213)](_0x5b7abd[_0x325067][_0x46b734],_0x4251e1[_0x325067][_0x46b734]):this['_calcUV'](_0x5b7abd[_0x21ca10],_0x4251e1[_0x21ca10]),_0x2648cb[_0x193c31(0x29d)](_0x589da1);this[_0x193c31(0x2a9)][_0x193c31(0x29d)](_0x2648cb);}_0x2972be&&this['grid']['reverse']();}return _0x1a7c99()(_0x123615,[{'key':_0x3eb3a3(0x27b),'value':function(_0x4e0c67,_0x127a78){var _0x91a04e=_0x3eb3a3;return{'x':(_0x4e0c67-this[_0x91a04e(0x2d4)])/(this['xmax']-this[_0x91a04e(0x2d4)])*(this['cols']-0x1),'y':(this['ymax']-_0x127a78)/(this['ymax']-this[_0x91a04e(0x24a)])*(this[_0x91a04e(0x2cb)]-0x1)};}},{'key':_0x3eb3a3(0x297),'value':function(_0xe09aeb,_0x205d65){var _0x4f6448=_0x3eb3a3;if(_0xe09aeb<0x0||_0xe09aeb>=this[_0x4f6448(0x237)]||_0x205d65>=this[_0x4f6448(0x2cb)])return[0x0,0x0,0x0];var _0x307421,_0x545556,_0x1e4df9=Math[_0x4f6448(0x1dc)](_0xe09aeb),_0x14af89=Math[_0x4f6448(0x1dc)](_0x205d65);if(_0x1e4df9===_0xe09aeb&&_0x14af89===_0x205d65)return this[_0x4f6448(0x2a9)][_0x205d65][_0xe09aeb];_0x307421=_0x1e4df9+0x1,_0x545556=_0x14af89+0x1;var _0x3f0c50=this[_0x4f6448(0x297)](_0x1e4df9,_0x14af89),_0x4b5f24=this[_0x4f6448(0x297)](_0x307421,_0x14af89),_0x4f6649=this[_0x4f6448(0x297)](_0x1e4df9,_0x545556),_0x1249ba=this[_0x4f6448(0x297)](_0x307421,_0x545556),_0x4f336d=null;try{_0x4f336d=this[_0x4f6448(0x1e4)](_0xe09aeb-_0x1e4df9,_0x205d65-_0x14af89,_0x3f0c50,_0x4b5f24,_0x4f6649,_0x1249ba);}catch(_0x3c1650){console[_0x4f6448(0x20c)](_0xe09aeb,_0x205d65);}return _0x4f336d;}},{'key':_0x3eb3a3(0x1e4),'value':function(_0x261582,_0x4f9537,_0x7983cf,_0x4d361e,_0x1b31c4,_0x2a4172){var _0x3b614e=_0x3eb3a3,_0x22b33d=0x1-_0x261582,_0x17b806=0x1-_0x4f9537,_0x21e205=_0x22b33d*_0x17b806,_0x4e9eba=_0x261582*_0x17b806,_0x2bc81e=_0x22b33d*_0x4f9537,_0x295e16=_0x261582*_0x4f9537,_0x49f101=_0x7983cf[0x0]*_0x21e205+_0x4d361e[0x0]*_0x4e9eba+_0x1b31c4[0x0]*_0x2bc81e+_0x2a4172[0x0]*_0x295e16,_0xb47dfa=_0x7983cf[0x1]*_0x21e205+_0x4d361e[0x1]*_0x4e9eba+_0x1b31c4[0x1]*_0x2bc81e+_0x2a4172[0x1]*_0x295e16;return this[_0x3b614e(0x213)](_0x49f101,_0xb47dfa);}},{'key':'_calcUV','value':function(_0x1b6381,_0x5dd5bc){var _0x238367=_0x3eb3a3;return[+_0x1b6381,+_0x5dd5bc,Math[_0x238367(0x1c8)](_0x1b6381*_0x1b6381+_0x5dd5bc*_0x5dd5bc)];}},{'key':'getUVByPoint','value':function(_0x5ad425,_0x267881){var _0x59b656=_0x3eb3a3;if(!this[_0x59b656(0x29e)](_0x5ad425,_0x267881))return null;var _0x25e9cc=this[_0x59b656(0x27b)](_0x5ad425,_0x267881);return this[_0x59b656(0x297)](_0x25e9cc['x'],_0x25e9cc['y']);}},{'key':_0x3eb3a3(0x29e),'value':function(_0x190cb2,_0x2c7ac4){var _0x1ce5b6=_0x3eb3a3;return _0x190cb2>=this['xmin']&&_0x190cb2<=this['xmax']&&_0x2c7ac4>=this[_0x1ce5b6(0x24a)]&&_0x2c7ac4<=this[_0x1ce5b6(0x2ed)];}},{'key':'getRandomLatLng','value':function(){var _0x173da8=_0x3eb3a3,_0x4c5820=_0x2e55be(this[_0x173da8(0x2d4)],this['xmax']);return{'lat':_0x2e55be(this['ymin'],this['ymax']),'lng':_0x4c5820};}}]),_0x123615;}();function _0x2e55be(_0x5e0687,_0xbb9932){return _0x5e0687+Math['random']()*(_0xbb9932-_0x5e0687);}function _0x4d5c2e(_0x2d2ca3){var _0x50b4a1=function(){var _0x25f7d3=a0_0x3690;if(_0x25f7d3(0x2d3)==typeof Reflect||!Reflect[_0x25f7d3(0x1f4)])return!0x1;if(Reflect[_0x25f7d3(0x1f4)][_0x25f7d3(0x209)])return!0x1;if(_0x25f7d3(0x1b5)==typeof Proxy)return!0x0;try{return Boolean[_0x25f7d3(0x1ac)]['valueOf'][_0x25f7d3(0x2da)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x4f39b7){return!0x1;}}();return function(){var _0x3a29e7=a0_0x3690,_0x3db64c,_0x499e57=_0x505d0b()(_0x2d2ca3);if(_0x50b4a1){var _0x191337=_0x505d0b()(this)[_0x3a29e7(0x233)];_0x3db64c=Reflect[_0x3a29e7(0x1f4)](_0x499e57,arguments,_0x191337);}else _0x3db64c=_0x499e57[_0x3a29e7(0x1eb)](this,arguments);return _0x29e5b5()(this,_0x3db64c);};}var _0x2c3fda=function(_0x455459){var _0x586aba=_0x3271f3;_0x5c2e1b()(_0x154569,_0x455459);var _0xcd8948=_0x4d5c2e(_0x154569);function _0x154569(){var _0x468bab=a0_0x3690,_0x342ff8,_0x2ce2ec=arguments[_0x468bab(0x1e1)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x9593b9()(this,_0x154569),(_0x342ff8=_0xcd8948[_0x468bab(0x2da)](this,_0x2ce2ec))['calc_speedRate']=[0x0,0x0],_0x342ff8[_0x468bab(0x286)]=[],_0x342ff8[_0x468bab(0x288)]=_0x2ce2ec[_0x468bab(0x288)]||0x32,_0x342ff8['_particlesNumber']=_0x2ce2ec['particlesNumber']||0x4e20,_0x342ff8[_0x468bab(0x293)]=_0x2ce2ec[_0x468bab(0x1ef)]||0x78,_0x342ff8[_0x468bab(0x201)]=0x3e8/(_0x2ce2ec[_0x468bab(0x243)]||0xa),_0x342ff8[_0x468bab(0x1a4)]=_0x5b947f['defaultValue'](_0x342ff8[_0x468bab(0x217)][_0x468bab(0x1a5)],!0x1),_0x342ff8['color']=_0x2ce2ec[_0x468bab(0x231)]||'#ffffff',_0x342ff8[_0x468bab(0x1f3)]=_0x2ce2ec[_0x468bab(0x1f3)]||0x1,_0x342ff8[_0x468bab(0x238)]=_0x5b947f[_0x468bab(0x1fb)](_0x2ce2ec[_0x468bab(0x238)],0x0),_0x342ff8[_0x468bab(0x26c)]=_0x5b947f['defaultValue'](_0x2ce2ec[_0x468bab(0x26c)],!0x1),_0x342ff8[_0x468bab(0x2f1)]=null,_0x342ff8;}return _0x1a7c99()(_0x154569,[{'key':_0x586aba(0x19b),'get':function(){var _0x24a672=_0x586aba;return this[_0x24a672(0x2f1)];}},{'key':_0x586aba(0x1ce),'get':function(){var _0x58f9b3=_0x586aba;return this['_map'][_0x58f9b3(0x2f9)][_0x58f9b3(0x2f1)][_0x58f9b3(0x199)];}},{'key':_0x586aba(0x1e0),'get':function(){var _0x4109eb=_0x586aba;return this[_0x4109eb(0x23a)]['scene']['canvas']['clientHeight'];}},{'key':_0x586aba(0x1a5),'get':function(){var _0x32f7dd=_0x586aba;return this[_0x32f7dd(0x1a4)];},'set':function(_0x2ad966){var _0x1a5dce=_0x586aba;this[_0x1a5dce(0x1a4)]=_0x2ad966,this['canvas']['style'][_0x1a5dce(0x24d)]=_0x2ad966?_0x1a5dce(0x2b3):'none';}},{'key':_0x586aba(0x288),'get':function(){var _0x1cc27e=_0x586aba;return this[_0x1cc27e(0x245)];},'set':function(_0x4a52c0){var _0x47c2fa=_0x586aba;this[_0x47c2fa(0x245)]=0x64*(0x64-(_0x4a52c0>0x63?0x63:_0x4a52c0)),this[_0x47c2fa(0x240)]();}},{'key':_0x586aba(0x2f7),'get':function(){var _0x2c05ee=_0x586aba;return this[_0x2c05ee(0x2ea)];},'set':function(_0x4a117a){var _0x4c590d=_0x586aba,_0x449b73=this;this[_0x4c590d(0x2ea)]=_0x4a117a,clearTimeout(this[_0x4c590d(0x219)]),this[_0x4c590d(0x219)]=setTimeout(function(){var _0x438bb7=_0x4c590d;_0x449b73[_0x438bb7(0x1ec)]();},0x1f4);}},{'key':_0x586aba(0x1ef),'get':function(){return this['_maxAge'];},'set':function(_0x1c863d){var _0x31770f=_0x586aba,_0x36f04e=this;this[_0x31770f(0x293)]=_0x1c863d,clearTimeout(this[_0x31770f(0x219)]),this['canrefresh']=setTimeout(function(){var _0x4c4076=_0x31770f;_0x36f04e[_0x4c4076(0x1ec)]();},0x1f4);}},{'key':_0x586aba(0x1f0),'get':function(){var _0x52f63c=_0x586aba;return this[_0x52f63c(0x24c)];},'set':function(_0x406a0b){var _0x115209=_0x586aba;this[_0x115209(0x251)](_0x406a0b);}},{'key':_0x586aba(0x27f),'value':function(_0x367d97){var _0x596ee6=_0x586aba;this['canvas']&&(this['canvas'][_0x596ee6(0x2a7)][_0x596ee6(0x255)]=_0x367d97?_0x596ee6(0x2e9):'hidden');}},{'key':_0x586aba(0x1bf),'value':function(){}},{'key':'_addedHook','value':function(){var _0x44396d=_0x586aba;this[_0x44396d(0x2f1)]=this[_0x44396d(0x2ba)](),this['canvasContext']=this[_0x44396d(0x2f1)][_0x44396d(0x25e)]('2d'),this[_0x44396d(0x25a)](),this[_0x44396d(0x217)]['data']&&this[_0x44396d(0x251)](this[_0x44396d(0x217)]['data']);}},{'key':_0x586aba(0x2eb),'value':function(){var _0x1b0648=_0x586aba;this[_0x1b0648(0x2b6)](),this[_0x1b0648(0x2e4)](),this[_0x1b0648(0x2f1)]&&(this[_0x1b0648(0x23a)]['container']['removeChild'](this[_0x1b0648(0x2f1)]),delete this[_0x1b0648(0x2f1)]);}},{'key':_0x586aba(0x2ba),'value':function(){var _0x4d345a=_0x586aba,_0x114cb1=document[_0x4d345a(0x1d3)]('canvas');_0x114cb1[_0x4d345a(0x2a7)]['position']=_0x4d345a(0x2bb),_0x114cb1['style'][_0x4d345a(0x1d2)]=_0x4d345a(0x1a2),_0x114cb1['style'][_0x4d345a(0x1c2)]=_0x4d345a(0x1a2),_0x114cb1[_0x4d345a(0x2a7)][_0x4d345a(0x244)]=_0x4d345a(0x23c),_0x114cb1[_0x4d345a(0x2a7)][_0x4d345a(0x1a9)]=_0x4d345a(0x23c),_0x114cb1[_0x4d345a(0x2a7)][_0x4d345a(0x1a5)]=this[_0x4d345a(0x1a4)]?_0x4d345a(0x290):'none',_0x114cb1[_0x4d345a(0x2a7)][_0x4d345a(0x1bc)]=0xa,_0x114cb1[_0x4d345a(0x260)]('id',_0x4d345a(0x2ec)),_0x114cb1[_0x4d345a(0x260)](_0x4d345a(0x283),'canvasWindy'),this[_0x4d345a(0x23a)][_0x4d345a(0x1ba)][_0x4d345a(0x1ab)](_0x114cb1);var _0x517323=this[_0x4d345a(0x23a)][_0x4d345a(0x2f9)];return _0x114cb1[_0x4d345a(0x244)]=_0x517323['canvas']['clientWidth'],_0x114cb1['height']=_0x517323[_0x4d345a(0x2f1)][_0x4d345a(0x2d2)],_0x114cb1;}},{'key':_0x586aba(0x1d5),'value':function(){var _0xda7136=_0x586aba;this[_0xda7136(0x2f1)]&&(this[_0xda7136(0x2f1)][_0xda7136(0x244)]=this['canvasWidth'],this[_0xda7136(0x2f1)][_0xda7136(0x1a9)]=this['canvasHeight']);}},{'key':_0x586aba(0x25a),'value':function(){var _0x2d2151=_0x586aba,_0x53cf97=this,_0x4b50aa=this,_0x22dd53=Date['now']();!function _0xdb84cf(){var _0x1bb9ac=a0_0x3690;_0x4b50aa['animateFrame']=window[_0x1bb9ac(0x2ff)](_0xdb84cf);var _0x53a2de=Date[_0x1bb9ac(0x1f5)](),_0x1528bf=_0x53a2de-_0x22dd53;_0x1528bf>_0x4b50aa[_0x1bb9ac(0x201)]&&(_0x22dd53=_0x53a2de-_0x1528bf%_0x4b50aa[_0x1bb9ac(0x201)],_0x4b50aa[_0x1bb9ac(0x264)]());}(),window['addEventListener'](_0x2d2151(0x1d5),this['resize'][_0x2d2151(0x295)](this),!0x1),this[_0x2d2151(0x216)]=new _0x5b947f[(_0x2d2151(0x2ac))](this[_0x2d2151(0x23a)]['scene'][_0x2d2151(0x2f1)]);var _0x12761c=!0x1,_0x4c40ea=!0x1;this[_0x2d2151(0x216)]['setInputAction'](function(_0x3f7206){var _0x1127d1=_0x2d2151;clearTimeout(-0x1),_0x53cf97[_0x1127d1(0x236)]=!0x1,setTimeout(function(){var _0x2cb60a=_0x1127d1;_0x53cf97[_0x2cb60a(0x1ec)](),_0x53cf97[_0x2cb60a(0x236)]=!0x0;},0xc8);},_0x5b947f['ScreenSpaceEventType'][_0x2d2151(0x23f)]),this[_0x2d2151(0x216)]['setInputAction'](function(_0x752315){_0x12761c=!0x0;},_0x5b947f[_0x2d2151(0x2ad)]['LEFT_DOWN']),this['handler'][_0x2d2151(0x273)](function(_0x525a5f){_0x12761c=!0x0;},_0x5b947f[_0x2d2151(0x2ad)][_0x2d2151(0x2f5)]),this[_0x2d2151(0x216)][_0x2d2151(0x273)](function(_0x314b6b){var _0x547761=_0x2d2151;_0x12761c&&(_0x53cf97[_0x547761(0x236)]=!0x1,_0x4c40ea=!0x0);},_0x5b947f[_0x2d2151(0x2ad)][_0x2d2151(0x234)]),this['handler'][_0x2d2151(0x273)](function(_0x44fdc5){var _0x579d0b=_0x2d2151;_0x12761c&&_0x4c40ea&&_0x53cf97[_0x579d0b(0x1ec)](),_0x53cf97[_0x579d0b(0x236)]=!0x0,_0x12761c=!0x1,_0x4c40ea=!0x1;},_0x5b947f[_0x2d2151(0x2ad)][_0x2d2151(0x207)]),this[_0x2d2151(0x216)][_0x2d2151(0x273)](function(_0x49cf85){var _0x52fa88=_0x2d2151;_0x12761c&&_0x4c40ea&&_0x53cf97[_0x52fa88(0x1ec)](),_0x53cf97[_0x52fa88(0x236)]=!0x0,_0x12761c=!0x1,_0x4c40ea=!0x1;},_0x5b947f[_0x2d2151(0x2ad)][_0x2d2151(0x196)]);}},{'key':'unbindEvent','value':function(){var _0x200892=_0x586aba;window[_0x200892(0x2af)](this[_0x200892(0x252)]),delete this['animateFrame'],window[_0x200892(0x1ca)]('resize',this['resize']),this['handler']&&(this[_0x200892(0x216)][_0x200892(0x242)](),this[_0x200892(0x216)]=null);}},{'key':_0x586aba(0x1ec),'value':function(){var _0x1e8090=_0x586aba;this[_0x1e8090(0x286)]=[],this[_0x1e8090(0x211)]();}},{'key':_0x586aba(0x251),'value':function(_0xa4f45a){var _0x532faa=_0x586aba;this[_0x532faa(0x2b6)](),this['windData']=_0xa4f45a,this[_0x532faa(0x1c3)]=new _0x9855c1(this[_0x532faa(0x24c)],this[_0x532faa(0x26c)]),this[_0x532faa(0x211)]();}},{'key':_0x586aba(0x211),'value':function(){var _0x25bd6d=_0x586aba;this[_0x25bd6d(0x240)]();for(var _0x2f28e8=0x0;_0x2f28e8<this['particlesNumber'];_0x2f28e8++){var _0x26d1a1=this['randomParticle'](new _0x218096());this[_0x25bd6d(0x286)][_0x25bd6d(0x29d)](_0x26d1a1);}this['canvasContext']['fillStyle']='rgba(0,\x200,\x200,\x200.97)',this[_0x25bd6d(0x265)][_0x25bd6d(0x222)]=0.6,this[_0x25bd6d(0x264)]();}},{'key':_0x586aba(0x240),'value':function(){var _0x3762ad=_0x586aba;this[_0x3762ad(0x1c3)]&&(this['calc_speedRate']=[(this[_0x3762ad(0x1c3)][_0x3762ad(0x1c0)]-this[_0x3762ad(0x1c3)][_0x3762ad(0x2d4)])/this[_0x3762ad(0x288)],(this['windField'][_0x3762ad(0x2ed)]-this[_0x3762ad(0x1c3)][_0x3762ad(0x24a)])/this[_0x3762ad(0x288)]]);}},{'key':'update','value':function(){var _0x787087=_0x586aba,_0xab39e5=this;if(this['show']&&!(this[_0x787087(0x286)][_0x787087(0x1e1)]<=0x0)){var _0x548cb0=null,_0x4a2743=null,_0x1baa54=null;this[_0x787087(0x286)]['forEach'](function(_0x35ca81){var _0x502d3b=_0x787087;if(_0x35ca81[_0x502d3b(0x1ed)]<=0x0&&_0xab39e5[_0x502d3b(0x29c)](_0x35ca81),_0x35ca81['age']>0x0){var _0xaeea97=_0x35ca81[_0x502d3b(0x2d9)],_0xff195c=_0x35ca81[_0x502d3b(0x2c2)];(_0x1baa54=_0xab39e5[_0x502d3b(0x1c3)][_0x502d3b(0x2dc)](_0xaeea97,_0xff195c))?(_0x548cb0=_0xaeea97+_0xab39e5[_0x502d3b(0x205)][0x0]*_0x1baa54[0x0],_0x4a2743=_0xff195c+_0xab39e5[_0x502d3b(0x205)][0x1]*_0x1baa54[0x1],_0x35ca81['lng']=_0xaeea97,_0x35ca81[_0x502d3b(0x2c3)]=_0xff195c,_0x35ca81[_0x502d3b(0x2d9)]=_0x548cb0,_0x35ca81[_0x502d3b(0x2c2)]=_0x4a2743,_0x35ca81[_0x502d3b(0x1ed)]--):_0x35ca81[_0x502d3b(0x1ed)]=0x0;}}),this[_0x787087(0x1cf)]();}}},{'key':_0x586aba(0x1e8),'value':function(_0x2a27c4,_0x56f10d,_0x1147dc){var _0xd9e562=_0x586aba,_0x874ea7=_0x5b947f[_0xd9e562(0x2c1)][_0xd9e562(0x27e)](_0x2a27c4,_0x56f10d,this['fixedHeight']),_0x19da16=this['_map']['scene'];if(_0x19da16[_0xd9e562(0x2fd)]===_0x5b947f[_0xd9e562(0x2e5)][_0xd9e562(0x1a8)]&&!new _0x5b947f['EllipsoidalOccluder'](_0x19da16[_0xd9e562(0x226)][_0xd9e562(0x2d5)],_0x19da16['camera'][_0xd9e562(0x210)])['isPointVisible'](_0x874ea7))return _0x1147dc['age']=0x0,null;var _0x47ac61=_0x5b947f[_0xd9e562(0x19f)][_0xd9e562(0x20d)](this['_map']['scene'],_0x874ea7);return _0x47ac61?[_0x47ac61['x'],_0x47ac61['y']]:null;}},{'key':'_drawLines','value':function(){var _0x3a4215=_0x586aba,_0x3813d1=this,_0x3bf749=this[_0x3a4215(0x286)];this[_0x3a4215(0x265)]['lineWidth']=_0x3813d1[_0x3a4215(0x1f3)],this[_0x3a4215(0x265)]['globalCompositeOperation']='destination-in',this[_0x3a4215(0x265)]['fillRect'](0x0,0x0,this[_0x3a4215(0x1ce)],this[_0x3a4215(0x1e0)]),this['canvasContext'][_0x3a4215(0x229)]='lighter',this[_0x3a4215(0x265)][_0x3a4215(0x222)]=0.9,this[_0x3a4215(0x265)][_0x3a4215(0x28b)](),this[_0x3a4215(0x265)][_0x3a4215(0x1bd)]=this['color'];var _0x2ae4e7=this[_0x3a4215(0x23a)][_0x3a4215(0x2f9)][_0x3a4215(0x2fd)]!==_0x5b947f['SceneMode']['SCENE3D'];_0x3bf749[_0x3a4215(0x208)](function(_0x203850){var _0x14404c=_0x3a4215,_0x438b18=_0x3813d1[_0x14404c(0x1e8)](_0x203850[_0x14404c(0x23b)],_0x203850[_0x14404c(0x2c3)],_0x203850),_0x11a736=_0x3813d1[_0x14404c(0x1e8)](_0x203850[_0x14404c(0x2d9)],_0x203850[_0x14404c(0x2c2)],_0x203850);if(null!=_0x438b18&&null!=_0x11a736){var _0x454d8f=Math[_0x14404c(0x279)](_0x438b18[0x0]-_0x11a736[0x0]);_0x2ae4e7&&_0x454d8f>=_0x3813d1[_0x14404c(0x1ce)]||(_0x3813d1[_0x14404c(0x265)]['moveTo'](_0x438b18[0x0],_0x438b18[0x1]),_0x3813d1[_0x14404c(0x265)][_0x14404c(0x19a)](_0x11a736[0x0],_0x11a736[0x1]));}}),this[_0x3a4215(0x265)][_0x3a4215(0x20f)]();}},{'key':_0x586aba(0x29c),'value':function(_0x413da2){var _0x497b5c=_0x586aba;for(var _0x4b835f,_0x2f1f56,_0x48589e=0x0;_0x48589e<0x1e&&(_0x4b835f=this[_0x497b5c(0x1c3)][_0x497b5c(0x22b)](),!((_0x2f1f56=this[_0x497b5c(0x1c3)][_0x497b5c(0x2dc)](_0x4b835f['lng'],_0x4b835f[_0x497b5c(0x2c3)]))&&_0x2f1f56[0x2]>0x0));_0x48589e++);if(!_0x2f1f56)return _0x413da2;var _0x4418e2=_0x4b835f[_0x497b5c(0x23b)]+this[_0x497b5c(0x205)][0x0]*_0x2f1f56[0x0],_0x130fdd=_0x4b835f[_0x497b5c(0x2c3)]+this['calc_speedRate'][0x1]*_0x2f1f56[0x1];return _0x413da2[_0x497b5c(0x23b)]=_0x4b835f['lng'],_0x413da2[_0x497b5c(0x2c3)]=_0x4b835f[_0x497b5c(0x2c3)],_0x413da2[_0x497b5c(0x2d9)]=_0x4418e2,_0x413da2[_0x497b5c(0x2c2)]=_0x130fdd,_0x413da2[_0x497b5c(0x1ed)]=Math[_0x497b5c(0x1b3)](Math[_0x497b5c(0x1a7)]()*this[_0x497b5c(0x1ef)]),_0x413da2;}},{'key':_0x586aba(0x2b6),'value':function(){var _0x433185=_0x586aba;this[_0x433185(0x286)]=[],delete this[_0x433185(0x1c3)],delete this['windData'];}}]),_0x154569;}(_0x5deb98[_0x3271f3(0x19b)][_0x3271f3(0x203)]);function _0x1b20cd(_0x16321b,_0x31fac2){var _0x25c194=_0x3271f3;return _0x16321b*Math['cos'](_0x5b947f[_0x25c194(0x2a8)][_0x25c194(0x2c0)](_0x31fac2));}function _0x4d9888(_0x41139f,_0x6c0950){var _0x2dc4e8=_0x3271f3;return _0x41139f*Math['sin'](_0x5b947f[_0x2dc4e8(0x2a8)][_0x2dc4e8(0x2c0)](_0x6c0950));}function _0x194507(_0x1acdf6,_0x509d30){var _0x2e9109=_0x3271f3;return Math[_0x2e9109(0x1c8)](Math['pow'](_0x1acdf6,0x2)+Math[_0x2e9109(0x2c9)](_0x509d30,0x2));}function _0xb0bd42(_0x5e4773,_0x1f49c7){var _0x3ca03b=_0x3271f3,_0x3200b1=_0x5b947f[_0x3ca03b(0x2a8)][_0x3ca03b(0x2bd)](Math['atan2'](_0x1f49c7,_0x5e4773));return _0x3200b1+=_0x3200b1<0x0?0x168:0x0;}_0x5deb98['LayerUtil'][_0x3271f3(0x1ea)](_0x3271f3(0x250),_0x2c3fda),_0x5deb98[_0x3271f3(0x19b)][_0x3271f3(0x2e0)]=_0x2c3fda,_0x5deb98[_0x3271f3(0x225)]=_0x2c13a3;}]);}));function a0_0x3690(_0x238653,_0x577e35){var _0x586eee=a0_0x586e();return a0_0x3690=function(_0x3690c6,_0x149797){_0x3690c6=_0x3690c6-0x194;var _0x3b013c=_0x586eee[_0x3690c6];return _0x3b013c;},a0_0x3690(_0x238653,_0x577e35);}function a0_0x586e(){var _0x27a7a4=['particles','162123ROQAbm','speedRate','moveStart','currentParticlesPosition','beginPath','postProcessingPosition','pixelSize','4DOCrtD','defineProperty','auto','setOptions','object','_maxAge','particlesWind','bind','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','getUVByXY','max','LINEAR','createFramebuffer','createCommand','randomParticle','push','isInExtent','vertexShaderSource','Texture','createWindTextures','Appearance','textures','290jFJxBM','dropRateBump','uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}','style','Math','grid','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','viewRectangleToLonLatRange','ScreenSpaceEventHandler','ScreenSpaceEventType','updateSpeed','cancelAnimationFrame','VertexArray','rawRenderState','refreshParticles','all','186JQKiXX','NEAREST','clear','commandList','1232535aPFYTW','createComputingPrimitives','_createCanvas','absolute','defined','toDegrees','toStringTag','setGeometry','toRadians','Cartesian3','tlat','lat','segmentsDepth','ZERO','mars3d-cesium','particleSystem','50757CPiFpo','pow','isDestroyed','rows','geometry','default','applyUserInput','mars3dWind','WMS_URL','GeometryAttribute','clientHeight','undefined','xmin','ellipsoid','setPrototypeOf','ShaderSource','IDENTITY','tlng','call','nextParticlesSpeed','getUVByPoint','BufferUsage','_addedHook','dimensions','CanvasWindLayer','Sampler','Cesium','value','unbindEvent','SceneMode','keys','autoClear','setData','visible','_particlesNumber','_removedHook','canvasWindy','ymax','particlesComputing','destroyObject','key','canvas','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','vdata','clearFramebuffers','RIGHT_DOWN','__esModule','particlesNumber','createRenderingFramebuffers','scene','currentTrails','OPAQUE','PI_OVER_THREE','mode','Rectangle','requestAnimationFrame','blending','TextureMinificationFilter','framebuffers','Matrix4','destroyParticlesTextures','removeAll','RIGHT_UP','min','getFullscreenQuad','clientWidth','lineTo','layer','3264448skTUnJ','PixelFormat','ceil','SceneTransforms','uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}','computeViewRectangle','0px','maxParticles','_pointerEvents','pointerEvents','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','random','SCENE3D','height','source','appendChild','prototype','west','GeometryAttributes','Cartesian2','FLOAT','context','mars3d','round','randomizeParticles','function','particlesRendering','getWind','UNSIGNED_BYTE','south','container','exports','zIndex','strokeStyle','vertexArray','_mountedHook','xmax','windTextures','left','windField','drawingBufferHeight','symbol','outputTexture','arrayBufferView','sqrt','getPixelSize','removeEventListener','lonRange','currentParticlesSpeed','STATIC_DRAW','canvasWidth','_drawLines','180657iZSSFO','trails','top','createElement','applyViewerParameters','resize','updateViewerParameters','string','valueOf','PixelDatatype','latRange','array','floor','speedFactor','primitives','enumerable','canvasHeight','length','createParticlesTextures','writable','_bilinearInterpolation','uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}','randomBetween','ComponentDatatype','_tomap','DrawCommand','register','apply','redraw','age','getColorTexture','maxAge','data','east','wind','lineWidth','construct','now','viewport','canvasResize','updatePosition','getU','depthTexture','defaultValue','DEPTH_COMPONENT','clearCommand','getV','uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}','BoundingSphere','frameTime','framebuffer','BaseLayer','nextTrailsColor','calc_speedRate','north','LEFT_UP','forEach','sham','iterator','depthTest','log','wgs84ToWindowCoordinates','nextTrails','stroke','positionWC','drawWind','add','_calcUV','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','Color','handler','options','LayerUtil','canrefresh','fill','createRenderingPrimitives','userInput','commandToExecute','ComputeCommand','globeBoundingSphere','fragmentShaderSource','attributeLocations','globalAlpha','camera','screen','WindUtil','globe','nextParticlesPosition','getPrototypeOf','globalCompositeOperation','setupEventListeners','getRandomLatLng','createSegmentsGeometry','TextureMagnificationFilter','WindLayer','drawingBufferWidth','RGBA','color','PrimitiveType','constructor','MOUSE_MOVE','createTexture','show','cols','fixedHeight','fromCache','_map','lng','100%','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture2D(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}','viewerParameters','WHEEL','_calcStep','udata','destroy','frameRate','width','_speedRate','PI_OVER_TWO','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','particlesTextureSize','1226250OMIJrp','ymin','ShaderProgram','windData','pointer-events','create','currentTrailsColor','canvasWind','updateDate','animateFrame','TRIANGLES','colorTable','visibility','particlesTextures','UNSIGNED_INT','createRawRenderState','Geometry','bindEvent','segmentsColor','particleHeight','getUserInput','getContext','THREE_PI_OVER_TWO','setAttribute','PrimitiveCollection','getDirection','mod','update','canvasContext','getDefaultRenderState','primitiveType','clampToLatitudeRange','fadeOpacity','Compute','shaderProgram','reverseY','lon','commandType','TWO_PI','createRenderingTextures','postProcessingSpeed','addPrimitives','setInputAction','uniformMap','ClearCommand','184682qbVaND','dropRate','fromGeometry','abs','RenderState','toGridXY','preExecute','__proto__','fromDegrees','_showHook','addEventListener','Pass','segments','class','lev','Draw'];a0_0x586e=function(){return _0x27a7a4;};return a0_0x586e();}
\ No newline at end of file
+function a0_0x5942(){var _0x12f5c9=['key','_bilinearInterpolation','getWind','ymax','currentParticlesSpeed','windData','ZERO','log','preExecute','age','requestAnimationFrame','randomizeParticles','UNSIGNED_BYTE','0px','_drawLines','globe','mode','atan2','height','drawingBufferHeight','random','randomParticle','WindLayer','sham','fillRect','ellipsoid','PI_OVER_TWO','enumerable','getSpeed','BaseLayer','amd','nextTrails','PI_OVER_THREE','addEventListener','sqrt','forEach','geometry','ComponentDatatype','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture2D(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}','pow','NEAREST','canvasResize','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','south','_speedRate','mars3d','Geometry','wgs84ToWindowCoordinates','dropRateBump','all','createRenderingFramebuffers','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}','string','destroyObject','Cartesian3','moveEnd','TRIANGLES','visibility','container','PrimitiveType','bindEvent','call','removeAll','Color','frameTime','305514drPOhD','function','particlesTextureSize','_particlesNumber','Pass','_addedHook','moveTo','preRender','7iUHlQz','setGeometry','fromCache','createRenderingPrimitives','segmentsDepth','cols','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','rows','configurable','update','particles','left','ALWAYS','rawRenderState','_removedHook','Draw','bind','resize','lon','now','maxAge','color','_calcStep','_map','lng','351556lQdCqA','_maxAge','lonRange','getUVByPoint','depthMask','particlesWind','none','ShaderSource','vertexShaderSource','canvasHeight','primitives','handler','createWindTextures','getRandomLatLng','PixelDatatype','createRawRenderState','valueOf','positionWC','createParticlesTextures','depthTexture','length','452825SDAqFW','clearFramebuffers','trails','RGBA','659706EVoYvX','uniformMap','getUVByXY','fromGeometry','register','particlesComputing','LayerUtil','dimensions','getPixelSize','getExtent','getFullscreenQuad','class','hidden','viewerParameters','segmentsColor','drawWind','100%','uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}','moveStart','Rectangle','object','hasOwnProperty','camera','SCENE3D','defaultValue','udata','colorTable','vdata','defineProperty','currentTrails','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','writable','show','updateViewerParameters','pointer-events','ShaderProgram','commandToExecute','defined','applyUserInput','toStringTag','default','destination-in','unbindEvent','drawingBufferWidth','shaderProgram','east','zIndex','min','Cesium','tlat','Compute','toRadians','globalAlpha','UNSIGNED_INT','DrawCommand','_createCanvas','calc_speedRate','currentParticlesPosition','symbol','lat','removeEventListener','constructor','particlesRendering','push','framebuffer','#ffffff','GeometryAttribute','undefined','mars3d-cesium','TWO_PI','updateDate','__proto__','particlesTextures','clampToLatitudeRange','DepthFunction','createTexture','stroke','exports','abs','viewRectangleToLonLatRange','ScreenSpaceEventType','uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}','setInputAction','fillStyle','MOUSE_MOVE','GeometryAttributes','blending','canvas','prototype','canrefresh','autoClear','cancelAnimationFrame','lineWidth','array','isInExtent','destroy','nextTrailsDepth','arrayBufferView','destroyParticlesTextures','BufferUsage','vertexArray','grid','OPAQUE','canvasWidth','randomBetween','execute','particlesNumber','particleHeight','construct','getDefaultRenderState','_calcUV','commandList','windField','reverseY','TextureMinificationFilter','clear','floor','toGridXY','animateFrame','mars3dWind','clientHeight','absolute','screen','createCommand','isPointVisible','rgba(0,\x200,\x200,\x200.97)','CanvasWindLayer','DISABLE_GL_POSITION_LOG_DEPTH','fill','textures','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','lev','windTextures','_showHook','Cartesian2','_mountedHook','LINEAR','width','outputTexture','canvasWindy','globalCompositeOperation','ceil','postProcessingSpeed','WindUtil','framebuffers','style','pointerEvents','1950848xkXqeY','Math','particleSystem','north','_pointerEvents','nextParticlesSpeed','layer','commandType','xmin','nextParticlesPosition','tlng','clearCommand','getColorTexture','globeBoundingSphere','getPrototypeOf','getDirection','redraw','wind','ymin','clientWidth','refreshParticles','setupEventListeners','BoundingSphere','computeViewRectangle','SceneMode','fragmentShaderSource','speedFactor','setAttribute','__esModule','applyViewerParameters','createComputingPrimitives','canvasContext','isDestroyed','STATIC_DRAW','xmax','auto','west','RIGHT_DOWN','primitiveType','_tomap','THREE_PI_OVER_TWO','uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}','toDegrees','WHEEL','removeChild','updateSpeed','currentTrailsDepth','VertexArray','ComputeCommand','Matrix4','FLOAT','getUserInput','viewport','scene','attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}','segments','keys','userInput','max','round','TextureMagnificationFilter','latRange','apply','mod','pixelSize','setPrototypeOf','speedRate','Framebuffer','postProcessingPosition','setOptions','attributeLocations','Sampler','fromDegrees','RIGHT_UP','context','WMS_URL','RGB','PixelFormat','colorNum','iterator','fadeOpacity','9320346LLlQUW','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','visible','addPrimitives','createElement','dropRate','updatePosition','fixedHeight','globeLayer','4CRlMNL','maxParticles','147414TqYcYd','createFramebuffer','LEFT_UP','add','currentTrailsColor','LEFT_DOWN','data'];a0_0x5942=function(){return _0x12f5c9;};return a0_0x5942();}function a0_0x533b(_0x9a802b,_0x279a6c){var _0x594291=a0_0x5942();return a0_0x533b=function(_0x533b4b,_0x132e78){_0x533b4b=_0x533b4b-0x6f;var _0x3f6186=_0x594291[_0x533b4b];return _0x3f6186;},a0_0x533b(_0x9a802b,_0x279a6c);}(function(_0x547f2a,_0x409839){var _0x33304a=a0_0x533b,_0x521f94=_0x547f2a();while(!![]){try{var _0x4bffda=-parseInt(_0x33304a(0x82))/0x1+-parseInt(_0x33304a(0xa3))/0x2+-parseInt(_0x33304a(0xbc))/0x3+parseInt(_0x33304a(0x1a9))/0x4*(parseInt(_0x33304a(0xb8))/0x5)+-parseInt(_0x33304a(0x1ab))/0x6*(parseInt(_0x33304a(0x8a))/0x7)+-parseInt(_0x33304a(0x14f))/0x8+parseInt(_0x33304a(0x1a0))/0x9;if(_0x4bffda===_0x409839)break;else _0x521f94['push'](_0x521f94['shift']());}catch(_0xaa4ed4){_0x521f94['push'](_0x521f94['shift']());}}}(a0_0x5942,0x2637c),!function(_0x2aae7c,_0x3a22a8){var _0x92d29f=a0_0x533b;_0x92d29f(0xd0)==typeof exports&&_0x92d29f(0xd0)==typeof module?module[_0x92d29f(0x109)]=_0x3a22a8(require(_0x92d29f(0x100)),require(_0x92d29f(0x1df))):_0x92d29f(0x83)==typeof define&&define[_0x92d29f(0x1d0)]?define(_0x92d29f(0x133),[_0x92d29f(0x100),'mars3d'],_0x3a22a8):_0x92d29f(0xd0)==typeof exports?exports[_0x92d29f(0x133)]=_0x3a22a8(require(_0x92d29f(0x100)),require(_0x92d29f(0x1df))):_0x2aae7c[_0x92d29f(0x133)]=_0x3a22a8(_0x2aae7c[_0x92d29f(0xec)],_0x2aae7c[_0x92d29f(0x1df)]);}(window,function(_0x5915cd,_0x33f7e2){return function(_0x4265ac){var _0x47144f={};function _0x5a3fe4(_0x44bbd7){var _0x6ae97a=a0_0x533b;if(_0x47144f[_0x44bbd7])return _0x47144f[_0x44bbd7]['exports'];var _0x1783d0=_0x47144f[_0x44bbd7]={'i':_0x44bbd7,'l':!0x1,'exports':{}};return _0x4265ac[_0x44bbd7][_0x6ae97a(0x7e)](_0x1783d0[_0x6ae97a(0x109)],_0x1783d0,_0x1783d0[_0x6ae97a(0x109)],_0x5a3fe4),_0x1783d0['l']=!0x0,_0x1783d0['exports'];}return _0x5a3fe4['m']=_0x4265ac,_0x5a3fe4['c']=_0x47144f,_0x5a3fe4['d']=function(_0x21964f,_0x171ecb,_0x58a5b4){var _0xc13649=a0_0x533b;_0x5a3fe4['o'](_0x21964f,_0x171ecb)||Object[_0xc13649(0xd8)](_0x21964f,_0x171ecb,{'enumerable':!0x0,'get':_0x58a5b4});},_0x5a3fe4['r']=function(_0xef093c){var _0xbc3da6=a0_0x533b;_0xbc3da6(0xff)!=typeof Symbol&&Symbol[_0xbc3da6(0xe3)]&&Object[_0xbc3da6(0xd8)](_0xef093c,Symbol['toStringTag'],{'value':'Module'}),Object[_0xbc3da6(0xd8)](_0xef093c,_0xbc3da6(0x16b),{'value':!0x0});},_0x5a3fe4['t']=function(_0x5db60c,_0x3f1e2c){var _0x24c699=a0_0x533b;if(0x1&_0x3f1e2c&&(_0x5db60c=_0x5a3fe4(_0x5db60c)),0x8&_0x3f1e2c)return _0x5db60c;if(0x4&_0x3f1e2c&&_0x24c699(0xd0)==typeof _0x5db60c&&_0x5db60c&&_0x5db60c['__esModule'])return _0x5db60c;var _0x5e6d22=Object['create'](null);if(_0x5a3fe4['r'](_0x5e6d22),Object[_0x24c699(0xd8)](_0x5e6d22,_0x24c699(0xe4),{'enumerable':!0x0,'value':_0x5db60c}),0x2&_0x3f1e2c&&_0x24c699(0x75)!=typeof _0x5db60c){for(var _0x341b5e in _0x5db60c)_0x5a3fe4['d'](_0x5e6d22,_0x341b5e,function(_0x249a7b){return _0x5db60c[_0x249a7b];}['bind'](null,_0x341b5e));}return _0x5e6d22;},_0x5a3fe4['n']=function(_0x2cdcc1){var _0x59c0c7=_0x2cdcc1&&_0x2cdcc1['__esModule']?function(){var _0x229205=a0_0x533b;return _0x2cdcc1[_0x229205(0xe4)];}:function(){return _0x2cdcc1;};return _0x5a3fe4['d'](_0x59c0c7,'a',_0x59c0c7),_0x59c0c7;},_0x5a3fe4['o']=function(_0x1f75bd,_0xa8cac2){var _0x287d04=a0_0x533b;return Object[_0x287d04(0x114)][_0x287d04(0xd1)][_0x287d04(0x7e)](_0x1f75bd,_0xa8cac2);},_0x5a3fe4['p']='',_0x5a3fe4(_0x5a3fe4['s']=0x14);}([function(_0x159bc7,_0x2bb6aa){_0x159bc7['exports']=_0x5915cd;},function(_0x157f7e,_0x17945a){var _0x5ad416=a0_0x533b;_0x157f7e['exports']=function(_0x2febb0,_0x5a4424){var _0x3be2da=a0_0x533b;if(!(_0x2febb0 instanceof _0x5a4424))throw new TypeError(_0x3be2da(0x1dc));},_0x157f7e[_0x5ad416(0x109)][_0x5ad416(0xe4)]=_0x157f7e[_0x5ad416(0x109)],_0x157f7e[_0x5ad416(0x109)]['__esModule']=!0x0;},function(_0x55f33a,_0x59aaff){var _0x405976=a0_0x533b;function _0x5141bb(_0x1d1a32,_0x2e508){var _0x75e7ac=a0_0x533b;for(var _0x11451b=0x0;_0x11451b<_0x2e508['length'];_0x11451b++){var _0x3f3a5a=_0x2e508[_0x11451b];_0x3f3a5a['enumerable']=_0x3f3a5a[_0x75e7ac(0x1cd)]||!0x1,_0x3f3a5a[_0x75e7ac(0x92)]=!0x0,'value'in _0x3f3a5a&&(_0x3f3a5a[_0x75e7ac(0xdb)]=!0x0),Object[_0x75e7ac(0xd8)](_0x1d1a32,_0x3f3a5a[_0x75e7ac(0x1b2)],_0x3f3a5a);}}_0x55f33a[_0x405976(0x109)]=function(_0x333a14,_0x2f4be9,_0x5bc351){return _0x2f4be9&&_0x5141bb(_0x333a14['prototype'],_0x2f4be9),_0x5bc351&&_0x5141bb(_0x333a14,_0x5bc351),_0x333a14;},_0x55f33a[_0x405976(0x109)]['default']=_0x55f33a[_0x405976(0x109)],_0x55f33a[_0x405976(0x109)][_0x405976(0x16b)]=!0x0;},function(_0x276543,_0x5eeb74){_0x276543['exports']=_0x33f7e2;},function(_0x524383,_0x19a5b9){var _0x4d05f5=a0_0x533b;function _0x390416(_0x77de8c){var _0x53ed1a=a0_0x533b;return _0x524383['exports']=_0x390416=Object[_0x53ed1a(0x190)]?Object[_0x53ed1a(0x15d)]:function(_0x7ad7ae){var _0x8d6a5b=_0x53ed1a;return _0x7ad7ae[_0x8d6a5b(0x103)]||Object[_0x8d6a5b(0x15d)](_0x7ad7ae);},_0x524383[_0x53ed1a(0x109)][_0x53ed1a(0xe4)]=_0x524383[_0x53ed1a(0x109)],_0x524383[_0x53ed1a(0x109)][_0x53ed1a(0x16b)]=!0x0,_0x390416(_0x77de8c);}_0x524383[_0x4d05f5(0x109)]=_0x390416,_0x524383[_0x4d05f5(0x109)]['default']=_0x524383[_0x4d05f5(0x109)],_0x524383[_0x4d05f5(0x109)][_0x4d05f5(0x16b)]=!0x0;},function(_0x353e0c,_0x3b607b,_0x32e86a){var _0x10b210=a0_0x533b,_0x3f3448=_0x32e86a(0x11);_0x353e0c[_0x10b210(0x109)]=function(_0x5806c3,_0x4e4680){var _0x4fd2f5=_0x10b210;if('function'!=typeof _0x4e4680&&null!==_0x4e4680)throw new TypeError(_0x4fd2f5(0x13e));_0x5806c3[_0x4fd2f5(0x114)]=Object['create'](_0x4e4680&&_0x4e4680['prototype'],{'constructor':{'value':_0x5806c3,'writable':!0x0,'configurable':!0x0}}),_0x4e4680&&_0x3f3448(_0x5806c3,_0x4e4680);},_0x353e0c[_0x10b210(0x109)]['default']=_0x353e0c['exports'],_0x353e0c['exports'][_0x10b210(0x16b)]=!0x0;},function(_0x470b80,_0x20a75d,_0x3c1bc1){var _0x3b4dd1=a0_0x533b,_0x48a259=_0x3c1bc1(0x12)['default'],_0x43459c=_0x3c1bc1(0x13);_0x470b80[_0x3b4dd1(0x109)]=function(_0x29e3da,_0x39d415){var _0x15a488=_0x3b4dd1;if(_0x39d415&&(_0x15a488(0xd0)===_0x48a259(_0x39d415)||_0x15a488(0x83)==typeof _0x39d415))return _0x39d415;if(void 0x0!==_0x39d415)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');return _0x43459c(_0x29e3da);},_0x470b80[_0x3b4dd1(0x109)][_0x3b4dd1(0xe4)]=_0x470b80[_0x3b4dd1(0x109)],_0x470b80[_0x3b4dd1(0x109)]['__esModule']=!0x0;},function(_0x5edea3,_0x15983d){var _0xb8a4f8=a0_0x533b;_0x5edea3[_0xb8a4f8(0x109)]=_0xb8a4f8(0x185);},function(_0x26d66c,_0x2e703d){var _0x21feb4=a0_0x533b;_0x26d66c[_0x21feb4(0x109)]='attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}';},function(_0x15a5d2,_0x453c2f){var _0x514241=a0_0x533b;_0x15a5d2[_0x514241(0x109)]='uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}';},function(_0x2c4c16,_0x5ce99b){var _0x278edd=a0_0x533b;_0x2c4c16[_0x278edd(0x109)]=_0x278edd(0xda);},function(_0x1402a9,_0x4ed41a){var _0x6f77f0=a0_0x533b;_0x1402a9[_0x6f77f0(0x109)]=_0x6f77f0(0x178);},function(_0x263907,_0x42061e){var _0x3cdb72=a0_0x533b;_0x263907[_0x3cdb72(0x109)]=_0x3cdb72(0x1d8);},function(_0xba0a1b,_0x1701ca){var _0x20c41f=a0_0x533b;_0xba0a1b[_0x20c41f(0x109)]=_0x20c41f(0xcd);},function(_0x47e213,_0x7c5ccc){var _0x2ae2cb=a0_0x533b;_0x47e213[_0x2ae2cb(0x109)]=_0x2ae2cb(0x74);},function(_0x4fcd45,_0x4688c8){var _0x10bda6=a0_0x533b;_0x4fcd45[_0x10bda6(0x109)]=_0x10bda6(0x10d);},function(_0x2dfbc1,_0x35cf9d){_0x2dfbc1['exports']='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}';},function(_0x1ce82c,_0x9bb679){var _0x33debd=a0_0x533b;function _0x4fee0d(_0x4ead81,_0x198aef){var _0x5d6b7c=a0_0x533b;return _0x1ce82c['exports']=_0x4fee0d=Object['setPrototypeOf']||function(_0x8659ab,_0x12c671){var _0x47a3da=a0_0x533b;return _0x8659ab[_0x47a3da(0x103)]=_0x12c671,_0x8659ab;},_0x1ce82c[_0x5d6b7c(0x109)]['default']=_0x1ce82c[_0x5d6b7c(0x109)],_0x1ce82c[_0x5d6b7c(0x109)]['__esModule']=!0x0,_0x4fee0d(_0x4ead81,_0x198aef);}_0x1ce82c[_0x33debd(0x109)]=_0x4fee0d,_0x1ce82c['exports']['default']=_0x1ce82c[_0x33debd(0x109)],_0x1ce82c['exports'][_0x33debd(0x16b)]=!0x0;},function(_0x583dc0,_0x5a56ad){var _0x3b1f05=a0_0x533b;function _0x448180(_0x1cd268){var _0x128e83=a0_0x533b;return'function'==typeof Symbol&&_0x128e83(0xf6)==typeof Symbol[_0x128e83(0x19e)]?(_0x583dc0[_0x128e83(0x109)]=_0x448180=function(_0x5ac1b8){return typeof _0x5ac1b8;},_0x583dc0['exports'][_0x128e83(0xe4)]=_0x583dc0[_0x128e83(0x109)],_0x583dc0[_0x128e83(0x109)][_0x128e83(0x16b)]=!0x0):(_0x583dc0[_0x128e83(0x109)]=_0x448180=function(_0x356756){var _0x1065f8=_0x128e83;return _0x356756&&_0x1065f8(0x83)==typeof Symbol&&_0x356756[_0x1065f8(0xf9)]===Symbol&&_0x356756!==Symbol['prototype']?_0x1065f8(0xf6):typeof _0x356756;},_0x583dc0[_0x128e83(0x109)][_0x128e83(0xe4)]=_0x583dc0['exports'],_0x583dc0[_0x128e83(0x109)]['__esModule']=!0x0),_0x448180(_0x1cd268);}_0x583dc0['exports']=_0x448180,_0x583dc0[_0x3b1f05(0x109)]['default']=_0x583dc0['exports'],_0x583dc0[_0x3b1f05(0x109)][_0x3b1f05(0x16b)]=!0x0;},function(_0x477dd2,_0x5eb2aa){var _0x12ef10=a0_0x533b;_0x477dd2[_0x12ef10(0x109)]=function(_0x191b5f){var _0x56b4fc=_0x12ef10;if(void 0x0===_0x191b5f)throw new ReferenceError(_0x56b4fc(0x1a1));return _0x191b5f;},_0x477dd2['exports'][_0x12ef10(0xe4)]=_0x477dd2[_0x12ef10(0x109)],_0x477dd2['exports'][_0x12ef10(0x16b)]=!0x0;},function(_0x415a20,_0x4c692a,_0x16c665){'use strict';var _0x2f5fd6=a0_0x533b;_0x16c665['r'](_0x4c692a),_0x16c665['d'](_0x4c692a,_0x2f5fd6(0x1c8),function(){return _0x3bf53d;}),_0x16c665['d'](_0x4c692a,_0x2f5fd6(0x13a),function(){return _0x249484;}),_0x16c665['d'](_0x4c692a,_0x2f5fd6(0x14b),function(){return _0x481af0;});var _0x481af0={};_0x16c665['r'](_0x481af0),_0x16c665['d'](_0x481af0,'getU',function(){return _0x547450;}),_0x16c665['d'](_0x481af0,'getV',function(){return _0x59c461;}),_0x16c665['d'](_0x481af0,_0x2f5fd6(0x1ce),function(){return _0x435bb2;}),_0x16c665['d'](_0x481af0,_0x2f5fd6(0x15e),function(){return _0x1748cc;});var _0x17e980=_0x16c665(0x3),_0x57ccc0=_0x16c665(0x1),_0x51906a=_0x16c665['n'](_0x57ccc0),_0xc86902=_0x16c665(0x2),_0x35b026=_0x16c665['n'](_0xc86902),_0x12984b=_0x16c665(0x5),_0x2d68c9=_0x16c665['n'](_0x12984b),_0x50f0df=_0x16c665(0x6),_0x2de754=_0x16c665['n'](_0x50f0df),_0x23629a=_0x16c665(0x4),_0x4c4ef4=_0x16c665['n'](_0x23629a),_0x2293a1=_0x16c665(0x0),_0x35a8f1=function(){var _0x18f344=_0x2f5fd6;function _0xbc5ab9(_0x29333d){var _0x37bf65=a0_0x533b;_0x51906a()(this,_0xbc5ab9),this[_0x37bf65(0x156)]=_0x29333d[_0x37bf65(0x156)],this['geometry']=_0x29333d['geometry'],this[_0x37bf65(0x195)]=_0x29333d[_0x37bf65(0x195)],this[_0x37bf65(0x175)]=_0x29333d[_0x37bf65(0x175)],this[_0x37bf65(0xbd)]=_0x29333d[_0x37bf65(0xbd)],this[_0x37bf65(0xab)]=_0x29333d[_0x37bf65(0xab)],this[_0x37bf65(0x168)]=_0x29333d[_0x37bf65(0x168)],this[_0x37bf65(0x97)]=_0x29333d[_0x37bf65(0x97)],this['framebuffer']=_0x29333d[_0x37bf65(0xfc)],this[_0x37bf65(0x146)]=_0x29333d[_0x37bf65(0x146)],this['autoClear']=_0x2293a1[_0x37bf65(0xd4)](_0x29333d[_0x37bf65(0x116)],!0x1),this['preExecute']=_0x29333d[_0x37bf65(0x1ba)],this[_0x37bf65(0xdc)]=!0x0,this['commandToExecute']=void 0x0,this[_0x37bf65(0x15a)]=void 0x0,this['autoClear']&&(this[_0x37bf65(0x15a)]=new _0x2293a1['ClearCommand']({'color':new _0x2293a1[(_0x37bf65(0x80))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':_0x2293a1[_0x37bf65(0x86)]['OPAQUE']}));}return _0x35b026()(_0xbc5ab9,[{'key':_0x18f344(0x137),'value':function(_0x4095ce){var _0x42fd99=_0x18f344;switch(this[_0x42fd99(0x156)]){case'Draw':var _0x2da039=_0x2293a1[_0x42fd99(0x17e)][_0x42fd99(0xbf)]({'context':_0x4095ce,'geometry':this['geometry'],'attributeLocations':this[_0x42fd99(0x195)],'bufferUsage':_0x2293a1[_0x42fd99(0x11f)][_0x42fd99(0x170)]}),_0x2546e7=_0x2293a1[_0x42fd99(0xdf)]['fromCache']({'context':_0x4095ce,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this['vertexShaderSource'],'fragmentShaderSource':this[_0x42fd99(0x168)]}),_0x1a8642=_0x2293a1['RenderState'][_0x42fd99(0x8c)](this[_0x42fd99(0x97)]);return new _0x2293a1[(_0x42fd99(0xf2))]({'owner':this,'vertexArray':_0x2da039,'primitiveType':this['primitiveType'],'uniformMap':this[_0x42fd99(0xbd)],'modelMatrix':_0x2293a1[_0x42fd99(0x180)]['IDENTITY'],'shaderProgram':_0x2546e7,'framebuffer':this[_0x42fd99(0xfc)],'renderState':_0x1a8642,'pass':_0x2293a1['Pass']['OPAQUE']});case _0x42fd99(0xee):return new _0x2293a1[(_0x42fd99(0x17f))]({'owner':this,'fragmentShaderSource':this['fragmentShaderSource'],'uniformMap':this[_0x42fd99(0xbd)],'outputTexture':this[_0x42fd99(0x146)],'persists':!0x0});}}},{'key':_0x18f344(0x8b),'value':function(_0x5aeba6,_0x2ced02){var _0x53a891=_0x18f344;this[_0x53a891(0x1d6)]=_0x2ced02;var _0x362fb2=_0x2293a1['VertexArray'][_0x53a891(0xbf)]({'context':_0x5aeba6,'geometry':this[_0x53a891(0x1d6)],'attributeLocations':this[_0x53a891(0x195)],'bufferUsage':_0x2293a1[_0x53a891(0x11f)]['STATIC_DRAW']});this[_0x53a891(0xe0)][_0x53a891(0x120)]=_0x362fb2;}},{'key':_0x18f344(0x93),'value':function(_0x3214ac){var _0x1e09b0=_0x18f344;this['show']&&_0x3214ac[_0x1e09b0(0x1c2)]==_0x2293a1[_0x1e09b0(0x167)]['SCENE3D']&&(_0x2293a1[_0x1e09b0(0xe1)](this['commandToExecute'])||(this[_0x1e09b0(0xe0)]=this['createCommand'](_0x3214ac[_0x1e09b0(0x199)])),_0x2293a1[_0x1e09b0(0xe1)](this[_0x1e09b0(0x1ba)])&&this['preExecute'](),_0x2293a1[_0x1e09b0(0xe1)](this[_0x1e09b0(0x15a)])&&_0x3214ac[_0x1e09b0(0x12b)][_0x1e09b0(0xfb)](this[_0x1e09b0(0x15a)]),_0x3214ac[_0x1e09b0(0x12b)][_0x1e09b0(0xfb)](this[_0x1e09b0(0xe0)]));}},{'key':_0x18f344(0x16f),'value':function(){return!0x1;}},{'key':_0x18f344(0x11b),'value':function(){var _0x3fbeff=_0x18f344;return _0x2293a1[_0x3fbeff(0xe1)](this[_0x3fbeff(0xe0)])&&(this[_0x3fbeff(0xe0)][_0x3fbeff(0xe8)]=this[_0x3fbeff(0xe0)]['shaderProgram']&&this[_0x3fbeff(0xe0)][_0x3fbeff(0xe8)][_0x3fbeff(0x11b)]()),_0x2293a1[_0x3fbeff(0x76)](this);}}]),_0xbc5ab9;}(),_0x1907d9={'getFullscreenQuad':function(){var _0x49f2f8=_0x2f5fd6;return new _0x2293a1[(_0x49f2f8(0x6f))]({'attributes':new _0x2293a1[(_0x49f2f8(0x111))]({'position':new _0x2293a1['GeometryAttribute']({'componentDatatype':_0x2293a1['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x2293a1[(_0x49f2f8(0xfe))]({'componentDatatype':_0x2293a1[_0x49f2f8(0x1d7)][_0x49f2f8(0x181)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x5691ef,_0x4e0857){var _0x2a5ea4=_0x2f5fd6;if(_0x2293a1['defined'](_0x4e0857)){var _0x26ead5={};_0x26ead5[_0x2a5ea4(0x11d)]=_0x4e0857,_0x5691ef['source']=_0x26ead5;}return new _0x2293a1['Texture'](_0x5691ef);},'createFramebuffer':function(_0x54a609,_0x90b770,_0x109a76){var _0x1574c0=_0x2f5fd6;return new _0x2293a1[(_0x1574c0(0x192))]({'context':_0x54a609,'colorTextures':[_0x90b770],'depthTexture':_0x109a76});},'createRawRenderState':function(_0x4c2946){var _0x5e4a6d=_0x2f5fd6,_0x2cfa66={'viewport':_0x4c2946[_0x5e4a6d(0x183)],'depthTest':_0x4c2946['depthTest'],'depthMask':_0x4c2946[_0x5e4a6d(0xa7)],'blending':_0x4c2946[_0x5e4a6d(0x112)]};return _0x2293a1['Appearance'][_0x5e4a6d(0x129)](!0x0,!0x1,_0x2cfa66);},'viewRectangleToLonLatRange':function(_0xbbbee1){var _0x1b6070=_0x2f5fd6,_0x526199,_0x3811ba,_0x2f6b84={},_0x34a608=_0x2293a1[_0x1b6070(0x150)][_0x1b6070(0x18e)](_0xbbbee1[_0x1b6070(0x173)],_0x2293a1['Math'][_0x1b6070(0x101)]),_0x79222f=_0x2293a1['Math'][_0x1b6070(0x18e)](_0xbbbee1[_0x1b6070(0xe9)],_0x2293a1[_0x1b6070(0x150)][_0x1b6070(0x101)]),_0x4dcb98=_0xbbbee1[_0x1b6070(0x145)];_0x4dcb98>_0x2293a1[_0x1b6070(0x150)][_0x1b6070(0x177)]?(_0x526199=0x0,_0x3811ba=_0x2293a1['Math'][_0x1b6070(0x101)]):_0x79222f-_0x34a608<_0x4dcb98?(_0x526199=_0x34a608,_0x3811ba=_0x34a608+_0x4dcb98):(_0x526199=_0x34a608,_0x3811ba=_0x79222f),_0x2f6b84[_0x1b6070(0x9c)]={'min':_0x2293a1[_0x1b6070(0x150)][_0x1b6070(0x179)](_0x526199),'max':_0x2293a1[_0x1b6070(0x150)]['toDegrees'](_0x3811ba)};var _0x56273d=_0xbbbee1[_0x1b6070(0x1dd)],_0x2c4e9c=_0xbbbee1[_0x1b6070(0x152)],_0xeb1af9=_0xbbbee1[_0x1b6070(0x1c4)],_0x2592d9=_0xeb1af9>_0x2293a1[_0x1b6070(0x150)]['PI']/0xc?_0xeb1af9/0x2:0x0,_0x59f359=_0x2293a1['Math'][_0x1b6070(0x105)](_0x56273d-_0x2592d9),_0x1b3a59=_0x2293a1[_0x1b6070(0x150)][_0x1b6070(0x105)](_0x2c4e9c+_0x2592d9);return _0x59f359<-_0x2293a1['Math'][_0x1b6070(0x1d2)]&&(_0x59f359=-_0x2293a1[_0x1b6070(0x150)]['PI_OVER_TWO']),_0x1b3a59>_0x2293a1['Math'][_0x1b6070(0x1d2)]&&(_0x1b3a59=_0x2293a1[_0x1b6070(0x150)][_0x1b6070(0x1cc)]),_0x2f6b84['lat']={'min':_0x2293a1[_0x1b6070(0x150)][_0x1b6070(0x179)](_0x59f359),'max':_0x2293a1[_0x1b6070(0x150)][_0x1b6070(0x179)](_0x1b3a59)},_0x2f6b84;}},_0x3ef912=_0x16c665(0x8),_0xb80f48=_0x16c665['n'](_0x3ef912),_0x3323f3=_0x16c665(0x9),_0x3bf3e3=_0x16c665['n'](_0x3323f3),_0x4057aa=_0x16c665(0x7),_0x133bc2=_0x16c665['n'](_0x4057aa),_0x2468f1=_0x16c665(0xa),_0x13f48a=_0x16c665['n'](_0x2468f1),_0x509788=_0x16c665(0xb),_0x4b70fa=_0x16c665['n'](_0x509788),_0x970e82=function(){var _0x2fd606=_0x2f5fd6;function _0x2f6a89(_0x387f98,_0x4d173d,_0x27dcc3,_0x61ffd1,_0x58cc57){var _0x466712=a0_0x533b;_0x51906a()(this,_0x2f6a89),this['createRenderingTextures'](_0x387f98,_0x4d173d),this['createRenderingFramebuffers'](_0x387f98),this[_0x466712(0x8d)](_0x387f98,_0x27dcc3,_0x61ffd1,_0x58cc57);}return _0x35b026()(_0x2f6a89,[{'key':'createRenderingTextures','value':function(_0x18c5f4,_0x474f9e){var _0x5b07b0=a0_0x533b,_0x2941b2={'context':_0x18c5f4,'width':_0x18c5f4[_0x5b07b0(0xe7)],'height':_0x18c5f4[_0x5b07b0(0x1c5)],'pixelFormat':_0x2293a1['PixelFormat'][_0x5b07b0(0xbb)],'pixelDatatype':_0x2293a1[_0x5b07b0(0xb1)][_0x5b07b0(0x1be)]},_0x4c9392={'context':_0x18c5f4,'width':_0x18c5f4[_0x5b07b0(0xe7)],'height':_0x18c5f4[_0x5b07b0(0x1c5)],'pixelFormat':_0x2293a1[_0x5b07b0(0x19c)]['DEPTH_COMPONENT'],'pixelDatatype':_0x2293a1[_0x5b07b0(0xb1)][_0x5b07b0(0xf1)]},_0x245407={'context':_0x18c5f4,'width':_0x474f9e['colorTable'][_0x5b07b0(0x19d)],'height':0x1,'pixelFormat':_0x2293a1[_0x5b07b0(0x19c)][_0x5b07b0(0x19b)],'pixelDatatype':_0x2293a1[_0x5b07b0(0xb1)][_0x5b07b0(0x181)],'sampler':new _0x2293a1[(_0x5b07b0(0x196))]({'minificationFilter':_0x2293a1[_0x5b07b0(0x12e)]['LINEAR'],'magnificationFilter':_0x2293a1[_0x5b07b0(0x18b)][_0x5b07b0(0x144)]})};this[_0x5b07b0(0x13d)]={'segmentsColor':_0x1907d9[_0x5b07b0(0x107)](_0x2941b2),'segmentsDepth':_0x1907d9['createTexture'](_0x4c9392),'currentTrailsColor':_0x1907d9[_0x5b07b0(0x107)](_0x2941b2),'currentTrailsDepth':_0x1907d9['createTexture'](_0x4c9392),'nextTrailsColor':_0x1907d9[_0x5b07b0(0x107)](_0x2941b2),'nextTrailsDepth':_0x1907d9[_0x5b07b0(0x107)](_0x4c9392),'colorTable':_0x1907d9['createTexture'](_0x245407,_0x474f9e[_0x5b07b0(0xd6)][_0x5b07b0(0x119)])};}},{'key':_0x2fd606(0x73),'value':function(_0x290b15){var _0x52930a=_0x2fd606;this[_0x52930a(0x14c)]={'segments':_0x1907d9[_0x52930a(0x1ac)](_0x290b15,this['textures'][_0x52930a(0xca)],this[_0x52930a(0x13d)]['segmentsDepth']),'currentTrails':_0x1907d9[_0x52930a(0x1ac)](_0x290b15,this[_0x52930a(0x13d)][_0x52930a(0x1af)],this['textures'][_0x52930a(0x17d)]),'nextTrails':_0x1907d9[_0x52930a(0x1ac)](_0x290b15,this['textures']['nextTrailsColor'],this['textures'][_0x52930a(0x11c)])};}},{'key':'createSegmentsGeometry','value':function(_0x1dbbeb){var _0x464706=_0x2fd606;for(var _0x5e6453=[],_0x339d0d=0x0;_0x339d0d<_0x1dbbeb[_0x464706(0x84)];_0x339d0d++)for(var _0x3622e5=0x0;_0x3622e5<_0x1dbbeb[_0x464706(0x84)];_0x3622e5++)for(var _0x14d6c8=0x0;_0x14d6c8<0x4;_0x14d6c8++)_0x5e6453[_0x464706(0xfb)](_0x339d0d/_0x1dbbeb[_0x464706(0x84)]),_0x5e6453[_0x464706(0xfb)](_0x3622e5/_0x1dbbeb[_0x464706(0x84)]);_0x5e6453=new Float32Array(_0x5e6453);for(var _0x58ca45=[],_0x5afc09=[-0x1,0x1],_0x197cea=[-0x1,0x1],_0x2cc5c8=0x0;_0x2cc5c8<_0x1dbbeb[_0x464706(0x1aa)];_0x2cc5c8++)for(var _0x1d72ae=0x0;_0x1d72ae<0x2;_0x1d72ae++)for(var _0xfaaeda=0x0;_0xfaaeda<0x2;_0xfaaeda++)_0x58ca45[_0x464706(0xfb)](_0x5afc09[_0x1d72ae]),_0x58ca45[_0x464706(0xfb)](_0x197cea[_0xfaaeda]),_0x58ca45[_0x464706(0xfb)](0x0);_0x58ca45=new Float32Array(_0x58ca45);for(var _0x5717ee=0x6*_0x1dbbeb[_0x464706(0x1aa)],_0x31479f=new Uint32Array(_0x5717ee),_0x3d51f0=0x0,_0x270511=0x0,_0x143ed9=0x0;_0x3d51f0<_0x1dbbeb[_0x464706(0x1aa)];_0x3d51f0++)_0x31479f[_0x270511++]=_0x143ed9+0x0,_0x31479f[_0x270511++]=_0x143ed9+0x1,_0x31479f[_0x270511++]=_0x143ed9+0x2,_0x31479f[_0x270511++]=_0x143ed9+0x2,_0x31479f[_0x270511++]=_0x143ed9+0x1,_0x31479f[_0x270511++]=_0x143ed9+0x3,_0x143ed9+=0x4;return new _0x2293a1[(_0x464706(0x6f))]({'attributes':new _0x2293a1[(_0x464706(0x111))]({'st':new _0x2293a1['GeometryAttribute']({'componentDatatype':_0x2293a1[_0x464706(0x1d7)][_0x464706(0x181)],'componentsPerAttribute':0x2,'values':_0x5e6453}),'normal':new _0x2293a1[(_0x464706(0xfe))]({'componentDatatype':_0x2293a1[_0x464706(0x1d7)][_0x464706(0x181)],'componentsPerAttribute':0x3,'values':_0x58ca45})}),'indices':_0x31479f});}},{'key':_0x2fd606(0x8d),'value':function(_0x5e08d7,_0x5d670e,_0x6b849c,_0x9f5003){var _0x513c60=_0x2fd606,_0x66c235=this;this[_0x513c60(0xad)]={'segments':new _0x35a8f1({'commandType':_0x513c60(0x99),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x5d670e),'primitiveType':_0x2293a1['PrimitiveType'][_0x513c60(0x79)],'uniformMap':{'currentParticlesPosition':function(){var _0x5b070b=_0x513c60;return _0x9f5003[_0x5b070b(0x104)][_0x5b070b(0xf5)];},'postProcessingPosition':function(){var _0x4babda=_0x513c60;return _0x9f5003[_0x4babda(0x104)]['postProcessingPosition'];},'postProcessingSpeed':function(){var _0xe95cf5=_0x513c60;return _0x9f5003[_0xe95cf5(0x104)][_0xe95cf5(0x14a)];},'colorTable':function(){return _0x66c235['textures']['colorTable'];},'aspect':function(){var _0x3269b6=_0x513c60;return _0x5e08d7['drawingBufferWidth']/_0x5e08d7[_0x3269b6(0x1c5)];},'pixelSize':function(){var _0x3ba672=_0x513c60;return _0x6b849c[_0x3ba672(0x18f)];},'lineWidth':function(){return _0x5d670e['lineWidth'];},'particleHeight':function(){return _0x5d670e['particleHeight'];}},'vertexShaderSource':new _0x2293a1[(_0x513c60(0xaa))]({'sources':[_0xb80f48['a']]}),'fragmentShaderSource':new _0x2293a1[(_0x513c60(0xaa))]({'sources':[_0x3bf3e3['a']]}),'rawRenderState':_0x1907d9[_0x513c60(0xb2)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x513c60(0x14c)][_0x513c60(0x186)],'autoClear':!0x0}),'trails':new _0x35a8f1({'commandType':_0x513c60(0x99),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1907d9[_0x513c60(0xc6)](),'primitiveType':_0x2293a1[_0x513c60(0x7c)][_0x513c60(0x79)],'uniformMap':{'segmentsColorTexture':function(){var _0x2f0971=_0x513c60;return _0x66c235[_0x2f0971(0x13d)]['segmentsColor'];},'segmentsDepthTexture':function(){var _0x549890=_0x513c60;return _0x66c235['textures'][_0x549890(0x8e)];},'currentTrailsColor':function(){var _0x176cb7=_0x513c60;return _0x66c235[_0x176cb7(0x14c)][_0x176cb7(0xd9)][_0x176cb7(0x15b)](0x0);},'trailsDepthTexture':function(){var _0x1d4fcd=_0x513c60;return _0x66c235[_0x1d4fcd(0x14c)]['currentTrails'][_0x1d4fcd(0xb6)];},'fadeOpacity':function(){var _0x5e79ef=_0x513c60;return _0x5d670e[_0x5e79ef(0x19f)];}},'vertexShaderSource':new _0x2293a1[(_0x513c60(0xaa))]({'defines':[_0x513c60(0x13b)],'sources':[_0x133bc2['a']]}),'fragmentShaderSource':new _0x2293a1[(_0x513c60(0xaa))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x13f48a['a']]}),'rawRenderState':_0x1907d9[_0x513c60(0xb2)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x2293a1[_0x513c60(0x106)][_0x513c60(0x96)]},'depthMask':!0x0}),'framebuffer':this[_0x513c60(0x14c)]['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x3aa5ad=_0x513c60,_0x232955;_0x232955=_0x66c235[_0x3aa5ad(0x14c)]['currentTrails'],_0x66c235[_0x3aa5ad(0x14c)]['currentTrails']=_0x66c235[_0x3aa5ad(0x14c)][_0x3aa5ad(0x1d1)],_0x66c235[_0x3aa5ad(0x14c)][_0x3aa5ad(0x1d1)]=_0x232955,_0x66c235[_0x3aa5ad(0xad)][_0x3aa5ad(0xba)][_0x3aa5ad(0xe0)][_0x3aa5ad(0xfc)]=_0x66c235[_0x3aa5ad(0x14c)][_0x3aa5ad(0x1d1)],_0x66c235['primitives'][_0x3aa5ad(0xba)][_0x3aa5ad(0x15a)]['framebuffer']=_0x66c235[_0x3aa5ad(0x14c)][_0x3aa5ad(0x1d1)];}}),'screen':new _0x35a8f1({'commandType':_0x513c60(0x99),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1907d9['getFullscreenQuad'](),'primitiveType':_0x2293a1[_0x513c60(0x7c)][_0x513c60(0x79)],'uniformMap':{'trailsColorTexture':function(){var _0x57e8d5=_0x513c60;return _0x66c235['framebuffers'][_0x57e8d5(0x1d1)][_0x57e8d5(0x15b)](0x0);},'trailsDepthTexture':function(){var _0x3f027e=_0x513c60;return _0x66c235[_0x3f027e(0x14c)]['nextTrails'][_0x3f027e(0xb6)];}},'vertexShaderSource':new _0x2293a1[(_0x513c60(0xaa))]({'defines':[_0x513c60(0x13b)],'sources':[_0x133bc2['a']]}),'fragmentShaderSource':new _0x2293a1[(_0x513c60(0xaa))]({'defines':[_0x513c60(0x90)],'sources':[_0x4b70fa['a']]}),'rawRenderState':_0x1907d9[_0x513c60(0xb2)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x2f6a89;}(),_0x2f8d37=_0x16c665(0xc),_0x2520b8=_0x16c665['n'](_0x2f8d37),_0x229a6c=_0x16c665(0xd),_0x555f46=_0x16c665['n'](_0x229a6c),_0x4360c2=_0x16c665(0xe),_0x75c50a=_0x16c665['n'](_0x4360c2),_0x5ec363=_0x16c665(0xf),_0x19bc55=_0x16c665['n'](_0x5ec363),_0x3c2351=_0x16c665(0x10),_0x483650=_0x16c665['n'](_0x3c2351),_0xca86ee=function(){var _0x27528f=_0x2f5fd6;function _0x545ed1(_0x2ee2f8,_0x5262bb,_0x3aa974,_0x59ce62){_0x51906a()(this,_0x545ed1),this['data']=_0x5262bb,this['createWindTextures'](_0x2ee2f8,_0x5262bb),this['createParticlesTextures'](_0x2ee2f8,_0x3aa974,_0x59ce62),this['createComputingPrimitives'](_0x5262bb,_0x3aa974,_0x59ce62);}return _0x35b026()(_0x545ed1,[{'key':_0x27528f(0xaf),'value':function(_0x25e0e4,_0x2e9061){var _0x4404a2=_0x27528f,_0x57a822={'context':_0x25e0e4,'width':_0x2e9061[_0x4404a2(0xc3)]['lon'],'height':_0x2e9061['dimensions'][_0x4404a2(0xf7)]*_0x2e9061[_0x4404a2(0xc3)][_0x4404a2(0x13f)],'pixelFormat':_0x2293a1[_0x4404a2(0x19c)]['LUMINANCE'],'pixelDatatype':_0x2293a1[_0x4404a2(0xb1)][_0x4404a2(0x181)],'flipY':!0x1,'sampler':new _0x2293a1[(_0x4404a2(0x196))]({'minificationFilter':_0x2293a1[_0x4404a2(0x12e)][_0x4404a2(0x1da)],'magnificationFilter':_0x2293a1[_0x4404a2(0x18b)][_0x4404a2(0x1da)]})};this[_0x4404a2(0x140)]={'U':_0x1907d9[_0x4404a2(0x107)](_0x57a822,_0x2e9061['U'][_0x4404a2(0x119)]),'V':_0x1907d9[_0x4404a2(0x107)](_0x57a822,_0x2e9061['V'][_0x4404a2(0x119)])};}},{'key':_0x27528f(0xb5),'value':function(_0x3689e9,_0x7ff9d2,_0x2e12f2){var _0x49967b=_0x27528f,_0x1da31c={'context':_0x3689e9,'width':_0x7ff9d2[_0x49967b(0x84)],'height':_0x7ff9d2['particlesTextureSize'],'pixelFormat':_0x2293a1[_0x49967b(0x19c)][_0x49967b(0xbb)],'pixelDatatype':_0x2293a1[_0x49967b(0xb1)][_0x49967b(0x181)],'flipY':!0x1,'sampler':new _0x2293a1[(_0x49967b(0x196))]({'minificationFilter':_0x2293a1[_0x49967b(0x12e)][_0x49967b(0x1da)],'magnificationFilter':_0x2293a1[_0x49967b(0x18b)]['NEAREST']})},_0x311e11=this[_0x49967b(0x1bd)](_0x7ff9d2[_0x49967b(0x1aa)],_0x2e12f2),_0x19e930=new Float32Array(0x4*_0x7ff9d2['maxParticles'])[_0x49967b(0x13c)](0x0);this[_0x49967b(0x104)]={'particlesWind':_0x1907d9['createTexture'](_0x1da31c),'currentParticlesPosition':_0x1907d9['createTexture'](_0x1da31c,_0x311e11),'nextParticlesPosition':_0x1907d9['createTexture'](_0x1da31c,_0x311e11),'currentParticlesSpeed':_0x1907d9[_0x49967b(0x107)](_0x1da31c,_0x19e930),'nextParticlesSpeed':_0x1907d9[_0x49967b(0x107)](_0x1da31c,_0x19e930),'postProcessingPosition':_0x1907d9[_0x49967b(0x107)](_0x1da31c,_0x311e11),'postProcessingSpeed':_0x1907d9[_0x49967b(0x107)](_0x1da31c,_0x19e930)};}},{'key':_0x27528f(0x1bd),'value':function(_0x387d9c,_0x311e72){var _0x28f703=_0x27528f;for(var _0x57714a=new Float32Array(0x4*_0x387d9c),_0x2f56eb=0x0;_0x2f56eb<_0x387d9c;_0x2f56eb++)_0x57714a[0x4*_0x2f56eb]=_0x2293a1['Math'][_0x28f703(0x124)](_0x311e72[_0x28f703(0xa5)]['x'],_0x311e72['lonRange']['y']),_0x57714a[0x4*_0x2f56eb+0x1]=_0x2293a1[_0x28f703(0x150)]['randomBetween'](_0x311e72[_0x28f703(0x18c)]['x'],_0x311e72[_0x28f703(0x18c)]['y']),_0x57714a[0x4*_0x2f56eb+0x2]=_0x2293a1[_0x28f703(0x150)][_0x28f703(0x124)](this[_0x28f703(0x1b1)][_0x28f703(0x13f)][_0x28f703(0xeb)],this[_0x28f703(0x1b1)][_0x28f703(0x13f)]['max']),_0x57714a[0x4*_0x2f56eb+0x3]=0x0;return _0x57714a;}},{'key':_0x27528f(0x11e),'value':function(){var _0x164e91=_0x27528f,_0x50daa6=this;Object['keys'](this[_0x164e91(0x104)])['forEach'](function(_0x1aab3d){var _0x6ba276=_0x164e91;_0x50daa6[_0x6ba276(0x104)][_0x1aab3d][_0x6ba276(0x11b)]();});}},{'key':_0x27528f(0x16d),'value':function(_0x25302f,_0x141060,_0x5afde1){var _0x541f81=_0x27528f,_0x2f2259=new _0x2293a1[(_0x541f81(0x77))](_0x25302f[_0x541f81(0xc3)][_0x541f81(0x9c)],_0x25302f['dimensions'][_0x541f81(0xf7)],_0x25302f[_0x541f81(0xc3)][_0x541f81(0x13f)]),_0x34fed6=new _0x2293a1[(_0x541f81(0x77))](_0x25302f['lon'][_0x541f81(0xeb)],_0x25302f['lat'][_0x541f81(0xeb)],_0x25302f[_0x541f81(0x13f)]['min']),_0x15cae2=new _0x2293a1[(_0x541f81(0x77))](_0x25302f[_0x541f81(0x9c)]['max'],_0x25302f['lat'][_0x541f81(0x189)],_0x25302f['lev']['max']),_0x4e9792=new _0x2293a1[(_0x541f81(0x77))]((_0x15cae2['x']-_0x34fed6['x'])/(_0x2f2259['x']-0x1),(_0x15cae2['y']-_0x34fed6['y'])/(_0x2f2259['y']-0x1),_0x2f2259['z']>0x1?(_0x15cae2['z']-_0x34fed6['z'])/(_0x2f2259['z']-0x1):0x1),_0x545f32=new _0x2293a1[(_0x541f81(0x142))](_0x25302f['U'][_0x541f81(0xeb)],_0x25302f['U'][_0x541f81(0x189)]),_0x76a035=new _0x2293a1[(_0x541f81(0x142))](_0x25302f['V']['min'],_0x25302f['V'][_0x541f81(0x189)]),_0x34b33b=this;this[_0x541f81(0xad)]={'getWind':new _0x35a8f1({'commandType':_0x541f81(0xee),'uniformMap':{'U':function(){var _0x32677b=_0x541f81;return _0x34b33b[_0x32677b(0x140)]['U'];},'V':function(){var _0x2ce39c=_0x541f81;return _0x34b33b[_0x2ce39c(0x140)]['V'];},'currentParticlesPosition':function(){var _0x5e971e=_0x541f81;return _0x34b33b[_0x5e971e(0x104)][_0x5e971e(0xf5)];},'dimension':function(){return _0x2f2259;},'minimum':function(){return _0x34fed6;},'maximum':function(){return _0x15cae2;},'interval':function(){return _0x4e9792;}},'fragmentShaderSource':new _0x2293a1['ShaderSource']({'sources':[_0x2520b8['a']]}),'outputTexture':this[_0x541f81(0x104)]['particlesWind'],'preExecute':function(){var _0x4df236=_0x541f81;_0x34b33b[_0x4df236(0xad)][_0x4df236(0x1b4)]['commandToExecute']['outputTexture']=_0x34b33b[_0x4df236(0x104)][_0x4df236(0xa8)];}}),'updateSpeed':new _0x35a8f1({'commandType':_0x541f81(0xee),'uniformMap':{'currentParticlesSpeed':function(){var _0x74117b=_0x541f81;return _0x34b33b[_0x74117b(0x104)]['currentParticlesSpeed'];},'particlesWind':function(){var _0x54da47=_0x541f81;return _0x34b33b[_0x54da47(0x104)]['particlesWind'];},'uSpeedRange':function(){return _0x545f32;},'vSpeedRange':function(){return _0x76a035;},'pixelSize':function(){return _0x5afde1['pixelSize'];},'speedFactor':function(){var _0x6b1765=_0x541f81;return _0x141060[_0x6b1765(0x169)];}},'fragmentShaderSource':new _0x2293a1[(_0x541f81(0xaa))]({'sources':[_0x555f46['a']]}),'outputTexture':this['particlesTextures']['nextParticlesSpeed'],'preExecute':function(){var _0x1a5346=_0x541f81,_0x1a8504;_0x1a8504=_0x34b33b[_0x1a5346(0x104)][_0x1a5346(0x1b6)],_0x34b33b[_0x1a5346(0x104)][_0x1a5346(0x1b6)]=_0x34b33b[_0x1a5346(0x104)][_0x1a5346(0x14a)],_0x34b33b[_0x1a5346(0x104)][_0x1a5346(0x14a)]=_0x1a8504,_0x34b33b[_0x1a5346(0xad)][_0x1a5346(0x17c)][_0x1a5346(0xe0)][_0x1a5346(0x146)]=_0x34b33b[_0x1a5346(0x104)][_0x1a5346(0x154)];}}),'updatePosition':new _0x35a8f1({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){var _0x28ead6=_0x541f81;return _0x34b33b['particlesTextures'][_0x28ead6(0xf5)];},'currentParticlesSpeed':function(){var _0x3500a5=_0x541f81;return _0x34b33b[_0x3500a5(0x104)]['currentParticlesSpeed'];}},'fragmentShaderSource':new _0x2293a1['ShaderSource']({'sources':[_0x75c50a['a']]}),'outputTexture':this[_0x541f81(0x104)]['nextParticlesPosition'],'preExecute':function(){var _0x29f8b9=_0x541f81,_0x184771;_0x184771=_0x34b33b[_0x29f8b9(0x104)][_0x29f8b9(0xf5)],_0x34b33b['particlesTextures'][_0x29f8b9(0xf5)]=_0x34b33b[_0x29f8b9(0x104)]['postProcessingPosition'],_0x34b33b[_0x29f8b9(0x104)][_0x29f8b9(0x193)]=_0x184771,_0x34b33b[_0x29f8b9(0xad)][_0x29f8b9(0x1a6)]['commandToExecute']['outputTexture']=_0x34b33b[_0x29f8b9(0x104)][_0x29f8b9(0x158)];}}),'postProcessingPosition':new _0x35a8f1({'commandType':_0x541f81(0xee),'uniformMap':{'nextParticlesPosition':function(){var _0x1965d0=_0x541f81;return _0x34b33b[_0x1965d0(0x104)][_0x1965d0(0x158)];},'nextParticlesSpeed':function(){var _0x565c28=_0x541f81;return _0x34b33b[_0x565c28(0x104)][_0x565c28(0x154)];},'lonRange':function(){var _0x5d75b0=_0x541f81;return _0x5afde1[_0x5d75b0(0xa5)];},'latRange':function(){var _0x1f9651=_0x541f81;return _0x5afde1[_0x1f9651(0x18c)];},'randomCoefficient':function(){var _0x22262b=_0x541f81,_0x121c61=Math[_0x22262b(0x1c6)]();return _0x121c61;},'dropRate':function(){var _0xd70652=_0x541f81;return _0x141060[_0xd70652(0x1a5)];},'dropRateBump':function(){var _0x263bb2=_0x541f81;return _0x141060[_0x263bb2(0x71)];}},'fragmentShaderSource':new _0x2293a1[(_0x541f81(0xaa))]({'sources':[_0x19bc55['a']]}),'outputTexture':this[_0x541f81(0x104)][_0x541f81(0x193)],'preExecute':function(){var _0x47c927=_0x541f81;_0x34b33b[_0x47c927(0xad)][_0x47c927(0x193)][_0x47c927(0xe0)][_0x47c927(0x146)]=_0x34b33b[_0x47c927(0x104)][_0x47c927(0x193)];}}),'postProcessingSpeed':new _0x35a8f1({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){var _0x1b35f6=_0x541f81;return _0x34b33b[_0x1b35f6(0x104)][_0x1b35f6(0x193)];},'nextParticlesSpeed':function(){var _0x47cfc2=_0x541f81;return _0x34b33b['particlesTextures'][_0x47cfc2(0x154)];}},'fragmentShaderSource':new _0x2293a1[(_0x541f81(0xaa))]({'sources':[_0x483650['a']]}),'outputTexture':this[_0x541f81(0x104)][_0x541f81(0x14a)],'preExecute':function(){var _0x50e4c6=_0x541f81;_0x34b33b[_0x50e4c6(0xad)][_0x50e4c6(0x14a)][_0x50e4c6(0xe0)][_0x50e4c6(0x146)]=_0x34b33b[_0x50e4c6(0x104)][_0x50e4c6(0x14a)];}})};}}]),_0x545ed1;}(),_0x426207=function(){var _0x4b4e7d=_0x2f5fd6;function _0x110999(_0x35d719,_0x15c14c,_0x1647fb,_0x46236f){var _0x375470=a0_0x533b;_0x51906a()(this,_0x110999),this['context']=_0x35d719,this[_0x375470(0x1b1)]=_0x15c14c,this[_0x375470(0x188)]=_0x1647fb,this[_0x375470(0xc9)]=_0x46236f,this['particlesComputing']=new _0xca86ee(this[_0x375470(0x199)],this[_0x375470(0x1b1)],this[_0x375470(0x188)],this['viewerParameters']),this[_0x375470(0xfa)]=new _0x970e82(this[_0x375470(0x199)],this['data'],this['userInput'],this[_0x375470(0xc9)],this[_0x375470(0xc1)]);}return _0x35b026()(_0x110999,[{'key':_0x4b4e7d(0x1db),'value':function(_0x4ae3a0){var _0x5c6361=_0x4b4e7d,_0x41ab0f=this;this[_0x5c6361(0xc1)][_0x5c6361(0x11e)](),Object[_0x5c6361(0x187)](this[_0x5c6361(0xc1)][_0x5c6361(0x140)])['forEach'](function(_0x587fad){var _0x4332df=_0x5c6361;_0x41ab0f[_0x4332df(0xc1)][_0x4332df(0x140)][_0x587fad][_0x4332df(0x11b)]();}),this[_0x5c6361(0xfa)]['textures'][_0x5c6361(0xd6)][_0x5c6361(0x11b)](),Object['keys'](this[_0x5c6361(0xfa)][_0x5c6361(0x14c)])[_0x5c6361(0x1d5)](function(_0x4cb6a6){var _0x269d4f=_0x5c6361;_0x41ab0f[_0x269d4f(0xfa)][_0x269d4f(0x14c)][_0x4cb6a6]['destroy']();}),this[_0x5c6361(0x199)]=_0x4ae3a0,this['particlesComputing']=new _0xca86ee(this['context'],this[_0x5c6361(0x1b1)],this[_0x5c6361(0x188)],this[_0x5c6361(0xc9)]),this[_0x5c6361(0xfa)]=new _0x970e82(this[_0x5c6361(0x199)],this[_0x5c6361(0x1b1)],this['userInput'],this[_0x5c6361(0xc9)],this[_0x5c6361(0xc1)]);}},{'key':_0x4b4e7d(0xb9),'value':function(){var _0x13709f=_0x4b4e7d,_0x50f86e=this,_0x48d21d=new _0x2293a1['ClearCommand']({'color':new _0x2293a1[(_0x13709f(0x80))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x2293a1[_0x13709f(0x86)][_0x13709f(0x122)]});Object[_0x13709f(0x187)](this['particlesRendering'][_0x13709f(0x14c)])['forEach'](function(_0x1cda1e){var _0x48cc9c=_0x13709f;_0x48d21d[_0x48cc9c(0xfc)]=_0x50f86e['particlesRendering'][_0x48cc9c(0x14c)][_0x1cda1e],_0x48d21d[_0x48cc9c(0x125)](_0x50f86e[_0x48cc9c(0x199)]);});}},{'key':'refreshParticles','value':function(_0x29b233){var _0x228cdd=_0x4b4e7d;if(this[_0x228cdd(0xb9)](),this['particlesComputing'][_0x228cdd(0x11e)](),this[_0x228cdd(0xc1)][_0x228cdd(0xb5)](this[_0x228cdd(0x199)],this[_0x228cdd(0x188)],this[_0x228cdd(0xc9)]),_0x29b233){var _0x9addf1=this[_0x228cdd(0xfa)]['createSegmentsGeometry'](this[_0x228cdd(0x188)]);this['particlesRendering'][_0x228cdd(0xad)][_0x228cdd(0x186)][_0x228cdd(0x1d6)]=_0x9addf1;var _0x171f95=_0x2293a1[_0x228cdd(0x17e)]['fromGeometry']({'context':this[_0x228cdd(0x199)],'geometry':_0x9addf1,'attributeLocations':this[_0x228cdd(0xfa)]['primitives']['segments'][_0x228cdd(0x195)],'bufferUsage':_0x2293a1[_0x228cdd(0x11f)][_0x228cdd(0x170)]});this['particlesRendering'][_0x228cdd(0xad)][_0x228cdd(0x186)][_0x228cdd(0xe0)][_0x228cdd(0x120)]=_0x171f95;}}},{'key':'applyUserInput','value':function(_0x3122a1){var _0x4a9f30=_0x4b4e7d,_0x287abf=this,_0x2635e8=!0x1;this[_0x4a9f30(0x188)][_0x4a9f30(0x1aa)]!=_0x3122a1[_0x4a9f30(0x1aa)]&&(_0x2635e8=!0x0),Object[_0x4a9f30(0x187)](_0x3122a1)[_0x4a9f30(0x1d5)](function(_0x4cf5dc){var _0x467ae1=_0x4a9f30;_0x287abf[_0x467ae1(0x188)][_0x4cf5dc]=_0x3122a1[_0x4cf5dc];}),this['refreshParticles'](_0x2635e8);}},{'key':_0x4b4e7d(0x16c),'value':function(_0x24bdda){var _0x15f0dc=_0x4b4e7d,_0x44ad09=this;Object[_0x15f0dc(0x187)](_0x24bdda)[_0x15f0dc(0x1d5)](function(_0xe8baed){_0x44ad09['viewerParameters'][_0xe8baed]=_0x24bdda[_0xe8baed];}),this[_0x15f0dc(0x163)](!0x1);}}]),_0x110999;}();function _0x4fec11(_0x562c79){var _0x3f45a6=function(){var _0x1dcdd6=a0_0x533b;if('undefined'==typeof Reflect||!Reflect[_0x1dcdd6(0x128)])return!0x1;if(Reflect['construct']['sham'])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x1dcdd6(0x114)][_0x1dcdd6(0xb3)][_0x1dcdd6(0x7e)](Reflect[_0x1dcdd6(0x128)](Boolean,[],function(){})),!0x0;}catch(_0xb74530){return!0x1;}}();return function(){var _0x70b902=a0_0x533b,_0x548a6d,_0x43be1e=_0x4c4ef4()(_0x562c79);if(_0x3f45a6){var _0x5cde7f=_0x4c4ef4()(this)[_0x70b902(0xf9)];_0x548a6d=Reflect[_0x70b902(0x128)](_0x43be1e,arguments,_0x5cde7f);}else _0x548a6d=_0x43be1e['apply'](this,arguments);return _0x2de754()(this,_0x548a6d);};}var _0x612288=_0x17e980['layer'][_0x2f5fd6(0x1cf)],_0x52b174=0x1000,_0x5b2d3c=0x64,_0x84aadb=0.996,_0x4c4d0b=0.003,_0x34c29f=0.01,_0x3b07e8=0.5,_0x50b52d=0x2,_0x3bf53d=function(_0x2eaa65){var _0x15ee36=_0x2f5fd6;_0x2d68c9()(_0xa62713,_0x2eaa65);var _0x1e97f0=_0x4fec11(_0xa62713);function _0xa62713(){var _0x1e286a=a0_0x533b,_0x126ab5,_0x48e121=arguments[_0x1e286a(0xb7)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x51906a()(this,_0xa62713),(_0x126ab5=_0x1e97f0[_0x1e286a(0x7e)](this,_0x48e121))[_0x1e286a(0x1aa)]=_0x52b174,_0x126ab5['particleHeight']=_0x5b2d3c,_0x126ab5[_0x1e286a(0x19f)]=_0x84aadb,_0x126ab5[_0x1e286a(0x1a5)]=_0x4c4d0b,_0x126ab5['dropRateBump']=_0x34c29f,_0x126ab5[_0x1e286a(0x169)]=_0x3b07e8,_0x126ab5[_0x1e286a(0x118)]=_0x50b52d,_0x48e121){for(var _0x43c1b2 in _0x48e121)_0x126ab5[_0x43c1b2]=_0x48e121[_0x43c1b2];}return _0x126ab5;}return _0x35b026()(_0xa62713,[{'key':_0x15ee36(0x155),'get':function(){var _0x3a431b=_0x15ee36;return this[_0x3a431b(0xad)];}},{'key':_0x15ee36(0x143),'value':function(){}},{'key':_0x15ee36(0x87),'value':function(){var _0xbbaf5c=_0x15ee36;this[_0xbbaf5c(0x184)]=this['_map'][_0xbbaf5c(0x184)],this[_0xbbaf5c(0xd2)]=this[_0xbbaf5c(0xa1)]['camera'],this[_0xbbaf5c(0xad)]=new _0x2293a1['PrimitiveCollection'](),this[_0xbbaf5c(0xa1)][_0xbbaf5c(0x184)][_0xbbaf5c(0xad)][_0xbbaf5c(0x1ae)](this['primitives']),this[_0xbbaf5c(0xc9)]={'lonRange':new _0x2293a1[(_0xbbaf5c(0x142))](),'latRange':new _0x2293a1[(_0xbbaf5c(0x142))](),'pixelSize':0x0},this[_0xbbaf5c(0x15c)]=new _0x2293a1[(_0xbbaf5c(0x165))](_0x2293a1[_0xbbaf5c(0x77)][_0xbbaf5c(0x1b8)],6314355.63),this[_0xbbaf5c(0xdd)]();}},{'key':_0x15ee36(0x98),'value':function(){var _0x1fd156=_0x15ee36;this['primitives'][_0x1fd156(0x7f)](),this[_0x1fd156(0xa1)][_0x1fd156(0x184)]['primitives']['remove'](this['primitives']);}},{'key':'setData','value':function(_0x453a60){var _0x4f906c=_0x15ee36;this[_0x4f906c(0x151)]=new _0x426207(this[_0x4f906c(0x184)]['context'],_0x453a60,this[_0x4f906c(0x182)](),this['viewerParameters']),this[_0x4f906c(0x1a3)](),this['setupEventListeners']();}},{'key':_0x15ee36(0x194),'value':function(_0x2c9ba1){var _0x4761f9=_0x15ee36;if(_0x2c9ba1){for(var _0x5a3d62 in _0x2c9ba1)this[_0x5a3d62]=_0x2c9ba1[_0x5a3d62];}return this['particleSystem'][_0x4761f9(0xe2)](this['getUserInput']()),this;}},{'key':_0x15ee36(0x182),'value':function(){var _0x1c2e6a=_0x15ee36,_0x4df31e=Math[_0x1c2e6a(0x149)](Math['sqrt'](this['maxParticles']));return this[_0x1c2e6a(0x1aa)]=_0x4df31e*_0x4df31e,{'particlesTextureSize':_0x4df31e,'maxParticles':this[_0x1c2e6a(0x1aa)],'particleHeight':this[_0x1c2e6a(0x127)],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x1c2e6a(0x1a5)],'dropRateBump':this[_0x1c2e6a(0x71)],'speedFactor':this['speedFactor'],'lineWidth':this['lineWidth'],'globeLayer':this[_0x1c2e6a(0x1a8)],'WMS_URL':this[_0x1c2e6a(0x19a)]};}},{'key':_0x15ee36(0x1a3),'value':function(){var _0x429bf8=_0x15ee36;this[_0x429bf8(0xad)][_0x429bf8(0x1ae)](this[_0x429bf8(0x151)]['particlesComputing'][_0x429bf8(0xad)][_0x429bf8(0x1b4)]),this['primitives'][_0x429bf8(0x1ae)](this[_0x429bf8(0x151)]['particlesComputing'][_0x429bf8(0xad)]['updateSpeed']),this[_0x429bf8(0xad)][_0x429bf8(0x1ae)](this['particleSystem'][_0x429bf8(0xc1)]['primitives']['updatePosition']),this[_0x429bf8(0xad)][_0x429bf8(0x1ae)](this['particleSystem']['particlesComputing'][_0x429bf8(0xad)][_0x429bf8(0x193)]),this[_0x429bf8(0xad)][_0x429bf8(0x1ae)](this['particleSystem'][_0x429bf8(0xc1)][_0x429bf8(0xad)]['postProcessingSpeed']),this[_0x429bf8(0xad)]['add'](this[_0x429bf8(0x151)][_0x429bf8(0xfa)][_0x429bf8(0xad)]['segments']),this[_0x429bf8(0xad)][_0x429bf8(0x1ae)](this[_0x429bf8(0x151)][_0x429bf8(0xfa)][_0x429bf8(0xad)][_0x429bf8(0xba)]),this[_0x429bf8(0xad)]['add'](this[_0x429bf8(0x151)][_0x429bf8(0xfa)][_0x429bf8(0xad)][_0x429bf8(0x136)]);}},{'key':_0x15ee36(0xdd),'value':function(){var _0x2789b5=_0x15ee36,_0x58c7b9=this['camera'][_0x2789b5(0x166)](this[_0x2789b5(0x184)][_0x2789b5(0x1c1)]['ellipsoid']);if(!_0x58c7b9){var _0x16f48d=this[_0x2789b5(0xa1)][_0x2789b5(0xc5)]();_0x58c7b9=_0x2293a1[_0x2789b5(0xcf)][_0x2789b5(0x197)](_0x16f48d[_0x2789b5(0x157)],_0x16f48d['ymin'],_0x16f48d[_0x2789b5(0x171)],_0x16f48d[_0x2789b5(0x1b5)]);}var _0x1cd40b=_0x1907d9[_0x2789b5(0x10b)](_0x58c7b9);this['viewerParameters'][_0x2789b5(0xa5)]['x']=_0x1cd40b[_0x2789b5(0x9c)][_0x2789b5(0xeb)],this[_0x2789b5(0xc9)]['lonRange']['y']=_0x1cd40b[_0x2789b5(0x9c)][_0x2789b5(0x189)],this[_0x2789b5(0xc9)][_0x2789b5(0x18c)]['x']=_0x1cd40b[_0x2789b5(0xf7)][_0x2789b5(0xeb)],this[_0x2789b5(0xc9)][_0x2789b5(0x18c)]['y']=_0x1cd40b[_0x2789b5(0xf7)][_0x2789b5(0x189)];var _0x2ec8f8=this[_0x2789b5(0xd2)][_0x2789b5(0xc4)](this[_0x2789b5(0x15c)],this['scene'][_0x2789b5(0xe7)],this[_0x2789b5(0x184)][_0x2789b5(0x1c5)]);_0x2ec8f8>0x0&&(this[_0x2789b5(0xc9)][_0x2789b5(0x18f)]=_0x2ec8f8);}},{'key':_0x15ee36(0x164),'value':function(){var _0x47c467=_0x15ee36,_0x5c5a1f=this;this[_0x47c467(0xd2)][_0x47c467(0xce)]['addEventListener'](function(){var _0x35fe4b=_0x47c467;_0x5c5a1f[_0x35fe4b(0xa1)]&&_0x5c5a1f['show']&&(_0x5c5a1f[_0x35fe4b(0xad)]['show']=!0x1);}),this[_0x47c467(0xd2)][_0x47c467(0x78)][_0x47c467(0x1d3)](function(){var _0x5f58c8=_0x47c467;_0x5c5a1f['_map']&&_0x5c5a1f[_0x5f58c8(0xdc)]&&(_0x5c5a1f[_0x5f58c8(0xdd)](),_0x5c5a1f[_0x5f58c8(0x151)][_0x5f58c8(0x16c)](_0x5c5a1f[_0x5f58c8(0xc9)]),_0x5c5a1f[_0x5f58c8(0xad)][_0x5f58c8(0xdc)]=!0x0);});var _0x5b9e23=!0x1;window[_0x47c467(0x1d3)]('resize',function(){var _0x3d8c63=_0x47c467;_0x5c5a1f[_0x3d8c63(0xa1)]&&_0x5c5a1f[_0x3d8c63(0xdc)]&&(_0x5b9e23=!0x0,_0x5c5a1f[_0x3d8c63(0xad)][_0x3d8c63(0xdc)]=!0x1,_0x5c5a1f['primitives'][_0x3d8c63(0x7f)]());}),this[_0x47c467(0x184)][_0x47c467(0x89)][_0x47c467(0x1d3)](function(){var _0x39eb96=_0x47c467;_0x5c5a1f[_0x39eb96(0xa1)]&&_0x5b9e23&&(_0x5c5a1f['particleSystem'][_0x39eb96(0x1db)](_0x5c5a1f[_0x39eb96(0x184)][_0x39eb96(0x199)]),_0x5b9e23=!0x1,_0x5c5a1f[_0x39eb96(0x1a3)](),_0x5c5a1f[_0x39eb96(0xad)][_0x39eb96(0xdc)]=!0x0);});}}]),_0xa62713;}(_0x612288);_0x17e980[_0x2f5fd6(0xc2)][_0x2f5fd6(0xc0)](_0x2f5fd6(0x160),_0x3bf53d),_0x17e980[_0x2f5fd6(0x155)][_0x2f5fd6(0x1c8)]=_0x3bf53d;var _0x406e66=function _0x3915ca(){var _0x5f3f07=_0x2f5fd6;_0x51906a()(this,_0x3915ca),this[_0x5f3f07(0xa2)]=null,this['lat']=null,this[_0x5f3f07(0x159)]=null,this[_0x5f3f07(0xed)]=null,this[_0x5f3f07(0x1bb)]=null;},_0x228620=function(){var _0x599d01=_0x2f5fd6;function _0x12b12d(_0x349a58,_0x2acef6){var _0x19db57=a0_0x533b;_0x51906a()(this,_0x12b12d),this[_0x19db57(0x91)]=_0x349a58['rows'],this[_0x19db57(0x8f)]=_0x349a58[_0x19db57(0x8f)],this['xmin']=_0x349a58['xmin'],this[_0x19db57(0x171)]=_0x349a58[_0x19db57(0x171)],this['ymin']=_0x349a58['ymin'],this[_0x19db57(0x1b5)]=_0x349a58['ymax'],this[_0x19db57(0x121)]=[];var _0x4a43bc=_0x349a58[_0x19db57(0xd5)],_0x25722c=_0x349a58[_0x19db57(0xd7)],_0x23e561=!0x1;_0x4a43bc[_0x19db57(0xb7)]===this[_0x19db57(0x91)]&&_0x4a43bc[0x0][_0x19db57(0xb7)]===this[_0x19db57(0x8f)]&&(_0x23e561=!0x0);for(var _0x471d93=0x0,_0x1df7bc=null,_0xc49343=null,_0x46907=0x0;_0x46907<this[_0x19db57(0x91)];_0x46907++){_0x1df7bc=[];for(var _0x6663f7=0x0;_0x6663f7<this[_0x19db57(0x8f)];_0x6663f7++,_0x471d93++)_0xc49343=_0x23e561?this[_0x19db57(0x12a)](_0x4a43bc[_0x46907][_0x6663f7],_0x25722c[_0x46907][_0x6663f7]):this[_0x19db57(0x12a)](_0x4a43bc[_0x471d93],_0x25722c[_0x471d93]),_0x1df7bc[_0x19db57(0xfb)](_0xc49343);this[_0x19db57(0x121)][_0x19db57(0xfb)](_0x1df7bc);}_0x2acef6&&this['grid']['reverse']();}return _0x35b026()(_0x12b12d,[{'key':_0x599d01(0x131),'value':function(_0x17ba16,_0x31a04f){var _0x293201=_0x599d01;return{'x':(_0x17ba16-this[_0x293201(0x157)])/(this[_0x293201(0x171)]-this[_0x293201(0x157)])*(this[_0x293201(0x8f)]-0x1),'y':(this['ymax']-_0x31a04f)/(this[_0x293201(0x1b5)]-this[_0x293201(0x161)])*(this[_0x293201(0x91)]-0x1)};}},{'key':'getUVByXY','value':function(_0xbeb2b7,_0x5bf93a){var _0x339cc4=_0x599d01;if(_0xbeb2b7<0x0||_0xbeb2b7>=this[_0x339cc4(0x8f)]||_0x5bf93a>=this[_0x339cc4(0x91)])return[0x0,0x0,0x0];var _0x580f72,_0x53268a,_0x2bee29=Math[_0x339cc4(0x130)](_0xbeb2b7),_0x2271b8=Math[_0x339cc4(0x130)](_0x5bf93a);if(_0x2bee29===_0xbeb2b7&&_0x2271b8===_0x5bf93a)return this[_0x339cc4(0x121)][_0x5bf93a][_0xbeb2b7];_0x580f72=_0x2bee29+0x1,_0x53268a=_0x2271b8+0x1;var _0x179704=this['getUVByXY'](_0x2bee29,_0x2271b8),_0x40e279=this[_0x339cc4(0xbe)](_0x580f72,_0x2271b8),_0x2b3c3e=this[_0x339cc4(0xbe)](_0x2bee29,_0x53268a),_0x3587a7=this[_0x339cc4(0xbe)](_0x580f72,_0x53268a),_0x431d5c=null;try{_0x431d5c=this[_0x339cc4(0x1b3)](_0xbeb2b7-_0x2bee29,_0x5bf93a-_0x2271b8,_0x179704,_0x40e279,_0x2b3c3e,_0x3587a7);}catch(_0xca2339){console[_0x339cc4(0x1b9)](_0xbeb2b7,_0x5bf93a);}return _0x431d5c;}},{'key':_0x599d01(0x1b3),'value':function(_0x3dc4bf,_0xc1b203,_0x1cd67d,_0x3ab13a,_0x55b685,_0x146b65){var _0x46b64d=0x1-_0x3dc4bf,_0x247a9f=0x1-_0xc1b203,_0x345348=_0x46b64d*_0x247a9f,_0x1d440e=_0x3dc4bf*_0x247a9f,_0x3e9592=_0x46b64d*_0xc1b203,_0x30167d=_0x3dc4bf*_0xc1b203,_0x5618a7=_0x1cd67d[0x0]*_0x345348+_0x3ab13a[0x0]*_0x1d440e+_0x55b685[0x0]*_0x3e9592+_0x146b65[0x0]*_0x30167d,_0x17f105=_0x1cd67d[0x1]*_0x345348+_0x3ab13a[0x1]*_0x1d440e+_0x55b685[0x1]*_0x3e9592+_0x146b65[0x1]*_0x30167d;return this['_calcUV'](_0x5618a7,_0x17f105);}},{'key':_0x599d01(0x12a),'value':function(_0x4497e5,_0x334c95){var _0x391b52=_0x599d01;return[+_0x4497e5,+_0x334c95,Math[_0x391b52(0x1d4)](_0x4497e5*_0x4497e5+_0x334c95*_0x334c95)];}},{'key':'getUVByPoint','value':function(_0xabe2b4,_0xf00e7b){var _0x1160d1=_0x599d01;if(!this[_0x1160d1(0x11a)](_0xabe2b4,_0xf00e7b))return null;var _0x32b4ec=this['toGridXY'](_0xabe2b4,_0xf00e7b);return this[_0x1160d1(0xbe)](_0x32b4ec['x'],_0x32b4ec['y']);}},{'key':_0x599d01(0x11a),'value':function(_0x34dcb9,_0x403c19){var _0xa192fc=_0x599d01;return _0x34dcb9>=this[_0xa192fc(0x157)]&&_0x34dcb9<=this['xmax']&&_0x403c19>=this[_0xa192fc(0x161)]&&_0x403c19<=this[_0xa192fc(0x1b5)];}},{'key':_0x599d01(0xb0),'value':function(){var _0x4ee493=_0x599d01,_0x243956=_0x4db90e(this['xmin'],this[_0x4ee493(0x171)]);return{'lat':_0x4db90e(this[_0x4ee493(0x161)],this[_0x4ee493(0x1b5)]),'lng':_0x243956};}}]),_0x12b12d;}();function _0x4db90e(_0x14a5dc,_0x4c843e){return _0x14a5dc+Math['random']()*(_0x4c843e-_0x14a5dc);}function _0x55321a(_0x201c23){var _0xfeb95=function(){var _0x118b07=a0_0x533b;if(_0x118b07(0xff)==typeof Reflect||!Reflect[_0x118b07(0x128)])return!0x1;if(Reflect[_0x118b07(0x128)][_0x118b07(0x1c9)])return!0x1;if(_0x118b07(0x83)==typeof Proxy)return!0x0;try{return Boolean[_0x118b07(0x114)][_0x118b07(0xb3)][_0x118b07(0x7e)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x58e20a){return!0x1;}}();return function(){var _0x10a303=a0_0x533b,_0x5540f2,_0x90cbc4=_0x4c4ef4()(_0x201c23);if(_0xfeb95){var _0xb86d77=_0x4c4ef4()(this)['constructor'];_0x5540f2=Reflect[_0x10a303(0x128)](_0x90cbc4,arguments,_0xb86d77);}else _0x5540f2=_0x90cbc4[_0x10a303(0x18d)](this,arguments);return _0x2de754()(this,_0x5540f2);};}var _0x249484=function(_0x4db56f){var _0x1c28ac=_0x2f5fd6;_0x2d68c9()(_0x264682,_0x4db56f);var _0x345d36=_0x55321a(_0x264682);function _0x264682(){var _0x247be9=a0_0x533b,_0x29484d,_0x3a9eec=arguments[_0x247be9(0xb7)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x51906a()(this,_0x264682),(_0x29484d=_0x345d36[_0x247be9(0x7e)](this,_0x3a9eec))[_0x247be9(0xf4)]=[0x0,0x0],_0x29484d[_0x247be9(0x94)]=[],_0x29484d['speedRate']=_0x3a9eec[_0x247be9(0x191)]||0x32,_0x29484d[_0x247be9(0x85)]=_0x3a9eec['particlesNumber']||0x4e20,_0x29484d['_maxAge']=_0x3a9eec[_0x247be9(0x9e)]||0x78,_0x29484d['frameTime']=0x3e8/(_0x3a9eec['frameRate']||0xa),_0x29484d[_0x247be9(0x153)]=_0x2293a1[_0x247be9(0xd4)](_0x29484d['options'][_0x247be9(0x14e)],!0x1),_0x29484d['color']=_0x3a9eec[_0x247be9(0x9f)]||_0x247be9(0xfd),_0x29484d[_0x247be9(0x118)]=_0x3a9eec[_0x247be9(0x118)]||0x1,_0x29484d[_0x247be9(0x1a7)]=_0x2293a1[_0x247be9(0xd4)](_0x3a9eec[_0x247be9(0x1a7)],0x0),_0x29484d[_0x247be9(0x12d)]=_0x2293a1[_0x247be9(0xd4)](_0x3a9eec[_0x247be9(0x12d)],!0x1),_0x29484d[_0x247be9(0x113)]=null,_0x29484d;}return _0x35b026()(_0x264682,[{'key':_0x1c28ac(0x155),'get':function(){var _0x3d6fb4=_0x1c28ac;return this[_0x3d6fb4(0x113)];}},{'key':_0x1c28ac(0x123),'get':function(){var _0xb87f52=_0x1c28ac;return this[_0xb87f52(0xa1)]['scene'][_0xb87f52(0x113)]['clientWidth'];}},{'key':_0x1c28ac(0xac),'get':function(){var _0x3987c4=_0x1c28ac;return this['_map']['scene'][_0x3987c4(0x113)][_0x3987c4(0x134)];}},{'key':_0x1c28ac(0x14e),'get':function(){var _0x4da3f8=_0x1c28ac;return this[_0x4da3f8(0x153)];},'set':function(_0x379c2a){var _0x2bd7b2=_0x1c28ac;this[_0x2bd7b2(0x153)]=_0x379c2a,this[_0x2bd7b2(0x113)][_0x2bd7b2(0x14d)][_0x2bd7b2(0xde)]=_0x379c2a?_0x2bd7b2(0x72):'none';}},{'key':_0x1c28ac(0x191),'get':function(){return this['_speedRate'];},'set':function(_0x40e86f){var _0x2b4069=_0x1c28ac;this[_0x2b4069(0x1de)]=0x64*(0x64-(_0x40e86f>0x63?0x63:_0x40e86f)),this[_0x2b4069(0xa0)]();}},{'key':_0x1c28ac(0x126),'get':function(){var _0x492f83=_0x1c28ac;return this[_0x492f83(0x85)];},'set':function(_0x181d7f){var _0xe0637=_0x1c28ac,_0x5ba988=this;this[_0xe0637(0x85)]=_0x181d7f,clearTimeout(this[_0xe0637(0x115)]),this[_0xe0637(0x115)]=setTimeout(function(){_0x5ba988['redraw']();},0x1f4);}},{'key':_0x1c28ac(0x9e),'get':function(){return this['_maxAge'];},'set':function(_0x34d816){var _0x567aad=_0x1c28ac,_0xcec7bf=this;this[_0x567aad(0xa4)]=_0x34d816,clearTimeout(this['canrefresh']),this[_0x567aad(0x115)]=setTimeout(function(){_0xcec7bf['redraw']();},0x1f4);}},{'key':_0x1c28ac(0x1b1),'get':function(){var _0x289d95=_0x1c28ac;return this[_0x289d95(0x1b7)];},'set':function(_0x35abec){var _0x3739c0=_0x1c28ac;this[_0x3739c0(0x102)](_0x35abec);}},{'key':_0x1c28ac(0x141),'value':function(_0x4ee87b){var _0x27f027=_0x1c28ac;this[_0x27f027(0x113)]&&(_0x4ee87b?(this['bindEvent'](),this[_0x27f027(0x113)][_0x27f027(0x14d)][_0x27f027(0x7a)]=_0x27f027(0x1a2)):(this['unbindEvent'](),this['canvas'][_0x27f027(0x14d)]['visibility']=_0x27f027(0xc8)));}},{'key':_0x1c28ac(0x143),'value':function(){}},{'key':_0x1c28ac(0x87),'value':function(){var _0x269031=_0x1c28ac;this['canvas']=this[_0x269031(0xf3)](),this[_0x269031(0x16e)]=this['canvas']['getContext']('2d'),this['bindEvent'](),this['options'][_0x269031(0x1b1)]&&this[_0x269031(0x102)](this['options'][_0x269031(0x1b1)]);}},{'key':_0x1c28ac(0x98),'value':function(){var _0x5b30f9=_0x1c28ac;this[_0x5b30f9(0x12f)](),this[_0x5b30f9(0xe6)](),this[_0x5b30f9(0x113)]&&(this[_0x5b30f9(0xa1)][_0x5b30f9(0x7b)][_0x5b30f9(0x17b)](this[_0x5b30f9(0x113)]),delete this['canvas']);}},{'key':_0x1c28ac(0xf3),'value':function(){var _0x46a458=_0x1c28ac,_0x150237=document[_0x46a458(0x1a4)]('canvas');_0x150237[_0x46a458(0x14d)]['position']=_0x46a458(0x135),_0x150237[_0x46a458(0x14d)]['top']=_0x46a458(0x1bf),_0x150237[_0x46a458(0x14d)][_0x46a458(0x95)]='0px',_0x150237[_0x46a458(0x14d)][_0x46a458(0x145)]=_0x46a458(0xcc),_0x150237[_0x46a458(0x14d)][_0x46a458(0x1c4)]=_0x46a458(0xcc),_0x150237[_0x46a458(0x14d)]['pointerEvents']=this[_0x46a458(0x153)]?_0x46a458(0x172):_0x46a458(0xa9),_0x150237[_0x46a458(0x14d)][_0x46a458(0xea)]=0xa,_0x150237[_0x46a458(0x16a)]('id',_0x46a458(0x147)),_0x150237[_0x46a458(0x16a)](_0x46a458(0xc7),_0x46a458(0x147)),this['_map'][_0x46a458(0x7b)]['appendChild'](_0x150237);var _0x3346be=this[_0x46a458(0xa1)]['scene'];return _0x150237[_0x46a458(0x145)]=_0x3346be[_0x46a458(0x113)][_0x46a458(0x162)],_0x150237['height']=_0x3346be[_0x46a458(0x113)][_0x46a458(0x134)],_0x150237;}},{'key':_0x1c28ac(0x9b),'value':function(){var _0x406c84=_0x1c28ac;this[_0x406c84(0x113)]&&(this[_0x406c84(0x113)]['width']=this[_0x406c84(0x123)],this['canvas'][_0x406c84(0x1c4)]=this[_0x406c84(0xac)]);}},{'key':_0x1c28ac(0x7d),'value':function(){var _0x4fc969=_0x1c28ac,_0x472295=this,_0x26ced9=this,_0x6dac2d=Date[_0x4fc969(0x9d)]();!function _0x5aac5f(){var _0x435f66=_0x4fc969;_0x26ced9[_0x435f66(0x132)]=window[_0x435f66(0x1bc)](_0x5aac5f);var _0xf087d8=Date[_0x435f66(0x9d)](),_0x494a17=_0xf087d8-_0x6dac2d;_0x494a17>_0x26ced9['frameTime']&&(_0x6dac2d=_0xf087d8-_0x494a17%_0x26ced9[_0x435f66(0x81)],_0x26ced9[_0x435f66(0x93)]());}(),window[_0x4fc969(0x1d3)]('resize',this[_0x4fc969(0x9b)][_0x4fc969(0x9a)](this),!0x1),this[_0x4fc969(0xae)]=new _0x2293a1['ScreenSpaceEventHandler'](this['_map'][_0x4fc969(0x184)][_0x4fc969(0x113)]);var _0x54d331=!0x1,_0xcc929=!0x1;this[_0x4fc969(0xae)][_0x4fc969(0x10e)](function(_0x3d2159){var _0x2f4172=_0x4fc969;clearTimeout(-0x1),_0x472295[_0x2f4172(0x113)][_0x2f4172(0x14d)][_0x2f4172(0x7a)]=_0x2f4172(0xc8),setTimeout(function(){var _0x746963=_0x2f4172;_0x472295[_0x746963(0x15f)](),_0x472295[_0x746963(0x113)]['style'][_0x746963(0x7a)]='visible';},0xc8);},_0x2293a1[_0x4fc969(0x10c)][_0x4fc969(0x17a)]),this[_0x4fc969(0xae)][_0x4fc969(0x10e)](function(_0x5471cd){_0x54d331=!0x0;},_0x2293a1['ScreenSpaceEventType'][_0x4fc969(0x1b0)]),this[_0x4fc969(0xae)][_0x4fc969(0x10e)](function(_0x5a8b2c){_0x54d331=!0x0;},_0x2293a1['ScreenSpaceEventType'][_0x4fc969(0x174)]),this[_0x4fc969(0xae)][_0x4fc969(0x10e)](function(_0x42ac18){var _0x1a38fe=_0x4fc969;_0x54d331&&(_0x472295['canvas'][_0x1a38fe(0x14d)][_0x1a38fe(0x7a)]=_0x1a38fe(0xc8),_0xcc929=!0x0);},_0x2293a1[_0x4fc969(0x10c)][_0x4fc969(0x110)]),this[_0x4fc969(0xae)][_0x4fc969(0x10e)](function(_0x52ef7f){var _0x1a251e=_0x4fc969;_0x54d331&&_0xcc929&&_0x472295[_0x1a251e(0x15f)](),_0x472295[_0x1a251e(0x113)][_0x1a251e(0x14d)][_0x1a251e(0x7a)]='visible',_0x54d331=!0x1,_0xcc929=!0x1;},_0x2293a1[_0x4fc969(0x10c)][_0x4fc969(0x1ad)]),this['handler'][_0x4fc969(0x10e)](function(_0x2af115){var _0x400f4a=_0x4fc969;_0x54d331&&_0xcc929&&_0x472295[_0x400f4a(0x15f)](),_0x472295[_0x400f4a(0x113)]['style']['visibility']='visible',_0x54d331=!0x1,_0xcc929=!0x1;},_0x2293a1[_0x4fc969(0x10c)][_0x4fc969(0x198)]);}},{'key':'unbindEvent','value':function(){var _0x14d8e7=_0x1c28ac;window[_0x14d8e7(0x117)](this[_0x14d8e7(0x132)]),delete this[_0x14d8e7(0x132)],window[_0x14d8e7(0xf8)]('resize',this['resize']),this[_0x14d8e7(0xae)]&&(this[_0x14d8e7(0xae)][_0x14d8e7(0x11b)](),this[_0x14d8e7(0xae)]=null);}},{'key':_0x1c28ac(0x15f),'value':function(){var _0x28219b=_0x1c28ac;this[_0x28219b(0x94)]=[],this[_0x28219b(0xcb)]();}},{'key':'updateDate','value':function(_0x24d0f4){var _0x3baadb=_0x1c28ac;this[_0x3baadb(0x12f)](),this[_0x3baadb(0x1b7)]=_0x24d0f4,this[_0x3baadb(0x12c)]=new _0x228620(this[_0x3baadb(0x1b7)],this[_0x3baadb(0x12d)]),this['drawWind']();}},{'key':_0x1c28ac(0xcb),'value':function(){var _0x13edfa=_0x1c28ac;this[_0x13edfa(0xa0)]();for(var _0x315c1e=0x0;_0x315c1e<this[_0x13edfa(0x126)];_0x315c1e++){var _0x532314=this[_0x13edfa(0x1c7)](new _0x406e66());this[_0x13edfa(0x94)][_0x13edfa(0xfb)](_0x532314);}this['canvasContext'][_0x13edfa(0x10f)]=_0x13edfa(0x139),this[_0x13edfa(0x16e)][_0x13edfa(0xf0)]=0.6,this[_0x13edfa(0x93)]();}},{'key':'_calcStep','value':function(){var _0x46cccd=_0x1c28ac;this[_0x46cccd(0x12c)]&&(this[_0x46cccd(0xf4)]=[(this[_0x46cccd(0x12c)][_0x46cccd(0x171)]-this[_0x46cccd(0x12c)][_0x46cccd(0x157)])/this[_0x46cccd(0x191)],(this[_0x46cccd(0x12c)]['ymax']-this[_0x46cccd(0x12c)][_0x46cccd(0x161)])/this['speedRate']]);}},{'key':_0x1c28ac(0x93),'value':function(){var _0x379762=_0x1c28ac,_0x496261=this;if(this[_0x379762(0xdc)]&&!(this[_0x379762(0x94)][_0x379762(0xb7)]<=0x0)){var _0x55187e=null,_0x219857=null,_0x3d04a5=null;this[_0x379762(0x94)][_0x379762(0x1d5)](function(_0x20e583){var _0x43de69=_0x379762;if(_0x20e583[_0x43de69(0x1bb)]<=0x0&&_0x496261[_0x43de69(0x1c7)](_0x20e583),_0x20e583[_0x43de69(0x1bb)]>0x0){var _0xf774d6=_0x20e583['tlng'],_0x2a77fb=_0x20e583[_0x43de69(0xed)];(_0x3d04a5=_0x496261['windField']['getUVByPoint'](_0xf774d6,_0x2a77fb))?(_0x55187e=_0xf774d6+_0x496261[_0x43de69(0xf4)][0x0]*_0x3d04a5[0x0],_0x219857=_0x2a77fb+_0x496261['calc_speedRate'][0x1]*_0x3d04a5[0x1],_0x20e583[_0x43de69(0xa2)]=_0xf774d6,_0x20e583['lat']=_0x2a77fb,_0x20e583[_0x43de69(0x159)]=_0x55187e,_0x20e583['tlat']=_0x219857,_0x20e583['age']--):_0x20e583[_0x43de69(0x1bb)]=0x0;}}),this[_0x379762(0x1c0)]();}}},{'key':_0x1c28ac(0x176),'value':function(_0x4a3288,_0x475bf8,_0x1393c0){var _0x39c172=_0x1c28ac,_0x4e1962=_0x2293a1[_0x39c172(0x77)]['fromDegrees'](_0x4a3288,_0x475bf8,this['fixedHeight']),_0x4a6aaf=this[_0x39c172(0xa1)]['scene'];if(_0x4a6aaf[_0x39c172(0x1c2)]===_0x2293a1[_0x39c172(0x167)][_0x39c172(0xd3)]&&!new _0x2293a1['EllipsoidalOccluder'](_0x4a6aaf[_0x39c172(0x1c1)][_0x39c172(0x1cb)],_0x4a6aaf[_0x39c172(0xd2)][_0x39c172(0xb4)])[_0x39c172(0x138)](_0x4e1962))return _0x1393c0[_0x39c172(0x1bb)]=0x0,null;var _0x24cdaa=_0x2293a1['SceneTransforms'][_0x39c172(0x70)](this[_0x39c172(0xa1)][_0x39c172(0x184)],_0x4e1962);return _0x24cdaa?[_0x24cdaa['x'],_0x24cdaa['y']]:null;}},{'key':'_drawLines','value':function(){var _0x984932=_0x1c28ac,_0x508d2d=this,_0x27aa30=this['particles'];this['canvasContext']['lineWidth']=_0x508d2d[_0x984932(0x118)],this[_0x984932(0x16e)][_0x984932(0x148)]=_0x984932(0xe5),this[_0x984932(0x16e)][_0x984932(0x1ca)](0x0,0x0,this[_0x984932(0x123)],this[_0x984932(0xac)]),this['canvasContext'][_0x984932(0x148)]='lighter',this[_0x984932(0x16e)]['globalAlpha']=0.9,this[_0x984932(0x16e)]['beginPath'](),this[_0x984932(0x16e)]['strokeStyle']=this[_0x984932(0x9f)];var _0x566f7b=this[_0x984932(0xa1)][_0x984932(0x184)][_0x984932(0x1c2)]!==_0x2293a1[_0x984932(0x167)][_0x984932(0xd3)];_0x27aa30[_0x984932(0x1d5)](function(_0x118623){var _0x3969f2=_0x984932,_0x3d39ff=_0x508d2d[_0x3969f2(0x176)](_0x118623['lng'],_0x118623[_0x3969f2(0xf7)],_0x118623),_0x21a436=_0x508d2d[_0x3969f2(0x176)](_0x118623[_0x3969f2(0x159)],_0x118623['tlat'],_0x118623);if(null!=_0x3d39ff&&null!=_0x21a436){var _0x1c2d46=Math[_0x3969f2(0x10a)](_0x3d39ff[0x0]-_0x21a436[0x0]);_0x566f7b&&_0x1c2d46>=_0x508d2d['canvasWidth']||(_0x508d2d[_0x3969f2(0x16e)][_0x3969f2(0x88)](_0x3d39ff[0x0],_0x3d39ff[0x1]),_0x508d2d['canvasContext']['lineTo'](_0x21a436[0x0],_0x21a436[0x1]));}}),this['canvasContext'][_0x984932(0x108)]();}},{'key':_0x1c28ac(0x1c7),'value':function(_0x48a92c){var _0x5a53b9=_0x1c28ac;for(var _0xe45045,_0x4c29c9,_0x3f45f7=0x0;_0x3f45f7<0x1e&&(_0xe45045=this[_0x5a53b9(0x12c)]['getRandomLatLng'](),!((_0x4c29c9=this['windField'][_0x5a53b9(0xa6)](_0xe45045['lng'],_0xe45045[_0x5a53b9(0xf7)]))&&_0x4c29c9[0x2]>0x0));_0x3f45f7++);if(!_0x4c29c9)return _0x48a92c;var _0x5ce0ed=_0xe45045[_0x5a53b9(0xa2)]+this['calc_speedRate'][0x0]*_0x4c29c9[0x0],_0x4653a7=_0xe45045[_0x5a53b9(0xf7)]+this[_0x5a53b9(0xf4)][0x1]*_0x4c29c9[0x1];return _0x48a92c['lng']=_0xe45045['lng'],_0x48a92c[_0x5a53b9(0xf7)]=_0xe45045[_0x5a53b9(0xf7)],_0x48a92c['tlng']=_0x5ce0ed,_0x48a92c[_0x5a53b9(0xed)]=_0x4653a7,_0x48a92c['age']=Math[_0x5a53b9(0x18a)](Math[_0x5a53b9(0x1c6)]()*this[_0x5a53b9(0x9e)]),_0x48a92c;}},{'key':_0x1c28ac(0x12f),'value':function(){var _0x37ea20=_0x1c28ac;this[_0x37ea20(0x94)]=[],delete this[_0x37ea20(0x12c)],delete this['windData'];}}]),_0x264682;}(_0x17e980[_0x2f5fd6(0x155)][_0x2f5fd6(0x1cf)]);function _0x547450(_0x59e2de,_0x3dc91d){var _0x1d6fe7=_0x2f5fd6;return _0x59e2de*Math['cos'](_0x2293a1[_0x1d6fe7(0x150)][_0x1d6fe7(0xef)](_0x3dc91d));}function _0x59c461(_0x14582d,_0x1db7ab){var _0x4774af=_0x2f5fd6;return _0x14582d*Math['sin'](_0x2293a1[_0x4774af(0x150)][_0x4774af(0xef)](_0x1db7ab));}function _0x435bb2(_0x7796e3,_0x54194f){var _0x12c8aa=_0x2f5fd6;return Math[_0x12c8aa(0x1d4)](Math[_0x12c8aa(0x1d9)](_0x7796e3,0x2)+Math[_0x12c8aa(0x1d9)](_0x54194f,0x2));}function _0x1748cc(_0x2fc6ac,_0x5cadec){var _0x2340b5=_0x2f5fd6,_0x55d059=_0x2293a1[_0x2340b5(0x150)][_0x2340b5(0x179)](Math[_0x2340b5(0x1c3)](_0x5cadec,_0x2fc6ac));return _0x55d059+=_0x55d059<0x0?0x168:0x0;}_0x17e980[_0x2f5fd6(0xc2)][_0x2f5fd6(0xc0)]('canvasWind',_0x249484),_0x17e980[_0x2f5fd6(0x155)][_0x2f5fd6(0x13a)]=_0x249484,_0x17e980[_0x2f5fd6(0x14b)]=_0x481af0;}]);}));
\ No newline at end of file

--
Gitblit v1.9.1