mars3d-wind 3.1.13 → 3.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/mars3d-wind.js +3 -3
- package/package.json +6 -3
- package/index.html +0 -124
package/README.md
CHANGED
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Mars3D平台插件,支持气象 风向图 功能插件
|
|
3
|
-
* 版本信息:v3.1.
|
|
4
|
-
* 编译日期:2021-
|
|
3
|
+
* 版本信息:v3.1.18
|
|
4
|
+
* 编译日期:2021-12-26 15:10:27
|
|
5
5
|
* 版权所有:Copyright by 火星科技 http://mars3d.cn
|
|
6
6
|
*/
|
|
7
7
|
(function webpackUniversalModuleDefinition(window) {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
function a0_0xc9c3(_0x2f3092,_0x35a8c2){var _0x5221b4=a0_0x5221();return a0_0xc9c3=function(_0xc9c3bb,_0x18fe59){_0xc9c3bb=_0xc9c3bb-0xec;var _0x2657ad=_0x5221b4[_0xc9c3bb];return _0x2657ad;},a0_0xc9c3(_0x2f3092,_0x35a8c2);}(function(_0x6f2d71,_0x13630e){var _0x25fa38=a0_0xc9c3,_0xe28dfa=_0x6f2d71();while(!![]){try{var _0x13fb16=parseInt(_0x25fa38(0x1dc))/0x1*(-parseInt(_0x25fa38(0x23c))/0x2)+-parseInt(_0x25fa38(0x1cf))/0x3*(parseInt(_0x25fa38(0x109))/0x4)+-parseInt(_0x25fa38(0x201))/0x5*(parseInt(_0x25fa38(0x14e))/0x6)+parseInt(_0x25fa38(0x178))/0x7+-parseInt(_0x25fa38(0x238))/0x8*(-parseInt(_0x25fa38(0x195))/0x9)+parseInt(_0x25fa38(0x1df))/0xa*(parseInt(_0x25fa38(0x124))/0xb)+parseInt(_0x25fa38(0x233))/0xc;if(_0x13fb16===_0x13630e)break;else _0xe28dfa['push'](_0xe28dfa['shift']());}catch(_0x5070f9){_0xe28dfa['push'](_0xe28dfa['shift']());}}}(a0_0x5221,0xeec67),window['mars3dWind']=function(_0xd69f16){var _0x949f81={};function _0x25897a(_0x533f1c){var _0x1809b3=a0_0xc9c3;if(_0x949f81[_0x533f1c])return _0x949f81[_0x533f1c][_0x1809b3(0x251)];var _0x576a16=_0x949f81[_0x533f1c]={'i':_0x533f1c,'l':!0x1,'exports':{}};return _0xd69f16[_0x533f1c][_0x1809b3(0x216)](_0x576a16[_0x1809b3(0x251)],_0x576a16,_0x576a16[_0x1809b3(0x251)],_0x25897a),_0x576a16['l']=!0x0,_0x576a16['exports'];}return _0x25897a['m']=_0xd69f16,_0x25897a['c']=_0x949f81,_0x25897a['d']=function(_0x5ec1fc,_0x32c179,_0x2ecce4){var _0x3d26b1=a0_0xc9c3;_0x25897a['o'](_0x5ec1fc,_0x32c179)||Object[_0x3d26b1(0x152)](_0x5ec1fc,_0x32c179,{'enumerable':!0x0,'get':_0x2ecce4});},_0x25897a['r']=function(_0x46f997){var _0x35d353=a0_0xc9c3;_0x35d353(0x22c)!=typeof Symbol&&Symbol[_0x35d353(0x14f)]&&Object[_0x35d353(0x152)](_0x46f997,Symbol[_0x35d353(0x14f)],{'value':_0x35d353(0x23a)}),Object[_0x35d353(0x152)](_0x46f997,'__esModule',{'value':!0x0});},_0x25897a['t']=function(_0x44a112,_0x25fd48){var _0x3e278f=a0_0xc9c3;if(0x1&_0x25fd48&&(_0x44a112=_0x25897a(_0x44a112)),0x8&_0x25fd48)return _0x44a112;if(0x4&_0x25fd48&&'object'==typeof _0x44a112&&_0x44a112&&_0x44a112[_0x3e278f(0x1a5)])return _0x44a112;var _0x398c91=Object[_0x3e278f(0x215)](null);if(_0x25897a['r'](_0x398c91),Object[_0x3e278f(0x152)](_0x398c91,_0x3e278f(0x1d5),{'enumerable':!0x0,'value':_0x44a112}),0x2&_0x25fd48&&_0x3e278f(0x1fe)!=typeof _0x44a112){for(var _0x3f9b5e in _0x44a112)_0x25897a['d'](_0x398c91,_0x3f9b5e,function(_0x4c40fb){return _0x44a112[_0x4c40fb];}[_0x3e278f(0x19e)](null,_0x3f9b5e));}return _0x398c91;},_0x25897a['n']=function(_0x4882c5){var _0x27db8c=a0_0xc9c3,_0x5a3276=_0x4882c5&&_0x4882c5[_0x27db8c(0x1a5)]?function(){var _0x33afc6=_0x27db8c;return _0x4882c5[_0x33afc6(0x1d5)];}:function(){return _0x4882c5;};return _0x25897a['d'](_0x5a3276,'a',_0x5a3276),_0x5a3276;},_0x25897a['o']=function(_0x1552b0,_0xc9bb16){var _0x5f45c4=a0_0xc9c3;return Object[_0x5f45c4(0x23f)][_0x5f45c4(0x242)][_0x5f45c4(0x216)](_0x1552b0,_0xc9bb16);},_0x25897a['p']='',_0x25897a(_0x25897a['s']=0x14);}([function(_0x3b9205,_0x1480d5){var _0x1c5ab6=a0_0xc9c3;_0x3b9205[_0x1c5ab6(0x251)]=window[_0x1c5ab6(0x225)];},function(_0x2b733f,_0xa24dba){var _0x4cb510=a0_0xc9c3;_0x2b733f[_0x4cb510(0x251)]=window['mars3d'];},function(_0x449e30,_0x36be79){var _0x1f546e=a0_0xc9c3;_0x449e30['exports']=function(_0x3e8b09,_0x1a6e1f){if(!(_0x3e8b09 instanceof _0x1a6e1f))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x449e30[_0x1f546e(0x251)][_0x1f546e(0x1d5)]=_0x449e30[_0x1f546e(0x251)],_0x449e30[_0x1f546e(0x251)]['__esModule']=!0x0;},function(_0x258c51,_0xb79465){var _0x278ef8=a0_0xc9c3;function _0x2373f1(_0x3feb1b,_0x56bc9e){var _0x5e47fb=a0_0xc9c3;for(var _0x1f23df=0x0;_0x1f23df<_0x56bc9e['length'];_0x1f23df++){var _0x55d503=_0x56bc9e[_0x1f23df];_0x55d503['enumerable']=_0x55d503['enumerable']||!0x1,_0x55d503[_0x5e47fb(0x15c)]=!0x0,_0x5e47fb(0x160)in _0x55d503&&(_0x55d503[_0x5e47fb(0x175)]=!0x0),Object[_0x5e47fb(0x152)](_0x3feb1b,_0x55d503[_0x5e47fb(0x224)],_0x55d503);}}_0x258c51['exports']=function(_0x3b64d2,_0x5f042a,_0x37bc81){var _0x37f726=a0_0xc9c3;return _0x5f042a&&_0x2373f1(_0x3b64d2[_0x37f726(0x23f)],_0x5f042a),_0x37bc81&&_0x2373f1(_0x3b64d2,_0x37bc81),_0x3b64d2;},_0x258c51[_0x278ef8(0x251)][_0x278ef8(0x1d5)]=_0x258c51[_0x278ef8(0x251)],_0x258c51[_0x278ef8(0x251)][_0x278ef8(0x1a5)]=!0x0;},function(_0x586605,_0x576c49){var _0x28799d=a0_0xc9c3;function _0x2e74ba(_0x4ed65c){var _0x4492f6=a0_0xc9c3;return _0x586605[_0x4492f6(0x251)]=_0x2e74ba=Object[_0x4492f6(0x17c)]?Object[_0x4492f6(0x1a0)]:function(_0x20370b){var _0x3b1f77=_0x4492f6;return _0x20370b[_0x3b1f77(0x105)]||Object['getPrototypeOf'](_0x20370b);},_0x586605[_0x4492f6(0x251)][_0x4492f6(0x1d5)]=_0x586605['exports'],_0x586605[_0x4492f6(0x251)][_0x4492f6(0x1a5)]=!0x0,_0x2e74ba(_0x4ed65c);}_0x586605[_0x28799d(0x251)]=_0x2e74ba,_0x586605['exports']['default']=_0x586605[_0x28799d(0x251)],_0x586605[_0x28799d(0x251)]['__esModule']=!0x0;},function(_0x35b960,_0x324447,_0x43fc8c){var _0x212fb8=a0_0xc9c3,_0x571212=_0x43fc8c(0x11);_0x35b960[_0x212fb8(0x251)]=function(_0x3cdd5f,_0x224396){var _0x6811e2=_0x212fb8;if(_0x6811e2(0xf4)!=typeof _0x224396&&null!==_0x224396)throw new TypeError(_0x6811e2(0x20b));_0x3cdd5f[_0x6811e2(0x23f)]=Object['create'](_0x224396&&_0x224396[_0x6811e2(0x23f)],{'constructor':{'value':_0x3cdd5f,'writable':!0x0,'configurable':!0x0}}),_0x224396&&_0x571212(_0x3cdd5f,_0x224396);},_0x35b960['exports']['default']=_0x35b960[_0x212fb8(0x251)],_0x35b960[_0x212fb8(0x251)]['__esModule']=!0x0;},function(_0xf00d51,_0x18beca,_0x2236a2){var _0x28c814=a0_0xc9c3,_0x1e2222=_0x2236a2(0x12)[_0x28c814(0x1d5)],_0x3e77d3=_0x2236a2(0x13);_0xf00d51[_0x28c814(0x251)]=function(_0x5e81cd,_0x5306bd){var _0x4b7bfd=_0x28c814;if(_0x5306bd&&(_0x4b7bfd(0x1bd)===_0x1e2222(_0x5306bd)||_0x4b7bfd(0xf4)==typeof _0x5306bd))return _0x5306bd;if(void 0x0!==_0x5306bd)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');return _0x3e77d3(_0x5e81cd);},_0xf00d51[_0x28c814(0x251)][_0x28c814(0x1d5)]=_0xf00d51[_0x28c814(0x251)],_0xf00d51[_0x28c814(0x251)][_0x28c814(0x1a5)]=!0x0;},function(_0x3817f2,_0xea9768){var _0x4dbe5b=a0_0xc9c3;_0x3817f2['exports']=_0x4dbe5b(0x156);},function(_0x19ac70,_0x20be8e){_0x19ac70['exports']='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(_0x5dd38a,_0x58d99c){var _0x3e5160=a0_0xc9c3;_0x5dd38a[_0x3e5160(0x251)]=_0x3e5160(0x21b);},function(_0x91c87d,_0x152384){_0x91c87d['exports']='uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}';},function(_0x320752,_0xcf8519){var _0x1751b4=a0_0xc9c3;_0x320752[_0x1751b4(0x251)]=_0x1751b4(0x154);},function(_0x28ac41,_0x51e40b){_0x28ac41['exports']='//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture2D(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}';},function(_0x489734,_0xb003b2){var _0x27c26d=a0_0xc9c3;_0x489734['exports']=_0x27c26d(0x1d0);},function(_0x45d5bf,_0x5052b1){var _0xe6e172=a0_0xc9c3;_0x45d5bf['exports']=_0xe6e172(0x1ec);},function(_0x2e91cb,_0x427817){var _0x43e2a5=a0_0xc9c3;_0x2e91cb['exports']=_0x43e2a5(0x244);},function(_0x447c13,_0x50fba8){var _0x241af7=a0_0xc9c3;_0x447c13[_0x241af7(0x251)]=_0x241af7(0xff);},function(_0x3df3f5,_0x4e8a89){var _0x2c0a83=a0_0xc9c3;function _0x45c868(_0x245078,_0xab740a){var _0x5be5ea=a0_0xc9c3;return _0x3df3f5[_0x5be5ea(0x251)]=_0x45c868=Object[_0x5be5ea(0x17c)]||function(_0x1a4d48,_0x3ac344){var _0x42ee2f=_0x5be5ea;return _0x1a4d48[_0x42ee2f(0x105)]=_0x3ac344,_0x1a4d48;},_0x3df3f5[_0x5be5ea(0x251)][_0x5be5ea(0x1d5)]=_0x3df3f5[_0x5be5ea(0x251)],_0x3df3f5[_0x5be5ea(0x251)]['__esModule']=!0x0,_0x45c868(_0x245078,_0xab740a);}_0x3df3f5[_0x2c0a83(0x251)]=_0x45c868,_0x3df3f5[_0x2c0a83(0x251)]['default']=_0x3df3f5['exports'],_0x3df3f5[_0x2c0a83(0x251)][_0x2c0a83(0x1a5)]=!0x0;},function(_0x7b907a,_0xd48139){var _0x188502=a0_0xc9c3;function _0x2f3830(_0x26b817){var _0x180018=a0_0xc9c3;return _0x180018(0xf4)==typeof Symbol&&_0x180018(0x146)==typeof Symbol[_0x180018(0x13b)]?(_0x7b907a[_0x180018(0x251)]=_0x2f3830=function(_0x52930c){return typeof _0x52930c;},_0x7b907a[_0x180018(0x251)][_0x180018(0x1d5)]=_0x7b907a[_0x180018(0x251)],_0x7b907a[_0x180018(0x251)][_0x180018(0x1a5)]=!0x0):(_0x7b907a['exports']=_0x2f3830=function(_0x5f115b){var _0x4c7134=_0x180018;return _0x5f115b&&'function'==typeof Symbol&&_0x5f115b['constructor']===Symbol&&_0x5f115b!==Symbol[_0x4c7134(0x23f)]?_0x4c7134(0x146):typeof _0x5f115b;},_0x7b907a[_0x180018(0x251)]['default']=_0x7b907a[_0x180018(0x251)],_0x7b907a[_0x180018(0x251)][_0x180018(0x1a5)]=!0x0),_0x2f3830(_0x26b817);}_0x7b907a[_0x188502(0x251)]=_0x2f3830,_0x7b907a[_0x188502(0x251)][_0x188502(0x1d5)]=_0x7b907a[_0x188502(0x251)],_0x7b907a[_0x188502(0x251)]['__esModule']=!0x0;},function(_0x37fd64,_0x26f813){var _0x30f423=a0_0xc9c3;_0x37fd64['exports']=function(_0x4c288d){if(void 0x0===_0x4c288d)throw new ReferenceError('this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called');return _0x4c288d;},_0x37fd64[_0x30f423(0x251)][_0x30f423(0x1d5)]=_0x37fd64['exports'],_0x37fd64['exports'][_0x30f423(0x1a5)]=!0x0;},function(_0x1ebe44,_0x6af6be,_0x5003d2){'use strict';var _0x2160b0=a0_0xc9c3;_0x5003d2['r'](_0x6af6be),_0x5003d2['d'](_0x6af6be,_0x2160b0(0x220),function(){return _0x3fc63b;}),_0x5003d2['d'](_0x6af6be,_0x2160b0(0x22d),function(){return _0x1269db;}),_0x5003d2['d'](_0x6af6be,_0x2160b0(0x205),function(){return _0x3006ae;});var _0x3006ae={};_0x5003d2['r'](_0x3006ae),_0x5003d2['d'](_0x3006ae,_0x2160b0(0x24a),function(){return _0x4f1c39;}),_0x5003d2['d'](_0x3006ae,_0x2160b0(0x125),function(){return _0x1e3a1d;}),_0x5003d2['d'](_0x3006ae,'getSpeed',function(){return _0x465d4b;}),_0x5003d2['d'](_0x3006ae,_0x2160b0(0x185),function(){return _0x321966;});var _0x4f1b8a=_0x5003d2(0x1),_0x27503c=_0x5003d2(0x2),_0x57d1a1=_0x5003d2['n'](_0x27503c),_0x183769=_0x5003d2(0x3),_0x2b52cc=_0x5003d2['n'](_0x183769),_0x536c3c=_0x5003d2(0x5),_0x242f6e=_0x5003d2['n'](_0x536c3c),_0x2dfc7c=_0x5003d2(0x6),_0x2108e0=_0x5003d2['n'](_0x2dfc7c),_0x300233=_0x5003d2(0x4),_0x371d1a=_0x5003d2['n'](_0x300233),_0x59fbcb=_0x5003d2(0x0),_0x433ba0=function(){var _0x531710=_0x2160b0;function _0x100fee(_0x60050d){var _0x2ea290=a0_0xc9c3;_0x57d1a1()(this,_0x100fee),this['commandType']=_0x60050d[_0x2ea290(0x1e2)],this[_0x2ea290(0x115)]=_0x60050d['geometry'],this[_0x2ea290(0x1a8)]=_0x60050d[_0x2ea290(0x1a8)],this['primitiveType']=_0x60050d[_0x2ea290(0x104)],this['uniformMap']=_0x60050d[_0x2ea290(0x19f)],this[_0x2ea290(0x200)]=_0x60050d[_0x2ea290(0x200)],this[_0x2ea290(0x194)]=_0x60050d[_0x2ea290(0x194)],this[_0x2ea290(0x255)]=_0x60050d['rawRenderState'],this['framebuffer']=_0x60050d[_0x2ea290(0x145)],this[_0x2ea290(0x25a)]=_0x60050d[_0x2ea290(0x25a)],this[_0x2ea290(0x230)]=_0x59fbcb['defaultValue'](_0x60050d[_0x2ea290(0x230)],!0x1),this[_0x2ea290(0x248)]=_0x60050d[_0x2ea290(0x248)],this[_0x2ea290(0x184)]=!0x0,this[_0x2ea290(0x168)]=void 0x0,this['clearCommand']=void 0x0,this[_0x2ea290(0x230)]&&(this[_0x2ea290(0x1f2)]=new _0x59fbcb[(_0x2ea290(0x179))]({'color':new _0x59fbcb['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':_0x59fbcb[_0x2ea290(0x148)][_0x2ea290(0x1be)]}));}return _0x2b52cc()(_0x100fee,[{'key':'createCommand','value':function(_0x13b5a3){var _0x553808=a0_0xc9c3;switch(this[_0x553808(0x1e2)]){case _0x553808(0x198):var _0x294741=_0x59fbcb['VertexArray'][_0x553808(0x1b1)]({'context':_0x13b5a3,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':_0x59fbcb['BufferUsage'][_0x553808(0x11c)]}),_0x1427a0=_0x59fbcb['ShaderProgram'][_0x553808(0x1ef)]({'context':_0x13b5a3,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this['vertexShaderSource'],'fragmentShaderSource':this[_0x553808(0x194)]}),_0x31a2e3=_0x59fbcb['RenderState'][_0x553808(0x1ef)](this['rawRenderState']);return new _0x59fbcb['DrawCommand']({'owner':this,'vertexArray':_0x294741,'primitiveType':this['primitiveType'],'uniformMap':this[_0x553808(0x19f)],'modelMatrix':_0x59fbcb['Matrix4']['IDENTITY'],'shaderProgram':_0x1427a0,'framebuffer':this[_0x553808(0x145)],'renderState':_0x31a2e3,'pass':_0x59fbcb[_0x553808(0x148)]['OPAQUE']});case _0x553808(0x15b):return new _0x59fbcb[(_0x553808(0x174))]({'owner':this,'fragmentShaderSource':this['fragmentShaderSource'],'uniformMap':this[_0x553808(0x19f)],'outputTexture':this[_0x553808(0x25a)],'persists':!0x0});}}},{'key':'setGeometry','value':function(_0x2111b7,_0x3464f1){var _0x22c7b7=a0_0xc9c3;this[_0x22c7b7(0x115)]=_0x3464f1;var _0x55446f=_0x59fbcb[_0x22c7b7(0x1d4)][_0x22c7b7(0x1b1)]({'context':_0x2111b7,'geometry':this['geometry'],'attributeLocations':this[_0x22c7b7(0x1a8)],'bufferUsage':_0x59fbcb[_0x22c7b7(0x106)]['STATIC_DRAW']});this[_0x22c7b7(0x168)][_0x22c7b7(0x1ed)]=_0x55446f;}},{'key':'update','value':function(_0x3984f2){var _0x40e2cf=a0_0xc9c3;this[_0x40e2cf(0x184)]&&_0x3984f2[_0x40e2cf(0x1aa)]==_0x59fbcb[_0x40e2cf(0x1b7)][_0x40e2cf(0x24d)]&&(_0x59fbcb[_0x40e2cf(0x161)](this['commandToExecute'])||(this[_0x40e2cf(0x168)]=this['createCommand'](_0x3984f2[_0x40e2cf(0x24f)])),_0x59fbcb[_0x40e2cf(0x161)](this['preExecute'])&&this[_0x40e2cf(0x248)](),_0x59fbcb['defined'](this[_0x40e2cf(0x1f2)])&&_0x3984f2[_0x40e2cf(0x1bb)][_0x40e2cf(0x1ad)](this[_0x40e2cf(0x1f2)]),_0x3984f2['commandList']['push'](this[_0x40e2cf(0x168)]));}},{'key':_0x531710(0x10e),'value':function(){return!0x1;}},{'key':_0x531710(0x126),'value':function(){var _0x44b045=_0x531710;return _0x59fbcb[_0x44b045(0x161)](this[_0x44b045(0x168)])&&(this[_0x44b045(0x168)]['shaderProgram']=this['commandToExecute'][_0x44b045(0x1f0)]&&this[_0x44b045(0x168)][_0x44b045(0x1f0)][_0x44b045(0x126)]()),_0x59fbcb[_0x44b045(0x188)](this);}}]),_0x100fee;}(),_0x3f76df={'getFullscreenQuad':function(){var _0x1a87de=_0x2160b0;return new _0x59fbcb[(_0x1a87de(0x249))]({'attributes':new _0x59fbcb['GeometryAttributes']({'position':new _0x59fbcb[(_0x1a87de(0x100))]({'componentDatatype':_0x59fbcb[_0x1a87de(0x1e0)][_0x1a87de(0xf5)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x59fbcb[(_0x1a87de(0x100))]({'componentDatatype':_0x59fbcb['ComponentDatatype'][_0x1a87de(0xf5)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x434f38,_0x22ff2a){var _0x3e7ada=_0x2160b0;if(_0x59fbcb[_0x3e7ada(0x161)](_0x22ff2a)){var _0x22af12={};_0x22af12[_0x3e7ada(0x162)]=_0x22ff2a,_0x434f38['source']=_0x22af12;}return new _0x59fbcb['Texture'](_0x434f38);},'createFramebuffer':function(_0x329bbe,_0x9cd801,_0x7285ab){return new _0x59fbcb['Framebuffer']({'context':_0x329bbe,'colorTextures':[_0x9cd801],'depthTexture':_0x7285ab});},'createRawRenderState':function(_0x3308e2){var _0x50d94d=_0x2160b0,_0x5cfb99={'viewport':_0x3308e2[_0x50d94d(0x134)],'depthTest':_0x3308e2[_0x50d94d(0x19a)],'depthMask':_0x3308e2[_0x50d94d(0x102)],'blending':_0x3308e2[_0x50d94d(0xf9)]};return _0x59fbcb[_0x50d94d(0x23e)][_0x50d94d(0x10a)](!0x0,!0x1,_0x5cfb99);},'viewRectangleToLonLatRange':function(_0x36c785){var _0x325a71=_0x2160b0,_0x40b4a3,_0x1bddce,_0x596b9f={},_0x3c698e=_0x59fbcb[_0x325a71(0x12e)][_0x325a71(0x1a1)](_0x36c785['west'],_0x59fbcb[_0x325a71(0x12e)][_0x325a71(0x153)]),_0x473c3b=_0x59fbcb[_0x325a71(0x12e)][_0x325a71(0x1a1)](_0x36c785[_0x325a71(0x25c)],_0x59fbcb['Math'][_0x325a71(0x153)]),_0x5d24a9=_0x36c785[_0x325a71(0x17e)];_0x5d24a9>_0x59fbcb[_0x325a71(0x12e)][_0x325a71(0x12a)]?(_0x40b4a3=0x0,_0x1bddce=_0x59fbcb[_0x325a71(0x12e)][_0x325a71(0x153)]):_0x473c3b-_0x3c698e<_0x5d24a9?(_0x40b4a3=_0x3c698e,_0x1bddce=_0x3c698e+_0x5d24a9):(_0x40b4a3=_0x3c698e,_0x1bddce=_0x473c3b),_0x596b9f[_0x325a71(0x16f)]={'min':_0x59fbcb['Math'][_0x325a71(0x246)](_0x40b4a3),'max':_0x59fbcb['Math'][_0x325a71(0x246)](_0x1bddce)};var _0x1c07dc=_0x36c785[_0x325a71(0x163)],_0x27788c=_0x36c785['north'],_0x536af9=_0x36c785['height'],_0x5c4a06=_0x536af9>_0x59fbcb[_0x325a71(0x12e)]['PI']/0xc?_0x536af9/0x2:0x0,_0x45de1e=_0x59fbcb['Math'][_0x325a71(0x11e)](_0x1c07dc-_0x5c4a06),_0x4ef188=_0x59fbcb[_0x325a71(0x12e)]['clampToLatitudeRange'](_0x27788c+_0x5c4a06);return _0x45de1e<-_0x59fbcb[_0x325a71(0x12e)][_0x325a71(0x234)]&&(_0x45de1e=-_0x59fbcb['Math'][_0x325a71(0x1ba)]),_0x4ef188>_0x59fbcb[_0x325a71(0x12e)][_0x325a71(0x234)]&&(_0x4ef188=_0x59fbcb[_0x325a71(0x12e)][_0x325a71(0x1ba)]),_0x596b9f[_0x325a71(0x20d)]={'min':_0x59fbcb['Math'][_0x325a71(0x246)](_0x45de1e),'max':_0x59fbcb[_0x325a71(0x12e)]['toDegrees'](_0x4ef188)},_0x596b9f;}},_0x50a685=_0x5003d2(0x8),_0x58883a=_0x5003d2['n'](_0x50a685),_0x22a83a=_0x5003d2(0x9),_0x4252b5=_0x5003d2['n'](_0x22a83a),_0x4810a5=_0x5003d2(0x7),_0x3f7b74=_0x5003d2['n'](_0x4810a5),_0x51ec38=_0x5003d2(0xa),_0x4a1e97=_0x5003d2['n'](_0x51ec38),_0x1333a7=_0x5003d2(0xb),_0xeed381=_0x5003d2['n'](_0x1333a7),_0x2c8d1d=function(){var _0x3b809c=_0x2160b0;function _0x5f91a3(_0x4ea8ca,_0xf3094b,_0x14627f,_0x5ca622,_0x4e3a09){var _0x59b320=a0_0xc9c3;_0x57d1a1()(this,_0x5f91a3),this['createRenderingTextures'](_0x4ea8ca,_0xf3094b),this[_0x59b320(0x1dd)](_0x4ea8ca),this[_0x59b320(0x180)](_0x4ea8ca,_0x14627f,_0x5ca622,_0x4e3a09);}return _0x2b52cc()(_0x5f91a3,[{'key':'createRenderingTextures','value':function(_0xa0ad5d,_0x514d11){var _0x10b5a8=a0_0xc9c3,_0x4ff595={'context':_0xa0ad5d,'width':_0xa0ad5d[_0x10b5a8(0x1f3)],'height':_0xa0ad5d[_0x10b5a8(0x25b)],'pixelFormat':_0x59fbcb['PixelFormat'][_0x10b5a8(0x1d6)],'pixelDatatype':_0x59fbcb['PixelDatatype'][_0x10b5a8(0x1ce)]},_0x65df3b={'context':_0xa0ad5d,'width':_0xa0ad5d[_0x10b5a8(0x1f3)],'height':_0xa0ad5d[_0x10b5a8(0x25b)],'pixelFormat':_0x59fbcb[_0x10b5a8(0x1d8)][_0x10b5a8(0x1fb)],'pixelDatatype':_0x59fbcb['PixelDatatype'][_0x10b5a8(0x1eb)]},_0x413572={'context':_0xa0ad5d,'width':_0x514d11[_0x10b5a8(0x167)][_0x10b5a8(0x143)],'height':0x1,'pixelFormat':_0x59fbcb[_0x10b5a8(0x1d8)][_0x10b5a8(0x1e7)],'pixelDatatype':_0x59fbcb['PixelDatatype'][_0x10b5a8(0xf5)],'sampler':new _0x59fbcb[(_0x10b5a8(0x133))]({'minificationFilter':_0x59fbcb[_0x10b5a8(0x236)][_0x10b5a8(0x257)],'magnificationFilter':_0x59fbcb['TextureMagnificationFilter'][_0x10b5a8(0x257)]})};this[_0x10b5a8(0x11d)]={'segmentsColor':_0x3f76df[_0x10b5a8(0x1c9)](_0x4ff595),'segmentsDepth':_0x3f76df['createTexture'](_0x65df3b),'currentTrailsColor':_0x3f76df[_0x10b5a8(0x1c9)](_0x4ff595),'currentTrailsDepth':_0x3f76df['createTexture'](_0x65df3b),'nextTrailsColor':_0x3f76df[_0x10b5a8(0x1c9)](_0x4ff595),'nextTrailsDepth':_0x3f76df[_0x10b5a8(0x1c9)](_0x65df3b),'colorTable':_0x3f76df[_0x10b5a8(0x1c9)](_0x413572,_0x514d11['colorTable'][_0x10b5a8(0x218)])};}},{'key':_0x3b809c(0x1dd),'value':function(_0x4947d3){var _0x1bd5a8=_0x3b809c;this['framebuffers']={'segments':_0x3f76df[_0x1bd5a8(0x24e)](_0x4947d3,this[_0x1bd5a8(0x11d)][_0x1bd5a8(0x1b9)],this[_0x1bd5a8(0x11d)][_0x1bd5a8(0x166)]),'currentTrails':_0x3f76df[_0x1bd5a8(0x24e)](_0x4947d3,this[_0x1bd5a8(0x11d)][_0x1bd5a8(0x231)],this[_0x1bd5a8(0x11d)]['currentTrailsDepth']),'nextTrails':_0x3f76df[_0x1bd5a8(0x24e)](_0x4947d3,this[_0x1bd5a8(0x11d)][_0x1bd5a8(0xf2)],this[_0x1bd5a8(0x11d)][_0x1bd5a8(0x23b)])};}},{'key':_0x3b809c(0x12f),'value':function(_0x525442){var _0x3e35e0=_0x3b809c;for(var _0x49847d=[],_0x131d10=0x0;_0x131d10<_0x525442[_0x3e35e0(0x113)];_0x131d10++)for(var _0x318ed2=0x0;_0x318ed2<_0x525442[_0x3e35e0(0x113)];_0x318ed2++)for(var _0x5aefc3=0x0;_0x5aefc3<0x4;_0x5aefc3++)_0x49847d[_0x3e35e0(0x1ad)](_0x131d10/_0x525442[_0x3e35e0(0x113)]),_0x49847d[_0x3e35e0(0x1ad)](_0x318ed2/_0x525442[_0x3e35e0(0x113)]);_0x49847d=new Float32Array(_0x49847d);for(var _0x5d49f8=[],_0x31c377=[-0x1,0x1],_0x3bc5be=[-0x1,0x1],_0x42e658=0x0;_0x42e658<_0x525442[_0x3e35e0(0x1ab)];_0x42e658++)for(var _0x563dca=0x0;_0x563dca<0x2;_0x563dca++)for(var _0xa47421=0x0;_0xa47421<0x2;_0xa47421++)_0x5d49f8[_0x3e35e0(0x1ad)](_0x31c377[_0x563dca]),_0x5d49f8[_0x3e35e0(0x1ad)](_0x3bc5be[_0xa47421]),_0x5d49f8[_0x3e35e0(0x1ad)](0x0);_0x5d49f8=new Float32Array(_0x5d49f8);for(var _0x5a6bdf=0x6*_0x525442[_0x3e35e0(0x1ab)],_0x394904=new Uint32Array(_0x5a6bdf),_0x155f05=0x0,_0x17fe6b=0x0,_0x5db36e=0x0;_0x155f05<_0x525442['maxParticles'];_0x155f05++)_0x394904[_0x17fe6b++]=_0x5db36e+0x0,_0x394904[_0x17fe6b++]=_0x5db36e+0x1,_0x394904[_0x17fe6b++]=_0x5db36e+0x2,_0x394904[_0x17fe6b++]=_0x5db36e+0x2,_0x394904[_0x17fe6b++]=_0x5db36e+0x1,_0x394904[_0x17fe6b++]=_0x5db36e+0x3,_0x5db36e+=0x4;return new _0x59fbcb[(_0x3e35e0(0x249))]({'attributes':new _0x59fbcb[(_0x3e35e0(0x122))]({'st':new _0x59fbcb[(_0x3e35e0(0x100))]({'componentDatatype':_0x59fbcb[_0x3e35e0(0x1e0)][_0x3e35e0(0xf5)],'componentsPerAttribute':0x2,'values':_0x49847d}),'normal':new _0x59fbcb[(_0x3e35e0(0x100))]({'componentDatatype':_0x59fbcb['ComponentDatatype'][_0x3e35e0(0xf5)],'componentsPerAttribute':0x3,'values':_0x5d49f8})}),'indices':_0x394904});}},{'key':_0x3b809c(0x180),'value':function(_0x104617,_0x2ea2ea,_0x5928ac,_0xfcdd92){var _0x4a3280=_0x3b809c,_0x1722a5=this;this['primitives']={'segments':new _0x433ba0({'commandType':_0x4a3280(0x198),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x4a3280(0x12f)](_0x2ea2ea),'primitiveType':_0x59fbcb[_0x4a3280(0x22e)]['TRIANGLES'],'uniformMap':{'currentParticlesPosition':function(){var _0x3e109d=_0x4a3280;return _0xfcdd92[_0x3e109d(0x1ea)][_0x3e109d(0x16c)];},'postProcessingPosition':function(){var _0x11997b=_0x4a3280;return _0xfcdd92[_0x11997b(0x1ea)][_0x11997b(0x239)];},'postProcessingSpeed':function(){var _0x304390=_0x4a3280;return _0xfcdd92[_0x304390(0x1ea)][_0x304390(0x22f)];},'colorTable':function(){var _0xd1791a=_0x4a3280;return _0x1722a5[_0xd1791a(0x11d)][_0xd1791a(0x167)];},'aspect':function(){var _0x2bf001=_0x4a3280;return _0x104617['drawingBufferWidth']/_0x104617[_0x2bf001(0x25b)];},'pixelSize':function(){var _0x4995b3=_0x4a3280;return _0x5928ac[_0x4995b3(0x16e)];},'lineWidth':function(){var _0x58df5b=_0x4a3280;return _0x2ea2ea[_0x58df5b(0x226)];},'particleHeight':function(){var _0x5137ee=_0x4a3280;return _0x2ea2ea[_0x5137ee(0x212)];}},'vertexShaderSource':new _0x59fbcb['ShaderSource']({'sources':[_0x58883a['a']]}),'fragmentShaderSource':new _0x59fbcb[(_0x4a3280(0x21a))]({'sources':[_0x4252b5['a']]}),'rawRenderState':_0x3f76df[_0x4a3280(0x243)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x4a3280(0x129)][_0x4a3280(0x135)],'autoClear':!0x0}),'trails':new _0x433ba0({'commandType':_0x4a3280(0x198),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x3f76df[_0x4a3280(0x130)](),'primitiveType':_0x59fbcb[_0x4a3280(0x22e)][_0x4a3280(0x141)],'uniformMap':{'segmentsColorTexture':function(){var _0x45e071=_0x4a3280;return _0x1722a5[_0x45e071(0x11d)][_0x45e071(0x1b9)];},'segmentsDepthTexture':function(){var _0x176d1b=_0x4a3280;return _0x1722a5['textures'][_0x176d1b(0x166)];},'currentTrailsColor':function(){var _0x3e7fd7=_0x4a3280;return _0x1722a5[_0x3e7fd7(0x129)][_0x3e7fd7(0x213)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){var _0x1c1e2c=_0x4a3280;return _0x1722a5[_0x1c1e2c(0x129)][_0x1c1e2c(0x213)][_0x1c1e2c(0x209)];},'fadeOpacity':function(){var _0x5b64d7=_0x4a3280;return _0x2ea2ea[_0x5b64d7(0x235)];}},'vertexShaderSource':new _0x59fbcb['ShaderSource']({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x3f7b74['a']]}),'fragmentShaderSource':new _0x59fbcb[(_0x4a3280(0x21a))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x4a1e97['a']]}),'rawRenderState':_0x3f76df[_0x4a3280(0x243)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x59fbcb['DepthFunction'][_0x4a3280(0x1a4)]},'depthMask':!0x0}),'framebuffer':this[_0x4a3280(0x129)]['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x3a7222=_0x4a3280,_0x34a5af;_0x34a5af=_0x1722a5[_0x3a7222(0x129)][_0x3a7222(0x213)],_0x1722a5[_0x3a7222(0x129)][_0x3a7222(0x213)]=_0x1722a5[_0x3a7222(0x129)][_0x3a7222(0x1e9)],_0x1722a5[_0x3a7222(0x129)][_0x3a7222(0x1e9)]=_0x34a5af,_0x1722a5[_0x3a7222(0x138)][_0x3a7222(0x229)][_0x3a7222(0x168)]['framebuffer']=_0x1722a5[_0x3a7222(0x129)]['nextTrails'],_0x1722a5[_0x3a7222(0x138)][_0x3a7222(0x229)][_0x3a7222(0x1f2)][_0x3a7222(0x145)]=_0x1722a5[_0x3a7222(0x129)]['nextTrails'];}}),'screen':new _0x433ba0({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x3f76df[_0x4a3280(0x130)](),'primitiveType':_0x59fbcb[_0x4a3280(0x22e)][_0x4a3280(0x141)],'uniformMap':{'trailsColorTexture':function(){var _0xc0c947=_0x4a3280;return _0x1722a5[_0xc0c947(0x129)][_0xc0c947(0x1e9)][_0xc0c947(0x1e4)](0x0);},'trailsDepthTexture':function(){var _0x146892=_0x4a3280;return _0x1722a5[_0x146892(0x129)]['nextTrails']['depthTexture'];}},'vertexShaderSource':new _0x59fbcb['ShaderSource']({'defines':[_0x4a3280(0x172)],'sources':[_0x3f7b74['a']]}),'fragmentShaderSource':new _0x59fbcb[(_0x4a3280(0x21a))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0xeed381['a']]}),'rawRenderState':_0x3f76df['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x5f91a3;}(),_0x27baf8=_0x5003d2(0xc),_0x4d2ca3=_0x5003d2['n'](_0x27baf8),_0x1024ec=_0x5003d2(0xd),_0x475249=_0x5003d2['n'](_0x1024ec),_0xc67aa4=_0x5003d2(0xe),_0x3bddf4=_0x5003d2['n'](_0xc67aa4),_0x1b7a19=_0x5003d2(0xf),_0x17f554=_0x5003d2['n'](_0x1b7a19),_0x33cc59=_0x5003d2(0x10),_0x5de9a9=_0x5003d2['n'](_0x33cc59),_0x5470e0=function(){var _0x384aef=_0x2160b0;function _0x14068d(_0x29bd44,_0x81c3a2,_0x4c8e9d,_0xa02f32){var _0x340030=a0_0xc9c3;_0x57d1a1()(this,_0x14068d),this[_0x340030(0x189)]=_0x81c3a2,this[_0x340030(0x1a9)](_0x29bd44,_0x81c3a2),this[_0x340030(0x10c)](_0x29bd44,_0x4c8e9d,_0xa02f32),this[_0x340030(0x1f8)](_0x81c3a2,_0x4c8e9d,_0xa02f32);}return _0x2b52cc()(_0x14068d,[{'key':_0x384aef(0x1a9),'value':function(_0x5d6078,_0x5dc566){var _0x500dc2=_0x384aef,_0x3642c7={'context':_0x5d6078,'width':_0x5dc566[_0x500dc2(0x10b)][_0x500dc2(0x16f)],'height':_0x5dc566[_0x500dc2(0x10b)]['lat']*_0x5dc566['dimensions'][_0x500dc2(0x1f4)],'pixelFormat':_0x59fbcb[_0x500dc2(0x1d8)]['LUMINANCE'],'pixelDatatype':_0x59fbcb[_0x500dc2(0x203)]['FLOAT'],'flipY':!0x1,'sampler':new _0x59fbcb['Sampler']({'minificationFilter':_0x59fbcb[_0x500dc2(0x236)][_0x500dc2(0x250)],'magnificationFilter':_0x59fbcb[_0x500dc2(0x149)][_0x500dc2(0x250)]})};this[_0x500dc2(0x16a)]={'U':_0x3f76df[_0x500dc2(0x1c9)](_0x3642c7,_0x5dc566['U'][_0x500dc2(0x218)]),'V':_0x3f76df[_0x500dc2(0x1c9)](_0x3642c7,_0x5dc566['V'][_0x500dc2(0x218)])};}},{'key':_0x384aef(0x10c),'value':function(_0x2d5ead,_0x301e00,_0x30f300){var _0x59fc54=_0x384aef,_0x3ad8c2={'context':_0x2d5ead,'width':_0x301e00[_0x59fc54(0x113)],'height':_0x301e00[_0x59fc54(0x113)],'pixelFormat':_0x59fbcb[_0x59fc54(0x1d8)][_0x59fc54(0x1d6)],'pixelDatatype':_0x59fbcb['PixelDatatype'][_0x59fc54(0xf5)],'flipY':!0x1,'sampler':new _0x59fbcb[(_0x59fc54(0x133))]({'minificationFilter':_0x59fbcb['TextureMinificationFilter']['NEAREST'],'magnificationFilter':_0x59fbcb['TextureMagnificationFilter'][_0x59fc54(0x250)]})},_0x1f8696=this[_0x59fc54(0x121)](_0x301e00[_0x59fc54(0x1ab)],_0x30f300),_0x3659e0=new Float32Array(0x4*_0x301e00[_0x59fc54(0x1ab)])['fill'](0x0);this[_0x59fc54(0x1ea)]={'particlesWind':_0x3f76df[_0x59fc54(0x1c9)](_0x3ad8c2),'currentParticlesPosition':_0x3f76df[_0x59fc54(0x1c9)](_0x3ad8c2,_0x1f8696),'nextParticlesPosition':_0x3f76df['createTexture'](_0x3ad8c2,_0x1f8696),'currentParticlesSpeed':_0x3f76df[_0x59fc54(0x1c9)](_0x3ad8c2,_0x3659e0),'nextParticlesSpeed':_0x3f76df[_0x59fc54(0x1c9)](_0x3ad8c2,_0x3659e0),'postProcessingPosition':_0x3f76df[_0x59fc54(0x1c9)](_0x3ad8c2,_0x1f8696),'postProcessingSpeed':_0x3f76df[_0x59fc54(0x1c9)](_0x3ad8c2,_0x3659e0)};}},{'key':_0x384aef(0x121),'value':function(_0x71aca7,_0xe4eb5f){var _0x4fae20=_0x384aef;for(var _0x1ba999=new Float32Array(0x4*_0x71aca7),_0xe38132=0x0;_0xe38132<_0x71aca7;_0xe38132++)_0x1ba999[0x4*_0xe38132]=_0x59fbcb[_0x4fae20(0x12e)][_0x4fae20(0x1d9)](_0xe4eb5f[_0x4fae20(0xfb)]['x'],_0xe4eb5f[_0x4fae20(0xfb)]['y']),_0x1ba999[0x4*_0xe38132+0x1]=_0x59fbcb[_0x4fae20(0x12e)]['randomBetween'](_0xe4eb5f[_0x4fae20(0x1bf)]['x'],_0xe4eb5f['latRange']['y']),_0x1ba999[0x4*_0xe38132+0x2]=_0x59fbcb['Math'][_0x4fae20(0x1d9)](this['data'][_0x4fae20(0x1f4)][_0x4fae20(0x11f)],this['data'][_0x4fae20(0x1f4)][_0x4fae20(0x197)]),_0x1ba999[0x4*_0xe38132+0x3]=0x0;return _0x1ba999;}},{'key':_0x384aef(0x14d),'value':function(){var _0x548d08=_0x384aef,_0x350f4a=this;Object[_0x548d08(0x14b)](this['particlesTextures'])['forEach'](function(_0x4ffef0){var _0x5b661b=_0x548d08;_0x350f4a[_0x5b661b(0x1ea)][_0x4ffef0][_0x5b661b(0x126)]();});}},{'key':_0x384aef(0x1f8),'value':function(_0x1d77d3,_0x595d9a,_0x291218){var _0xb370a4=_0x384aef,_0x583282=new _0x59fbcb[(_0xb370a4(0x1f5))](_0x1d77d3[_0xb370a4(0x10b)][_0xb370a4(0x16f)],_0x1d77d3[_0xb370a4(0x10b)][_0xb370a4(0x20d)],_0x1d77d3[_0xb370a4(0x10b)][_0xb370a4(0x1f4)]),_0x47abdb=new _0x59fbcb[(_0xb370a4(0x1f5))](_0x1d77d3[_0xb370a4(0x16f)]['min'],_0x1d77d3[_0xb370a4(0x20d)]['min'],_0x1d77d3[_0xb370a4(0x1f4)][_0xb370a4(0x11f)]),_0x43e19c=new _0x59fbcb['Cartesian3'](_0x1d77d3['lon'][_0xb370a4(0x197)],_0x1d77d3[_0xb370a4(0x20d)][_0xb370a4(0x197)],_0x1d77d3[_0xb370a4(0x1f4)][_0xb370a4(0x197)]),_0x3d0870=new _0x59fbcb[(_0xb370a4(0x1f5))]((_0x43e19c['x']-_0x47abdb['x'])/(_0x583282['x']-0x1),(_0x43e19c['y']-_0x47abdb['y'])/(_0x583282['y']-0x1),_0x583282['z']>0x1?(_0x43e19c['z']-_0x47abdb['z'])/(_0x583282['z']-0x1):0x1),_0x2ad73b=new _0x59fbcb['Cartesian2'](_0x1d77d3['U'][_0xb370a4(0x11f)],_0x1d77d3['U']['max']),_0x1f86c8=new _0x59fbcb[(_0xb370a4(0x111))](_0x1d77d3['V']['min'],_0x1d77d3['V'][_0xb370a4(0x197)]),_0x23baac=this;this[_0xb370a4(0x138)]={'getWind':new _0x433ba0({'commandType':_0xb370a4(0x15b),'uniformMap':{'U':function(){var _0x11ceb2=_0xb370a4;return _0x23baac[_0x11ceb2(0x16a)]['U'];},'V':function(){var _0x84d28f=_0xb370a4;return _0x23baac[_0x84d28f(0x16a)]['V'];},'currentParticlesPosition':function(){var _0x38e97d=_0xb370a4;return _0x23baac[_0x38e97d(0x1ea)][_0x38e97d(0x16c)];},'dimension':function(){return _0x583282;},'minimum':function(){return _0x47abdb;},'maximum':function(){return _0x43e19c;},'interval':function(){return _0x3d0870;}},'fragmentShaderSource':new _0x59fbcb[(_0xb370a4(0x21a))]({'sources':[_0x4d2ca3['a']]}),'outputTexture':this[_0xb370a4(0x1ea)][_0xb370a4(0x128)],'preExecute':function(){var _0x30e3ca=_0xb370a4;_0x23baac['primitives'][_0x30e3ca(0x1de)][_0x30e3ca(0x168)][_0x30e3ca(0x25a)]=_0x23baac[_0x30e3ca(0x1ea)]['particlesWind'];}}),'updateSpeed':new _0x433ba0({'commandType':_0xb370a4(0x15b),'uniformMap':{'currentParticlesSpeed':function(){var _0x463f10=_0xb370a4;return _0x23baac[_0x463f10(0x1ea)][_0x463f10(0x1bc)];},'particlesWind':function(){var _0x52e7cb=_0xb370a4;return _0x23baac[_0x52e7cb(0x1ea)][_0x52e7cb(0x128)];},'uSpeedRange':function(){return _0x2ad73b;},'vSpeedRange':function(){return _0x1f86c8;},'pixelSize':function(){var _0x5183e5=_0xb370a4;return _0x291218[_0x5183e5(0x16e)];},'speedFactor':function(){return _0x595d9a['speedFactor'];}},'fragmentShaderSource':new _0x59fbcb[(_0xb370a4(0x21a))]({'sources':[_0x475249['a']]}),'outputTexture':this['particlesTextures'][_0xb370a4(0xf1)],'preExecute':function(){var _0x2257ae=_0xb370a4,_0x47f468;_0x47f468=_0x23baac[_0x2257ae(0x1ea)][_0x2257ae(0x1bc)],_0x23baac[_0x2257ae(0x1ea)][_0x2257ae(0x1bc)]=_0x23baac['particlesTextures']['postProcessingSpeed'],_0x23baac[_0x2257ae(0x1ea)][_0x2257ae(0x22f)]=_0x47f468,_0x23baac[_0x2257ae(0x138)]['updateSpeed'][_0x2257ae(0x168)][_0x2257ae(0x25a)]=_0x23baac[_0x2257ae(0x1ea)]['nextParticlesSpeed'];}}),'updatePosition':new _0x433ba0({'commandType':_0xb370a4(0x15b),'uniformMap':{'currentParticlesPosition':function(){var _0x2c6d32=_0xb370a4;return _0x23baac[_0x2c6d32(0x1ea)]['currentParticlesPosition'];},'currentParticlesSpeed':function(){var _0x49c785=_0xb370a4;return _0x23baac[_0x49c785(0x1ea)][_0x49c785(0x1bc)];}},'fragmentShaderSource':new _0x59fbcb['ShaderSource']({'sources':[_0x3bddf4['a']]}),'outputTexture':this[_0xb370a4(0x1ea)][_0xb370a4(0x12c)],'preExecute':function(){var _0x245ab1=_0xb370a4,_0x515028;_0x515028=_0x23baac['particlesTextures'][_0x245ab1(0x16c)],_0x23baac[_0x245ab1(0x1ea)][_0x245ab1(0x16c)]=_0x23baac[_0x245ab1(0x1ea)][_0x245ab1(0x239)],_0x23baac[_0x245ab1(0x1ea)]['postProcessingPosition']=_0x515028,_0x23baac[_0x245ab1(0x138)]['updatePosition'][_0x245ab1(0x168)][_0x245ab1(0x25a)]=_0x23baac[_0x245ab1(0x1ea)][_0x245ab1(0x12c)];}}),'postProcessingPosition':new _0x433ba0({'commandType':_0xb370a4(0x15b),'uniformMap':{'nextParticlesPosition':function(){var _0x5bc770=_0xb370a4;return _0x23baac[_0x5bc770(0x1ea)][_0x5bc770(0x12c)];},'nextParticlesSpeed':function(){var _0x544ab8=_0xb370a4;return _0x23baac[_0x544ab8(0x1ea)]['nextParticlesSpeed'];},'lonRange':function(){var _0x582af2=_0xb370a4;return _0x291218[_0x582af2(0xfb)];},'latRange':function(){var _0x46d62f=_0xb370a4;return _0x291218[_0x46d62f(0x1bf)];},'randomCoefficient':function(){var _0x124061=_0xb370a4,_0x5c3148=Math[_0x124061(0x1ae)]();return _0x5c3148;},'dropRate':function(){var _0x500c73=_0xb370a4;return _0x595d9a[_0x500c73(0x13f)];},'dropRateBump':function(){var _0x3c0461=_0xb370a4;return _0x595d9a[_0x3c0461(0x1af)];}},'fragmentShaderSource':new _0x59fbcb['ShaderSource']({'sources':[_0x17f554['a']]}),'outputTexture':this[_0xb370a4(0x1ea)]['postProcessingPosition'],'preExecute':function(){var _0x38e802=_0xb370a4;_0x23baac[_0x38e802(0x138)]['postProcessingPosition'][_0x38e802(0x168)][_0x38e802(0x25a)]=_0x23baac[_0x38e802(0x1ea)][_0x38e802(0x239)];}}),'postProcessingSpeed':new _0x433ba0({'commandType':'Compute','uniformMap':{'postProcessingPosition':function(){var _0x33d15a=_0xb370a4;return _0x23baac[_0x33d15a(0x1ea)][_0x33d15a(0x239)];},'nextParticlesSpeed':function(){var _0x280c8d=_0xb370a4;return _0x23baac['particlesTextures'][_0x280c8d(0xf1)];}},'fragmentShaderSource':new _0x59fbcb['ShaderSource']({'sources':[_0x5de9a9['a']]}),'outputTexture':this[_0xb370a4(0x1ea)][_0xb370a4(0x22f)],'preExecute':function(){var _0x3d96c3=_0xb370a4;_0x23baac[_0x3d96c3(0x138)][_0x3d96c3(0x22f)][_0x3d96c3(0x168)][_0x3d96c3(0x25a)]=_0x23baac[_0x3d96c3(0x1ea)][_0x3d96c3(0x22f)];}})};}}]),_0x14068d;}(),_0x1e6389=function(){var _0xf5673=_0x2160b0;function _0x453b3b(_0x2f99b1,_0x505d3b,_0x222434,_0x1ea472){var _0x3cee0f=a0_0xc9c3;_0x57d1a1()(this,_0x453b3b),this[_0x3cee0f(0x24f)]=_0x2f99b1,this[_0x3cee0f(0x189)]=_0x505d3b,this['userInput']=_0x222434,this['viewerParameters']=_0x1ea472,this[_0x3cee0f(0x18c)]=new _0x5470e0(this[_0x3cee0f(0x24f)],this[_0x3cee0f(0x189)],this['userInput'],this[_0x3cee0f(0x173)]),this[_0x3cee0f(0x18b)]=new _0x2c8d1d(this[_0x3cee0f(0x24f)],this[_0x3cee0f(0x189)],this[_0x3cee0f(0x207)],this['viewerParameters'],this[_0x3cee0f(0x18c)]);}return _0x2b52cc()(_0x453b3b,[{'key':_0xf5673(0x10f),'value':function(_0x28973d){var _0x310a48=_0xf5673,_0x1e2907=this;this[_0x310a48(0x18c)][_0x310a48(0x14d)](),Object[_0x310a48(0x14b)](this[_0x310a48(0x18c)]['windTextures'])['forEach'](function(_0x4abfeb){var _0xb6e342=_0x310a48;_0x1e2907[_0xb6e342(0x18c)][_0xb6e342(0x16a)][_0x4abfeb][_0xb6e342(0x126)]();}),this[_0x310a48(0x18b)][_0x310a48(0x11d)][_0x310a48(0x167)][_0x310a48(0x126)](),Object[_0x310a48(0x14b)](this[_0x310a48(0x18b)][_0x310a48(0x129)])[_0x310a48(0x1fa)](function(_0x204122){var _0x28c0f3=_0x310a48;_0x1e2907[_0x28c0f3(0x18b)][_0x28c0f3(0x129)][_0x204122][_0x28c0f3(0x126)]();}),this['context']=_0x28973d,this[_0x310a48(0x18c)]=new _0x5470e0(this['context'],this[_0x310a48(0x189)],this['userInput'],this[_0x310a48(0x173)]),this[_0x310a48(0x18b)]=new _0x2c8d1d(this[_0x310a48(0x24f)],this[_0x310a48(0x189)],this['userInput'],this['viewerParameters'],this[_0x310a48(0x18c)]);}},{'key':_0xf5673(0x199),'value':function(){var _0x585305=_0xf5673,_0x58877c=this,_0x1cca93=new _0x59fbcb[(_0x585305(0x179))]({'color':new _0x59fbcb['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x59fbcb[_0x585305(0x148)][_0x585305(0x1be)]});Object[_0x585305(0x14b)](this[_0x585305(0x18b)][_0x585305(0x129)])[_0x585305(0x1fa)](function(_0x3faae0){var _0x4c27bc=_0x585305;_0x1cca93['framebuffer']=_0x58877c[_0x4c27bc(0x18b)][_0x4c27bc(0x129)][_0x3faae0],_0x1cca93[_0x4c27bc(0x151)](_0x58877c['context']);});}},{'key':_0xf5673(0x18e),'value':function(_0x52a7d5){var _0x41b40f=_0xf5673;if(this[_0x41b40f(0x199)](),this[_0x41b40f(0x18c)]['destroyParticlesTextures'](),this[_0x41b40f(0x18c)][_0x41b40f(0x10c)](this[_0x41b40f(0x24f)],this[_0x41b40f(0x207)],this[_0x41b40f(0x173)]),_0x52a7d5){var _0x4a7306=this['particlesRendering'][_0x41b40f(0x12f)](this[_0x41b40f(0x207)]);this[_0x41b40f(0x18b)][_0x41b40f(0x138)]['segments'][_0x41b40f(0x115)]=_0x4a7306;var _0x569eca=_0x59fbcb['VertexArray']['fromGeometry']({'context':this[_0x41b40f(0x24f)],'geometry':_0x4a7306,'attributeLocations':this[_0x41b40f(0x18b)][_0x41b40f(0x138)][_0x41b40f(0x135)][_0x41b40f(0x1a8)],'bufferUsage':_0x59fbcb[_0x41b40f(0x106)][_0x41b40f(0x11c)]});this[_0x41b40f(0x18b)][_0x41b40f(0x138)][_0x41b40f(0x135)][_0x41b40f(0x168)][_0x41b40f(0x1ed)]=_0x569eca;}}},{'key':_0xf5673(0x258),'value':function(_0x3e2795){var _0x4fbd8d=_0xf5673,_0x570e7c=this,_0x155ed9=!0x1;this[_0x4fbd8d(0x207)][_0x4fbd8d(0x1ab)]!=_0x3e2795[_0x4fbd8d(0x1ab)]&&(_0x155ed9=!0x0),Object[_0x4fbd8d(0x14b)](_0x3e2795)['forEach'](function(_0x59a5b5){var _0x34cf02=_0x4fbd8d;_0x570e7c[_0x34cf02(0x207)][_0x59a5b5]=_0x3e2795[_0x59a5b5];}),this['refreshParticles'](_0x155ed9);}},{'key':_0xf5673(0x177),'value':function(_0x33c7f4){var _0x5f1b2e=_0xf5673,_0x13c17e=this;Object[_0x5f1b2e(0x14b)](_0x33c7f4)['forEach'](function(_0xc28037){var _0x221f92=_0x5f1b2e;_0x13c17e[_0x221f92(0x173)][_0xc28037]=_0x33c7f4[_0xc28037];}),this[_0x5f1b2e(0x18e)](!0x1);}}]),_0x453b3b;}();function _0x5954db(_0x4154c5){var _0x9371d4=function(){var _0x4ccaeb=a0_0xc9c3;if(_0x4ccaeb(0x22c)==typeof Reflect||!Reflect[_0x4ccaeb(0x1a6)])return!0x1;if(Reflect['construct'][_0x4ccaeb(0x254)])return!0x1;if(_0x4ccaeb(0xf4)==typeof Proxy)return!0x0;try{return Boolean[_0x4ccaeb(0x23f)][_0x4ccaeb(0x1e1)][_0x4ccaeb(0x216)](Reflect[_0x4ccaeb(0x1a6)](Boolean,[],function(){})),!0x0;}catch(_0x1f1894){return!0x1;}}();return function(){var _0x3a0c7a=a0_0xc9c3,_0x41a715,_0x211b4b=_0x371d1a()(_0x4154c5);if(_0x9371d4){var _0x1dc522=_0x371d1a()(this)[_0x3a0c7a(0x1b3)];_0x41a715=Reflect[_0x3a0c7a(0x1a6)](_0x211b4b,arguments,_0x1dc522);}else _0x41a715=_0x211b4b[_0x3a0c7a(0x245)](this,arguments);return _0x2108e0()(this,_0x41a715);};}var _0x198395=_0x4f1b8a[_0x2160b0(0x21c)][_0x2160b0(0x20c)],_0x18bc6f=0x1000,_0x311c02=0x64,_0x27010b=0.996,_0x537700=0.003,_0x15ef13=0.01,_0x1dcc2c=0.5,_0x4c1bb6=0x2,_0x3fc63b=function(_0x72b9fb){var _0x1de59e=_0x2160b0;_0x242f6e()(_0x38f166,_0x72b9fb);var _0x14635b=_0x5954db(_0x38f166);function _0x38f166(){var _0x4a99d6=a0_0xc9c3,_0x3ad5c7,_0x132b83=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x57d1a1()(this,_0x38f166),(_0x3ad5c7=_0x14635b[_0x4a99d6(0x216)](this,_0x132b83))['maxParticles']=_0x18bc6f,_0x3ad5c7[_0x4a99d6(0x212)]=_0x311c02,_0x3ad5c7[_0x4a99d6(0x235)]=_0x27010b,_0x3ad5c7['dropRate']=_0x537700,_0x3ad5c7[_0x4a99d6(0x1af)]=_0x15ef13,_0x3ad5c7[_0x4a99d6(0x17a)]=_0x1dcc2c,_0x3ad5c7[_0x4a99d6(0x226)]=_0x4c1bb6,_0x132b83){for(var _0x4a2767 in _0x132b83)_0x3ad5c7[_0x4a2767]=_0x132b83[_0x4a2767];}return _0x3ad5c7;}return _0x2b52cc()(_0x38f166,[{'key':'layer','get':function(){var _0x3ba250=a0_0xc9c3;return this[_0x3ba250(0x138)];}},{'key':_0x1de59e(0x19d),'value':function(){}},{'key':_0x1de59e(0x20e),'value':function(){var _0x1100e9=_0x1de59e;this['scene']=this[_0x1100e9(0x103)][_0x1100e9(0x17f)],this['camera']=this[_0x1100e9(0x103)][_0x1100e9(0x1c8)],this[_0x1100e9(0x138)]=new _0x59fbcb[(_0x1100e9(0x118))](),this[_0x1100e9(0x103)][_0x1100e9(0x17f)][_0x1100e9(0x138)][_0x1100e9(0x107)](this[_0x1100e9(0x138)]),this['viewerParameters']={'lonRange':new _0x59fbcb['Cartesian2'](),'latRange':new _0x59fbcb[(_0x1100e9(0x111))](),'pixelSize':0x0},this['globeBoundingSphere']=new _0x59fbcb[(_0x1100e9(0xee))](_0x59fbcb[_0x1100e9(0x1f5)]['ZERO'],6314355.63),this[_0x1100e9(0x1b5)](),window[_0x1100e9(0x13d)](_0x1100e9(0x147),this['resize'][_0x1100e9(0x19e)](this),!0x1),this[_0x1100e9(0x127)]=!0x1,this[_0x1100e9(0x117)]=!0x1,this[_0x1100e9(0x103)]['on'](_0x4f1b8a['EventType'][_0x1100e9(0x22a)],this[_0x1100e9(0x1f1)],this),this[_0x1100e9(0x103)]['on'](_0x4f1b8a[_0x1100e9(0x186)][_0x1100e9(0x24b)],this['_onMouseDownEvent'],this),this['_map']['on'](_0x4f1b8a['EventType'][_0x1100e9(0x15a)],this[_0x1100e9(0x176)],this),this['_map']['on'](_0x4f1b8a[_0x1100e9(0x186)][_0x1100e9(0x13e)],this[_0x1100e9(0x223)],this);}},{'key':_0x1de59e(0xfd),'value':function(){var _0x1d481f=_0x1de59e;window[_0x1d481f(0xed)](_0x1d481f(0x147),this[_0x1d481f(0x147)]),this[_0x1d481f(0x103)]['off'](_0x4f1b8a[_0x1d481f(0x186)][_0x1d481f(0x1b8)],this['_onMap_preRenderEvent'],this),this['_map']['off'](_0x4f1b8a[_0x1d481f(0x186)][_0x1d481f(0x22a)],this[_0x1d481f(0x1f1)],this),this[_0x1d481f(0x103)][_0x1d481f(0x202)](_0x4f1b8a[_0x1d481f(0x186)][_0x1d481f(0x24b)],this['_onMouseDownEvent'],this),this['_map'][_0x1d481f(0x202)](_0x4f1b8a[_0x1d481f(0x186)][_0x1d481f(0x15a)],this[_0x1d481f(0x176)],this),this[_0x1d481f(0x103)][_0x1d481f(0x202)](_0x4f1b8a[_0x1d481f(0x186)][_0x1d481f(0x13e)],this[_0x1d481f(0x223)],this),this['primitives'][_0x1d481f(0x222)](),this['_map'][_0x1d481f(0x17f)][_0x1d481f(0x138)][_0x1d481f(0x193)](this['primitives']);}},{'key':_0x1de59e(0x147),'value':function(){var _0x20073e=_0x1de59e;this[_0x20073e(0x184)]&&this['particleSystem']&&(this[_0x20073e(0x138)][_0x20073e(0x184)]=!0x1,this[_0x20073e(0x138)][_0x20073e(0x222)](),this['_map'][_0x20073e(0x1a7)](_0x4f1b8a['EventType'][_0x20073e(0x1b8)],this[_0x20073e(0x227)],this));}},{'key':_0x1de59e(0x227),'value':function(_0x42b388){var _0x3d3365=_0x1de59e;this[_0x3d3365(0x1a2)]['canvasResize'](this['scene']['context']),this[_0x3d3365(0x1cc)](),this[_0x3d3365(0x138)][_0x3d3365(0x184)]=!0x0;}},{'key':_0x1de59e(0x1f1),'value':function(_0x446cac){var _0x206422=_0x1de59e,_0x341b6b=this;clearTimeout(this[_0x206422(0x208)]),this['show']&&this['particleSystem']&&(this[_0x206422(0x138)]['show']=!0x1,this[_0x206422(0x208)]=setTimeout(function(){var _0x543dcd=_0x206422;_0x341b6b[_0x543dcd(0x184)]&&_0x341b6b[_0x543dcd(0x1d3)]();},0xc8));}},{'key':_0x1de59e(0x210),'value':function(_0x300fde){var _0xae3c6=_0x1de59e;this[_0xae3c6(0x127)]=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x46072a){var _0x35a43d=_0x1de59e;this[_0x35a43d(0x184)]&&this[_0x35a43d(0x1a2)]&&this['mouse_down']&&(this[_0x35a43d(0x138)][_0x35a43d(0x184)]=!0x1,this['mouse_move']=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x5d35c4){var _0x4292ee=_0x1de59e;this[_0x4292ee(0x184)]&&this['particleSystem']&&(this['mouse_down']&&this[_0x4292ee(0x117)]&&this[_0x4292ee(0x1d3)](),this['primitives']['show']=!0x0,this[_0x4292ee(0x127)]=!0x1,this[_0x4292ee(0x117)]=!0x1);}},{'key':_0x1de59e(0x1d3),'value':function(){var _0x3f9da5=_0x1de59e;this[_0x3f9da5(0x103)]&&this[_0x3f9da5(0x184)]&&(this[_0x3f9da5(0x1b5)](),this[_0x3f9da5(0x1a2)][_0x3f9da5(0x177)](this[_0x3f9da5(0x173)]),this[_0x3f9da5(0x138)][_0x3f9da5(0x184)]=!0x0);}},{'key':_0x1de59e(0x108),'value':function(_0xbc5e89){var _0x3d0ecc=_0x1de59e;this[_0x3d0ecc(0x1a2)]=new _0x1e6389(this['scene'][_0x3d0ecc(0x24f)],_0xbc5e89,this['getUserInput'](),this[_0x3d0ecc(0x173)]),this[_0x3d0ecc(0x1cc)]();}},{'key':'setOptions','value':function(_0x316875){var _0x1ce413=_0x1de59e;if(_0x316875){for(var _0x230eaa in _0x316875)this[_0x230eaa]=_0x316875[_0x230eaa];}return this[_0x1ce413(0x1a2)]&&this[_0x1ce413(0x1a2)][_0x1ce413(0x258)](this['getUserInput']()),this;}},{'key':_0x1de59e(0x1e8),'value':function(){var _0x22cf1b=_0x1de59e,_0x43a55e=Math[_0x22cf1b(0x187)](Math[_0x22cf1b(0x206)](this[_0x22cf1b(0x1ab)]));return this['maxParticles']=_0x43a55e*_0x43a55e,{'particlesTextureSize':_0x43a55e,'maxParticles':this['maxParticles'],'particleHeight':this[_0x22cf1b(0x212)],'fadeOpacity':this[_0x22cf1b(0x235)],'dropRate':this[_0x22cf1b(0x13f)],'dropRateBump':this[_0x22cf1b(0x1af)],'speedFactor':this[_0x22cf1b(0x17a)],'lineWidth':this[_0x22cf1b(0x226)],'globeLayer':this[_0x22cf1b(0x1d2)],'WMS_URL':this[_0x22cf1b(0x22b)]};}},{'key':_0x1de59e(0x1cc),'value':function(){var _0x5a92cd=_0x1de59e;this[_0x5a92cd(0x138)][_0x5a92cd(0x107)](this[_0x5a92cd(0x1a2)][_0x5a92cd(0x18c)]['primitives'][_0x5a92cd(0x1de)]),this['primitives'][_0x5a92cd(0x107)](this[_0x5a92cd(0x1a2)][_0x5a92cd(0x18c)][_0x5a92cd(0x138)][_0x5a92cd(0x13a)]),this[_0x5a92cd(0x138)][_0x5a92cd(0x107)](this[_0x5a92cd(0x1a2)][_0x5a92cd(0x18c)]['primitives'][_0x5a92cd(0x259)]),this['primitives'][_0x5a92cd(0x107)](this['particleSystem'][_0x5a92cd(0x18c)][_0x5a92cd(0x138)][_0x5a92cd(0x239)]),this['primitives']['add'](this[_0x5a92cd(0x1a2)][_0x5a92cd(0x18c)]['primitives']['postProcessingSpeed']),this[_0x5a92cd(0x138)][_0x5a92cd(0x107)](this[_0x5a92cd(0x1a2)][_0x5a92cd(0x18b)]['primitives'][_0x5a92cd(0x135)]),this[_0x5a92cd(0x138)][_0x5a92cd(0x107)](this[_0x5a92cd(0x1a2)][_0x5a92cd(0x18b)][_0x5a92cd(0x138)]['trails']),this[_0x5a92cd(0x138)][_0x5a92cd(0x107)](this[_0x5a92cd(0x1a2)]['particlesRendering']['primitives'][_0x5a92cd(0xf6)]);}},{'key':_0x1de59e(0x1b5),'value':function(){var _0x303934=_0x1de59e,_0x5bb6f8=this[_0x303934(0x1c8)][_0x303934(0x15d)](this[_0x303934(0x17f)][_0x303934(0x240)][_0x303934(0x1cb)]);if(!_0x5bb6f8){var _0x548615=this[_0x303934(0x103)][_0x303934(0x1db)]();_0x5bb6f8=_0x59fbcb[_0x303934(0x237)]['fromDegrees'](_0x548615[_0x303934(0x16d)],_0x548615['ymin'],_0x548615['xmax'],_0x548615[_0x303934(0x11a)]);}var _0x57e78a=_0x3f76df['viewRectangleToLonLatRange'](_0x5bb6f8);this[_0x303934(0x173)][_0x303934(0xfb)]['x']=_0x57e78a[_0x303934(0x16f)][_0x303934(0x11f)],this[_0x303934(0x173)]['lonRange']['y']=_0x57e78a['lon'][_0x303934(0x197)],this['viewerParameters']['latRange']['x']=_0x57e78a[_0x303934(0x20d)][_0x303934(0x11f)],this[_0x303934(0x173)][_0x303934(0x1bf)]['y']=_0x57e78a[_0x303934(0x20d)]['max'];var _0x460195=this[_0x303934(0x1c8)][_0x303934(0x20f)](this[_0x303934(0x13c)],this['scene']['drawingBufferWidth'],this[_0x303934(0x17f)][_0x303934(0x25b)]);_0x460195>0x0&&(this[_0x303934(0x173)]['pixelSize']=_0x460195);}}]),_0x38f166;}(_0x198395);_0x4f1b8a[_0x2160b0(0x15e)][_0x2160b0(0x1b0)]('wind',_0x3fc63b),_0x4f1b8a['layer'][_0x2160b0(0x220)]=_0x3fc63b;var _0x3a9dd6=function _0x576335(){var _0x2179ff=_0x2160b0;_0x57d1a1()(this,_0x576335),this[_0x2179ff(0x1ac)]=null,this['lat']=null,this[_0x2179ff(0x170)]=null,this[_0x2179ff(0x23d)]=null,this['age']=null;},_0x3f7108=function(){var _0x494948=_0x2160b0;function _0x4a1cf5(_0x17ff59,_0x71a941){var _0x3582c7=a0_0xc9c3;_0x57d1a1()(this,_0x4a1cf5),this['rows']=_0x17ff59[_0x3582c7(0x14c)],this['cols']=_0x17ff59[_0x3582c7(0x1a3)],this[_0x3582c7(0x16d)]=_0x17ff59[_0x3582c7(0x16d)],this[_0x3582c7(0x1f7)]=_0x17ff59[_0x3582c7(0x1f7)],this[_0x3582c7(0x1c2)]=_0x17ff59[_0x3582c7(0x1c2)],this['ymax']=_0x17ff59['ymax'],this['grid']=[];var _0x21c297=_0x17ff59[_0x3582c7(0x14a)],_0x3600b0=_0x17ff59['vdata'],_0x31b557=!0x1;_0x21c297['length']===this[_0x3582c7(0x14c)]&&_0x21c297[0x0]['length']===this[_0x3582c7(0x1a3)]&&(_0x31b557=!0x0);for(var _0x161619=0x0,_0xc6ebcb=null,_0x10838c=null,_0x2394a4=0x0;_0x2394a4<this[_0x3582c7(0x14c)];_0x2394a4++){_0xc6ebcb=[];for(var _0x85d15d=0x0;_0x85d15d<this['cols'];_0x85d15d++,_0x161619++)_0x10838c=_0x31b557?this[_0x3582c7(0x157)](_0x21c297[_0x2394a4][_0x85d15d],_0x3600b0[_0x2394a4][_0x85d15d]):this[_0x3582c7(0x157)](_0x21c297[_0x161619],_0x3600b0[_0x161619]),_0xc6ebcb[_0x3582c7(0x1ad)](_0x10838c);this['grid'][_0x3582c7(0x1ad)](_0xc6ebcb);}_0x71a941&&this['grid'][_0x3582c7(0x131)]();}return _0x2b52cc()(_0x4a1cf5,[{'key':_0x494948(0x159),'value':function(_0xab8bec,_0x24e904){var _0x477fa8=_0x494948;return{'x':(_0xab8bec-this[_0x477fa8(0x16d)])/(this['xmax']-this[_0x477fa8(0x16d)])*(this['cols']-0x1),'y':(this[_0x477fa8(0x11a)]-_0x24e904)/(this[_0x477fa8(0x11a)]-this[_0x477fa8(0x1c2)])*(this['rows']-0x1)};}},{'key':_0x494948(0x1f9),'value':function(_0x50a655,_0x161278){var _0x529324=_0x494948;if(_0x50a655<0x0||_0x50a655>=this[_0x529324(0x1a3)]||_0x161278>=this[_0x529324(0x14c)])return[0x0,0x0,0x0];var _0x46c712,_0x1432a8,_0x2fb0f1=Math[_0x529324(0xf7)](_0x50a655),_0x27734f=Math['floor'](_0x161278);if(_0x2fb0f1===_0x50a655&&_0x27734f===_0x161278)return this[_0x529324(0x21f)][_0x161278][_0x50a655];_0x46c712=_0x2fb0f1+0x1,_0x1432a8=_0x27734f+0x1;var _0xa5becc=this[_0x529324(0x1f9)](_0x2fb0f1,_0x27734f),_0x30f390=this[_0x529324(0x1f9)](_0x46c712,_0x27734f),_0x4b9479=this['getUVByXY'](_0x2fb0f1,_0x1432a8),_0x2d155c=this[_0x529324(0x1f9)](_0x46c712,_0x1432a8),_0x253634=null;try{_0x253634=this[_0x529324(0x20a)](_0x50a655-_0x2fb0f1,_0x161278-_0x27734f,_0xa5becc,_0x30f390,_0x4b9479,_0x2d155c);}catch(_0x3e7d2b){console[_0x529324(0x1b2)](_0x50a655,_0x161278);}return _0x253634;}},{'key':_0x494948(0x20a),'value':function(_0x39d9cb,_0x4ac118,_0x47eee9,_0x2dc004,_0x1966a0,_0x17e42b){var _0x3d656f=_0x494948,_0x3e38e7=0x1-_0x39d9cb,_0x57eb02=0x1-_0x4ac118,_0x40f99f=_0x3e38e7*_0x57eb02,_0x287184=_0x39d9cb*_0x57eb02,_0xeaf8d2=_0x3e38e7*_0x4ac118,_0x5a0846=_0x39d9cb*_0x4ac118,_0x3f84ed=_0x47eee9[0x0]*_0x40f99f+_0x2dc004[0x0]*_0x287184+_0x1966a0[0x0]*_0xeaf8d2+_0x17e42b[0x0]*_0x5a0846,_0x428b7a=_0x47eee9[0x1]*_0x40f99f+_0x2dc004[0x1]*_0x287184+_0x1966a0[0x1]*_0xeaf8d2+_0x17e42b[0x1]*_0x5a0846;return this[_0x3d656f(0x157)](_0x3f84ed,_0x428b7a);}},{'key':_0x494948(0x157),'value':function(_0x53bfdd,_0x47cbfa){return[+_0x53bfdd,+_0x47cbfa,Math['sqrt'](_0x53bfdd*_0x53bfdd+_0x47cbfa*_0x47cbfa)];}},{'key':_0x494948(0x101),'value':function(_0x5cdc1b,_0x810e1a){var _0x2fb942=_0x494948;if(!this[_0x2fb942(0x10d)](_0x5cdc1b,_0x810e1a))return null;var _0x529c85=this[_0x2fb942(0x159)](_0x5cdc1b,_0x810e1a);return this[_0x2fb942(0x1f9)](_0x529c85['x'],_0x529c85['y']);}},{'key':'isInExtent','value':function(_0x491438,_0x17a916){var _0x5bc9fd=_0x494948;return _0x491438>=this[_0x5bc9fd(0x16d)]&&_0x491438<=this[_0x5bc9fd(0x1f7)]&&_0x17a916>=this[_0x5bc9fd(0x1c2)]&&_0x17a916<=this[_0x5bc9fd(0x11a)];}},{'key':_0x494948(0x1b6),'value':function(){var _0x3d4e0c=_0x494948,_0x5d3583=_0x43e2cf(this['xmin'],this[_0x3d4e0c(0x1f7)]);return{'lat':_0x43e2cf(this[_0x3d4e0c(0x1c2)],this[_0x3d4e0c(0x11a)]),'lng':_0x5d3583};}}]),_0x4a1cf5;}();function _0x43e2cf(_0x39de18,_0x24f9b2){var _0x41e54d=_0x2160b0;return _0x39de18+Math[_0x41e54d(0x1ae)]()*(_0x24f9b2-_0x39de18);}function _0x14340a(_0x4ed4d6){var _0x4fdcc=function(){var _0x234a26=a0_0xc9c3;if(_0x234a26(0x22c)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x234a26(0x1a6)][_0x234a26(0x254)])return!0x1;if(_0x234a26(0xf4)==typeof Proxy)return!0x0;try{return Boolean[_0x234a26(0x23f)]['valueOf']['call'](Reflect[_0x234a26(0x1a6)](Boolean,[],function(){})),!0x0;}catch(_0x299942){return!0x1;}}();return function(){var _0x435750=a0_0xc9c3,_0x648f8b,_0x36c9d4=_0x371d1a()(_0x4ed4d6);if(_0x4fdcc){var _0x1ac9f5=_0x371d1a()(this)['constructor'];_0x648f8b=Reflect[_0x435750(0x1a6)](_0x36c9d4,arguments,_0x1ac9f5);}else _0x648f8b=_0x36c9d4[_0x435750(0x245)](this,arguments);return _0x2108e0()(this,_0x648f8b);};}var _0x1269db=function(_0x97bf5c){var _0x2b5e99=_0x2160b0;_0x242f6e()(_0x32e648,_0x97bf5c);var _0x113877=_0x14340a(_0x32e648);function _0x32e648(){var _0x589d79=a0_0xc9c3,_0x1cc1c2,_0x53f1d3=arguments[_0x589d79(0x191)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x57d1a1()(this,_0x32e648),(_0x1cc1c2=_0x113877[_0x589d79(0x216)](this,_0x53f1d3))[_0x589d79(0x17b)]=[0x0,0x0],_0x1cc1c2['particles']=[],_0x1cc1c2[_0x589d79(0x256)]=_0x53f1d3[_0x589d79(0x256)]||0x32,_0x1cc1c2[_0x589d79(0x183)]=_0x53f1d3[_0x589d79(0x21d)]||0x4e20,_0x1cc1c2[_0x589d79(0x155)]=_0x53f1d3[_0x589d79(0x1e6)]||0x78,_0x1cc1c2[_0x589d79(0x196)]=0x3e8/(_0x53f1d3['frameRate']||0xa),_0x1cc1c2['_pointerEvents']=_0x59fbcb['defaultValue'](_0x1cc1c2[_0x589d79(0x150)][_0x589d79(0x1ee)],!0x1),_0x1cc1c2[_0x589d79(0x114)]=_0x53f1d3['color']||_0x589d79(0x142),_0x1cc1c2[_0x589d79(0x226)]=_0x53f1d3[_0x589d79(0x226)]||0x1,_0x1cc1c2['fixedHeight']=_0x59fbcb[_0x589d79(0xfa)](_0x53f1d3[_0x589d79(0x165)],0x0),_0x1cc1c2['reverseY']=_0x59fbcb[_0x589d79(0xfa)](_0x53f1d3[_0x589d79(0x1c1)],!0x1),_0x1cc1c2[_0x589d79(0x1c7)]=null,_0x1cc1c2;}return _0x2b52cc()(_0x32e648,[{'key':_0x2b5e99(0x21c),'get':function(){var _0x2bffda=_0x2b5e99;return this[_0x2bffda(0x1c7)];}},{'key':_0x2b5e99(0x19b),'get':function(){var _0x1264a5=_0x2b5e99;return this[_0x1264a5(0x103)][_0x1264a5(0x17f)][_0x1264a5(0x1c7)]['clientWidth'];}},{'key':_0x2b5e99(0x169),'get':function(){var _0x59c852=_0x2b5e99;return this[_0x59c852(0x103)][_0x59c852(0x17f)][_0x59c852(0x1c7)][_0x59c852(0x204)];}},{'key':_0x2b5e99(0x1ee),'get':function(){var _0x49c403=_0x2b5e99;return this[_0x49c403(0x18a)];},'set':function(_0x4a3f13){var _0x716d52=_0x2b5e99;this[_0x716d52(0x18a)]=_0x4a3f13,this[_0x716d52(0x1c7)]&&(this[_0x716d52(0x1c7)]['style'][_0x716d52(0x1c0)]=_0x4a3f13?_0x716d52(0x132):'none');}},{'key':_0x2b5e99(0x256),'get':function(){var _0x5ee3a2=_0x2b5e99;return this[_0x5ee3a2(0x1c5)];},'set':function(_0x242311){var _0x52d805=_0x2b5e99;this[_0x52d805(0x1c5)]=0x64*(0x64-(_0x242311>0x63?0x63:_0x242311)),this['_calcStep']();}},{'key':_0x2b5e99(0x21d),'get':function(){return this['_particlesNumber'];},'set':function(_0x5354fd){var _0x1e8486=_0x2b5e99,_0x384a46=this;this[_0x1e8486(0x183)]=_0x5354fd,clearTimeout(this['canrefresh']),this['canrefresh']=setTimeout(function(){_0x384a46['redraw']();},0x1f4);}},{'key':_0x2b5e99(0x1e6),'get':function(){return this['_maxAge'];},'set':function(_0x18d132){var _0x3f7576=_0x2b5e99,_0x20fa02=this;this['_maxAge']=_0x18d132,clearTimeout(this[_0x3f7576(0x1e5)]),this[_0x3f7576(0x1e5)]=setTimeout(function(){var _0xf25ec7=_0x3f7576;_0x20fa02[_0xf25ec7(0x1d3)]();},0x1f4);}},{'key':'data','get':function(){return this['windData'];},'set':function(_0x2a0298){var _0x542f83=_0x2b5e99;this[_0x542f83(0xfe)](_0x2a0298);}},{'key':_0x2b5e99(0x1ca),'value':function(_0x258d46){var _0x271474=_0x2b5e99;_0x258d46?this[_0x271474(0x20e)]():(this[_0x271474(0x214)]&&(this['options'][_0x271474(0x189)]=this[_0x271474(0x214)]),this['_removedHook']());}},{'key':_0x2b5e99(0x19d),'value':function(){}},{'key':_0x2b5e99(0x20e),'value':function(){var _0x5815d5=_0x2b5e99;this[_0x5815d5(0x1c7)]=this[_0x5815d5(0x253)](),this[_0x5815d5(0x136)]=this[_0x5815d5(0x1c7)]['getContext']('2d'),this['bindEvent'](),this[_0x5815d5(0x150)][_0x5815d5(0x189)]&&this[_0x5815d5(0xfe)](this['options'][_0x5815d5(0x189)]);}},{'key':'_removedHook','value':function(){var _0x321640=_0x2b5e99;this[_0x321640(0x211)](),this[_0x321640(0x192)](),this['canvas']&&(this['_map']['container'][_0x321640(0x120)](this[_0x321640(0x1c7)]),delete this[_0x321640(0x1c7)]);}},{'key':_0x2b5e99(0x253),'value':function(){var _0x11026d=_0x2b5e99,_0x26ad68=document[_0x11026d(0xfc)](_0x11026d(0x1c7));_0x26ad68[_0x11026d(0x1cd)]['position']=_0x11026d(0xf8),_0x26ad68[_0x11026d(0x1cd)][_0x11026d(0x1c6)]=_0x11026d(0x1ff),_0x26ad68[_0x11026d(0x1cd)][_0x11026d(0x19c)]=_0x11026d(0x1ff),_0x26ad68[_0x11026d(0x1cd)][_0x11026d(0x17e)]=_0x11026d(0x232),_0x26ad68[_0x11026d(0x1cd)][_0x11026d(0x144)]='100%',_0x26ad68['style'][_0x11026d(0x1ee)]=this['_pointerEvents']?_0x11026d(0x18d):_0x11026d(0x1c4),_0x26ad68['style'][_0x11026d(0xf3)]=0xa,_0x26ad68[_0x11026d(0x18f)]('id',_0x11026d(0x181)),_0x26ad68['setAttribute'](_0x11026d(0xec),'canvasWindy'),this[_0x11026d(0x103)][_0x11026d(0x1fd)]['appendChild'](_0x26ad68);var _0x2ad874=this['_map']['scene'];return _0x26ad68[_0x11026d(0x17e)]=_0x2ad874[_0x11026d(0x1c7)]['clientWidth'],_0x26ad68[_0x11026d(0x144)]=_0x2ad874[_0x11026d(0x1c7)][_0x11026d(0x204)],_0x26ad68;}},{'key':_0x2b5e99(0x147),'value':function(){var _0xbba58d=_0x2b5e99;this[_0xbba58d(0x1c7)]&&(this[_0xbba58d(0x1c7)][_0xbba58d(0x17e)]=this['canvasWidth'],this[_0xbba58d(0x1c7)][_0xbba58d(0x144)]=this[_0xbba58d(0x169)]);}},{'key':'bindEvent','value':function(){var _0x30fd1a=_0x2b5e99,_0x15dddf=this,_0x30ed12=Date['now']();!function _0x29ac75(){var _0x4ae03f=a0_0xc9c3;_0x15dddf['animateFrame']=window[_0x4ae03f(0x123)](_0x29ac75);var _0x16c247=Date['now'](),_0xe56e87=_0x16c247-_0x30ed12;_0xe56e87>_0x15dddf['frameTime']&&(_0x30ed12=_0x16c247-_0xe56e87%_0x15dddf['frameTime'],_0x15dddf[_0x4ae03f(0x110)]());}(),window[_0x30fd1a(0x13d)]('resize',this['resize'][_0x30fd1a(0x19e)](this),!0x1),this[_0x30fd1a(0x127)]=!0x1,this[_0x30fd1a(0x117)]=!0x1,this[_0x30fd1a(0x103)]['on'](_0x4f1b8a[_0x30fd1a(0x186)]['wheel'],this[_0x30fd1a(0x1f1)],this),this[_0x30fd1a(0x103)]['on'](_0x4f1b8a[_0x30fd1a(0x186)][_0x30fd1a(0x24b)],this[_0x30fd1a(0x210)],this),this['_map']['on'](_0x4f1b8a[_0x30fd1a(0x186)][_0x30fd1a(0x15a)],this[_0x30fd1a(0x176)],this),this[_0x30fd1a(0x103)]['on'](_0x4f1b8a[_0x30fd1a(0x186)]['mouseMove'],this[_0x30fd1a(0x223)],this);}},{'key':_0x2b5e99(0x192),'value':function(){var _0x5a96cb=_0x2b5e99;window[_0x5a96cb(0x221)](this[_0x5a96cb(0x1b4)]),delete this[_0x5a96cb(0x1b4)],window[_0x5a96cb(0xed)](_0x5a96cb(0x147),this[_0x5a96cb(0x147)]),this[_0x5a96cb(0x103)][_0x5a96cb(0x202)](_0x4f1b8a[_0x5a96cb(0x186)][_0x5a96cb(0x22a)],this[_0x5a96cb(0x1f1)],this),this[_0x5a96cb(0x103)][_0x5a96cb(0x202)](_0x4f1b8a[_0x5a96cb(0x186)][_0x5a96cb(0x24b)],this['_onMouseDownEvent'],this),this['_map'][_0x5a96cb(0x202)](_0x4f1b8a[_0x5a96cb(0x186)][_0x5a96cb(0x15a)],this[_0x5a96cb(0x176)],this),this[_0x5a96cb(0x103)]['off'](_0x4f1b8a[_0x5a96cb(0x186)]['mouseMove'],this[_0x5a96cb(0x223)],this);}},{'key':_0x2b5e99(0x1f1),'value':function(_0x29074f){var _0x327ff9=_0x2b5e99,_0x3742df=this;clearTimeout(this[_0x327ff9(0x208)]),this[_0x327ff9(0x184)]&&this[_0x327ff9(0x1c7)]&&(this[_0x327ff9(0x1c7)][_0x327ff9(0x1cd)][_0x327ff9(0x228)]='hidden',this[_0x327ff9(0x208)]=setTimeout(function(){var _0x549da6=_0x327ff9;_0x3742df['show']&&(_0x3742df[_0x549da6(0x1d3)](),_0x3742df['canvas'][_0x549da6(0x1cd)]['visibility']=_0x549da6(0x21e));},0xc8));}},{'key':_0x2b5e99(0x210),'value':function(_0x39ed66){var _0x314138=_0x2b5e99;this[_0x314138(0x127)]=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x156361){var _0x9faa8c=_0x2b5e99;this[_0x9faa8c(0x184)]&&this['canvas']&&this['mouse_down']&&(this[_0x9faa8c(0x1c7)][_0x9faa8c(0x1cd)]['visibility']=_0x9faa8c(0x1d1),this[_0x9faa8c(0x117)]=!0x0);}},{'key':_0x2b5e99(0x176),'value':function(_0x11cd44){var _0x575331=_0x2b5e99;this[_0x575331(0x184)]&&this[_0x575331(0x1c7)]&&(this['mouse_down']&&this[_0x575331(0x117)]&&this[_0x575331(0x1d3)](),this[_0x575331(0x1c7)][_0x575331(0x1cd)]['visibility']=_0x575331(0x21e),this[_0x575331(0x127)]=!0x1,this[_0x575331(0x117)]=!0x1);}},{'key':'redraw','value':function(){var _0x249e3d=_0x2b5e99;this[_0x249e3d(0x184)]&&this[_0x249e3d(0x1da)]&&(this['particles']=[],this[_0x249e3d(0x1e3)]());}},{'key':'updateDate','value':function(_0x375de2){var _0x4d21f0=_0x2b5e99;this[_0x4d21f0(0x211)](),this[_0x4d21f0(0x214)]=_0x375de2,this[_0x4d21f0(0x1da)]=new _0x3f7108(this[_0x4d21f0(0x214)],this[_0x4d21f0(0x1c1)]),this['drawWind']();}},{'key':_0x2b5e99(0x1e3),'value':function(){var _0xa02c4c=_0x2b5e99;this[_0xa02c4c(0x219)]();for(var _0x36b799=0x0;_0x36b799<this[_0xa02c4c(0x21d)];_0x36b799++){var _0x1bfc77=this[_0xa02c4c(0x252)](new _0x3a9dd6());this['particles']['push'](_0x1bfc77);}this[_0xa02c4c(0x136)][_0xa02c4c(0x112)]=_0xa02c4c(0x12b),this[_0xa02c4c(0x136)][_0xa02c4c(0x1d7)]=0.6,this['update']();}},{'key':_0x2b5e99(0x219),'value':function(){var _0x31ee29=_0x2b5e99;this[_0x31ee29(0x1da)]&&(this[_0x31ee29(0x17b)]=[(this[_0x31ee29(0x1da)][_0x31ee29(0x1f7)]-this['windField'][_0x31ee29(0x16d)])/this[_0x31ee29(0x256)],(this['windField'][_0x31ee29(0x11a)]-this[_0x31ee29(0x1da)]['ymin'])/this['speedRate']]);}},{'key':'update','value':function(){var _0x4fa830=_0x2b5e99,_0x2a846f=this;if(this[_0x4fa830(0x184)]&&!(this[_0x4fa830(0x190)]['length']<=0x0)){var _0x326a09=null,_0x2dfaea=null,_0xc5de7=null;this[_0x4fa830(0x190)]['forEach'](function(_0x3e08de){var _0x1de007=_0x4fa830;if(_0x3e08de['age']<=0x0&&_0x2a846f['randomParticle'](_0x3e08de),_0x3e08de[_0x1de007(0x11b)]>0x0){var _0x3b78a8=_0x3e08de['tlng'],_0x4c3bfd=_0x3e08de[_0x1de007(0x23d)];(_0xc5de7=_0x2a846f[_0x1de007(0x1da)][_0x1de007(0x101)](_0x3b78a8,_0x4c3bfd))?(_0x326a09=_0x3b78a8+_0x2a846f['calc_speedRate'][0x0]*_0xc5de7[0x0],_0x2dfaea=_0x4c3bfd+_0x2a846f['calc_speedRate'][0x1]*_0xc5de7[0x1],_0x3e08de[_0x1de007(0x1ac)]=_0x3b78a8,_0x3e08de['lat']=_0x4c3bfd,_0x3e08de[_0x1de007(0x170)]=_0x326a09,_0x3e08de[_0x1de007(0x23d)]=_0x2dfaea,_0x3e08de[_0x1de007(0x11b)]--):_0x3e08de['age']=0x0;}}),this[_0x4fa830(0x116)]();}}},{'key':_0x2b5e99(0x171),'value':function(_0x40df1e,_0x374851,_0x270fb8){var _0x59200b=_0x2b5e99,_0x3d9832=_0x59fbcb['Cartesian3'][_0x59200b(0x137)](_0x40df1e,_0x374851,this[_0x59200b(0x165)]),_0x115a13=this[_0x59200b(0x103)][_0x59200b(0x17f)];if(_0x115a13['mode']===_0x59fbcb['SceneMode'][_0x59200b(0x24d)]&&!new _0x59fbcb['EllipsoidalOccluder'](_0x115a13['globe'][_0x59200b(0x1cb)],_0x115a13[_0x59200b(0x1c8)][_0x59200b(0xf0)])[_0x59200b(0x140)](_0x3d9832))return _0x270fb8[_0x59200b(0x11b)]=0x0,null;var _0x488980=_0x59fbcb['SceneTransforms'][_0x59200b(0x1fc)](this['_map'][_0x59200b(0x17f)],_0x3d9832);return _0x488980?[_0x488980['x'],_0x488980['y']]:null;}},{'key':_0x2b5e99(0x116),'value':function(){var _0x4b12a3=_0x2b5e99,_0x107bf7=this,_0x3b93a5=this['particles'];this[_0x4b12a3(0x136)][_0x4b12a3(0x226)]=_0x107bf7[_0x4b12a3(0x226)],this[_0x4b12a3(0x136)][_0x4b12a3(0x119)]=_0x4b12a3(0x247),this[_0x4b12a3(0x136)][_0x4b12a3(0x12d)](0x0,0x0,this[_0x4b12a3(0x19b)],this['canvasHeight']),this[_0x4b12a3(0x136)]['globalCompositeOperation']=_0x4b12a3(0x241),this[_0x4b12a3(0x136)][_0x4b12a3(0x1d7)]=0.9,this[_0x4b12a3(0x136)][_0x4b12a3(0x164)](),this[_0x4b12a3(0x136)][_0x4b12a3(0x158)]=this[_0x4b12a3(0x114)];var _0x12b337=this[_0x4b12a3(0x103)][_0x4b12a3(0x17f)][_0x4b12a3(0x1aa)]!==_0x59fbcb['SceneMode'][_0x4b12a3(0x24d)];_0x3b93a5[_0x4b12a3(0x1fa)](function(_0x1e31ce){var _0x44978f=_0x4b12a3,_0x4bdc35=_0x107bf7[_0x44978f(0x171)](_0x1e31ce['lng'],_0x1e31ce[_0x44978f(0x20d)],_0x1e31ce),_0x23d29b=_0x107bf7[_0x44978f(0x171)](_0x1e31ce[_0x44978f(0x170)],_0x1e31ce[_0x44978f(0x23d)],_0x1e31ce);if(null!=_0x4bdc35&&null!=_0x23d29b){var _0x386fa5=Math[_0x44978f(0x1f6)](_0x4bdc35[0x0]-_0x23d29b[0x0]);_0x12b337&&_0x386fa5>=_0x107bf7['canvasWidth']||(_0x107bf7[_0x44978f(0x136)][_0x44978f(0x16b)](_0x4bdc35[0x0],_0x4bdc35[0x1]),_0x107bf7[_0x44978f(0x136)][_0x44978f(0x139)](_0x23d29b[0x0],_0x23d29b[0x1]));}}),this[_0x4b12a3(0x136)][_0x4b12a3(0x15f)]();}},{'key':_0x2b5e99(0x252),'value':function(_0x226594){var _0x16edab=_0x2b5e99;for(var _0x26d720,_0x1a3a15,_0x576a0c=0x0;_0x576a0c<0x1e&&(_0x26d720=this[_0x16edab(0x1da)][_0x16edab(0x1b6)](),!((_0x1a3a15=this[_0x16edab(0x1da)][_0x16edab(0x101)](_0x26d720[_0x16edab(0x1ac)],_0x26d720[_0x16edab(0x20d)]))&&_0x1a3a15[0x2]>0x0));_0x576a0c++);if(!_0x1a3a15)return _0x226594;var _0x3aa15c=_0x26d720[_0x16edab(0x1ac)]+this[_0x16edab(0x17b)][0x0]*_0x1a3a15[0x0],_0x455cce=_0x26d720[_0x16edab(0x20d)]+this['calc_speedRate'][0x1]*_0x1a3a15[0x1];return _0x226594[_0x16edab(0x1ac)]=_0x26d720[_0x16edab(0x1ac)],_0x226594[_0x16edab(0x20d)]=_0x26d720[_0x16edab(0x20d)],_0x226594['tlng']=_0x3aa15c,_0x226594[_0x16edab(0x23d)]=_0x455cce,_0x226594[_0x16edab(0x11b)]=Math[_0x16edab(0xef)](Math[_0x16edab(0x1ae)]()*this[_0x16edab(0x1e6)]),_0x226594;}},{'key':_0x2b5e99(0x211),'value':function(){var _0x41a699=_0x2b5e99;this[_0x41a699(0x190)]=[],delete this['windField'],delete this['windData'];}}]),_0x32e648;}(_0x4f1b8a[_0x2160b0(0x21c)]['BaseLayer']);function _0x4f1c39(_0x4ff9f6,_0x590413){var _0x4fd9b7=_0x2160b0;return _0x4ff9f6*Math[_0x4fd9b7(0x1c3)](_0x59fbcb[_0x4fd9b7(0x12e)]['toRadians'](_0x590413));}function _0x1e3a1d(_0x361b5c,_0x4c525f){var _0x3b42f=_0x2160b0;return _0x361b5c*Math[_0x3b42f(0x24c)](_0x59fbcb[_0x3b42f(0x12e)][_0x3b42f(0x217)](_0x4c525f));}function _0x465d4b(_0x4e1e92,_0x8dd3fa){var _0x534167=_0x2160b0;return Math[_0x534167(0x206)](Math[_0x534167(0x182)](_0x4e1e92,0x2)+Math['pow'](_0x8dd3fa,0x2));}function _0x321966(_0x4da980,_0x23c8f7){var _0x290690=_0x2160b0,_0x2448ee=_0x59fbcb[_0x290690(0x12e)][_0x290690(0x246)](Math['atan2'](_0x23c8f7,_0x4da980));return _0x2448ee+=_0x2448ee<0x0?0x168:0x0;}_0x4f1b8a[_0x2160b0(0x15e)][_0x2160b0(0x1b0)](_0x2160b0(0x17d),_0x1269db),_0x4f1b8a[_0x2160b0(0x21c)][_0x2160b0(0x22d)]=_0x1269db,_0x4f1b8a[_0x2160b0(0x205)]=_0x3006ae;}]));function a0_0x5221(){var _0x771553=['maxAge','RGB','getUserInput','nextTrails','particlesTextures','UNSIGNED_INT','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}','vertexArray','pointerEvents','fromCache','shaderProgram','_onMapWhellEvent','clearCommand','drawingBufferWidth','lev','Cartesian3','abs','xmax','createComputingPrimitives','getUVByXY','forEach','DEPTH_COMPONENT','wgs84ToWindowCoordinates','container','string','0px','vertexShaderSource','2300515SLxnhp','off','PixelDatatype','clientHeight','WindUtil','sqrt','userInput','refreshTimer','depthTexture','_bilinearInterpolation','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','BaseLayer','lat','_addedHook','getPixelSize','_onMouseDownEvent','clear','particleHeight','currentTrails','windData','create','call','toRadians','array','_calcStep','ShaderSource','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}','layer','particlesNumber','visible','grid','WindLayer','cancelAnimationFrame','removeAll','_onMouseMoveEvent','key','Cesium','lineWidth','_onMap_preRenderEvent','visibility','trails','wheel','WMS_URL','undefined','CanvasWindLayer','PrimitiveType','postProcessingSpeed','autoClear','currentTrailsColor','100%','21693720mSZEDF','PI_OVER_THREE','fadeOpacity','TextureMinificationFilter','Rectangle','15287768HrrcqU','postProcessingPosition','Module','nextTrailsDepth','1669904EDusFf','tlat','Appearance','prototype','globe','lighter','hasOwnProperty','createRawRenderState','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}','apply','toDegrees','destination-in','preExecute','Geometry','getU','mouseDown','sin','SCENE3D','createFramebuffer','context','NEAREST','exports','randomParticle','_createCanvas','sham','rawRenderState','speedRate','LINEAR','applyUserInput','updatePosition','outputTexture','drawingBufferHeight','east','class','removeEventListener','BoundingSphere','round','positionWC','nextParticlesSpeed','nextTrailsColor','zIndex','function','FLOAT','screen','floor','absolute','blending','defaultValue','lonRange','createElement','_removedHook','updateDate','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}','GeometryAttribute','getUVByPoint','depthMask','_map','primitiveType','__proto__','BufferUsage','add','setData','32984QfhXjw','getDefaultRenderState','dimensions','createParticlesTextures','isInExtent','isDestroyed','canvasResize','update','Cartesian2','fillStyle','particlesTextureSize','color','geometry','_drawLines','mouse_move','PrimitiveCollection','globalCompositeOperation','ymax','age','STATIC_DRAW','textures','clampToLatitudeRange','min','removeChild','randomizeParticles','GeometryAttributes','requestAnimationFrame','6303198iNlRry','getV','destroy','mouse_down','particlesWind','framebuffers','THREE_PI_OVER_TWO','rgba(0,\x200,\x200,\x200.97)','nextParticlesPosition','fillRect','Math','createSegmentsGeometry','getFullscreenQuad','reverse','all','Sampler','viewport','segments','canvasContext','fromDegrees','primitives','lineTo','updateSpeed','iterator','globeBoundingSphere','addEventListener','mouseMove','dropRate','isPointVisible','TRIANGLES','#ffffff','colorNum','height','framebuffer','symbol','resize','Pass','TextureMagnificationFilter','udata','keys','rows','destroyParticlesTextures','18mgOZhA','toStringTag','options','execute','defineProperty','TWO_PI','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}','_maxAge','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}','_calcUV','strokeStyle','toGridXY','mouseUp','Compute','configurable','computeViewRectangle','LayerUtil','stroke','value','defined','arrayBufferView','south','beginPath','fixedHeight','segmentsDepth','colorTable','commandToExecute','canvasHeight','windTextures','moveTo','currentParticlesPosition','xmin','pixelSize','lon','tlng','_tomap','DISABLE_GL_POSITION_LOG_DEPTH','viewerParameters','ComputeCommand','writable','_onMouseUpEvent','applyViewerParameters','3754093AxQUxT','ClearCommand','speedFactor','calc_speedRate','setPrototypeOf','canvasWind','width','scene','createRenderingPrimitives','canvasWindy','pow','_particlesNumber','show','getDirection','EventType','ceil','destroyObject','data','_pointerEvents','particlesRendering','particlesComputing','auto','refreshParticles','setAttribute','particles','length','unbindEvent','remove','fragmentShaderSource','9bJwprS','frameTime','max','Draw','clearFramebuffers','depthTest','canvasWidth','left','_mountedHook','bind','uniformMap','getPrototypeOf','mod','particleSystem','cols','ALWAYS','__esModule','construct','once','attributeLocations','createWindTextures','mode','maxParticles','lng','push','random','dropRateBump','register','fromGeometry','log','constructor','animateFrame','updateViewerParameters','getRandomLatLng','SceneMode','preRender','segmentsColor','PI_OVER_TWO','commandList','currentParticlesSpeed','object','OPAQUE','latRange','pointer-events','reverseY','ymin','cos','none','_speedRate','top','canvas','camera','createTexture','_showHook','ellipsoid','addPrimitives','style','UNSIGNED_BYTE','291sNhRdZ','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}','hidden','globeLayer','redraw','VertexArray','default','RGBA','globalAlpha','PixelFormat','randomBetween','windField','getExtent','2AxZpCM','createRenderingFramebuffers','getWind','10yfzbYD','ComponentDatatype','valueOf','commandType','drawWind','getColorTexture','canrefresh'];a0_0x5221=function(){return _0x771553;};return a0_0x5221();}
|
|
30
|
+
function a0_0x268f(){var _0x2b694d=['applyViewerParameters','Cartesian3','canvasWind','speedRate','PI_OVER_THREE','wgs84ToWindowCoordinates','updatePosition','bindEvent','commandList','globe','now','110stWvFF','iterator','windField','Math','clear','LayerUtil','THREE_PI_OVER_TWO','ymax','nextTrailsColor','position','fillRect','toRadians','defineProperty','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','removeEventListener','windTextures','nextTrails','source','randomizeParticles','Geometry','framebuffers','show','lineWidth','Color','FLOAT','setGeometry','prototype','rows','clientWidth','bind','canvasWindy','ShaderSource','mouseMove','north','particleSystem','frameRate','3774vSyKBi','south','3041217ypLgvf','canrefresh','_createCanvas','rgba(0,\x200,\x200,\x200.97)','EventType','nextParticlesPosition','_calcStep','all','animateFrame','remove','drawingBufferHeight','lat','maxAge','100%','setPrototypeOf','push','particlesTextureSize','xmax','xmin','auto','_removedHook','getContext','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','top','ComponentDatatype','mars3dWind','createRenderingFramebuffers','EllipsoidalOccluder','defaultValue','pow','fromDegrees','_particlesNumber','getDirection','createElement','removeAll','redraw','apply','refreshParticles','createCommand','getUVByXY','ComputeCommand','calc_speedRate','3156330wTZhoZ','LINEAR','SceneMode','toDegrees','forEach','trails','createRawRenderState','updateViewerParameters','DrawCommand','maxParticles','context','segments','requestAnimationFrame','nextTrailsDepth','isDestroyed','random','destroyParticlesTextures','Draw','vertexShaderSource','drawingBufferWidth','preRender','latRange','absolute','destroy','frameTime','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}','globalAlpha','applyUserInput','sqrt','mouse_down','pixelSize','getWind','defined','max','OPAQUE','addPrimitives','undefined','_maxAge','default','resize','outputTexture','color','mode','none','array','fill','canvas','_calcUV','262308iKYgGZ','__esModule','segmentsDepth','fillStyle','viewerParameters','CanvasWindLayer','createFramebuffer','class','__proto__','canvasHeight','PrimitiveType','fragmentShaderSource','_pointerEvents','getUserInput','lon','WindUtil','isInExtent','getColorTexture','canvasResize','canvasContext','postProcessingSpeed','_mountedHook','42ZUJjNe','TWO_PI','955996DJNpZO','STATIC_DRAW','getFullscreenQuad','_onMouseMoveEvent','_addedHook','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}','removeChild','reverseY','lev','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}','computeViewRectangle','shaderProgram','createWindTextures','refreshTimer','visible','PixelDatatype','depthTest','fromCache','off','lineTo','updateDate','wheel','particlesTextures','tlat','height','getSpeed','fixedHeight','UNSIGNED_BYTE','drawWind','VertexArray','_showHook','cols','options','blending','particles','particlesWind','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','vertexArray','age','304473XbBEEE','construct','unbindEvent','currentParticlesPosition','reverse','windData','_tomap','tlng','mouseDown','west','canvasWidth','mars3d','grid','createSegmentsGeometry','particlesNumber','register','GeometryAttribute','ZERO','string','length','viewRectangleToLonLatRange','#ffffff','depthTexture','add','clientHeight','DISABLE_GL_POSITION_LOG_DEPTH','setOptions','setAttribute','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}','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}','destination-in','createRenderingPrimitives','_onMouseDownEvent','Cartesian2','getRandomLatLng','layer','beginPath','userInput','textures','dropRateBump','globeLayer','Framebuffer','container','lng','rawRenderState','createRenderingTextures','isPointVisible','Compute','RenderState','currentTrails','8vDFpsT','BufferUsage','dropRate','BoundingSphere','min','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}','camera','Appearance','visibility','wind','screen','call','udata','cos','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}','configurable','round','createParticlesTextures','getV','4mmBXbr','scene','0px','hasOwnProperty','ALWAYS','getUVByPoint','clearFramebuffers','Texture','strokeStyle','uniformMap','pointerEvents','ceil','preExecute','randomParticle','autoClear','exports','nextParticlesSpeed','sham','commandToExecute','width','particlesRendering','//\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}','WindLayer','function','ymin','keys','sin','setData','clearCommand','Module','_drawLines','commandType','fromGeometry','Pass','ClearCommand','createTexture','getPixelSize','hidden','UNSIGNED_INT','globalCompositeOperation','getU','attributeLocations','moveTo','floor','getPrototypeOf','depthMask','addEventListener','PixelFormat','SCENE3D','_onMap_preRenderEvent','GeometryAttributes','TextureMagnificationFilter','update','primitives','framebuffer','create','DEPTH_COMPONENT','Rectangle','364830ctKRkK','primitiveType','_map','enumerable','mouseUp','mouse_move','stroke','PI_OVER_TWO','globeBoundingSphere','symbol','toStringTag','execute','pointer-events','_onMapWhellEvent','currentTrailsColor','updateSpeed','postProcessingPosition','_onMouseUpEvent','east','appendChild','currentParticlesSpeed','RGBA','particlesComputing','data','speedFactor','LUMINANCE','mod','constructor','geometry','left','BaseLayer','randomBetween','TextureMinificationFilter','particleHeight','Sampler','zIndex','TRIANGLES','colorNum','once','lonRange','10OOAJzS','fadeOpacity','object','value','DepthFunction','colorTable','toGridXY','atan2','dimensions'];a0_0x268f=function(){return _0x2b694d;};return a0_0x268f();}function a0_0x4400(_0x368e1e,_0x238b11){var _0x268f1d=a0_0x268f();return a0_0x4400=function(_0x4400d8,_0x450cdb){_0x4400d8=_0x4400d8-0x13a;var _0x22980d=_0x268f1d[_0x4400d8];return _0x22980d;},a0_0x4400(_0x368e1e,_0x238b11);}var a0_0x4f3c9d=a0_0x4400;(function(_0xa1c406,_0x42f70b){var _0x5ce287=a0_0x4400,_0x349856=_0xa1c406();while(!![]){try{var _0x5545b6=parseInt(_0x5ce287(0x289))/0x1+-parseInt(_0x5ce287(0x153))/0x2*(-parseInt(_0x5ce287(0x18d))/0x3)+-parseInt(_0x5ce287(0x262))/0x4*(parseInt(_0x5ce287(0x1b5))/0x5)+parseInt(_0x5ce287(0x1ed))/0x6*(-parseInt(_0x5ce287(0x260))/0x7)+-parseInt(_0x5ce287(0x140))/0x8*(-parseInt(_0x5ce287(0x1ef))/0x9)+-parseInt(_0x5ce287(0x21a))/0xa+parseInt(_0x5ce287(0x1c9))/0xb*(parseInt(_0x5ce287(0x24a))/0xc);if(_0x5545b6===_0x42f70b)break;else _0x349856['push'](_0x349856['shift']());}catch(_0x2eefc0){_0x349856['push'](_0x349856['shift']());}}}(a0_0x268f,0x4ae67),window[a0_0x4f3c9d(0x209)]=function(_0x46cc30){var _0x39d166={};function _0xeabd0c(_0x3aca6f){var _0x3d041f=a0_0x4400;if(_0x39d166[_0x3aca6f])return _0x39d166[_0x3aca6f][_0x3d041f(0x162)];var _0x3a1d29=_0x39d166[_0x3aca6f]={'i':_0x3aca6f,'l':!0x1,'exports':{}};return _0x46cc30[_0x3aca6f][_0x3d041f(0x14b)](_0x3a1d29[_0x3d041f(0x162)],_0x3a1d29,_0x3a1d29[_0x3d041f(0x162)],_0xeabd0c),_0x3a1d29['l']=!0x0,_0x3a1d29[_0x3d041f(0x162)];}return _0xeabd0c['m']=_0x46cc30,_0xeabd0c['c']=_0x39d166,_0xeabd0c['d']=function(_0x110120,_0x7c0d3e,_0x2b0ea3){var _0x402e95=a0_0x4400;_0xeabd0c['o'](_0x110120,_0x7c0d3e)||Object[_0x402e95(0x1d5)](_0x110120,_0x7c0d3e,{'enumerable':!0x0,'get':_0x2b0ea3});},_0xeabd0c['r']=function(_0x1d6974){var _0x5e8438=a0_0x4400;_0x5e8438(0x23e)!=typeof Symbol&&Symbol[_0x5e8438(0x197)]&&Object[_0x5e8438(0x1d5)](_0x1d6974,Symbol['toStringTag'],{'value':_0x5e8438(0x170)}),Object[_0x5e8438(0x1d5)](_0x1d6974,'__esModule',{'value':!0x0});},_0xeabd0c['t']=function(_0x288bac,_0x36916c){var _0x148078=a0_0x4400;if(0x1&_0x36916c&&(_0x288bac=_0xeabd0c(_0x288bac)),0x8&_0x36916c)return _0x288bac;if(0x4&_0x36916c&&_0x148078(0x1b7)==typeof _0x288bac&&_0x288bac&&_0x288bac[_0x148078(0x24b)])return _0x288bac;var _0x4c8d7b=Object['create'](null);if(_0xeabd0c['r'](_0x4c8d7b),Object[_0x148078(0x1d5)](_0x4c8d7b,'default',{'enumerable':!0x0,'value':_0x288bac}),0x2&_0x36916c&&_0x148078(0x29b)!=typeof _0x288bac){for(var _0x565d25 in _0x288bac)_0xeabd0c['d'](_0x4c8d7b,_0x565d25,function(_0x3ca70f){return _0x288bac[_0x3ca70f];}[_0x148078(0x1e6)](null,_0x565d25));}return _0x4c8d7b;},_0xeabd0c['n']=function(_0x589581){var _0x4f55fe=a0_0x4400,_0x5443d9=_0x589581&&_0x589581[_0x4f55fe(0x24b)]?function(){var _0x4ffc69=_0x4f55fe;return _0x589581[_0x4ffc69(0x240)];}:function(){return _0x589581;};return _0xeabd0c['d'](_0x5443d9,'a',_0x5443d9),_0x5443d9;},_0xeabd0c['o']=function(_0x3969f1,_0x3520b2){var _0x30cef9=a0_0x4400;return Object[_0x30cef9(0x1e3)][_0x30cef9(0x156)][_0x30cef9(0x14b)](_0x3969f1,_0x3520b2);},_0xeabd0c['p']='',_0xeabd0c(_0xeabd0c['s']=0x14);}([function(_0xdea4,_0x36bc21){var _0x161017=a0_0x4f3c9d;_0xdea4[_0x161017(0x162)]=window['Cesium'];},function(_0x5089f7,_0x8afa01){var _0x1f0ea5=a0_0x4f3c9d;_0x5089f7[_0x1f0ea5(0x162)]=window[_0x1f0ea5(0x294)];},function(_0x27db33,_0x5a7b41){var _0x564c23=a0_0x4f3c9d;_0x27db33['exports']=function(_0x5d04d4,_0x318f46){if(!(_0x5d04d4 instanceof _0x318f46))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x27db33[_0x564c23(0x162)][_0x564c23(0x24b)]=!0x0,_0x27db33[_0x564c23(0x162)]['default']=_0x27db33[_0x564c23(0x162)];},function(_0x34158c,_0x2a167a){var _0x520b62=a0_0x4f3c9d;function _0x29a8b5(_0x2ab12f,_0x584713){var _0x2942ec=a0_0x4400;for(var _0xecefb5=0x0;_0xecefb5<_0x584713[_0x2942ec(0x29c)];_0xecefb5++){var _0x1dcc79=_0x584713[_0xecefb5];_0x1dcc79[_0x2942ec(0x190)]=_0x1dcc79[_0x2942ec(0x190)]||!0x1,_0x1dcc79[_0x2942ec(0x14f)]=!0x0,_0x2942ec(0x1b8)in _0x1dcc79&&(_0x1dcc79['writable']=!0x0),Object[_0x2942ec(0x1d5)](_0x2ab12f,_0x1dcc79['key'],_0x1dcc79);}}_0x34158c[_0x520b62(0x162)]=function(_0x4621bb,_0xa7402d,_0xbe2d50){var _0x4c1ff9=_0x520b62;return _0xa7402d&&_0x29a8b5(_0x4621bb[_0x4c1ff9(0x1e3)],_0xa7402d),_0xbe2d50&&_0x29a8b5(_0x4621bb,_0xbe2d50),Object[_0x4c1ff9(0x1d5)](_0x4621bb,_0x4c1ff9(0x1e3),{'writable':!0x1}),_0x4621bb;},_0x34158c[_0x520b62(0x162)]['__esModule']=!0x0,_0x34158c['exports'][_0x520b62(0x240)]=_0x34158c[_0x520b62(0x162)];},function(_0x2a6d60,_0x2569c1){var _0x54c18d=a0_0x4f3c9d;function _0x46e015(_0x410f0b){var _0xb29a8f=a0_0x4400;return _0x2a6d60['exports']=_0x46e015=Object[_0xb29a8f(0x1fd)]?Object[_0xb29a8f(0x17f)]:function(_0x495eb9){var _0x4abe4d=_0xb29a8f;return _0x495eb9[_0x4abe4d(0x252)]||Object[_0x4abe4d(0x17f)](_0x495eb9);},_0x2a6d60[_0xb29a8f(0x162)][_0xb29a8f(0x24b)]=!0x0,_0x2a6d60[_0xb29a8f(0x162)][_0xb29a8f(0x240)]=_0x2a6d60[_0xb29a8f(0x162)],_0x46e015(_0x410f0b);}_0x2a6d60[_0x54c18d(0x162)]=_0x46e015,_0x2a6d60[_0x54c18d(0x162)][_0x54c18d(0x24b)]=!0x0,_0x2a6d60['exports'][_0x54c18d(0x240)]=_0x2a6d60[_0x54c18d(0x162)];},function(_0x26a28d,_0x39510f,_0x243bec){var _0x2517a6=a0_0x4f3c9d,_0x38d669=_0x243bec(0x11);_0x26a28d[_0x2517a6(0x162)]=function(_0x5022d2,_0x1ab5f9){var _0xaad1df=_0x2517a6;if(_0xaad1df(0x16a)!=typeof _0x1ab5f9&&null!==_0x1ab5f9)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');Object['defineProperty'](_0x5022d2,_0xaad1df(0x1e3),{'value':Object[_0xaad1df(0x18a)](_0x1ab5f9&&_0x1ab5f9[_0xaad1df(0x1e3)],{'constructor':{'value':_0x5022d2,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0x1ab5f9&&_0x38d669(_0x5022d2,_0x1ab5f9);},_0x26a28d[_0x2517a6(0x162)][_0x2517a6(0x24b)]=!0x0,_0x26a28d[_0x2517a6(0x162)][_0x2517a6(0x240)]=_0x26a28d['exports'];},function(_0x15817b,_0x5cf482,_0x4dc6a4){var _0x425230=a0_0x4f3c9d,_0xa29f65=_0x4dc6a4(0x12)[_0x425230(0x240)],_0x4b1c05=_0x4dc6a4(0x13);_0x15817b[_0x425230(0x162)]=function(_0x3de4e8,_0x2c9adc){var _0x14aafc=_0x425230;if(_0x2c9adc&&(_0x14aafc(0x1b7)===_0xa29f65(_0x2c9adc)||'function'==typeof _0x2c9adc))return _0x2c9adc;if(void 0x0!==_0x2c9adc)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');return _0x4b1c05(_0x3de4e8);},_0x15817b[_0x425230(0x162)][_0x425230(0x24b)]=!0x0,_0x15817b['exports'][_0x425230(0x240)]=_0x15817b[_0x425230(0x162)];},function(_0x1acda7,_0x595ade){var _0x466447=a0_0x4f3c9d;_0x1acda7[_0x466447(0x162)]=_0x466447(0x2a6);},function(_0x451c42,_0x151a46){_0x451c42['exports']='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(_0x425dde,_0x27f1ff){var _0x551521=a0_0x4f3c9d;_0x425dde[_0x551521(0x162)]=_0x551521(0x205);},function(_0x3a9495,_0x650f76){var _0x18da8f=a0_0x4f3c9d;_0x3a9495['exports']=_0x18da8f(0x2a5);},function(_0x340593,_0x385927){var _0x21a426=a0_0x4f3c9d;_0x340593[_0x21a426(0x162)]=_0x21a426(0x26b);},function(_0x10706a,_0xe1b0f8){var _0x59867c=a0_0x4f3c9d;_0x10706a[_0x59867c(0x162)]=_0x59867c(0x168);},function(_0x522ed0,_0x6f74f5){var _0x5a1aac=a0_0x4f3c9d;_0x522ed0[_0x5a1aac(0x162)]=_0x5a1aac(0x233);},function(_0x146fa2,_0x21472d){var _0x4a7b65=a0_0x4f3c9d;_0x146fa2[_0x4a7b65(0x162)]=_0x4a7b65(0x145);},function(_0x3c061e,_0x5cd4d7){var _0x4896da=a0_0x4f3c9d;_0x3c061e['exports']=_0x4896da(0x14e);},function(_0x11c118,_0x2da3bb){var _0x262db4=a0_0x4f3c9d;_0x11c118['exports']=_0x262db4(0x267);},function(_0x261f84,_0x4eacb9){var _0x272c2b=a0_0x4f3c9d;function _0x4f6977(_0x456ad,_0x2b79d6){var _0x1ae144=a0_0x4400;return _0x261f84[_0x1ae144(0x162)]=_0x4f6977=Object[_0x1ae144(0x1fd)]||function(_0x588ba5,_0x431881){return _0x588ba5['__proto__']=_0x431881,_0x588ba5;},_0x261f84['exports'][_0x1ae144(0x24b)]=!0x0,_0x261f84[_0x1ae144(0x162)][_0x1ae144(0x240)]=_0x261f84[_0x1ae144(0x162)],_0x4f6977(_0x456ad,_0x2b79d6);}_0x261f84[_0x272c2b(0x162)]=_0x4f6977,_0x261f84[_0x272c2b(0x162)]['__esModule']=!0x0,_0x261f84['exports']['default']=_0x261f84[_0x272c2b(0x162)];},function(_0x5a7a2c,_0x5942c9){var _0x521f01=a0_0x4f3c9d;function _0x4fce75(_0x3ce720){var _0x180a9f=a0_0x4400;return _0x5a7a2c[_0x180a9f(0x162)]=_0x4fce75=_0x180a9f(0x16a)==typeof Symbol&&'symbol'==typeof Symbol[_0x180a9f(0x1ca)]?function(_0x1b2575){return typeof _0x1b2575;}:function(_0x3714e4){var _0x35af03=_0x180a9f;return _0x3714e4&&_0x35af03(0x16a)==typeof Symbol&&_0x3714e4[_0x35af03(0x1a8)]===Symbol&&_0x3714e4!==Symbol[_0x35af03(0x1e3)]?_0x35af03(0x196):typeof _0x3714e4;},_0x5a7a2c['exports'][_0x180a9f(0x24b)]=!0x0,_0x5a7a2c['exports']['default']=_0x5a7a2c['exports'],_0x4fce75(_0x3ce720);}_0x5a7a2c['exports']=_0x4fce75,_0x5a7a2c['exports']['__esModule']=!0x0,_0x5a7a2c['exports']['default']=_0x5a7a2c[_0x521f01(0x162)];},function(_0x2d9d45,_0x294620){var _0x22cdb5=a0_0x4f3c9d;_0x2d9d45[_0x22cdb5(0x162)]=function(_0x505f97){var _0x50e5e7=_0x22cdb5;if(void 0x0===_0x505f97)throw new ReferenceError(_0x50e5e7(0x1d6));return _0x505f97;},_0x2d9d45[_0x22cdb5(0x162)][_0x22cdb5(0x24b)]=!0x0,_0x2d9d45[_0x22cdb5(0x162)][_0x22cdb5(0x240)]=_0x2d9d45[_0x22cdb5(0x162)];},function(_0x21dd38,_0x853129,_0x5b6846){'use strict';var _0x1cfef6=a0_0x4f3c9d;_0x5b6846['r'](_0x853129),_0x5b6846['d'](_0x853129,_0x1cfef6(0x169),function(){return _0x1be7bc;}),_0x5b6846['d'](_0x853129,'CanvasWindLayer',function(){return _0x39089f;}),_0x5b6846['d'](_0x853129,_0x1cfef6(0x259),function(){return _0x1eadea;});var _0x1eadea={};_0x5b6846['r'](_0x1eadea),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x17b),function(){return _0x17c690;}),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x152),function(){return _0x49f5a9;}),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x27b),function(){return _0xd2fb33;}),_0x5b6846['d'](_0x1eadea,_0x1cfef6(0x210),function(){return _0x4666c4;});var _0x18811e=_0x5b6846(0x1),_0x2a0565=_0x5b6846(0x2),_0x1d12ba=_0x5b6846['n'](_0x2a0565),_0x5151b7=_0x5b6846(0x3),_0x27ad1f=_0x5b6846['n'](_0x5151b7),_0x2b975a=_0x5b6846(0x5),_0x3901bb=_0x5b6846['n'](_0x2b975a),_0x8a84df=_0x5b6846(0x6),_0x2654f9=_0x5b6846['n'](_0x8a84df),_0x697ed9=_0x5b6846(0x4),_0x2cdf9c=_0x5b6846['n'](_0x697ed9),_0xd8b266=_0x5b6846(0x0),_0x11d2ce=(function(){var _0x22f524=_0x1cfef6;function _0x39484c(_0x10f3e3){var _0x5651d0=a0_0x4400;_0x1d12ba()(this,_0x39484c),this[_0x5651d0(0x172)]=_0x10f3e3[_0x5651d0(0x172)],this[_0x5651d0(0x1a9)]=_0x10f3e3[_0x5651d0(0x1a9)],this[_0x5651d0(0x17c)]=_0x10f3e3['attributeLocations'],this[_0x5651d0(0x18e)]=_0x10f3e3[_0x5651d0(0x18e)],this['uniformMap']=_0x10f3e3[_0x5651d0(0x15c)],this['vertexShaderSource']=_0x10f3e3['vertexShaderSource'],this[_0x5651d0(0x255)]=_0x10f3e3[_0x5651d0(0x255)],this[_0x5651d0(0x13a)]=_0x10f3e3[_0x5651d0(0x13a)],this[_0x5651d0(0x189)]=_0x10f3e3['framebuffer'],this[_0x5651d0(0x242)]=_0x10f3e3[_0x5651d0(0x242)],this[_0x5651d0(0x161)]=_0xd8b266[_0x5651d0(0x20c)](_0x10f3e3['autoClear'],!0x1),this[_0x5651d0(0x15f)]=_0x10f3e3['preExecute'],this[_0x5651d0(0x1de)]=!0x0,this[_0x5651d0(0x165)]=void 0x0,this[_0x5651d0(0x16f)]=void 0x0,this['autoClear']&&(this[_0x5651d0(0x16f)]=new _0xd8b266[(_0x5651d0(0x175))]({'color':new _0xd8b266[(_0x5651d0(0x1e0))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x5651d0(0x189)],'pass':_0xd8b266['Pass']['OPAQUE']}));}return _0x27ad1f()(_0x39484c,[{'key':_0x22f524(0x216),'value':function(_0x184ae7){var _0x4f515b=_0x22f524;switch(this[_0x4f515b(0x172)]){case _0x4f515b(0x22b):var _0x4cc55b=_0xd8b266[_0x4f515b(0x27f)][_0x4f515b(0x173)]({'context':_0x184ae7,'geometry':this[_0x4f515b(0x1a9)],'attributeLocations':this['attributeLocations'],'bufferUsage':_0xd8b266['BufferUsage'][_0x4f515b(0x263)]}),_0x229c0e=_0xd8b266['ShaderProgram'][_0x4f515b(0x273)]({'context':_0x184ae7,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this[_0x4f515b(0x22c)],'fragmentShaderSource':this[_0x4f515b(0x255)]}),_0x1201b9=_0xd8b266[_0x4f515b(0x13e)][_0x4f515b(0x273)](this[_0x4f515b(0x13a)]);return new _0xd8b266[(_0x4f515b(0x222))]({'owner':this,'vertexArray':_0x4cc55b,'primitiveType':this['primitiveType'],'uniformMap':this[_0x4f515b(0x15c)],'modelMatrix':_0xd8b266['Matrix4']['IDENTITY'],'shaderProgram':_0x229c0e,'framebuffer':this[_0x4f515b(0x189)],'renderState':_0x1201b9,'pass':_0xd8b266['Pass'][_0x4f515b(0x23c)]});case'Compute':return new _0xd8b266[(_0x4f515b(0x218))]({'owner':this,'fragmentShaderSource':this[_0x4f515b(0x255)],'uniformMap':this['uniformMap'],'outputTexture':this[_0x4f515b(0x242)],'persists':!0x0});}}},{'key':_0x22f524(0x1e2),'value':function(_0x1f4d4c,_0x584b16){var _0x410e6c=_0x22f524;this[_0x410e6c(0x1a9)]=_0x584b16;var _0x1ccb96=_0xd8b266[_0x410e6c(0x27f)]['fromGeometry']({'context':_0x1f4d4c,'geometry':this[_0x410e6c(0x1a9)],'attributeLocations':this[_0x410e6c(0x17c)],'bufferUsage':_0xd8b266[_0x410e6c(0x141)][_0x410e6c(0x263)]});this['commandToExecute'][_0x410e6c(0x287)]=_0x1ccb96;}},{'key':_0x22f524(0x187),'value':function(_0x106b1d){var _0x4c6804=_0x22f524;this[_0x4c6804(0x1de)]&&_0x106b1d[_0x4c6804(0x244)]==_0xd8b266[_0x4c6804(0x21c)][_0x4c6804(0x183)]&&(_0xd8b266['defined'](this[_0x4c6804(0x165)])||(this['commandToExecute']=this[_0x4c6804(0x216)](_0x106b1d['context'])),_0xd8b266[_0x4c6804(0x23a)](this[_0x4c6804(0x15f)])&&this[_0x4c6804(0x15f)](),_0xd8b266[_0x4c6804(0x23a)](this[_0x4c6804(0x16f)])&&_0x106b1d[_0x4c6804(0x1c6)][_0x4c6804(0x1fe)](this['clearCommand']),_0x106b1d['commandList'][_0x4c6804(0x1fe)](this[_0x4c6804(0x165)]));}},{'key':_0x22f524(0x228),'value':function(){return!0x1;}},{'key':_0x22f524(0x231),'value':function(){var _0x252f86=_0x22f524;return _0xd8b266[_0x252f86(0x23a)](this['commandToExecute'])&&(this[_0x252f86(0x165)][_0x252f86(0x26d)]=this[_0x252f86(0x165)][_0x252f86(0x26d)]&&this[_0x252f86(0x165)][_0x252f86(0x26d)][_0x252f86(0x231)]()),_0xd8b266['destroyObject'](this);}}]),_0x39484c;}()),_0x1173bc={'getFullscreenQuad':function(){var _0x24a198=_0x1cfef6;return new _0xd8b266[(_0x24a198(0x1dc))]({'attributes':new _0xd8b266['GeometryAttributes']({'position':new _0xd8b266[(_0x24a198(0x299))]({'componentDatatype':_0xd8b266[_0x24a198(0x208)]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0xd8b266[(_0x24a198(0x299))]({'componentDatatype':_0xd8b266[_0x24a198(0x208)][_0x24a198(0x1e1)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x5b3f66,_0x711b8f){var _0x24e596=_0x1cfef6;if(_0xd8b266[_0x24e596(0x23a)](_0x711b8f)){var _0x3ede66={};_0x3ede66['arrayBufferView']=_0x711b8f,_0x5b3f66[_0x24e596(0x1da)]=_0x3ede66;}return new _0xd8b266[(_0x24e596(0x15a))](_0x5b3f66);},'createFramebuffer':function(_0x5604cf,_0x5db1ad,_0x3f4e5a){var _0x56293c=_0x1cfef6;return new _0xd8b266[(_0x56293c(0x2b2))]({'context':_0x5604cf,'colorTextures':[_0x5db1ad],'depthTexture':_0x3f4e5a});},'createRawRenderState':function(_0x47087f){var _0x38ed6a=_0x1cfef6,_0x2217d4={'viewport':_0x47087f['viewport'],'depthTest':_0x47087f[_0x38ed6a(0x272)],'depthMask':_0x47087f[_0x38ed6a(0x180)],'blending':_0x47087f[_0x38ed6a(0x283)]};return _0xd8b266[_0x38ed6a(0x147)]['getDefaultRenderState'](!0x0,!0x1,_0x2217d4);},'viewRectangleToLonLatRange':function(_0x39ea13){var _0x5c0931=_0x1cfef6,_0x3b7731,_0x5c5afb,_0xf7d5b4={},_0x425ed1=_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1a7)](_0x39ea13[_0x5c0931(0x292)],_0xd8b266[_0x5c0931(0x1cc)]['TWO_PI']),_0x455e20=_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1a7)](_0x39ea13[_0x5c0931(0x19f)],_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x261)]),_0x151dc0=_0x39ea13['width'];_0x151dc0>_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1cf)]?(_0x3b7731=0x0,_0x5c5afb=_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x261)]):_0x455e20-_0x425ed1<_0x151dc0?(_0x3b7731=_0x425ed1,_0x5c5afb=_0x425ed1+_0x151dc0):(_0x3b7731=_0x425ed1,_0x5c5afb=_0x455e20),_0xf7d5b4[_0x5c0931(0x258)]={'min':_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x21d)](_0x3b7731),'max':_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x21d)](_0x5c5afb)};var _0x14f504=_0x39ea13[_0x5c0931(0x1ee)],_0x11ed97=_0x39ea13[_0x5c0931(0x1ea)],_0x37097e=_0x39ea13['height'],_0x825b07=_0x37097e>_0xd8b266[_0x5c0931(0x1cc)]['PI']/0xc?_0x37097e/0x2:0x0,_0x3f2439=_0xd8b266['Math']['clampToLatitudeRange'](_0x14f504-_0x825b07),_0x180f6c=_0xd8b266[_0x5c0931(0x1cc)]['clampToLatitudeRange'](_0x11ed97+_0x825b07);return _0x3f2439<-_0xd8b266['Math'][_0x5c0931(0x1c2)]&&(_0x3f2439=-_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x194)]),_0x180f6c>_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x1c2)]&&(_0x180f6c=_0xd8b266[_0x5c0931(0x1cc)]['PI_OVER_TWO']),_0xf7d5b4[_0x5c0931(0x1fa)]={'min':_0xd8b266[_0x5c0931(0x1cc)]['toDegrees'](_0x3f2439),'max':_0xd8b266[_0x5c0931(0x1cc)][_0x5c0931(0x21d)](_0x180f6c)},_0xf7d5b4;}},_0x16b3dc=_0x5b6846(0x8),_0x5ec76a=_0x5b6846['n'](_0x16b3dc),_0x2b3ca3=_0x5b6846(0x9),_0x30321e=_0x5b6846['n'](_0x2b3ca3),_0x3d4277=_0x5b6846(0x7),_0x516e8a=_0x5b6846['n'](_0x3d4277),_0x186e79=_0x5b6846(0xa),_0x386d3f=_0x5b6846['n'](_0x186e79),_0x2d7e29=_0x5b6846(0xb),_0x3a9d09=_0x5b6846['n'](_0x2d7e29),_0x2a4547=(function(){var _0xfdafae=_0x1cfef6;function _0xc30d2(_0x11fe41,_0x3e6437,_0x53d5bb,_0x16505c,_0x13d54e){var _0x4b9c64=a0_0x4400;_0x1d12ba()(this,_0xc30d2),this['createRenderingTextures'](_0x11fe41,_0x3e6437),this[_0x4b9c64(0x20a)](_0x11fe41),this[_0x4b9c64(0x2a8)](_0x11fe41,_0x53d5bb,_0x16505c,_0x13d54e);}return _0x27ad1f()(_0xc30d2,[{'key':_0xfdafae(0x13b),'value':function(_0x4efc13,_0x1fd5b3){var _0xe53c91=_0xfdafae,_0x5310c8={'context':_0x4efc13,'width':_0x4efc13[_0xe53c91(0x22d)],'height':_0x4efc13[_0xe53c91(0x1f9)],'pixelFormat':_0xd8b266[_0xe53c91(0x182)][_0xe53c91(0x1a2)],'pixelDatatype':_0xd8b266['PixelDatatype'][_0xe53c91(0x27d)]},_0x311c4d={'context':_0x4efc13,'width':_0x4efc13['drawingBufferWidth'],'height':_0x4efc13[_0xe53c91(0x1f9)],'pixelFormat':_0xd8b266[_0xe53c91(0x182)][_0xe53c91(0x18b)],'pixelDatatype':_0xd8b266[_0xe53c91(0x271)][_0xe53c91(0x179)]},_0x385167={'context':_0x4efc13,'width':_0x1fd5b3[_0xe53c91(0x1ba)][_0xe53c91(0x1b2)],'height':0x1,'pixelFormat':_0xd8b266[_0xe53c91(0x182)]['RGB'],'pixelDatatype':_0xd8b266[_0xe53c91(0x271)][_0xe53c91(0x1e1)],'sampler':new _0xd8b266[(_0xe53c91(0x1af))]({'minificationFilter':_0xd8b266[_0xe53c91(0x1ad)][_0xe53c91(0x21b)],'magnificationFilter':_0xd8b266[_0xe53c91(0x186)][_0xe53c91(0x21b)]})};this['textures']={'segmentsColor':_0x1173bc[_0xe53c91(0x176)](_0x5310c8),'segmentsDepth':_0x1173bc['createTexture'](_0x311c4d),'currentTrailsColor':_0x1173bc['createTexture'](_0x5310c8),'currentTrailsDepth':_0x1173bc[_0xe53c91(0x176)](_0x311c4d),'nextTrailsColor':_0x1173bc[_0xe53c91(0x176)](_0x5310c8),'nextTrailsDepth':_0x1173bc[_0xe53c91(0x176)](_0x311c4d),'colorTable':_0x1173bc['createTexture'](_0x385167,_0x1fd5b3[_0xe53c91(0x1ba)][_0xe53c91(0x246)])};}},{'key':_0xfdafae(0x20a),'value':function(_0x64e660){var _0x813e65=_0xfdafae;this[_0x813e65(0x1dd)]={'segments':_0x1173bc[_0x813e65(0x250)](_0x64e660,this['textures']['segmentsColor'],this['textures'][_0x813e65(0x24c)]),'currentTrails':_0x1173bc['createFramebuffer'](_0x64e660,this[_0x813e65(0x2af)][_0x813e65(0x19b)],this[_0x813e65(0x2af)]['currentTrailsDepth']),'nextTrails':_0x1173bc[_0x813e65(0x250)](_0x64e660,this[_0x813e65(0x2af)][_0x813e65(0x1d1)],this[_0x813e65(0x2af)][_0x813e65(0x227)])};}},{'key':_0xfdafae(0x296),'value':function(_0x43dc19){var _0x1670fb=_0xfdafae;for(var _0x282c0c=[],_0x8f4373=0x0;_0x8f4373<_0x43dc19[_0x1670fb(0x1ff)];_0x8f4373++)for(var _0x3eed74=0x0;_0x3eed74<_0x43dc19[_0x1670fb(0x1ff)];_0x3eed74++)for(var _0x147166=0x0;_0x147166<0x4;_0x147166++)_0x282c0c[_0x1670fb(0x1fe)](_0x8f4373/_0x43dc19[_0x1670fb(0x1ff)]),_0x282c0c['push'](_0x3eed74/_0x43dc19[_0x1670fb(0x1ff)]);_0x282c0c=new Float32Array(_0x282c0c);for(var _0x52dacc=[],_0x10f730=[-0x1,0x1],_0x4e1368=[-0x1,0x1],_0x3095ed=0x0;_0x3095ed<_0x43dc19[_0x1670fb(0x223)];_0x3095ed++)for(var _0x494f95=0x0;_0x494f95<0x2;_0x494f95++)for(var _0x1126a2=0x0;_0x1126a2<0x2;_0x1126a2++)_0x52dacc[_0x1670fb(0x1fe)](_0x10f730[_0x494f95]),_0x52dacc['push'](_0x4e1368[_0x1126a2]),_0x52dacc['push'](0x0);_0x52dacc=new Float32Array(_0x52dacc);for(var _0x413c41=0x6*_0x43dc19[_0x1670fb(0x223)],_0x29ca71=new Uint32Array(_0x413c41),_0x472759=0x0,_0x1e76a5=0x0,_0x5ce846=0x0;_0x472759<_0x43dc19[_0x1670fb(0x223)];_0x472759++)_0x29ca71[_0x1e76a5++]=_0x5ce846+0x0,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x1,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x2,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x2,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x1,_0x29ca71[_0x1e76a5++]=_0x5ce846+0x3,_0x5ce846+=0x4;return new _0xd8b266['Geometry']({'attributes':new _0xd8b266[(_0x1670fb(0x185))]({'st':new _0xd8b266[(_0x1670fb(0x299))]({'componentDatatype':_0xd8b266[_0x1670fb(0x208)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x282c0c}),'normal':new _0xd8b266['GeometryAttribute']({'componentDatatype':_0xd8b266[_0x1670fb(0x208)][_0x1670fb(0x1e1)],'componentsPerAttribute':0x3,'values':_0x52dacc})}),'indices':_0x29ca71});}},{'key':_0xfdafae(0x2a8),'value':function(_0x1c1cfa,_0x33dd2f,_0x2a6b67,_0x5e32c3){var _0x1a3c6d=_0xfdafae,_0x258f0f=this;this['primitives']={'segments':new _0x11d2ce({'commandType':_0x1a3c6d(0x22b),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x33dd2f),'primitiveType':_0xd8b266[_0x1a3c6d(0x254)][_0x1a3c6d(0x1b1)],'uniformMap':{'currentParticlesPosition':function(){var _0x10453e=_0x1a3c6d;return _0x5e32c3['particlesTextures'][_0x10453e(0x28c)];},'postProcessingPosition':function(){var _0x279568=_0x1a3c6d;return _0x5e32c3[_0x279568(0x278)][_0x279568(0x19d)];},'postProcessingSpeed':function(){var _0x29af45=_0x1a3c6d;return _0x5e32c3[_0x29af45(0x278)][_0x29af45(0x25e)];},'colorTable':function(){var _0x1fc773=_0x1a3c6d;return _0x258f0f[_0x1fc773(0x2af)]['colorTable'];},'aspect':function(){var _0x4fa90e=_0x1a3c6d;return _0x1c1cfa[_0x4fa90e(0x22d)]/_0x1c1cfa[_0x4fa90e(0x1f9)];},'pixelSize':function(){var _0x70146e=_0x1a3c6d;return _0x2a6b67[_0x70146e(0x238)];},'lineWidth':function(){return _0x33dd2f['lineWidth'];},'particleHeight':function(){var _0x52145c=_0x1a3c6d;return _0x33dd2f[_0x52145c(0x1ae)];}},'vertexShaderSource':new _0xd8b266[(_0x1a3c6d(0x1e8))]({'sources':[_0x5ec76a['a']]}),'fragmentShaderSource':new _0xd8b266['ShaderSource']({'sources':[_0x30321e['a']]}),'rawRenderState':_0x1173bc[_0x1a3c6d(0x220)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x1a3c6d(0x1dd)][_0x1a3c6d(0x225)],'autoClear':!0x0}),'trails':new _0x11d2ce({'commandType':_0x1a3c6d(0x22b),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1173bc[_0x1a3c6d(0x264)](),'primitiveType':_0xd8b266[_0x1a3c6d(0x254)][_0x1a3c6d(0x1b1)],'uniformMap':{'segmentsColorTexture':function(){return _0x258f0f['textures']['segmentsColor'];},'segmentsDepthTexture':function(){var _0x2a4469=_0x1a3c6d;return _0x258f0f['textures'][_0x2a4469(0x24c)];},'currentTrailsColor':function(){var _0x1377ea=_0x1a3c6d;return _0x258f0f[_0x1377ea(0x1dd)][_0x1377ea(0x13f)][_0x1377ea(0x25b)](0x0);},'trailsDepthTexture':function(){var _0x174b1e=_0x1a3c6d;return _0x258f0f['framebuffers'][_0x174b1e(0x13f)][_0x174b1e(0x29f)];},'fadeOpacity':function(){var _0x192e92=_0x1a3c6d;return _0x33dd2f[_0x192e92(0x1b6)];}},'vertexShaderSource':new _0xd8b266['ShaderSource']({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x516e8a['a']]}),'fragmentShaderSource':new _0xd8b266[(_0x1a3c6d(0x1e8))]({'defines':[_0x1a3c6d(0x286)],'sources':[_0x386d3f['a']]}),'rawRenderState':_0x1173bc[_0x1a3c6d(0x220)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0xd8b266[_0x1a3c6d(0x1b9)][_0x1a3c6d(0x157)]},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x1a3c6d(0x1d9)],'autoClear':!0x0,'preExecute':function(){var _0x1479b7=_0x1a3c6d,_0x23d58c;_0x23d58c=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x13f)],_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x13f)]=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)],_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)]=_0x23d58c,_0x258f0f['primitives'][_0x1479b7(0x21f)]['commandToExecute'][_0x1479b7(0x189)]=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)],_0x258f0f[_0x1479b7(0x188)]['trails']['clearCommand'][_0x1479b7(0x189)]=_0x258f0f[_0x1479b7(0x1dd)][_0x1479b7(0x1d9)];}}),'screen':new _0x11d2ce({'commandType':_0x1a3c6d(0x22b),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1173bc[_0x1a3c6d(0x264)](),'primitiveType':_0xd8b266[_0x1a3c6d(0x254)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x493082=_0x1a3c6d;return _0x258f0f['framebuffers'][_0x493082(0x1d9)][_0x493082(0x25b)](0x0);},'trailsDepthTexture':function(){var _0x1a8d8b=_0x1a3c6d;return _0x258f0f[_0x1a8d8b(0x1dd)][_0x1a8d8b(0x1d9)]['depthTexture'];}},'vertexShaderSource':new _0xd8b266[(_0x1a3c6d(0x1e8))]({'defines':[_0x1a3c6d(0x2a2)],'sources':[_0x516e8a['a']]}),'fragmentShaderSource':new _0xd8b266['ShaderSource']({'defines':[_0x1a3c6d(0x286)],'sources':[_0x3a9d09['a']]}),'rawRenderState':_0x1173bc[_0x1a3c6d(0x220)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0xc30d2;}()),_0x5ee7e3=_0x5b6846(0xc),_0x3d2edc=_0x5b6846['n'](_0x5ee7e3),_0x1e0bc7=_0x5b6846(0xd),_0x32daf4=_0x5b6846['n'](_0x1e0bc7),_0xcc6ecb=_0x5b6846(0xe),_0x13d9db=_0x5b6846['n'](_0xcc6ecb),_0x35e81b=_0x5b6846(0xf),_0x2dbd65=_0x5b6846['n'](_0x35e81b),_0x15468b=_0x5b6846(0x10),_0x4038e0=_0x5b6846['n'](_0x15468b),_0x260bd0=(function(){var _0x8885d2=_0x1cfef6;function _0x3df8fb(_0x52b953,_0x3a179c,_0x171226,_0x270076){var _0x165688=a0_0x4400;_0x1d12ba()(this,_0x3df8fb),this[_0x165688(0x1a4)]=_0x3a179c,this[_0x165688(0x26e)](_0x52b953,_0x3a179c),this[_0x165688(0x151)](_0x52b953,_0x171226,_0x270076),this['createComputingPrimitives'](_0x3a179c,_0x171226,_0x270076);}return _0x27ad1f()(_0x3df8fb,[{'key':'createWindTextures','value':function(_0xd2addb,_0x30e80e){var _0x2e0336=a0_0x4400,_0x43f9a6={'context':_0xd2addb,'width':_0x30e80e['dimensions'][_0x2e0336(0x258)],'height':_0x30e80e['dimensions'][_0x2e0336(0x1fa)]*_0x30e80e[_0x2e0336(0x1bd)][_0x2e0336(0x26a)],'pixelFormat':_0xd8b266['PixelFormat'][_0x2e0336(0x1a6)],'pixelDatatype':_0xd8b266[_0x2e0336(0x271)][_0x2e0336(0x1e1)],'flipY':!0x1,'sampler':new _0xd8b266[(_0x2e0336(0x1af))]({'minificationFilter':_0xd8b266['TextureMinificationFilter']['NEAREST'],'magnificationFilter':_0xd8b266[_0x2e0336(0x186)]['NEAREST']})};this['windTextures']={'U':_0x1173bc[_0x2e0336(0x176)](_0x43f9a6,_0x30e80e['U'][_0x2e0336(0x246)]),'V':_0x1173bc[_0x2e0336(0x176)](_0x43f9a6,_0x30e80e['V'][_0x2e0336(0x246)])};}},{'key':_0x8885d2(0x151),'value':function(_0x14ee13,_0x1b6320,_0x4d9c1f){var _0x5d3b9d=_0x8885d2,_0x4811c1={'context':_0x14ee13,'width':_0x1b6320[_0x5d3b9d(0x1ff)],'height':_0x1b6320[_0x5d3b9d(0x1ff)],'pixelFormat':_0xd8b266['PixelFormat']['RGBA'],'pixelDatatype':_0xd8b266[_0x5d3b9d(0x271)][_0x5d3b9d(0x1e1)],'flipY':!0x1,'sampler':new _0xd8b266[(_0x5d3b9d(0x1af))]({'minificationFilter':_0xd8b266[_0x5d3b9d(0x1ad)]['NEAREST'],'magnificationFilter':_0xd8b266['TextureMagnificationFilter']['NEAREST']})},_0x594b08=this[_0x5d3b9d(0x1db)](_0x1b6320['maxParticles'],_0x4d9c1f),_0x5b38ab=new Float32Array(0x4*_0x1b6320[_0x5d3b9d(0x223)])[_0x5d3b9d(0x247)](0x0);this[_0x5d3b9d(0x278)]={'particlesWind':_0x1173bc['createTexture'](_0x4811c1),'currentParticlesPosition':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x594b08),'nextParticlesPosition':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x594b08),'currentParticlesSpeed':_0x1173bc['createTexture'](_0x4811c1,_0x5b38ab),'nextParticlesSpeed':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x5b38ab),'postProcessingPosition':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x594b08),'postProcessingSpeed':_0x1173bc[_0x5d3b9d(0x176)](_0x4811c1,_0x5b38ab)};}},{'key':'randomizeParticles','value':function(_0x3fbaa8,_0x452dc8){var _0x3e2a1c=_0x8885d2;for(var _0x1cc133=new Float32Array(0x4*_0x3fbaa8),_0x4cb8c7=0x0;_0x4cb8c7<_0x3fbaa8;_0x4cb8c7++)_0x1cc133[0x4*_0x4cb8c7]=_0xd8b266[_0x3e2a1c(0x1cc)][_0x3e2a1c(0x1ac)](_0x452dc8[_0x3e2a1c(0x1b4)]['x'],_0x452dc8[_0x3e2a1c(0x1b4)]['y']),_0x1cc133[0x4*_0x4cb8c7+0x1]=_0xd8b266[_0x3e2a1c(0x1cc)][_0x3e2a1c(0x1ac)](_0x452dc8[_0x3e2a1c(0x22f)]['x'],_0x452dc8['latRange']['y']),_0x1cc133[0x4*_0x4cb8c7+0x2]=_0xd8b266[_0x3e2a1c(0x1cc)][_0x3e2a1c(0x1ac)](this[_0x3e2a1c(0x1a4)][_0x3e2a1c(0x26a)]['min'],this['data'][_0x3e2a1c(0x26a)][_0x3e2a1c(0x23b)]),_0x1cc133[0x4*_0x4cb8c7+0x3]=0x0;return _0x1cc133;}},{'key':_0x8885d2(0x22a),'value':function(){var _0x2a2b0a=_0x8885d2,_0x497d0f=this;Object['keys'](this[_0x2a2b0a(0x278)])[_0x2a2b0a(0x21e)](function(_0x23f48c){var _0x56d305=_0x2a2b0a;_0x497d0f[_0x56d305(0x278)][_0x23f48c][_0x56d305(0x231)]();});}},{'key':'createComputingPrimitives','value':function(_0x21bdf5,_0x2c8453,_0x15bbc8){var _0x46f718=_0x8885d2,_0x5593bb=new _0xd8b266[(_0x46f718(0x1bf))](_0x21bdf5[_0x46f718(0x1bd)]['lon'],_0x21bdf5['dimensions'][_0x46f718(0x1fa)],_0x21bdf5['dimensions'][_0x46f718(0x26a)]),_0x41aa9b=new _0xd8b266['Cartesian3'](_0x21bdf5[_0x46f718(0x258)]['min'],_0x21bdf5[_0x46f718(0x1fa)][_0x46f718(0x144)],_0x21bdf5[_0x46f718(0x26a)][_0x46f718(0x144)]),_0x4552d7=new _0xd8b266[(_0x46f718(0x1bf))](_0x21bdf5[_0x46f718(0x258)]['max'],_0x21bdf5[_0x46f718(0x1fa)]['max'],_0x21bdf5['lev'][_0x46f718(0x23b)]),_0x3452df=new _0xd8b266[(_0x46f718(0x1bf))]((_0x4552d7['x']-_0x41aa9b['x'])/(_0x5593bb['x']-0x1),(_0x4552d7['y']-_0x41aa9b['y'])/(_0x5593bb['y']-0x1),_0x5593bb['z']>0x1?(_0x4552d7['z']-_0x41aa9b['z'])/(_0x5593bb['z']-0x1):0x1),_0x5ced52=new _0xd8b266['Cartesian2'](_0x21bdf5['U'][_0x46f718(0x144)],_0x21bdf5['U'][_0x46f718(0x23b)]),_0x312e25=new _0xd8b266['Cartesian2'](_0x21bdf5['V']['min'],_0x21bdf5['V'][_0x46f718(0x23b)]),_0x27abd4=this;this[_0x46f718(0x188)]={'getWind':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'U':function(){var _0x76f69f=_0x46f718;return _0x27abd4[_0x76f69f(0x1d8)]['U'];},'V':function(){var _0x4173f1=_0x46f718;return _0x27abd4[_0x4173f1(0x1d8)]['V'];},'currentParticlesPosition':function(){var _0x538d4f=_0x46f718;return _0x27abd4[_0x538d4f(0x278)][_0x538d4f(0x28c)];},'dimension':function(){return _0x5593bb;},'minimum':function(){return _0x41aa9b;},'maximum':function(){return _0x4552d7;},'interval':function(){return _0x3452df;}},'fragmentShaderSource':new _0xd8b266[(_0x46f718(0x1e8))]({'sources':[_0x3d2edc['a']]}),'outputTexture':this[_0x46f718(0x278)][_0x46f718(0x285)],'preExecute':function(){var _0x1c8702=_0x46f718;_0x27abd4[_0x1c8702(0x188)][_0x1c8702(0x239)][_0x1c8702(0x165)]['outputTexture']=_0x27abd4['particlesTextures'][_0x1c8702(0x285)];}}),'updateSpeed':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'currentParticlesSpeed':function(){var _0x54dfe6=_0x46f718;return _0x27abd4[_0x54dfe6(0x278)]['currentParticlesSpeed'];},'particlesWind':function(){var _0x4c123f=_0x46f718;return _0x27abd4[_0x4c123f(0x278)][_0x4c123f(0x285)];},'uSpeedRange':function(){return _0x5ced52;},'vSpeedRange':function(){return _0x312e25;},'pixelSize':function(){var _0x360d34=_0x46f718;return _0x15bbc8[_0x360d34(0x238)];},'speedFactor':function(){var _0x545e76=_0x46f718;return _0x2c8453[_0x545e76(0x1a5)];}},'fragmentShaderSource':new _0xd8b266[(_0x46f718(0x1e8))]({'sources':[_0x32daf4['a']]}),'outputTexture':this[_0x46f718(0x278)][_0x46f718(0x163)],'preExecute':function(){var _0x405687=_0x46f718,_0x5412c5;_0x5412c5=_0x27abd4[_0x405687(0x278)][_0x405687(0x1a1)],_0x27abd4[_0x405687(0x278)][_0x405687(0x1a1)]=_0x27abd4[_0x405687(0x278)][_0x405687(0x25e)],_0x27abd4[_0x405687(0x278)][_0x405687(0x25e)]=_0x5412c5,_0x27abd4[_0x405687(0x188)][_0x405687(0x19c)][_0x405687(0x165)][_0x405687(0x242)]=_0x27abd4[_0x405687(0x278)][_0x405687(0x163)];}}),'updatePosition':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'currentParticlesPosition':function(){var _0x44299f=_0x46f718;return _0x27abd4[_0x44299f(0x278)][_0x44299f(0x28c)];},'currentParticlesSpeed':function(){var _0x5181df=_0x46f718;return _0x27abd4[_0x5181df(0x278)][_0x5181df(0x1a1)];}},'fragmentShaderSource':new _0xd8b266[(_0x46f718(0x1e8))]({'sources':[_0x13d9db['a']]}),'outputTexture':this['particlesTextures'][_0x46f718(0x1f4)],'preExecute':function(){var _0x31a892=_0x46f718,_0x525506;_0x525506=_0x27abd4['particlesTextures'][_0x31a892(0x28c)],_0x27abd4[_0x31a892(0x278)][_0x31a892(0x28c)]=_0x27abd4[_0x31a892(0x278)]['postProcessingPosition'],_0x27abd4[_0x31a892(0x278)][_0x31a892(0x19d)]=_0x525506,_0x27abd4[_0x31a892(0x188)][_0x31a892(0x1c4)][_0x31a892(0x165)]['outputTexture']=_0x27abd4[_0x31a892(0x278)][_0x31a892(0x1f4)];}}),'postProcessingPosition':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'nextParticlesPosition':function(){var _0x280cdb=_0x46f718;return _0x27abd4[_0x280cdb(0x278)][_0x280cdb(0x1f4)];},'nextParticlesSpeed':function(){var _0x260ad7=_0x46f718;return _0x27abd4[_0x260ad7(0x278)]['nextParticlesSpeed'];},'lonRange':function(){var _0x15096f=_0x46f718;return _0x15bbc8[_0x15096f(0x1b4)];},'latRange':function(){var _0x536303=_0x46f718;return _0x15bbc8[_0x536303(0x22f)];},'randomCoefficient':function(){var _0xce2c3=_0x46f718,_0x4d2660=Math[_0xce2c3(0x229)]();return _0x4d2660;},'dropRate':function(){var _0x2eb73e=_0x46f718;return _0x2c8453[_0x2eb73e(0x142)];},'dropRateBump':function(){return _0x2c8453['dropRateBump'];}},'fragmentShaderSource':new _0xd8b266['ShaderSource']({'sources':[_0x2dbd65['a']]}),'outputTexture':this[_0x46f718(0x278)]['postProcessingPosition'],'preExecute':function(){var _0x51ddc7=_0x46f718;_0x27abd4[_0x51ddc7(0x188)]['postProcessingPosition'][_0x51ddc7(0x165)]['outputTexture']=_0x27abd4[_0x51ddc7(0x278)][_0x51ddc7(0x19d)];}}),'postProcessingSpeed':new _0x11d2ce({'commandType':_0x46f718(0x13d),'uniformMap':{'postProcessingPosition':function(){var _0x500965=_0x46f718;return _0x27abd4['particlesTextures'][_0x500965(0x19d)];},'nextParticlesSpeed':function(){var _0x371f6b=_0x46f718;return _0x27abd4[_0x371f6b(0x278)][_0x371f6b(0x163)];}},'fragmentShaderSource':new _0xd8b266['ShaderSource']({'sources':[_0x4038e0['a']]}),'outputTexture':this['particlesTextures']['postProcessingSpeed'],'preExecute':function(){var _0x31bb5b=_0x46f718;_0x27abd4['primitives'][_0x31bb5b(0x25e)][_0x31bb5b(0x165)][_0x31bb5b(0x242)]=_0x27abd4[_0x31bb5b(0x278)][_0x31bb5b(0x25e)];}})};}}]),_0x3df8fb;}()),_0x4be1cf=(function(){var _0x4a5318=_0x1cfef6;function _0x100ba9(_0x49e7c7,_0x41a305,_0x2d6fbb,_0x42a391){var _0x5d708a=a0_0x4400;_0x1d12ba()(this,_0x100ba9),this[_0x5d708a(0x224)]=_0x49e7c7,this[_0x5d708a(0x1a4)]=_0x41a305,this[_0x5d708a(0x2ae)]=_0x2d6fbb,this[_0x5d708a(0x24e)]=_0x42a391,this[_0x5d708a(0x1a3)]=new _0x260bd0(this[_0x5d708a(0x224)],this[_0x5d708a(0x1a4)],this[_0x5d708a(0x2ae)],this[_0x5d708a(0x24e)]),this[_0x5d708a(0x167)]=new _0x2a4547(this[_0x5d708a(0x224)],this['data'],this[_0x5d708a(0x2ae)],this[_0x5d708a(0x24e)],this[_0x5d708a(0x1a3)]);}return _0x27ad1f()(_0x100ba9,[{'key':_0x4a5318(0x25c),'value':function(_0x4d30e3){var _0x315a60=_0x4a5318,_0x14606b=this;this[_0x315a60(0x1a3)][_0x315a60(0x22a)](),Object[_0x315a60(0x16c)](this[_0x315a60(0x1a3)]['windTextures'])[_0x315a60(0x21e)](function(_0x10af8c){var _0x223cc7=_0x315a60;_0x14606b[_0x223cc7(0x1a3)][_0x223cc7(0x1d8)][_0x10af8c][_0x223cc7(0x231)]();}),this[_0x315a60(0x167)][_0x315a60(0x2af)][_0x315a60(0x1ba)][_0x315a60(0x231)](),Object[_0x315a60(0x16c)](this[_0x315a60(0x167)][_0x315a60(0x1dd)])[_0x315a60(0x21e)](function(_0x33e502){var _0x2b0449=_0x315a60;_0x14606b[_0x2b0449(0x167)][_0x2b0449(0x1dd)][_0x33e502][_0x2b0449(0x231)]();}),this[_0x315a60(0x224)]=_0x4d30e3,this['particlesComputing']=new _0x260bd0(this[_0x315a60(0x224)],this[_0x315a60(0x1a4)],this[_0x315a60(0x2ae)],this[_0x315a60(0x24e)]),this[_0x315a60(0x167)]=new _0x2a4547(this[_0x315a60(0x224)],this['data'],this[_0x315a60(0x2ae)],this[_0x315a60(0x24e)],this[_0x315a60(0x1a3)]);}},{'key':_0x4a5318(0x159),'value':function(){var _0x4289eb=_0x4a5318,_0x3d0e38=this,_0x2b01b9=new _0xd8b266[(_0x4289eb(0x175))]({'color':new _0xd8b266[(_0x4289eb(0x1e0))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0xd8b266[_0x4289eb(0x174)]['OPAQUE']});Object['keys'](this[_0x4289eb(0x167)]['framebuffers'])['forEach'](function(_0x322c04){var _0x5c4a38=_0x4289eb;_0x2b01b9[_0x5c4a38(0x189)]=_0x3d0e38[_0x5c4a38(0x167)]['framebuffers'][_0x322c04],_0x2b01b9[_0x5c4a38(0x198)](_0x3d0e38['context']);});}},{'key':_0x4a5318(0x215),'value':function(_0x35cc62){var _0x3d7d9a=_0x4a5318;if(this[_0x3d7d9a(0x159)](),this['particlesComputing'][_0x3d7d9a(0x22a)](),this[_0x3d7d9a(0x1a3)][_0x3d7d9a(0x151)](this[_0x3d7d9a(0x224)],this['userInput'],this[_0x3d7d9a(0x24e)]),_0x35cc62){var _0x535be6=this[_0x3d7d9a(0x167)][_0x3d7d9a(0x296)](this[_0x3d7d9a(0x2ae)]);this[_0x3d7d9a(0x167)]['primitives']['segments'][_0x3d7d9a(0x1a9)]=_0x535be6;var _0x1e810d=_0xd8b266['VertexArray'][_0x3d7d9a(0x173)]({'context':this[_0x3d7d9a(0x224)],'geometry':_0x535be6,'attributeLocations':this[_0x3d7d9a(0x167)][_0x3d7d9a(0x188)][_0x3d7d9a(0x225)]['attributeLocations'],'bufferUsage':_0xd8b266[_0x3d7d9a(0x141)]['STATIC_DRAW']});this[_0x3d7d9a(0x167)]['primitives'][_0x3d7d9a(0x225)][_0x3d7d9a(0x165)][_0x3d7d9a(0x287)]=_0x1e810d;}}},{'key':_0x4a5318(0x235),'value':function(_0x2b9e34){var _0x2004a6=_0x4a5318,_0x4ce43d=this,_0x4995ba=!0x1;this[_0x2004a6(0x2ae)][_0x2004a6(0x223)]!=_0x2b9e34[_0x2004a6(0x223)]&&(_0x4995ba=!0x0),Object[_0x2004a6(0x16c)](_0x2b9e34)[_0x2004a6(0x21e)](function(_0x428eee){var _0x2a92ba=_0x2004a6;_0x4ce43d[_0x2a92ba(0x2ae)][_0x428eee]=_0x2b9e34[_0x428eee];}),this[_0x2004a6(0x215)](_0x4995ba);}},{'key':'applyViewerParameters','value':function(_0x5f3127){var _0xe897ab=_0x4a5318,_0x1fc34=this;Object[_0xe897ab(0x16c)](_0x5f3127)[_0xe897ab(0x21e)](function(_0x4bfeb5){var _0x13c6f2=_0xe897ab;_0x1fc34[_0x13c6f2(0x24e)][_0x4bfeb5]=_0x5f3127[_0x4bfeb5];}),this[_0xe897ab(0x215)](!0x1);}}]),_0x100ba9;}());function _0x19c602(_0xa25688){var _0xf4b1a=(function(){var _0x1b16ca=a0_0x4400;if(_0x1b16ca(0x23e)==typeof Reflect||!Reflect[_0x1b16ca(0x28a)])return!0x1;if(Reflect['construct']['sham'])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x1b16ca(0x1e3)]['valueOf']['call'](Reflect[_0x1b16ca(0x28a)](Boolean,[],function(){})),!0x0;}catch(_0x37a6c0){return!0x1;}}());return function(){var _0x872a9b=a0_0x4400,_0x117b06,_0x42966e=_0x2cdf9c()(_0xa25688);if(_0xf4b1a){var _0x58336e=_0x2cdf9c()(this)[_0x872a9b(0x1a8)];_0x117b06=Reflect[_0x872a9b(0x28a)](_0x42966e,arguments,_0x58336e);}else _0x117b06=_0x42966e[_0x872a9b(0x214)](this,arguments);return _0x2654f9()(this,_0x117b06);};}var _0x483918=_0x18811e['layer']['BaseLayer'],_0x3a58a9=0x1000,_0x1a4882=0x64,_0x4e27b8=0.996,_0x1e5401=0.003,_0x10b511=0.01,_0x456ddf=0.5,_0x188341=0x2,_0x1be7bc=function(_0x4bf278){var _0x32512f=_0x1cfef6;_0x3901bb()(_0x4f4cf8,_0x4bf278);var _0x40ec2c=_0x19c602(_0x4f4cf8);function _0x4f4cf8(){var _0x557d55=a0_0x4400,_0x878e87,_0x72e3d6=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x1d12ba()(this,_0x4f4cf8),(_0x878e87=_0x40ec2c[_0x557d55(0x14b)](this,_0x72e3d6))['maxParticles']=_0x3a58a9,_0x878e87[_0x557d55(0x1ae)]=_0x1a4882,_0x878e87[_0x557d55(0x1b6)]=_0x4e27b8,_0x878e87[_0x557d55(0x142)]=_0x1e5401,_0x878e87[_0x557d55(0x2b0)]=_0x10b511,_0x878e87[_0x557d55(0x1a5)]=_0x456ddf,_0x878e87[_0x557d55(0x1df)]=_0x188341,_0x72e3d6){for(var _0x2354d9 in _0x72e3d6)_0x878e87[_0x2354d9]=_0x72e3d6[_0x2354d9];}return _0x878e87;}return _0x27ad1f()(_0x4f4cf8,[{'key':_0x32512f(0x2ac),'get':function(){var _0x29accf=_0x32512f;return this[_0x29accf(0x188)];}},{'key':_0x32512f(0x25f),'value':function(){}},{'key':'_addedHook','value':function(){var _0x3fec3c=_0x32512f;this[_0x3fec3c(0x154)]=this[_0x3fec3c(0x18f)][_0x3fec3c(0x154)],this[_0x3fec3c(0x146)]=this[_0x3fec3c(0x18f)][_0x3fec3c(0x146)],this[_0x3fec3c(0x188)]=new _0xd8b266['PrimitiveCollection'](),this['_map'][_0x3fec3c(0x154)][_0x3fec3c(0x188)][_0x3fec3c(0x2a0)](this['primitives']),this[_0x3fec3c(0x24e)]={'lonRange':new _0xd8b266[(_0x3fec3c(0x2aa))](),'latRange':new _0xd8b266['Cartesian2'](),'pixelSize':0x0},this[_0x3fec3c(0x195)]=new _0xd8b266[(_0x3fec3c(0x143))](_0xd8b266['Cartesian3'][_0x3fec3c(0x29a)],6314355.63),this[_0x3fec3c(0x221)](),window[_0x3fec3c(0x181)](_0x3fec3c(0x241),this[_0x3fec3c(0x241)][_0x3fec3c(0x1e6)](this),!0x1),this['mouse_down']=!0x1,this[_0x3fec3c(0x192)]=!0x1,this[_0x3fec3c(0x18f)]['on'](_0x18811e[_0x3fec3c(0x1f3)][_0x3fec3c(0x277)],this[_0x3fec3c(0x19a)],this),this['_map']['on'](_0x18811e[_0x3fec3c(0x1f3)][_0x3fec3c(0x291)],this[_0x3fec3c(0x2a9)],this),this[_0x3fec3c(0x18f)]['on'](_0x18811e[_0x3fec3c(0x1f3)]['mouseUp'],this[_0x3fec3c(0x19e)],this),this['_map']['on'](_0x18811e[_0x3fec3c(0x1f3)][_0x3fec3c(0x1e9)],this['_onMouseMoveEvent'],this);}},{'key':_0x32512f(0x203),'value':function(){var _0x531057=_0x32512f;window[_0x531057(0x1d7)](_0x531057(0x241),this['resize']),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e['EventType'][_0x531057(0x22e)],this[_0x531057(0x184)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e[_0x531057(0x1f3)][_0x531057(0x277)],this[_0x531057(0x19a)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e[_0x531057(0x1f3)][_0x531057(0x291)],this[_0x531057(0x2a9)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e['EventType'][_0x531057(0x191)],this[_0x531057(0x19e)],this),this[_0x531057(0x18f)][_0x531057(0x274)](_0x18811e[_0x531057(0x1f3)][_0x531057(0x1e9)],this['_onMouseMoveEvent'],this),this[_0x531057(0x188)][_0x531057(0x212)](),this[_0x531057(0x18f)][_0x531057(0x154)][_0x531057(0x188)][_0x531057(0x1f8)](this['primitives']);}},{'key':'resize','value':function(){var _0x305370=_0x32512f;this[_0x305370(0x1de)]&&this['particleSystem']&&(this[_0x305370(0x188)][_0x305370(0x1de)]=!0x1,this[_0x305370(0x188)][_0x305370(0x212)](),this[_0x305370(0x18f)][_0x305370(0x1b3)](_0x18811e[_0x305370(0x1f3)][_0x305370(0x22e)],this['_onMap_preRenderEvent'],this));}},{'key':_0x32512f(0x184),'value':function(_0x4ca44b){var _0x1c81b8=_0x32512f;this['particleSystem'][_0x1c81b8(0x25c)](this['scene'][_0x1c81b8(0x224)]),this[_0x1c81b8(0x23d)](),this['primitives']['show']=!0x0;}},{'key':_0x32512f(0x19a),'value':function(_0x1daaa2){var _0x45034a=_0x32512f,_0x3348af=this;clearTimeout(this[_0x45034a(0x26f)]),this[_0x45034a(0x1de)]&&this['particleSystem']&&(this[_0x45034a(0x188)][_0x45034a(0x1de)]=!0x1,this['refreshTimer']=setTimeout(function(){var _0x6de896=_0x45034a;_0x3348af[_0x6de896(0x1de)]&&_0x3348af['redraw']();},0xc8));}},{'key':_0x32512f(0x2a9),'value':function(_0x3d5621){var _0x244f37=_0x32512f;this[_0x244f37(0x237)]=!0x0;}},{'key':_0x32512f(0x265),'value':function(_0x1c0492){var _0x2bd55c=_0x32512f;this['show']&&this[_0x2bd55c(0x1eb)]&&this[_0x2bd55c(0x237)]&&(this[_0x2bd55c(0x188)][_0x2bd55c(0x1de)]=!0x1,this[_0x2bd55c(0x192)]=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x418ce9){var _0x2718b3=_0x32512f;this[_0x2718b3(0x1de)]&&this['particleSystem']&&(this['mouse_down']&&this[_0x2718b3(0x192)]&&this['redraw'](),this[_0x2718b3(0x188)][_0x2718b3(0x1de)]=!0x0,this[_0x2718b3(0x237)]=!0x1,this['mouse_move']=!0x1);}},{'key':_0x32512f(0x213),'value':function(){var _0x30bb2a=_0x32512f;this[_0x30bb2a(0x18f)]&&this['show']&&(this['updateViewerParameters'](),this[_0x30bb2a(0x1eb)][_0x30bb2a(0x1be)](this[_0x30bb2a(0x24e)]),this[_0x30bb2a(0x188)][_0x30bb2a(0x1de)]=!0x0);}},{'key':_0x32512f(0x16e),'value':function(_0x5b9361){var _0x3a9d1b=_0x32512f;this[_0x3a9d1b(0x1eb)]=new _0x4be1cf(this[_0x3a9d1b(0x154)][_0x3a9d1b(0x224)],_0x5b9361,this[_0x3a9d1b(0x257)](),this[_0x3a9d1b(0x24e)]),this[_0x3a9d1b(0x23d)]();}},{'key':_0x32512f(0x2a3),'value':function(_0x53e138){var _0x2b3334=_0x32512f;if(_0x53e138){for(var _0x28148b in _0x53e138)this[_0x28148b]=_0x53e138[_0x28148b];}return this[_0x2b3334(0x1eb)]&&this[_0x2b3334(0x1eb)][_0x2b3334(0x235)](this[_0x2b3334(0x257)]()),this;}},{'key':_0x32512f(0x257),'value':function(){var _0x1acb15=_0x32512f,_0x107d02=Math[_0x1acb15(0x15e)](Math[_0x1acb15(0x236)](this['maxParticles']));return this[_0x1acb15(0x223)]=_0x107d02*_0x107d02,{'particlesTextureSize':_0x107d02,'maxParticles':this['maxParticles'],'particleHeight':this[_0x1acb15(0x1ae)],'fadeOpacity':this[_0x1acb15(0x1b6)],'dropRate':this[_0x1acb15(0x142)],'dropRateBump':this['dropRateBump'],'speedFactor':this[_0x1acb15(0x1a5)],'lineWidth':this[_0x1acb15(0x1df)],'globeLayer':this[_0x1acb15(0x2b1)],'WMS_URL':this['WMS_URL']};}},{'key':_0x32512f(0x23d),'value':function(){var _0x140416=_0x32512f;this[_0x140416(0x188)]['add'](this['particleSystem'][_0x140416(0x1a3)][_0x140416(0x188)]['getWind']),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x1a3)][_0x140416(0x188)][_0x140416(0x19c)]),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x1a3)][_0x140416(0x188)]['updatePosition']),this[_0x140416(0x188)][_0x140416(0x2a0)](this['particleSystem'][_0x140416(0x1a3)][_0x140416(0x188)][_0x140416(0x19d)]),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x1a3)]['primitives'][_0x140416(0x25e)]),this['primitives'][_0x140416(0x2a0)](this[_0x140416(0x1eb)]['particlesRendering'][_0x140416(0x188)]['segments']),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x167)][_0x140416(0x188)][_0x140416(0x21f)]),this[_0x140416(0x188)][_0x140416(0x2a0)](this[_0x140416(0x1eb)][_0x140416(0x167)][_0x140416(0x188)][_0x140416(0x14a)]);}},{'key':_0x32512f(0x221),'value':function(){var _0x55c8f7=_0x32512f,_0x1f032d=this[_0x55c8f7(0x146)][_0x55c8f7(0x26c)](this[_0x55c8f7(0x154)][_0x55c8f7(0x1c7)]['ellipsoid']);if(!_0x1f032d){var _0x2d16c5=this[_0x55c8f7(0x18f)]['getExtent']();_0x1f032d=_0xd8b266[_0x55c8f7(0x18c)][_0x55c8f7(0x20e)](_0x2d16c5['xmin'],_0x2d16c5['ymin'],_0x2d16c5[_0x55c8f7(0x200)],_0x2d16c5[_0x55c8f7(0x1d0)]);}var _0x2535b0=_0x1173bc[_0x55c8f7(0x29d)](_0x1f032d);this[_0x55c8f7(0x24e)]['lonRange']['x']=_0x2535b0[_0x55c8f7(0x258)][_0x55c8f7(0x144)],this[_0x55c8f7(0x24e)][_0x55c8f7(0x1b4)]['y']=_0x2535b0[_0x55c8f7(0x258)]['max'],this[_0x55c8f7(0x24e)][_0x55c8f7(0x22f)]['x']=_0x2535b0[_0x55c8f7(0x1fa)][_0x55c8f7(0x144)],this['viewerParameters'][_0x55c8f7(0x22f)]['y']=_0x2535b0[_0x55c8f7(0x1fa)][_0x55c8f7(0x23b)];var _0x59adbe=this[_0x55c8f7(0x146)][_0x55c8f7(0x177)](this['globeBoundingSphere'],this[_0x55c8f7(0x154)]['drawingBufferWidth'],this[_0x55c8f7(0x154)][_0x55c8f7(0x1f9)]);_0x59adbe>0x0&&(this[_0x55c8f7(0x24e)][_0x55c8f7(0x238)]=_0x59adbe);}}]),_0x4f4cf8;}(_0x483918);_0x18811e['LayerUtil'][_0x1cfef6(0x298)](_0x1cfef6(0x149),_0x1be7bc),_0x18811e[_0x1cfef6(0x2ac)]['WindLayer']=_0x1be7bc;var _0x2d99ff=_0x27ad1f()(function _0x3ce2e5(){var _0x360a2d=_0x1cfef6;_0x1d12ba()(this,_0x3ce2e5),this[_0x360a2d(0x2b4)]=null,this[_0x360a2d(0x1fa)]=null,this[_0x360a2d(0x290)]=null,this[_0x360a2d(0x279)]=null,this[_0x360a2d(0x288)]=null;}),_0x52e90d=(function(){var _0x3acccf=_0x1cfef6;function _0x15519f(_0x1ff144,_0xf7c674){var _0x472602=a0_0x4400;_0x1d12ba()(this,_0x15519f),this[_0x472602(0x1e4)]=_0x1ff144['rows'],this[_0x472602(0x281)]=_0x1ff144[_0x472602(0x281)],this[_0x472602(0x201)]=_0x1ff144[_0x472602(0x201)],this[_0x472602(0x200)]=_0x1ff144[_0x472602(0x200)],this[_0x472602(0x16b)]=_0x1ff144[_0x472602(0x16b)],this['ymax']=_0x1ff144[_0x472602(0x1d0)],this['grid']=[];var _0x146db6=_0x1ff144[_0x472602(0x14c)],_0x564d80=_0x1ff144['vdata'],_0x41ad24=!0x1;_0x146db6['length']===this[_0x472602(0x1e4)]&&_0x146db6[0x0][_0x472602(0x29c)]===this[_0x472602(0x281)]&&(_0x41ad24=!0x0);for(var _0x253af0=0x0,_0x85fa1f=null,_0x18aadf=null,_0x5afa85=0x0;_0x5afa85<this['rows'];_0x5afa85++){_0x85fa1f=[];for(var _0xc1d2fd=0x0;_0xc1d2fd<this[_0x472602(0x281)];_0xc1d2fd++,_0x253af0++)_0x18aadf=_0x41ad24?this[_0x472602(0x249)](_0x146db6[_0x5afa85][_0xc1d2fd],_0x564d80[_0x5afa85][_0xc1d2fd]):this[_0x472602(0x249)](_0x146db6[_0x253af0],_0x564d80[_0x253af0]),_0x85fa1f[_0x472602(0x1fe)](_0x18aadf);this[_0x472602(0x295)][_0x472602(0x1fe)](_0x85fa1f);}_0xf7c674&&this[_0x472602(0x295)][_0x472602(0x28d)]();}return _0x27ad1f()(_0x15519f,[{'key':_0x3acccf(0x1bb),'value':function(_0x3d6002,_0x25762f){var _0xbc609=_0x3acccf;return{'x':(_0x3d6002-this[_0xbc609(0x201)])/(this['xmax']-this[_0xbc609(0x201)])*(this[_0xbc609(0x281)]-0x1),'y':(this[_0xbc609(0x1d0)]-_0x25762f)/(this[_0xbc609(0x1d0)]-this[_0xbc609(0x16b)])*(this['rows']-0x1)};}},{'key':_0x3acccf(0x217),'value':function(_0x3031cd,_0x14d6f0){var _0x4ea51e=_0x3acccf;if(_0x3031cd<0x0||_0x3031cd>=this['cols']||_0x14d6f0>=this[_0x4ea51e(0x1e4)])return[0x0,0x0,0x0];var _0x374f6e,_0x39cd3f,_0x2b10ed=Math[_0x4ea51e(0x17e)](_0x3031cd),_0x4e2073=Math[_0x4ea51e(0x17e)](_0x14d6f0);if(_0x2b10ed===_0x3031cd&&_0x4e2073===_0x14d6f0)return this[_0x4ea51e(0x295)][_0x14d6f0][_0x3031cd];_0x374f6e=_0x2b10ed+0x1,_0x39cd3f=_0x4e2073+0x1;var _0x7bf29=this[_0x4ea51e(0x217)](_0x2b10ed,_0x4e2073),_0x20af08=this['getUVByXY'](_0x374f6e,_0x4e2073),_0x5490f9=this[_0x4ea51e(0x217)](_0x2b10ed,_0x39cd3f),_0x2c8adc=this['getUVByXY'](_0x374f6e,_0x39cd3f),_0x1f0f14=null;try{_0x1f0f14=this['_bilinearInterpolation'](_0x3031cd-_0x2b10ed,_0x14d6f0-_0x4e2073,_0x7bf29,_0x20af08,_0x5490f9,_0x2c8adc);}catch(_0x15c4c4){console['log'](_0x3031cd,_0x14d6f0);}return _0x1f0f14;}},{'key':'_bilinearInterpolation','value':function(_0x282eae,_0x224697,_0x52fc63,_0x4d250e,_0x5291e8,_0x2cc354){var _0x3aa962=_0x3acccf,_0x4ea728=0x1-_0x282eae,_0x2e29d7=0x1-_0x224697,_0x398d05=_0x4ea728*_0x2e29d7,_0x420cb3=_0x282eae*_0x2e29d7,_0x4ca04b=_0x4ea728*_0x224697,_0xe81f4f=_0x282eae*_0x224697,_0x3f06e6=_0x52fc63[0x0]*_0x398d05+_0x4d250e[0x0]*_0x420cb3+_0x5291e8[0x0]*_0x4ca04b+_0x2cc354[0x0]*_0xe81f4f,_0x5e46a7=_0x52fc63[0x1]*_0x398d05+_0x4d250e[0x1]*_0x420cb3+_0x5291e8[0x1]*_0x4ca04b+_0x2cc354[0x1]*_0xe81f4f;return this[_0x3aa962(0x249)](_0x3f06e6,_0x5e46a7);}},{'key':_0x3acccf(0x249),'value':function(_0x17489e,_0x2123dd){return[+_0x17489e,+_0x2123dd,Math['sqrt'](_0x17489e*_0x17489e+_0x2123dd*_0x2123dd)];}},{'key':_0x3acccf(0x158),'value':function(_0xccf418,_0x41cd96){var _0x39fb0e=_0x3acccf;if(!this[_0x39fb0e(0x25a)](_0xccf418,_0x41cd96))return null;var _0x3a55d6=this['toGridXY'](_0xccf418,_0x41cd96);return this[_0x39fb0e(0x217)](_0x3a55d6['x'],_0x3a55d6['y']);}},{'key':_0x3acccf(0x25a),'value':function(_0x3fc044,_0xee66ca){var _0x46ff5a=_0x3acccf;return _0x3fc044>=this[_0x46ff5a(0x201)]&&_0x3fc044<=this[_0x46ff5a(0x200)]&&_0xee66ca>=this['ymin']&&_0xee66ca<=this[_0x46ff5a(0x1d0)];}},{'key':_0x3acccf(0x2ab),'value':function(){var _0x54b8fe=_0x3acccf,_0x29ed52=_0x3b2fec(this[_0x54b8fe(0x201)],this[_0x54b8fe(0x200)]);return{'lat':_0x3b2fec(this[_0x54b8fe(0x16b)],this[_0x54b8fe(0x1d0)]),'lng':_0x29ed52};}}]),_0x15519f;}());function _0x3b2fec(_0x154d09,_0x942568){var _0x228eaf=_0x1cfef6;return _0x154d09+Math[_0x228eaf(0x229)]()*(_0x942568-_0x154d09);}function _0x2a979d(_0xfa422){var _0x54821=(function(){var _0x32c5e3=a0_0x4400;if(_0x32c5e3(0x23e)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x32c5e3(0x28a)][_0x32c5e3(0x164)])return!0x1;if(_0x32c5e3(0x16a)==typeof Proxy)return!0x0;try{return Boolean[_0x32c5e3(0x1e3)]['valueOf'][_0x32c5e3(0x14b)](Reflect[_0x32c5e3(0x28a)](Boolean,[],function(){})),!0x0;}catch(_0x584f94){return!0x1;}}());return function(){var _0x158614=a0_0x4400,_0x504745,_0x1c59df=_0x2cdf9c()(_0xfa422);if(_0x54821){var _0x58d519=_0x2cdf9c()(this)[_0x158614(0x1a8)];_0x504745=Reflect[_0x158614(0x28a)](_0x1c59df,arguments,_0x58d519);}else _0x504745=_0x1c59df[_0x158614(0x214)](this,arguments);return _0x2654f9()(this,_0x504745);};}var _0x39089f=function(_0x1628e8){var _0x4e12d7=_0x1cfef6;_0x3901bb()(_0x4493ed,_0x1628e8);var _0x56c03b=_0x2a979d(_0x4493ed);function _0x4493ed(){var _0x51c8f6=a0_0x4400,_0x4dfe82,_0x3004ec=arguments[_0x51c8f6(0x29c)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x1d12ba()(this,_0x4493ed),(_0x4dfe82=_0x56c03b[_0x51c8f6(0x14b)](this,_0x3004ec))['calc_speedRate']=[0x0,0x0],_0x4dfe82[_0x51c8f6(0x284)]=[],_0x4dfe82[_0x51c8f6(0x1c1)]=_0x3004ec[_0x51c8f6(0x1c1)]||0x32,_0x4dfe82[_0x51c8f6(0x20f)]=_0x3004ec['particlesNumber']||0x4e20,_0x4dfe82[_0x51c8f6(0x23f)]=_0x3004ec[_0x51c8f6(0x1fb)]||0x78,_0x4dfe82[_0x51c8f6(0x232)]=0x3e8/(_0x3004ec[_0x51c8f6(0x1ec)]||0xa),_0x4dfe82[_0x51c8f6(0x256)]=_0xd8b266['defaultValue'](_0x4dfe82[_0x51c8f6(0x282)][_0x51c8f6(0x15d)],!0x1),_0x4dfe82[_0x51c8f6(0x243)]=_0x3004ec[_0x51c8f6(0x243)]||_0x51c8f6(0x29e),_0x4dfe82[_0x51c8f6(0x1df)]=_0x3004ec[_0x51c8f6(0x1df)]||0x1,_0x4dfe82[_0x51c8f6(0x27c)]=_0xd8b266['defaultValue'](_0x3004ec['fixedHeight'],0x0),_0x4dfe82[_0x51c8f6(0x269)]=_0xd8b266[_0x51c8f6(0x20c)](_0x3004ec[_0x51c8f6(0x269)],!0x1),_0x4dfe82[_0x51c8f6(0x248)]=null,_0x4dfe82;}return _0x27ad1f()(_0x4493ed,[{'key':_0x4e12d7(0x2ac),'get':function(){var _0x436aee=_0x4e12d7;return this[_0x436aee(0x248)];}},{'key':_0x4e12d7(0x293),'get':function(){var _0x1fa390=_0x4e12d7;return this['_map']['scene'][_0x1fa390(0x248)][_0x1fa390(0x1e5)];}},{'key':_0x4e12d7(0x253),'get':function(){var _0x573ac4=_0x4e12d7;return this[_0x573ac4(0x18f)][_0x573ac4(0x154)][_0x573ac4(0x248)]['clientHeight'];}},{'key':_0x4e12d7(0x15d),'get':function(){return this['_pointerEvents'];},'set':function(_0x26d629){var _0x1224a4=_0x4e12d7;this['_pointerEvents']=_0x26d629,this['canvas']&&(this[_0x1224a4(0x248)][_0x1224a4(0x206)][_0x1224a4(0x199)]=_0x26d629?_0x1224a4(0x1f6):_0x1224a4(0x245));}},{'key':_0x4e12d7(0x1c1),'get':function(){return this['_speedRate'];},'set':function(_0x2eedd9){var _0x211f4b=_0x4e12d7;this['_speedRate']=0x64*(0x64-(_0x2eedd9>0x63?0x63:_0x2eedd9)),this[_0x211f4b(0x1f5)]();}},{'key':'particlesNumber','get':function(){return this['_particlesNumber'];},'set':function(_0x4495a2){var _0x369463=_0x4e12d7,_0x484ce7=this;this[_0x369463(0x20f)]=_0x4495a2,clearTimeout(this['canrefresh']),this[_0x369463(0x1f0)]=setTimeout(function(){var _0x5a59c1=_0x369463;_0x484ce7[_0x5a59c1(0x213)]();},0x1f4);}},{'key':_0x4e12d7(0x1fb),'get':function(){return this['_maxAge'];},'set':function(_0x3f2225){var _0x4a9e62=_0x4e12d7,_0xecf93a=this;this[_0x4a9e62(0x23f)]=_0x3f2225,clearTimeout(this[_0x4a9e62(0x1f0)]),this[_0x4a9e62(0x1f0)]=setTimeout(function(){var _0x1e6901=_0x4a9e62;_0xecf93a[_0x1e6901(0x213)]();},0x1f4);}},{'key':_0x4e12d7(0x1a4),'get':function(){return this['windData'];},'set':function(_0x44fa9e){var _0x52361a=_0x4e12d7;this[_0x52361a(0x276)](_0x44fa9e);}},{'key':_0x4e12d7(0x280),'value':function(_0x31e983){var _0x5a3683=_0x4e12d7;_0x31e983?this[_0x5a3683(0x266)]():(this[_0x5a3683(0x28e)]&&(this['options'][_0x5a3683(0x1a4)]=this[_0x5a3683(0x28e)]),this[_0x5a3683(0x203)]());}},{'key':_0x4e12d7(0x25f),'value':function(){}},{'key':_0x4e12d7(0x266),'value':function(){var _0x586f03=_0x4e12d7;this['canvas']=this[_0x586f03(0x1f1)](),this[_0x586f03(0x25d)]=this['canvas'][_0x586f03(0x204)]('2d'),this[_0x586f03(0x1c5)](),this[_0x586f03(0x282)][_0x586f03(0x1a4)]&&this[_0x586f03(0x276)](this[_0x586f03(0x282)][_0x586f03(0x1a4)]);}},{'key':_0x4e12d7(0x203),'value':function(){var _0x5c0077=_0x4e12d7;this[_0x5c0077(0x1cd)](),this[_0x5c0077(0x28b)](),this[_0x5c0077(0x248)]&&(this['_map'][_0x5c0077(0x2b3)][_0x5c0077(0x268)](this[_0x5c0077(0x248)]),delete this[_0x5c0077(0x248)]);}},{'key':'_createCanvas','value':function(){var _0x6513f7=_0x4e12d7,_0x137c0e=document[_0x6513f7(0x211)]('canvas');_0x137c0e['style'][_0x6513f7(0x1d2)]=_0x6513f7(0x230),_0x137c0e[_0x6513f7(0x206)][_0x6513f7(0x207)]=_0x6513f7(0x155),_0x137c0e['style'][_0x6513f7(0x1aa)]=_0x6513f7(0x155),_0x137c0e['style']['width']=_0x6513f7(0x1fc),_0x137c0e['style'][_0x6513f7(0x27a)]='100%',_0x137c0e[_0x6513f7(0x206)]['pointerEvents']=this[_0x6513f7(0x256)]?_0x6513f7(0x202):_0x6513f7(0x245),_0x137c0e[_0x6513f7(0x206)][_0x6513f7(0x1b0)]=0xa,_0x137c0e[_0x6513f7(0x2a4)]('id',_0x6513f7(0x1e7)),_0x137c0e[_0x6513f7(0x2a4)](_0x6513f7(0x251),'canvasWindy'),this['_map']['container'][_0x6513f7(0x1a0)](_0x137c0e);var _0x1ee05c=this[_0x6513f7(0x18f)][_0x6513f7(0x154)];return _0x137c0e['width']=_0x1ee05c['canvas'][_0x6513f7(0x1e5)],_0x137c0e[_0x6513f7(0x27a)]=_0x1ee05c[_0x6513f7(0x248)][_0x6513f7(0x2a1)],_0x137c0e;}},{'key':'resize','value':function(){var _0x165b19=_0x4e12d7;this[_0x165b19(0x248)]&&(this[_0x165b19(0x248)][_0x165b19(0x166)]=this[_0x165b19(0x293)],this[_0x165b19(0x248)][_0x165b19(0x27a)]=this['canvasHeight']);}},{'key':_0x4e12d7(0x1c5),'value':function(){var _0x4a70ba=_0x4e12d7,_0x5c46e7=this,_0x2ddeff=Date[_0x4a70ba(0x1c8)]();!function _0x3a977c(){var _0x427bcc=_0x4a70ba;_0x5c46e7['animateFrame']=window[_0x427bcc(0x226)](_0x3a977c);var _0x469124=Date[_0x427bcc(0x1c8)](),_0x2ce5cf=_0x469124-_0x2ddeff;_0x2ce5cf>_0x5c46e7[_0x427bcc(0x232)]&&(_0x2ddeff=_0x469124-_0x2ce5cf%_0x5c46e7[_0x427bcc(0x232)],_0x5c46e7[_0x427bcc(0x187)]());}(),window[_0x4a70ba(0x181)](_0x4a70ba(0x241),this[_0x4a70ba(0x241)][_0x4a70ba(0x1e6)](this),!0x1),this[_0x4a70ba(0x237)]=!0x1,this[_0x4a70ba(0x192)]=!0x1,this[_0x4a70ba(0x18f)]['on'](_0x18811e['EventType'][_0x4a70ba(0x277)],this[_0x4a70ba(0x19a)],this),this[_0x4a70ba(0x18f)]['on'](_0x18811e['EventType'][_0x4a70ba(0x291)],this[_0x4a70ba(0x2a9)],this),this['_map']['on'](_0x18811e[_0x4a70ba(0x1f3)][_0x4a70ba(0x191)],this[_0x4a70ba(0x19e)],this),this[_0x4a70ba(0x18f)]['on'](_0x18811e[_0x4a70ba(0x1f3)][_0x4a70ba(0x1e9)],this[_0x4a70ba(0x265)],this);}},{'key':_0x4e12d7(0x28b),'value':function(){var _0x41117a=_0x4e12d7;window['cancelAnimationFrame'](this['animateFrame']),delete this[_0x41117a(0x1f7)],window['removeEventListener'](_0x41117a(0x241),this['resize']),this[_0x41117a(0x18f)][_0x41117a(0x274)](_0x18811e['EventType'][_0x41117a(0x277)],this[_0x41117a(0x19a)],this),this['_map']['off'](_0x18811e[_0x41117a(0x1f3)][_0x41117a(0x291)],this['_onMouseDownEvent'],this),this[_0x41117a(0x18f)][_0x41117a(0x274)](_0x18811e[_0x41117a(0x1f3)][_0x41117a(0x191)],this[_0x41117a(0x19e)],this),this[_0x41117a(0x18f)][_0x41117a(0x274)](_0x18811e['EventType'][_0x41117a(0x1e9)],this[_0x41117a(0x265)],this);}},{'key':_0x4e12d7(0x19a),'value':function(_0x387a9c){var _0x2839af=_0x4e12d7,_0x181c3a=this;clearTimeout(this[_0x2839af(0x26f)]),this[_0x2839af(0x1de)]&&this['canvas']&&(this[_0x2839af(0x248)][_0x2839af(0x206)]['visibility']=_0x2839af(0x178),this[_0x2839af(0x26f)]=setTimeout(function(){var _0x17fe45=_0x2839af;_0x181c3a[_0x17fe45(0x1de)]&&(_0x181c3a[_0x17fe45(0x213)](),_0x181c3a[_0x17fe45(0x248)][_0x17fe45(0x206)][_0x17fe45(0x148)]=_0x17fe45(0x270));},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x40ba7d){this['mouse_down']=!0x0;}},{'key':_0x4e12d7(0x265),'value':function(_0x3ff1b2){var _0x1da496=_0x4e12d7;this['show']&&this[_0x1da496(0x248)]&&this[_0x1da496(0x237)]&&(this['canvas'][_0x1da496(0x206)][_0x1da496(0x148)]=_0x1da496(0x178),this['mouse_move']=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x3297f2){var _0x2eea57=_0x4e12d7;this[_0x2eea57(0x1de)]&&this[_0x2eea57(0x248)]&&(this[_0x2eea57(0x237)]&&this[_0x2eea57(0x192)]&&this[_0x2eea57(0x213)](),this[_0x2eea57(0x248)][_0x2eea57(0x206)][_0x2eea57(0x148)]='visible',this[_0x2eea57(0x237)]=!0x1,this['mouse_move']=!0x1);}},{'key':'redraw','value':function(){var _0x49a99e=_0x4e12d7;this[_0x49a99e(0x1de)]&&this['windField']&&(this[_0x49a99e(0x284)]=[],this[_0x49a99e(0x27e)]());}},{'key':_0x4e12d7(0x276),'value':function(_0xbcac49){var _0x4c698e=_0x4e12d7;this[_0x4c698e(0x1cd)](),this[_0x4c698e(0x28e)]=_0xbcac49,this['windField']=new _0x52e90d(this[_0x4c698e(0x28e)],this['reverseY']),this[_0x4c698e(0x27e)]();}},{'key':_0x4e12d7(0x27e),'value':function(){var _0x303595=_0x4e12d7;this['_calcStep']();for(var _0x44c783=0x0;_0x44c783<this[_0x303595(0x297)];_0x44c783++){var _0x42b195=this[_0x303595(0x160)](new _0x2d99ff());this['particles'][_0x303595(0x1fe)](_0x42b195);}this[_0x303595(0x25d)][_0x303595(0x24d)]=_0x303595(0x1f2),this[_0x303595(0x25d)][_0x303595(0x234)]=0.6,this[_0x303595(0x187)]();}},{'key':_0x4e12d7(0x1f5),'value':function(){var _0x12ce4b=_0x4e12d7;this[_0x12ce4b(0x1cb)]&&(this[_0x12ce4b(0x219)]=[(this[_0x12ce4b(0x1cb)]['xmax']-this[_0x12ce4b(0x1cb)]['xmin'])/this[_0x12ce4b(0x1c1)],(this[_0x12ce4b(0x1cb)][_0x12ce4b(0x1d0)]-this[_0x12ce4b(0x1cb)][_0x12ce4b(0x16b)])/this['speedRate']]);}},{'key':_0x4e12d7(0x187),'value':function(){var _0x198fa6=_0x4e12d7,_0x4afb3e=this;if(this['show']&&!(this[_0x198fa6(0x284)][_0x198fa6(0x29c)]<=0x0)){var _0x23ab0=null,_0xb8e668=null,_0x1daeee=null;this[_0x198fa6(0x284)][_0x198fa6(0x21e)](function(_0x5e7b79){var _0x40a9f8=_0x198fa6;if(_0x5e7b79[_0x40a9f8(0x288)]<=0x0&&_0x4afb3e[_0x40a9f8(0x160)](_0x5e7b79),_0x5e7b79[_0x40a9f8(0x288)]>0x0){var _0x58960a=_0x5e7b79[_0x40a9f8(0x290)],_0x33eb5a=_0x5e7b79['tlat'];(_0x1daeee=_0x4afb3e[_0x40a9f8(0x1cb)][_0x40a9f8(0x158)](_0x58960a,_0x33eb5a))?(_0x23ab0=_0x58960a+_0x4afb3e[_0x40a9f8(0x219)][0x0]*_0x1daeee[0x0],_0xb8e668=_0x33eb5a+_0x4afb3e[_0x40a9f8(0x219)][0x1]*_0x1daeee[0x1],_0x5e7b79[_0x40a9f8(0x2b4)]=_0x58960a,_0x5e7b79[_0x40a9f8(0x1fa)]=_0x33eb5a,_0x5e7b79['tlng']=_0x23ab0,_0x5e7b79[_0x40a9f8(0x279)]=_0xb8e668,_0x5e7b79[_0x40a9f8(0x288)]--):_0x5e7b79[_0x40a9f8(0x288)]=0x0;}}),this[_0x198fa6(0x171)]();}}},{'key':'_tomap','value':function(_0x24bbb7,_0x2bfc85,_0x564b17){var _0x5be010=_0x4e12d7,_0x4e2c23=_0xd8b266['Cartesian3'][_0x5be010(0x20e)](_0x24bbb7,_0x2bfc85,this['fixedHeight']),_0x4f35d6=this['_map'][_0x5be010(0x154)];if(_0x4f35d6[_0x5be010(0x244)]===_0xd8b266['SceneMode'][_0x5be010(0x183)]&&!new _0xd8b266[(_0x5be010(0x20b))](_0x4f35d6[_0x5be010(0x1c7)]['ellipsoid'],_0x4f35d6['camera']['positionWC'])[_0x5be010(0x13c)](_0x4e2c23))return _0x564b17['age']=0x0,null;var _0x6670fe=_0xd8b266['SceneTransforms'][_0x5be010(0x1c3)](this['_map']['scene'],_0x4e2c23);return _0x6670fe?[_0x6670fe['x'],_0x6670fe['y']]:null;}},{'key':_0x4e12d7(0x171),'value':function(){var _0x49f0f1=_0x4e12d7,_0x4ae9b8=this,_0x1b41ba=this[_0x49f0f1(0x284)];this[_0x49f0f1(0x25d)][_0x49f0f1(0x1df)]=_0x4ae9b8[_0x49f0f1(0x1df)],this[_0x49f0f1(0x25d)][_0x49f0f1(0x17a)]=_0x49f0f1(0x2a7),this[_0x49f0f1(0x25d)][_0x49f0f1(0x1d3)](0x0,0x0,this[_0x49f0f1(0x293)],this[_0x49f0f1(0x253)]),this[_0x49f0f1(0x25d)]['globalCompositeOperation']='lighter',this[_0x49f0f1(0x25d)]['globalAlpha']=0.9,this[_0x49f0f1(0x25d)][_0x49f0f1(0x2ad)](),this[_0x49f0f1(0x25d)][_0x49f0f1(0x15b)]=this['color'];var _0xc60ded=this[_0x49f0f1(0x18f)][_0x49f0f1(0x154)]['mode']!==_0xd8b266['SceneMode'][_0x49f0f1(0x183)];_0x1b41ba[_0x49f0f1(0x21e)](function(_0x1ec47d){var _0xc6fe9a=_0x49f0f1,_0x206678=_0x4ae9b8[_0xc6fe9a(0x28f)](_0x1ec47d[_0xc6fe9a(0x2b4)],_0x1ec47d[_0xc6fe9a(0x1fa)],_0x1ec47d),_0x56b8cb=_0x4ae9b8[_0xc6fe9a(0x28f)](_0x1ec47d['tlng'],_0x1ec47d['tlat'],_0x1ec47d);if(null!=_0x206678&&null!=_0x56b8cb){var _0x1cd6de=Math['abs'](_0x206678[0x0]-_0x56b8cb[0x0]);_0xc60ded&&_0x1cd6de>=_0x4ae9b8[_0xc6fe9a(0x293)]||(_0x4ae9b8[_0xc6fe9a(0x25d)][_0xc6fe9a(0x17d)](_0x206678[0x0],_0x206678[0x1]),_0x4ae9b8[_0xc6fe9a(0x25d)][_0xc6fe9a(0x275)](_0x56b8cb[0x0],_0x56b8cb[0x1]));}}),this[_0x49f0f1(0x25d)][_0x49f0f1(0x193)]();}},{'key':_0x4e12d7(0x160),'value':function(_0x1033b1){var _0x1461d2=_0x4e12d7;for(var _0xb6f762,_0x1ee8d,_0x1266b7=0x0;_0x1266b7<0x1e&&(_0xb6f762=this[_0x1461d2(0x1cb)][_0x1461d2(0x2ab)](),!((_0x1ee8d=this[_0x1461d2(0x1cb)]['getUVByPoint'](_0xb6f762[_0x1461d2(0x2b4)],_0xb6f762[_0x1461d2(0x1fa)]))&&_0x1ee8d[0x2]>0x0));_0x1266b7++);if(!_0x1ee8d)return _0x1033b1;var _0x56baa8=_0xb6f762['lng']+this[_0x1461d2(0x219)][0x0]*_0x1ee8d[0x0],_0x178547=_0xb6f762['lat']+this[_0x1461d2(0x219)][0x1]*_0x1ee8d[0x1];return _0x1033b1['lng']=_0xb6f762[_0x1461d2(0x2b4)],_0x1033b1[_0x1461d2(0x1fa)]=_0xb6f762['lat'],_0x1033b1[_0x1461d2(0x290)]=_0x56baa8,_0x1033b1[_0x1461d2(0x279)]=_0x178547,_0x1033b1[_0x1461d2(0x288)]=Math[_0x1461d2(0x150)](Math[_0x1461d2(0x229)]()*this[_0x1461d2(0x1fb)]),_0x1033b1;}},{'key':_0x4e12d7(0x1cd),'value':function(){var _0x41beb6=_0x4e12d7;this['particles']=[],delete this[_0x41beb6(0x1cb)],delete this['windData'];}}]),_0x4493ed;}(_0x18811e['layer'][_0x1cfef6(0x1ab)]);function _0x17c690(_0x57e303,_0x2cb4c0){var _0x2a7592=_0x1cfef6;return _0x57e303*Math[_0x2a7592(0x14d)](_0xd8b266['Math'][_0x2a7592(0x1d4)](_0x2cb4c0));}function _0x49f5a9(_0x3e9df0,_0x50953e){var _0x27d3c2=_0x1cfef6;return _0x3e9df0*Math[_0x27d3c2(0x16d)](_0xd8b266[_0x27d3c2(0x1cc)]['toRadians'](_0x50953e));}function _0xd2fb33(_0x45917a,_0x2ee0e2){var _0x338d20=_0x1cfef6;return Math[_0x338d20(0x236)](Math[_0x338d20(0x20d)](_0x45917a,0x2)+Math[_0x338d20(0x20d)](_0x2ee0e2,0x2));}function _0x4666c4(_0x4ae033,_0x3c1ddf){var _0x44e224=_0x1cfef6,_0x5b230b=_0xd8b266[_0x44e224(0x1cc)][_0x44e224(0x21d)](Math[_0x44e224(0x1bc)](_0x3c1ddf,_0x4ae033));return _0x5b230b+=_0x5b230b<0x0?0x168:0x0;}_0x18811e[_0x1cfef6(0x1ce)][_0x1cfef6(0x298)](_0x1cfef6(0x1c0),_0x39089f),_0x18811e[_0x1cfef6(0x2ac)][_0x1cfef6(0x24f)]=_0x39089f,_0x18811e[_0x1cfef6(0x259)]=_0x1eadea;}]));
|
|
31
31
|
|
|
32
32
|
})(window);
|
|
33
33
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.18",
|
|
4
4
|
"description": "Mars3D平台插件,支持气象 风向图 功能插件",
|
|
5
5
|
"main": "dist/mars3d-wind.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
6
9
|
"dependencies": {
|
|
7
|
-
"mars3d": "^3.1.
|
|
8
|
-
"mars3d-cesium": "^1.
|
|
10
|
+
"mars3d": "^3.1.18",
|
|
11
|
+
"mars3d-cesium": "^1.88.0"
|
|
9
12
|
},
|
|
10
13
|
"devDependencies": {},
|
|
11
14
|
"scripts": {
|
package/index.html
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html class="no-js css-menubar" lang="zh-cn">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<title> Mars3D三维地球 wind插件</title>
|
|
6
|
-
<meta charset="utf-8">
|
|
7
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
8
|
-
<!-- 移动设备 viewport -->
|
|
9
|
-
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui">
|
|
10
|
-
<meta name="author" content="火星科技 http://mars3d.cn ">
|
|
11
|
-
<!-- 360浏览器默认使用Webkit内核 -->
|
|
12
|
-
<meta name="renderer" content="webkit">
|
|
13
|
-
<!-- Chrome浏览器添加桌面快捷方式(安卓) -->
|
|
14
|
-
<link rel="icon" type="image/png" href="img/favicon/favicon.png">
|
|
15
|
-
<meta name="mobile-web-app-capable" content="yes">
|
|
16
|
-
<!-- Safari浏览器添加到主屏幕(IOS) -->
|
|
17
|
-
<link rel="icon" sizes="192x192" href="img/favicon/apple-touch-icon.png">
|
|
18
|
-
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
19
|
-
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
20
|
-
<meta name="apple-mobile-web-app-title" content="火星科技 MarsGIS">
|
|
21
|
-
<!-- Win8标题栏及ICON图标 -->
|
|
22
|
-
<link rel="apple-touch-icon-precomposed" href="img/favicon/apple-touch-icon.png">
|
|
23
|
-
<meta name="msapplication-TileImage" content="img/favicon/app-icon72x72@2x.png">
|
|
24
|
-
<meta name="msapplication-TileColor" content="#62a8ea">
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
<!--引入基础lib-->
|
|
28
|
-
<link href="https://cdn.jsdelivr.net/npm/mars3d-cesium/Build/Cesium/Widgets/widgets.css" rel="stylesheet" type="text/css" />
|
|
29
|
-
<script src="https://cdn.jsdelivr.net/npm/mars3d-cesium/Build/Cesium/Cesium.js" type="text/javascript" ></script>
|
|
30
|
-
<script src="https://unpkg.com/@turf/turf/turf.min.js" type="text/javascript" ></script>
|
|
31
|
-
<script type="text/javascript" src="http://mars3d.cn/lib/jquery/jquery-2.1.4.min.js"></script>
|
|
32
|
-
<script type="text/javascript" src="http://mars3d.cn/lib/hao/haoutil.js"></script>
|
|
33
|
-
|
|
34
|
-
<!--引入mars3d库lib-->
|
|
35
|
-
<link href="https://cdn.jsdelivr.net/npm/mars3d/dist/mars3d.css" rel="stylesheet" type="text/css" />
|
|
36
|
-
<script src="https://cdn.jsdelivr.net/npm/mars3d/dist/mars3d.js" type="text/javascript" ></script>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<script type="text/javascript" src="dist/mars3d-wind.js"></script>
|
|
40
|
-
|
|
41
|
-
<style>
|
|
42
|
-
html,
|
|
43
|
-
body {
|
|
44
|
-
height: 100%;
|
|
45
|
-
width: 100%;
|
|
46
|
-
margin: 0;
|
|
47
|
-
padding: 0;
|
|
48
|
-
border: none;
|
|
49
|
-
overflow: hidden;
|
|
50
|
-
font-size: 14px;
|
|
51
|
-
background: #000;
|
|
52
|
-
}
|
|
53
|
-
</style>
|
|
54
|
-
</head>
|
|
55
|
-
|
|
56
|
-
<body>
|
|
57
|
-
<div id="mars3dContainer" class="mars3d-container"></div>
|
|
58
|
-
|
|
59
|
-
<!--业务代码-->
|
|
60
|
-
<script type="text/javascript">
|
|
61
|
-
//判断webgl支持
|
|
62
|
-
if (!mars3d.Util.webglreport()) {
|
|
63
|
-
mars3d.Util.webglerror()
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
//读取 config.json 配置文件
|
|
67
|
-
var configUrl = 'http://mars3d.cn/example/config/config.json'
|
|
68
|
-
mars3d.Resource.fetchJson({ url: configUrl }).then(function (json) {
|
|
69
|
-
initMap(json.map3d)//构建地图
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
var map
|
|
73
|
-
|
|
74
|
-
//创建三维地球场景
|
|
75
|
-
function initMap(options) {
|
|
76
|
-
//合并属性参数,可覆盖config.json中的对应配置
|
|
77
|
-
let mapOptions = mars3d.Util.merge(options, {
|
|
78
|
-
scene: {
|
|
79
|
-
center: {
|
|
80
|
-
y: 17.262069,
|
|
81
|
-
x: 118.610529,
|
|
82
|
-
z: 21466322.79,
|
|
83
|
-
heading: 358.6,
|
|
84
|
-
pitch: -88.5,
|
|
85
|
-
roll: 0,
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
})
|
|
89
|
-
|
|
90
|
-
map = new mars3d.Map('mars3dContainer', mapOptions)
|
|
91
|
-
|
|
92
|
-
map.basemap = 2017 //蓝色底图
|
|
93
|
-
|
|
94
|
-
//风场
|
|
95
|
-
var canvasWindLayer = new mars3d.layer.CanvasWindLayer({
|
|
96
|
-
color: '#ffffff', //颜色
|
|
97
|
-
frameRate: 20, //每秒刷新次数
|
|
98
|
-
speedRate: 60, //风前进速率
|
|
99
|
-
particlesNumber: 5000,
|
|
100
|
-
maxAge: 120,
|
|
101
|
-
lineWidth: 1,
|
|
102
|
-
})
|
|
103
|
-
map.addLayer(canvasWindLayer)
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
$.ajax({
|
|
108
|
-
type: 'get',
|
|
109
|
-
url: 'http://data.mars3d.cn/file/apidemo/windyuv.json',
|
|
110
|
-
dataType: 'json',
|
|
111
|
-
success: function (res) {
|
|
112
|
-
earthWindData = res
|
|
113
|
-
canvasWindLayer.data = earthWindData
|
|
114
|
-
},
|
|
115
|
-
error: function (error) {
|
|
116
|
-
console.log('请求数据失败!', error)
|
|
117
|
-
},
|
|
118
|
-
})
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
</script>
|
|
122
|
-
</body>
|
|
123
|
-
|
|
124
|
-
</html>
|