zhaoxing
2023-12-07 6f4d8199423dfc0bb6701341bc9b8785d50d2315
1
(function(_0x34212d,_0x4b6719){var _0x444c40=a0_0xf1c2,_0x70986f=_0x34212d();while(!![]){try{var _0x59d55c=parseInt(_0x444c40(0x18d))/0x1*(parseInt(_0x444c40(0x1aa))/0x2)+-parseInt(_0x444c40(0x242))/0x3+-parseInt(_0x444c40(0x156))/0x4+-parseInt(_0x444c40(0x161))/0x5+parseInt(_0x444c40(0x154))/0x6+parseInt(_0x444c40(0x171))/0x7+-parseInt(_0x444c40(0x21b))/0x8*(-parseInt(_0x444c40(0x22d))/0x9);if(_0x59d55c===_0x4b6719)break;else _0x70986f['push'](_0x70986f['shift']());}catch(_0x55ddea){_0x70986f['push'](_0x70986f['shift']());}}}(a0_0x4a64,0x568d4),!function(_0x224a80,_0x119a3d){var _0x5e502c=a0_0xf1c2;_0x5e502c(0x158)==typeof exports&&_0x5e502c(0x158)==typeof module?module[_0x5e502c(0x17b)]=_0x119a3d(require(_0x5e502c(0x1fe)),require(_0x5e502c(0x128))):_0x5e502c(0x163)==typeof define&&define['amd']?define(_0x5e502c(0x216),['mars3d-cesium',_0x5e502c(0x128)],_0x119a3d):_0x5e502c(0x158)==typeof exports?exports[_0x5e502c(0x216)]=_0x119a3d(require(_0x5e502c(0x1fe)),require(_0x5e502c(0x128))):_0x224a80['mars3dWind']=_0x119a3d(_0x224a80[_0x5e502c(0x228)],_0x224a80[_0x5e502c(0x128)]);}(window,function(_0x190d2b,_0x34c776){return function(_0x465a30){var _0xaf04c9={};function _0x4dbc19(_0x4958b1){var _0x3afabd=a0_0xf1c2;if(_0xaf04c9[_0x4958b1])return _0xaf04c9[_0x4958b1][_0x3afabd(0x17b)];var _0x53bd68=_0xaf04c9[_0x4958b1]={'i':_0x4958b1,'l':!0x1,'exports':{}};return _0x465a30[_0x4958b1][_0x3afabd(0x235)](_0x53bd68[_0x3afabd(0x17b)],_0x53bd68,_0x53bd68[_0x3afabd(0x17b)],_0x4dbc19),_0x53bd68['l']=!0x0,_0x53bd68[_0x3afabd(0x17b)];}return _0x4dbc19['m']=_0x465a30,_0x4dbc19['c']=_0xaf04c9,_0x4dbc19['d']=function(_0x55d45d,_0x52235e,_0x3b0240){var _0x1ecb8e=a0_0xf1c2;_0x4dbc19['o'](_0x55d45d,_0x52235e)||Object[_0x1ecb8e(0x16c)](_0x55d45d,_0x52235e,{'enumerable':!0x0,'get':_0x3b0240});},_0x4dbc19['r']=function(_0xf073d0){var _0x566120=a0_0xf1c2;'undefined'!=typeof Symbol&&Symbol[_0x566120(0x16b)]&&Object[_0x566120(0x16c)](_0xf073d0,Symbol[_0x566120(0x16b)],{'value':_0x566120(0x229)}),Object[_0x566120(0x16c)](_0xf073d0,'__esModule',{'value':!0x0});},_0x4dbc19['t']=function(_0x4d1b45,_0x519f76){var _0x32db0a=a0_0xf1c2;if(0x1&_0x519f76&&(_0x4d1b45=_0x4dbc19(_0x4d1b45)),0x8&_0x519f76)return _0x4d1b45;if(0x4&_0x519f76&&'object'==typeof _0x4d1b45&&_0x4d1b45&&_0x4d1b45['__esModule'])return _0x4d1b45;var _0x243d77=Object[_0x32db0a(0x123)](null);if(_0x4dbc19['r'](_0x243d77),Object[_0x32db0a(0x16c)](_0x243d77,_0x32db0a(0x105),{'enumerable':!0x0,'value':_0x4d1b45}),0x2&_0x519f76&&_0x32db0a(0x10b)!=typeof _0x4d1b45){for(var _0x568dd7 in _0x4d1b45)_0x4dbc19['d'](_0x243d77,_0x568dd7,function(_0x341934){return _0x4d1b45[_0x341934];}[_0x32db0a(0x147)](null,_0x568dd7));}return _0x243d77;},_0x4dbc19['n']=function(_0x214c22){var _0xdfbe8a=a0_0xf1c2,_0x2c75cc=_0x214c22&&_0x214c22[_0xdfbe8a(0xe6)]?function(){var _0xf082d0=_0xdfbe8a;return _0x214c22[_0xf082d0(0x105)];}:function(){return _0x214c22;};return _0x4dbc19['d'](_0x2c75cc,'a',_0x2c75cc),_0x2c75cc;},_0x4dbc19['o']=function(_0x19d8fa,_0x24512d){var _0x5c98da=a0_0xf1c2;return Object[_0x5c98da(0x197)]['hasOwnProperty'][_0x5c98da(0x235)](_0x19d8fa,_0x24512d);},_0x4dbc19['p']='',_0x4dbc19(_0x4dbc19['s']=0x14);}([function(_0xace107,_0x2c5559){var _0x3497d4=a0_0xf1c2;_0xace107[_0x3497d4(0x17b)]=_0x190d2b;},function(_0x3a7b36,_0x5269ef){_0x3a7b36['exports']=_0x34c776;},function(_0x4b850d,_0x4d8a8b){var _0x2447de=a0_0xf1c2;_0x4b850d[_0x2447de(0x17b)]=function(_0x177e00,_0x3d0a03){if(!(_0x177e00 instanceof _0x3d0a03))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x4b850d[_0x2447de(0x17b)]['default']=_0x4b850d[_0x2447de(0x17b)],_0x4b850d[_0x2447de(0x17b)][_0x2447de(0xe6)]=!0x0;},function(_0x5531c8,_0x47399b){var _0x292c59=a0_0xf1c2;function _0x3ba249(_0x2f90fd,_0x486bff){var _0x69ef60=a0_0xf1c2;for(var _0x3e6b68=0x0;_0x3e6b68<_0x486bff[_0x69ef60(0xea)];_0x3e6b68++){var _0x804abf=_0x486bff[_0x3e6b68];_0x804abf[_0x69ef60(0xf5)]=_0x804abf[_0x69ef60(0xf5)]||!0x1,_0x804abf[_0x69ef60(0xd4)]=!0x0,_0x69ef60(0x14e)in _0x804abf&&(_0x804abf[_0x69ef60(0x136)]=!0x0),Object[_0x69ef60(0x16c)](_0x2f90fd,_0x804abf[_0x69ef60(0xe7)],_0x804abf);}}_0x5531c8['exports']=function(_0x49de51,_0x5ed303,_0x5d6f45){var _0x2bc913=a0_0xf1c2;return _0x5ed303&&_0x3ba249(_0x49de51[_0x2bc913(0x197)],_0x5ed303),_0x5d6f45&&_0x3ba249(_0x49de51,_0x5d6f45),_0x49de51;},_0x5531c8[_0x292c59(0x17b)]['default']=_0x5531c8['exports'],_0x5531c8[_0x292c59(0x17b)][_0x292c59(0xe6)]=!0x0;},function(_0x396180,_0x54ec46){var _0x9ee0d0=a0_0xf1c2;function _0xa940b7(_0x3c5b07){var _0x2594ef=a0_0xf1c2;return _0x396180[_0x2594ef(0x17b)]=_0xa940b7=Object['setPrototypeOf']?Object[_0x2594ef(0x11f)]:function(_0x43d220){var _0x481b5c=_0x2594ef;return _0x43d220[_0x481b5c(0xd7)]||Object[_0x481b5c(0x11f)](_0x43d220);},_0x396180[_0x2594ef(0x17b)][_0x2594ef(0x105)]=_0x396180[_0x2594ef(0x17b)],_0x396180[_0x2594ef(0x17b)][_0x2594ef(0xe6)]=!0x0,_0xa940b7(_0x3c5b07);}_0x396180[_0x9ee0d0(0x17b)]=_0xa940b7,_0x396180[_0x9ee0d0(0x17b)][_0x9ee0d0(0x105)]=_0x396180[_0x9ee0d0(0x17b)],_0x396180[_0x9ee0d0(0x17b)][_0x9ee0d0(0xe6)]=!0x0;},function(_0x5f3a2a,_0x2f9802,_0x2b7b4e){var _0x3a0061=a0_0xf1c2,_0x5a8cd5=_0x2b7b4e(0x11);_0x5f3a2a['exports']=function(_0x2f5fcc,_0x294af7){var _0x369de1=a0_0xf1c2;if(_0x369de1(0x163)!=typeof _0x294af7&&null!==_0x294af7)throw new TypeError(_0x369de1(0x16a));_0x2f5fcc[_0x369de1(0x197)]=Object[_0x369de1(0x123)](_0x294af7&&_0x294af7[_0x369de1(0x197)],{'constructor':{'value':_0x2f5fcc,'writable':!0x0,'configurable':!0x0}}),_0x294af7&&_0x5a8cd5(_0x2f5fcc,_0x294af7);},_0x5f3a2a[_0x3a0061(0x17b)][_0x3a0061(0x105)]=_0x5f3a2a['exports'],_0x5f3a2a[_0x3a0061(0x17b)][_0x3a0061(0xe6)]=!0x0;},function(_0xee6677,_0xf3aad,_0x2afd97){var _0x43aa85=a0_0xf1c2,_0xb4e456=_0x2afd97(0x12)[_0x43aa85(0x105)],_0x2723fb=_0x2afd97(0x13);_0xee6677[_0x43aa85(0x17b)]=function(_0x155d77,_0x3f4e3c){var _0x288e52=_0x43aa85;if(_0x3f4e3c&&(_0x288e52(0x158)===_0xb4e456(_0x3f4e3c)||_0x288e52(0x163)==typeof _0x3f4e3c))return _0x3f4e3c;if(void 0x0!==_0x3f4e3c)throw new TypeError(_0x288e52(0x157));return _0x2723fb(_0x155d77);},_0xee6677[_0x43aa85(0x17b)][_0x43aa85(0x105)]=_0xee6677[_0x43aa85(0x17b)],_0xee6677['exports'][_0x43aa85(0xe6)]=!0x0;},function(_0x1ff778,_0x29f2e5){var _0x3c0f78=a0_0xf1c2;_0x1ff778[_0x3c0f78(0x17b)]=_0x3c0f78(0x24c);},function(_0x46b6f4,_0x4c7f56){var _0x2de72c=a0_0xf1c2;_0x46b6f4[_0x2de72c(0x17b)]=_0x2de72c(0x1b0);},function(_0x1172ec,_0x5ca643){var _0x4a8f8f=a0_0xf1c2;_0x1172ec[_0x4a8f8f(0x17b)]=_0x4a8f8f(0x1de);},function(_0x1b56c3,_0x36dd55){var _0x380d30=a0_0xf1c2;_0x1b56c3[_0x380d30(0x17b)]='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(_0x169932,_0x3de2ae){var _0x352f5f=a0_0xf1c2;_0x169932['exports']=_0x352f5f(0xdd);},function(_0x231963,_0x2cbeea){var _0x14c6d5=a0_0xf1c2;_0x231963['exports']=_0x14c6d5(0x1fa);},function(_0x293b11,_0x65f9f4){_0x293b11['exports']='uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}';},function(_0x564fd7,_0x5aa659){var _0x1720e3=a0_0xf1c2;_0x564fd7[_0x1720e3(0x17b)]=_0x1720e3(0x207);},function(_0x20d02e,_0x1026ef){var _0x2ab06f=a0_0xf1c2;_0x20d02e[_0x2ab06f(0x17b)]='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}';},function(_0x3b9087,_0x219468){var _0x25e2ca=a0_0xf1c2;_0x3b9087[_0x25e2ca(0x17b)]=_0x25e2ca(0x131);},function(_0x39d7e3,_0x4bd275){var _0x3cb42d=a0_0xf1c2;function _0x1bf8f5(_0x152cad,_0x55216f){var _0x5f9a88=a0_0xf1c2;return _0x39d7e3[_0x5f9a88(0x17b)]=_0x1bf8f5=Object['setPrototypeOf']||function(_0x328f51,_0x545d5d){var _0x1e210f=_0x5f9a88;return _0x328f51[_0x1e210f(0xd7)]=_0x545d5d,_0x328f51;},_0x39d7e3[_0x5f9a88(0x17b)][_0x5f9a88(0x105)]=_0x39d7e3['exports'],_0x39d7e3[_0x5f9a88(0x17b)][_0x5f9a88(0xe6)]=!0x0,_0x1bf8f5(_0x152cad,_0x55216f);}_0x39d7e3[_0x3cb42d(0x17b)]=_0x1bf8f5,_0x39d7e3[_0x3cb42d(0x17b)]['default']=_0x39d7e3[_0x3cb42d(0x17b)],_0x39d7e3[_0x3cb42d(0x17b)]['__esModule']=!0x0;},function(_0x4cfd04,_0x22c403){var _0x253cc8=a0_0xf1c2;function _0x45a8cc(_0x4c0e52){var _0x1eab6b=a0_0xf1c2;return _0x1eab6b(0x163)==typeof Symbol&&_0x1eab6b(0x21e)==typeof Symbol[_0x1eab6b(0x108)]?(_0x4cfd04[_0x1eab6b(0x17b)]=_0x45a8cc=function(_0x2376f3){return typeof _0x2376f3;},_0x4cfd04[_0x1eab6b(0x17b)][_0x1eab6b(0x105)]=_0x4cfd04[_0x1eab6b(0x17b)],_0x4cfd04['exports'][_0x1eab6b(0xe6)]=!0x0):(_0x4cfd04[_0x1eab6b(0x17b)]=_0x45a8cc=function(_0x473cf7){var _0x6ed5a9=_0x1eab6b;return _0x473cf7&&_0x6ed5a9(0x163)==typeof Symbol&&_0x473cf7[_0x6ed5a9(0x15a)]===Symbol&&_0x473cf7!==Symbol[_0x6ed5a9(0x197)]?_0x6ed5a9(0x21e):typeof _0x473cf7;},_0x4cfd04[_0x1eab6b(0x17b)]['default']=_0x4cfd04['exports'],_0x4cfd04['exports'][_0x1eab6b(0xe6)]=!0x0),_0x45a8cc(_0x4c0e52);}_0x4cfd04[_0x253cc8(0x17b)]=_0x45a8cc,_0x4cfd04['exports']['default']=_0x4cfd04['exports'],_0x4cfd04[_0x253cc8(0x17b)]['__esModule']=!0x0;},function(_0x93bf52,_0x449a5b){var _0x3d2269=a0_0xf1c2;_0x93bf52[_0x3d2269(0x17b)]=function(_0xd4d729){var _0x5ef076=_0x3d2269;if(void 0x0===_0xd4d729)throw new ReferenceError(_0x5ef076(0x1be));return _0xd4d729;},_0x93bf52[_0x3d2269(0x17b)][_0x3d2269(0x105)]=_0x93bf52['exports'],_0x93bf52[_0x3d2269(0x17b)][_0x3d2269(0xe6)]=!0x0;},function(_0x1aebe5,_0x4362f4,_0x2d66e1){'use strict';var _0x51f2ac=a0_0xf1c2;_0x2d66e1['r'](_0x4362f4),_0x2d66e1['d'](_0x4362f4,_0x51f2ac(0x16d),function(){return _0xbb87b7;}),_0x2d66e1['d'](_0x4362f4,'CanvasWindLayer',function(){return _0x59ff50;}),_0x2d66e1['d'](_0x4362f4,_0x51f2ac(0x151),function(){return _0x213982;});var _0x213982={};_0x2d66e1['r'](_0x213982),_0x2d66e1['d'](_0x213982,_0x51f2ac(0x170),function(){return _0x1639f4;}),_0x2d66e1['d'](_0x213982,_0x51f2ac(0x185),function(){return _0x2834be;}),_0x2d66e1['d'](_0x213982,_0x51f2ac(0x150),function(){return _0x3cf5a6;}),_0x2d66e1['d'](_0x213982,_0x51f2ac(0x14f),function(){return _0x327abd;});var _0x4e3db0=_0x2d66e1(0x1),_0x321cee=_0x2d66e1(0x2),_0x913a58=_0x2d66e1['n'](_0x321cee),_0x296b8a=_0x2d66e1(0x3),_0x3224d=_0x2d66e1['n'](_0x296b8a),_0x5f0bff=_0x2d66e1(0x5),_0x29dba8=_0x2d66e1['n'](_0x5f0bff),_0xba7fcb=_0x2d66e1(0x6),_0x1aaa56=_0x2d66e1['n'](_0xba7fcb),_0x24e519=_0x2d66e1(0x4),_0x3c4d78=_0x2d66e1['n'](_0x24e519),_0x7b746c=_0x2d66e1(0x0),_0x4c9166=function(){var _0x5dd887=_0x51f2ac;function _0x58a035(_0x34fe57){var _0x51189c=a0_0xf1c2;_0x913a58()(this,_0x58a035),this[_0x51189c(0x11d)]=_0x34fe57[_0x51189c(0x11d)],this[_0x51189c(0x24f)]=_0x34fe57['geometry'],this[_0x51189c(0x1b2)]=_0x34fe57[_0x51189c(0x1b2)],this[_0x51189c(0x193)]=_0x34fe57[_0x51189c(0x193)],this[_0x51189c(0x1d1)]=_0x34fe57['uniformMap'],this[_0x51189c(0x181)]=_0x34fe57[_0x51189c(0x181)],this[_0x51189c(0x13a)]=_0x34fe57[_0x51189c(0x13a)],this[_0x51189c(0x174)]=_0x34fe57[_0x51189c(0x174)],this[_0x51189c(0x21a)]=_0x34fe57['framebuffer'],this[_0x51189c(0x1e6)]=_0x34fe57['outputTexture'],this[_0x51189c(0x249)]=_0x7b746c[_0x51189c(0x114)](_0x34fe57[_0x51189c(0x249)],!0x1),this[_0x51189c(0xdc)]=_0x34fe57[_0x51189c(0xdc)],this[_0x51189c(0x155)]=!0x0,this[_0x51189c(0x146)]=void 0x0,this[_0x51189c(0x1ce)]=void 0x0,this[_0x51189c(0x249)]&&(this[_0x51189c(0x1ce)]=new _0x7b746c[(_0x51189c(0x1dc))]({'color':new _0x7b746c['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x51189c(0x21a)],'pass':_0x7b746c[_0x51189c(0x1d8)][_0x51189c(0x13e)]}));}return _0x3224d()(_0x58a035,[{'key':_0x5dd887(0x23f),'value':function(_0x54c1ea){var _0x4347fa=_0x5dd887;switch(this[_0x4347fa(0x11d)]){case'Draw':var _0x95a71a=_0x7b746c[_0x4347fa(0x159)][_0x4347fa(0x17d)]({'context':_0x54c1ea,'geometry':this['geometry'],'attributeLocations':this[_0x4347fa(0x1b2)],'bufferUsage':_0x7b746c[_0x4347fa(0x209)][_0x4347fa(0x214)]}),_0xe32a2e=_0x7b746c[_0x4347fa(0x15e)]['fromCache']({'context':_0x54c1ea,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this[_0x4347fa(0x181)],'fragmentShaderSource':this['fragmentShaderSource']}),_0x372aad=_0x7b746c['RenderState'][_0x4347fa(0x195)](this[_0x4347fa(0x174)]);return new _0x7b746c[(_0x4347fa(0x1e4))]({'owner':this,'vertexArray':_0x95a71a,'primitiveType':this['primitiveType'],'uniformMap':this[_0x4347fa(0x1d1)],'modelMatrix':_0x7b746c[_0x4347fa(0x22a)][_0x4347fa(0x1cf)],'shaderProgram':_0xe32a2e,'framebuffer':this['framebuffer'],'renderState':_0x372aad,'pass':_0x7b746c['Pass'][_0x4347fa(0x13e)]});case _0x4347fa(0x24e):return new _0x7b746c[(_0x4347fa(0x20a))]({'owner':this,'fragmentShaderSource':this[_0x4347fa(0x13a)],'uniformMap':this[_0x4347fa(0x1d1)],'outputTexture':this[_0x4347fa(0x1e6)],'persists':!0x0});}}},{'key':_0x5dd887(0x104),'value':function(_0xc563d8,_0x20c7e4){var _0x3e01b5=_0x5dd887;this['geometry']=_0x20c7e4;var _0x2fcf30=_0x7b746c[_0x3e01b5(0x159)][_0x3e01b5(0x17d)]({'context':_0xc563d8,'geometry':this[_0x3e01b5(0x24f)],'attributeLocations':this[_0x3e01b5(0x1b2)],'bufferUsage':_0x7b746c['BufferUsage'][_0x3e01b5(0x214)]});this[_0x3e01b5(0x146)][_0x3e01b5(0x24a)]=_0x2fcf30;}},{'key':_0x5dd887(0x1d9),'value':function(_0x38b59b){var _0x209ad7=_0x5dd887;this['show']&&_0x38b59b[_0x209ad7(0x234)]==_0x7b746c[_0x209ad7(0xf7)][_0x209ad7(0x12f)]&&(_0x7b746c[_0x209ad7(0x231)](this[_0x209ad7(0x146)])||(this[_0x209ad7(0x146)]=this[_0x209ad7(0x23f)](_0x38b59b[_0x209ad7(0x211)])),_0x7b746c[_0x209ad7(0x231)](this['preExecute'])&&this[_0x209ad7(0xdc)](),_0x7b746c[_0x209ad7(0x231)](this['clearCommand'])&&_0x38b59b[_0x209ad7(0xe4)][_0x209ad7(0x1f7)](this[_0x209ad7(0x1ce)]),_0x38b59b[_0x209ad7(0xe4)][_0x209ad7(0x1f7)](this[_0x209ad7(0x146)]));}},{'key':_0x5dd887(0x12d),'value':function(){return!0x1;}},{'key':_0x5dd887(0x241),'value':function(){var _0x31eb72=_0x5dd887;return _0x7b746c[_0x31eb72(0x231)](this['commandToExecute'])&&(this['commandToExecute'][_0x31eb72(0x20b)]=this['commandToExecute'][_0x31eb72(0x20b)]&&this[_0x31eb72(0x146)][_0x31eb72(0x20b)][_0x31eb72(0x241)]()),_0x7b746c[_0x31eb72(0x1c5)](this);}}]),_0x58a035;}(),_0x6e4699={'getFullscreenQuad':function(){var _0x13e2d4=_0x51f2ac;return new _0x7b746c['Geometry']({'attributes':new _0x7b746c['GeometryAttributes']({'position':new _0x7b746c[(_0x13e2d4(0x18b))]({'componentDatatype':_0x7b746c[_0x13e2d4(0x182)][_0x13e2d4(0x239)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x7b746c[(_0x13e2d4(0x18b))]({'componentDatatype':_0x7b746c[_0x13e2d4(0x182)][_0x13e2d4(0x239)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x15b797,_0x2ef4e1){var _0x748f32=_0x51f2ac;if(_0x7b746c['defined'](_0x2ef4e1)){var _0x188b19={};_0x188b19['arrayBufferView']=_0x2ef4e1,_0x15b797[_0x748f32(0x225)]=_0x188b19;}return new _0x7b746c['Texture'](_0x15b797);},'createFramebuffer':function(_0x58abb7,_0x3e5451,_0x10d87a){return new _0x7b746c['Framebuffer']({'context':_0x58abb7,'colorTextures':[_0x3e5451],'depthTexture':_0x10d87a});},'createRawRenderState':function(_0x497389){var _0x23d262=_0x51f2ac,_0x2b40a1={'viewport':_0x497389[_0x23d262(0x1f2)],'depthTest':_0x497389[_0x23d262(0xeb)],'depthMask':_0x497389[_0x23d262(0x129)],'blending':_0x497389[_0x23d262(0x213)]};return _0x7b746c[_0x23d262(0x1c2)][_0x23d262(0xdb)](!0x0,!0x1,_0x2b40a1);},'viewRectangleToLonLatRange':function(_0x3380dd){var _0x37915b=_0x51f2ac,_0x44426a,_0x138832,_0xaddf15={},_0x3bc794=_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0x1db)](_0x3380dd[_0x37915b(0x212)],_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0x1a6)]),_0x52510f=_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0x1db)](_0x3380dd[_0x37915b(0x11e)],_0x7b746c[_0x37915b(0x1bd)]['TWO_PI']),_0x21e538=_0x3380dd[_0x37915b(0x1dd)];_0x21e538>_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0x219)]?(_0x44426a=0x0,_0x138832=_0x7b746c['Math']['TWO_PI']):_0x52510f-_0x3bc794<_0x21e538?(_0x44426a=_0x3bc794,_0x138832=_0x3bc794+_0x21e538):(_0x44426a=_0x3bc794,_0x138832=_0x52510f),_0xaddf15['lon']={'min':_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0x113)](_0x44426a),'max':_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0x113)](_0x138832)};var _0x4f35c8=_0x3380dd[_0x37915b(0x187)],_0x1676c7=_0x3380dd[_0x37915b(0x203)],_0xc28def=_0x3380dd[_0x37915b(0x23e)],_0x564fd0=_0xc28def>_0x7b746c['Math']['PI']/0xc?_0xc28def/0x2:0x0,_0x45f2c2=_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0xda)](_0x4f35c8-_0x564fd0),_0x2eb36b=_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0xda)](_0x1676c7+_0x564fd0);return _0x45f2c2<-_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0x1ef)]&&(_0x45f2c2=-_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0x100)]),_0x2eb36b>_0x7b746c['Math'][_0x37915b(0x1ef)]&&(_0x2eb36b=_0x7b746c[_0x37915b(0x1bd)][_0x37915b(0x100)]),_0xaddf15[_0x37915b(0x1ed)]={'min':_0x7b746c['Math'][_0x37915b(0x113)](_0x45f2c2),'max':_0x7b746c[_0x37915b(0x1bd)]['toDegrees'](_0x2eb36b)},_0xaddf15;}},_0x96f5e8=_0x2d66e1(0x8),_0x3a5fa7=_0x2d66e1['n'](_0x96f5e8),_0x31bc14=_0x2d66e1(0x9),_0x58cce7=_0x2d66e1['n'](_0x31bc14),_0x44425d=_0x2d66e1(0x7),_0x75128=_0x2d66e1['n'](_0x44425d),_0x573f13=_0x2d66e1(0xa),_0x6baf36=_0x2d66e1['n'](_0x573f13),_0x42c3ed=_0x2d66e1(0xb),_0x27002d=_0x2d66e1['n'](_0x42c3ed),_0x3f9ce2=function(){var _0x1c2a02=_0x51f2ac;function _0x152130(_0x27acef,_0x1dfcb0,_0x1e1c76,_0x2c2a12,_0x2ec702){var _0x55088d=a0_0xf1c2;_0x913a58()(this,_0x152130),this[_0x55088d(0x135)](_0x27acef,_0x1dfcb0),this['createRenderingFramebuffers'](_0x27acef),this[_0x55088d(0x107)](_0x27acef,_0x1e1c76,_0x2c2a12,_0x2ec702);}return _0x3224d()(_0x152130,[{'key':_0x1c2a02(0x135),'value':function(_0x27ec52,_0x362767){var _0x41cb41=_0x1c2a02,_0x3d3e4d={'context':_0x27ec52,'width':_0x27ec52[_0x41cb41(0x18a)],'height':_0x27ec52['drawingBufferHeight'],'pixelFormat':_0x7b746c[_0x41cb41(0x1d3)]['RGBA'],'pixelDatatype':_0x7b746c[_0x41cb41(0xfb)][_0x41cb41(0x202)]},_0x15a138={'context':_0x27ec52,'width':_0x27ec52[_0x41cb41(0x18a)],'height':_0x27ec52['drawingBufferHeight'],'pixelFormat':_0x7b746c['PixelFormat'][_0x41cb41(0x177)],'pixelDatatype':_0x7b746c['PixelDatatype'][_0x41cb41(0x210)]},_0x5dc0c7={'context':_0x27ec52,'width':_0x362767[_0x41cb41(0x115)][_0x41cb41(0xf2)],'height':0x1,'pixelFormat':_0x7b746c[_0x41cb41(0x1d3)][_0x41cb41(0x199)],'pixelDatatype':_0x7b746c[_0x41cb41(0xfb)]['FLOAT'],'sampler':new _0x7b746c[(_0x41cb41(0x1a5))]({'minificationFilter':_0x7b746c[_0x41cb41(0x21d)][_0x41cb41(0x179)],'magnificationFilter':_0x7b746c[_0x41cb41(0xfa)]['LINEAR']})};this[_0x41cb41(0x117)]={'segmentsColor':_0x6e4699[_0x41cb41(0x1d0)](_0x3d3e4d),'segmentsDepth':_0x6e4699[_0x41cb41(0x1d0)](_0x15a138),'currentTrailsColor':_0x6e4699['createTexture'](_0x3d3e4d),'currentTrailsDepth':_0x6e4699[_0x41cb41(0x1d0)](_0x15a138),'nextTrailsColor':_0x6e4699[_0x41cb41(0x1d0)](_0x3d3e4d),'nextTrailsDepth':_0x6e4699[_0x41cb41(0x1d0)](_0x15a138),'colorTable':_0x6e4699['createTexture'](_0x5dc0c7,_0x362767[_0x41cb41(0x115)][_0x41cb41(0x141)])};}},{'key':_0x1c2a02(0x19a),'value':function(_0x5b3d42){var _0x1f2c37=_0x1c2a02;this['framebuffers']={'segments':_0x6e4699['createFramebuffer'](_0x5b3d42,this[_0x1f2c37(0x117)][_0x1f2c37(0x200)],this['textures'][_0x1f2c37(0x178)]),'currentTrails':_0x6e4699[_0x1f2c37(0x20d)](_0x5b3d42,this[_0x1f2c37(0x117)]['currentTrailsColor'],this[_0x1f2c37(0x117)]['currentTrailsDepth']),'nextTrails':_0x6e4699[_0x1f2c37(0x20d)](_0x5b3d42,this[_0x1f2c37(0x117)]['nextTrailsColor'],this['textures']['nextTrailsDepth'])};}},{'key':_0x1c2a02(0x245),'value':function(_0xd0df8){var _0x3ff2e5=_0x1c2a02;for(var _0x14fc0e=[],_0x3730c7=0x0;_0x3730c7<_0xd0df8[_0x3ff2e5(0x1a4)];_0x3730c7++)for(var _0x43487a=0x0;_0x43487a<_0xd0df8[_0x3ff2e5(0x1a4)];_0x43487a++)for(var _0x1a84f7=0x0;_0x1a84f7<0x4;_0x1a84f7++)_0x14fc0e['push'](_0x3730c7/_0xd0df8[_0x3ff2e5(0x1a4)]),_0x14fc0e[_0x3ff2e5(0x1f7)](_0x43487a/_0xd0df8[_0x3ff2e5(0x1a4)]);_0x14fc0e=new Float32Array(_0x14fc0e);for(var _0x3a67af=[],_0x2c3642=[-0x1,0x1],_0x44cae8=[-0x1,0x1],_0x5865e7=0x0;_0x5865e7<_0xd0df8[_0x3ff2e5(0x1a3)];_0x5865e7++)for(var _0x3c002e=0x0;_0x3c002e<0x2;_0x3c002e++)for(var _0x1f5975=0x0;_0x1f5975<0x2;_0x1f5975++)_0x3a67af[_0x3ff2e5(0x1f7)](_0x2c3642[_0x3c002e]),_0x3a67af[_0x3ff2e5(0x1f7)](_0x44cae8[_0x1f5975]),_0x3a67af[_0x3ff2e5(0x1f7)](0x0);_0x3a67af=new Float32Array(_0x3a67af);for(var _0x8f1e6e=0x6*_0xd0df8[_0x3ff2e5(0x1a3)],_0x37790a=new Uint32Array(_0x8f1e6e),_0x132a84=0x0,_0x13ff77=0x0,_0x55eb09=0x0;_0x132a84<_0xd0df8[_0x3ff2e5(0x1a3)];_0x132a84++)_0x37790a[_0x13ff77++]=_0x55eb09+0x0,_0x37790a[_0x13ff77++]=_0x55eb09+0x1,_0x37790a[_0x13ff77++]=_0x55eb09+0x2,_0x37790a[_0x13ff77++]=_0x55eb09+0x2,_0x37790a[_0x13ff77++]=_0x55eb09+0x1,_0x37790a[_0x13ff77++]=_0x55eb09+0x3,_0x55eb09+=0x4;return new _0x7b746c[(_0x3ff2e5(0x1e2))]({'attributes':new _0x7b746c[(_0x3ff2e5(0x119))]({'st':new _0x7b746c[(_0x3ff2e5(0x18b))]({'componentDatatype':_0x7b746c[_0x3ff2e5(0x182)][_0x3ff2e5(0x239)],'componentsPerAttribute':0x2,'values':_0x14fc0e}),'normal':new _0x7b746c[(_0x3ff2e5(0x18b))]({'componentDatatype':_0x7b746c[_0x3ff2e5(0x182)][_0x3ff2e5(0x239)],'componentsPerAttribute':0x3,'values':_0x3a67af})}),'indices':_0x37790a});}},{'key':_0x1c2a02(0x107),'value':function(_0x3eab3a,_0x3d90cc,_0x5ef48b,_0x2948a8){var _0xb6f2ed=_0x1c2a02,_0x925381=this;this['primitives']={'segments':new _0x4c9166({'commandType':_0xb6f2ed(0xdf),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x3d90cc),'primitiveType':_0x7b746c[_0xb6f2ed(0x124)][_0xb6f2ed(0x12a)],'uniformMap':{'currentParticlesPosition':function(){var _0x3f79f4=_0xb6f2ed;return _0x2948a8[_0x3f79f4(0x1e7)][_0x3f79f4(0x162)];},'postProcessingPosition':function(){var _0x43da5d=_0xb6f2ed;return _0x2948a8['particlesTextures'][_0x43da5d(0x1b9)];},'postProcessingSpeed':function(){var _0x16b992=_0xb6f2ed;return _0x2948a8[_0x16b992(0x1e7)][_0x16b992(0x22c)];},'colorTable':function(){var _0x39b26d=_0xb6f2ed;return _0x925381[_0x39b26d(0x117)][_0x39b26d(0x115)];},'aspect':function(){var _0x4f788a=_0xb6f2ed;return _0x3eab3a[_0x4f788a(0x18a)]/_0x3eab3a[_0x4f788a(0x11a)];},'pixelSize':function(){return _0x5ef48b['pixelSize'];},'lineWidth':function(){return _0x3d90cc['lineWidth'];},'particleHeight':function(){var _0x3aca8f=_0xb6f2ed;return _0x3d90cc[_0x3aca8f(0x208)];}},'vertexShaderSource':new _0x7b746c[(_0xb6f2ed(0x1ea))]({'sources':[_0x3a5fa7['a']]}),'fragmentShaderSource':new _0x7b746c[(_0xb6f2ed(0x1ea))]({'sources':[_0x58cce7['a']]}),'rawRenderState':_0x6e4699[_0xb6f2ed(0x1b1)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0xb6f2ed(0x148)],'autoClear':!0x0}),'trails':new _0x4c9166({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x6e4699[_0xb6f2ed(0x247)](),'primitiveType':_0x7b746c['PrimitiveType'][_0xb6f2ed(0x12a)],'uniformMap':{'segmentsColorTexture':function(){var _0x604a5f=_0xb6f2ed;return _0x925381[_0x604a5f(0x117)][_0x604a5f(0x200)];},'segmentsDepthTexture':function(){return _0x925381['textures']['segmentsDepth'];},'currentTrailsColor':function(){var _0x31f545=_0xb6f2ed;return _0x925381[_0x31f545(0xd3)][_0x31f545(0xd5)][_0x31f545(0xf1)](0x0);},'trailsDepthTexture':function(){var _0x19021c=_0xb6f2ed;return _0x925381['framebuffers'][_0x19021c(0xd5)]['depthTexture'];},'fadeOpacity':function(){var _0xfb4901=_0xb6f2ed;return _0x3d90cc[_0xfb4901(0x236)];}},'vertexShaderSource':new _0x7b746c[(_0xb6f2ed(0x1ea))]({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x75128['a']]}),'fragmentShaderSource':new _0x7b746c[(_0xb6f2ed(0x1ea))]({'defines':[_0xb6f2ed(0x17a)],'sources':[_0x6baf36['a']]}),'rawRenderState':_0x6e4699['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x7b746c[_0xb6f2ed(0x1e0)][_0xb6f2ed(0x1d2)]},'depthMask':!0x0}),'framebuffer':this[_0xb6f2ed(0xd3)]['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x50b20f=_0xb6f2ed,_0x4053f9;_0x4053f9=_0x925381[_0x50b20f(0xd3)]['currentTrails'],_0x925381[_0x50b20f(0xd3)][_0x50b20f(0xd5)]=_0x925381[_0x50b20f(0xd3)][_0x50b20f(0x24d)],_0x925381['framebuffers'][_0x50b20f(0x24d)]=_0x4053f9,_0x925381[_0x50b20f(0x1f9)]['trails'][_0x50b20f(0x146)][_0x50b20f(0x21a)]=_0x925381['framebuffers'][_0x50b20f(0x24d)],_0x925381['primitives'][_0x50b20f(0x240)][_0x50b20f(0x1ce)][_0x50b20f(0x21a)]=_0x925381[_0x50b20f(0xd3)][_0x50b20f(0x24d)];}}),'screen':new _0x4c9166({'commandType':_0xb6f2ed(0xdf),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x6e4699['getFullscreenQuad'](),'primitiveType':_0x7b746c['PrimitiveType'][_0xb6f2ed(0x12a)],'uniformMap':{'trailsColorTexture':function(){var _0x8bef71=_0xb6f2ed;return _0x925381[_0x8bef71(0xd3)]['nextTrails'][_0x8bef71(0xf1)](0x0);},'trailsDepthTexture':function(){var _0x3becbf=_0xb6f2ed;return _0x925381['framebuffers'][_0x3becbf(0x24d)][_0x3becbf(0x223)];}},'vertexShaderSource':new _0x7b746c['ShaderSource']({'defines':[_0xb6f2ed(0xe3)],'sources':[_0x75128['a']]}),'fragmentShaderSource':new _0x7b746c[(_0xb6f2ed(0x1ea))]({'defines':[_0xb6f2ed(0x17a)],'sources':[_0x27002d['a']]}),'rawRenderState':_0x6e4699[_0xb6f2ed(0x1b1)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x152130;}(),_0x594099=_0x2d66e1(0xc),_0x326023=_0x2d66e1['n'](_0x594099),_0x2c06c2=_0x2d66e1(0xd),_0x354f5f=_0x2d66e1['n'](_0x2c06c2),_0x26347e=_0x2d66e1(0xe),_0x26f6ac=_0x2d66e1['n'](_0x26347e),_0x400fc3=_0x2d66e1(0xf),_0x585ad6=_0x2d66e1['n'](_0x400fc3),_0x5dcbb8=_0x2d66e1(0x10),_0x1c3fe3=_0x2d66e1['n'](_0x5dcbb8),_0x40cf24=function(){var _0x52985b=_0x51f2ac;function _0x1c3065(_0x503815,_0x134375,_0x5d842f,_0x308835){var _0x54b776=a0_0xf1c2;_0x913a58()(this,_0x1c3065),this[_0x54b776(0x230)]=_0x134375,this['createWindTextures'](_0x503815,_0x134375),this['createParticlesTextures'](_0x503815,_0x5d842f,_0x308835),this[_0x54b776(0x14a)](_0x134375,_0x5d842f,_0x308835);}return _0x3224d()(_0x1c3065,[{'key':_0x52985b(0x194),'value':function(_0x1f2de7,_0x36291f){var _0x43ad53=_0x52985b,_0x22ab1e={'context':_0x1f2de7,'width':_0x36291f['dimensions'][_0x43ad53(0x215)],'height':_0x36291f['dimensions'][_0x43ad53(0x1ed)]*_0x36291f[_0x43ad53(0x132)][_0x43ad53(0x180)],'pixelFormat':_0x7b746c['PixelFormat'][_0x43ad53(0xf8)],'pixelDatatype':_0x7b746c['PixelDatatype'][_0x43ad53(0x239)],'flipY':!0x1,'sampler':new _0x7b746c[(_0x43ad53(0x1a5))]({'minificationFilter':_0x7b746c[_0x43ad53(0x21d)][_0x43ad53(0x160)],'magnificationFilter':_0x7b746c[_0x43ad53(0xfa)][_0x43ad53(0x160)]})};this[_0x43ad53(0x1df)]={'U':_0x6e4699[_0x43ad53(0x1d0)](_0x22ab1e,_0x36291f['U'][_0x43ad53(0x141)]),'V':_0x6e4699[_0x43ad53(0x1d0)](_0x22ab1e,_0x36291f['V']['array'])};}},{'key':_0x52985b(0x13c),'value':function(_0x420bef,_0x119cee,_0xf200b7){var _0x4e343f=_0x52985b,_0x26dbc4={'context':_0x420bef,'width':_0x119cee[_0x4e343f(0x1a4)],'height':_0x119cee[_0x4e343f(0x1a4)],'pixelFormat':_0x7b746c[_0x4e343f(0x1d3)][_0x4e343f(0x1bb)],'pixelDatatype':_0x7b746c[_0x4e343f(0xfb)][_0x4e343f(0x239)],'flipY':!0x1,'sampler':new _0x7b746c['Sampler']({'minificationFilter':_0x7b746c[_0x4e343f(0x21d)]['NEAREST'],'magnificationFilter':_0x7b746c[_0x4e343f(0xfa)][_0x4e343f(0x160)]})},_0x102868=this[_0x4e343f(0x201)](_0x119cee[_0x4e343f(0x1a3)],_0xf200b7),_0x5a37ba=new Float32Array(0x4*_0x119cee[_0x4e343f(0x1a3)])['fill'](0x0);this[_0x4e343f(0x1e7)]={'particlesWind':_0x6e4699[_0x4e343f(0x1d0)](_0x26dbc4),'currentParticlesPosition':_0x6e4699['createTexture'](_0x26dbc4,_0x102868),'nextParticlesPosition':_0x6e4699['createTexture'](_0x26dbc4,_0x102868),'currentParticlesSpeed':_0x6e4699['createTexture'](_0x26dbc4,_0x5a37ba),'nextParticlesSpeed':_0x6e4699[_0x4e343f(0x1d0)](_0x26dbc4,_0x5a37ba),'postProcessingPosition':_0x6e4699[_0x4e343f(0x1d0)](_0x26dbc4,_0x102868),'postProcessingSpeed':_0x6e4699['createTexture'](_0x26dbc4,_0x5a37ba)};}},{'key':_0x52985b(0x201),'value':function(_0x118542,_0x319a41){var _0x263cc7=_0x52985b;for(var _0x2b2a26=new Float32Array(0x4*_0x118542),_0x175c80=0x0;_0x175c80<_0x118542;_0x175c80++)_0x2b2a26[0x4*_0x175c80]=_0x7b746c[_0x263cc7(0x1bd)][_0x263cc7(0x243)](_0x319a41[_0x263cc7(0x1af)]['x'],_0x319a41[_0x263cc7(0x1af)]['y']),_0x2b2a26[0x4*_0x175c80+0x1]=_0x7b746c[_0x263cc7(0x1bd)][_0x263cc7(0x243)](_0x319a41[_0x263cc7(0x232)]['x'],_0x319a41[_0x263cc7(0x232)]['y']),_0x2b2a26[0x4*_0x175c80+0x2]=_0x7b746c['Math'][_0x263cc7(0x243)](this[_0x263cc7(0x230)]['lev']['min'],this['data'][_0x263cc7(0x180)][_0x263cc7(0xf3)]),_0x2b2a26[0x4*_0x175c80+0x3]=0x0;return _0x2b2a26;}},{'key':'destroyParticlesTextures','value':function(){var _0x34a64b=_0x52985b,_0xbbfae9=this;Object[_0x34a64b(0x125)](this['particlesTextures'])[_0x34a64b(0x1fc)](function(_0x56a54a){var _0x8a1f05=_0x34a64b;_0xbbfae9[_0x8a1f05(0x1e7)][_0x56a54a][_0x8a1f05(0x241)]();});}},{'key':_0x52985b(0x14a),'value':function(_0x225f3f,_0x4b6b4b,_0x577f41){var _0x328299=_0x52985b,_0x2cb438=new _0x7b746c[(_0x328299(0x196))](_0x225f3f['dimensions'][_0x328299(0x215)],_0x225f3f[_0x328299(0x132)][_0x328299(0x1ed)],_0x225f3f[_0x328299(0x132)][_0x328299(0x180)]),_0x150168=new _0x7b746c[(_0x328299(0x196))](_0x225f3f[_0x328299(0x215)]['min'],_0x225f3f[_0x328299(0x1ed)][_0x328299(0x1a1)],_0x225f3f['lev'][_0x328299(0x1a1)]),_0x4655e4=new _0x7b746c['Cartesian3'](_0x225f3f[_0x328299(0x215)][_0x328299(0xf3)],_0x225f3f['lat'][_0x328299(0xf3)],_0x225f3f['lev']['max']),_0x412239=new _0x7b746c[(_0x328299(0x196))]((_0x4655e4['x']-_0x150168['x'])/(_0x2cb438['x']-0x1),(_0x4655e4['y']-_0x150168['y'])/(_0x2cb438['y']-0x1),_0x2cb438['z']>0x1?(_0x4655e4['z']-_0x150168['z'])/(_0x2cb438['z']-0x1):0x1),_0x43fa6d=new _0x7b746c[(_0x328299(0x22b))](_0x225f3f['U']['min'],_0x225f3f['U']['max']),_0x137241=new _0x7b746c['Cartesian2'](_0x225f3f['V'][_0x328299(0x1a1)],_0x225f3f['V'][_0x328299(0xf3)]),_0xa9d1c4=this;this[_0x328299(0x1f9)]={'getWind':new _0x4c9166({'commandType':_0x328299(0x24e),'uniformMap':{'U':function(){var _0x348f15=_0x328299;return _0xa9d1c4[_0x348f15(0x1df)]['U'];},'V':function(){var _0x381f3c=_0x328299;return _0xa9d1c4[_0x381f3c(0x1df)]['V'];},'currentParticlesPosition':function(){var _0x1ea70d=_0x328299;return _0xa9d1c4[_0x1ea70d(0x1e7)]['currentParticlesPosition'];},'dimension':function(){return _0x2cb438;},'minimum':function(){return _0x150168;},'maximum':function(){return _0x4655e4;},'interval':function(){return _0x412239;}},'fragmentShaderSource':new _0x7b746c[(_0x328299(0x1ea))]({'sources':[_0x326023['a']]}),'outputTexture':this['particlesTextures'][_0x328299(0x1ff)],'preExecute':function(){var _0x4bf14a=_0x328299;_0xa9d1c4['primitives'][_0x4bf14a(0x166)][_0x4bf14a(0x146)][_0x4bf14a(0x1e6)]=_0xa9d1c4[_0x4bf14a(0x1e7)]['particlesWind'];}}),'updateSpeed':new _0x4c9166({'commandType':_0x328299(0x24e),'uniformMap':{'currentParticlesSpeed':function(){var _0x4e583a=_0x328299;return _0xa9d1c4['particlesTextures'][_0x4e583a(0x175)];},'particlesWind':function(){var _0x5b5e46=_0x328299;return _0xa9d1c4[_0x5b5e46(0x1e7)][_0x5b5e46(0x1ff)];},'uSpeedRange':function(){return _0x43fa6d;},'vSpeedRange':function(){return _0x137241;},'pixelSize':function(){var _0x43eacd=_0x328299;return _0x577f41[_0x43eacd(0x1a0)];},'speedFactor':function(){var _0x490264=_0x328299;return _0x4b6b4b[_0x490264(0x1fb)];}},'fragmentShaderSource':new _0x7b746c[(_0x328299(0x1ea))]({'sources':[_0x354f5f['a']]}),'outputTexture':this[_0x328299(0x1e7)][_0x328299(0x20c)],'preExecute':function(){var _0xb0622=_0x328299,_0x41cb00;_0x41cb00=_0xa9d1c4[_0xb0622(0x1e7)]['currentParticlesSpeed'],_0xa9d1c4[_0xb0622(0x1e7)][_0xb0622(0x175)]=_0xa9d1c4[_0xb0622(0x1e7)][_0xb0622(0x22c)],_0xa9d1c4[_0xb0622(0x1e7)]['postProcessingSpeed']=_0x41cb00,_0xa9d1c4['primitives']['updateSpeed'][_0xb0622(0x146)][_0xb0622(0x1e6)]=_0xa9d1c4[_0xb0622(0x1e7)]['nextParticlesSpeed'];}}),'updatePosition':new _0x4c9166({'commandType':_0x328299(0x24e),'uniformMap':{'currentParticlesPosition':function(){var _0x4efe91=_0x328299;return _0xa9d1c4[_0x4efe91(0x1e7)]['currentParticlesPosition'];},'currentParticlesSpeed':function(){var _0x22a7d2=_0x328299;return _0xa9d1c4[_0x22a7d2(0x1e7)][_0x22a7d2(0x175)];}},'fragmentShaderSource':new _0x7b746c[(_0x328299(0x1ea))]({'sources':[_0x26f6ac['a']]}),'outputTexture':this[_0x328299(0x1e7)][_0x328299(0xe9)],'preExecute':function(){var _0x43e2cf=_0x328299,_0x3f0155;_0x3f0155=_0xa9d1c4['particlesTextures'][_0x43e2cf(0x162)],_0xa9d1c4[_0x43e2cf(0x1e7)][_0x43e2cf(0x162)]=_0xa9d1c4[_0x43e2cf(0x1e7)]['postProcessingPosition'],_0xa9d1c4[_0x43e2cf(0x1e7)]['postProcessingPosition']=_0x3f0155,_0xa9d1c4['primitives'][_0x43e2cf(0x120)][_0x43e2cf(0x146)]['outputTexture']=_0xa9d1c4['particlesTextures'][_0x43e2cf(0xe9)];}}),'postProcessingPosition':new _0x4c9166({'commandType':_0x328299(0x24e),'uniformMap':{'nextParticlesPosition':function(){var _0x184c82=_0x328299;return _0xa9d1c4[_0x184c82(0x1e7)][_0x184c82(0xe9)];},'nextParticlesSpeed':function(){return _0xa9d1c4['particlesTextures']['nextParticlesSpeed'];},'lonRange':function(){var _0x2e852d=_0x328299;return _0x577f41[_0x2e852d(0x1af)];},'latRange':function(){return _0x577f41['latRange'];},'randomCoefficient':function(){var _0xb6ee47=Math['random']();return _0xb6ee47;},'dropRate':function(){var _0x28ab77=_0x328299;return _0x4b6b4b[_0x28ab77(0x190)];},'dropRateBump':function(){var _0x28ad25=_0x328299;return _0x4b6b4b[_0x28ad25(0x110)];}},'fragmentShaderSource':new _0x7b746c[(_0x328299(0x1ea))]({'sources':[_0x585ad6['a']]}),'outputTexture':this[_0x328299(0x1e7)][_0x328299(0x1b9)],'preExecute':function(){var _0x139b75=_0x328299;_0xa9d1c4[_0x139b75(0x1f9)][_0x139b75(0x1b9)]['commandToExecute'][_0x139b75(0x1e6)]=_0xa9d1c4['particlesTextures'][_0x139b75(0x1b9)];}}),'postProcessingSpeed':new _0x4c9166({'commandType':_0x328299(0x24e),'uniformMap':{'postProcessingPosition':function(){var _0x19feb1=_0x328299;return _0xa9d1c4[_0x19feb1(0x1e7)][_0x19feb1(0x1b9)];},'nextParticlesSpeed':function(){var _0x2fc51d=_0x328299;return _0xa9d1c4[_0x2fc51d(0x1e7)][_0x2fc51d(0x20c)];}},'fragmentShaderSource':new _0x7b746c[(_0x328299(0x1ea))]({'sources':[_0x1c3fe3['a']]}),'outputTexture':this['particlesTextures'][_0x328299(0x22c)],'preExecute':function(){var _0xf6b622=_0x328299;_0xa9d1c4[_0xf6b622(0x1f9)][_0xf6b622(0x22c)][_0xf6b622(0x146)][_0xf6b622(0x1e6)]=_0xa9d1c4[_0xf6b622(0x1e7)][_0xf6b622(0x22c)];}})};}}]),_0x1c3065;}(),_0xe3104b=function(){var _0x593ec6=_0x51f2ac;function _0x2b3bdc(_0x543845,_0xe21c52,_0x390691,_0x1a6342){var _0x34e143=a0_0xf1c2;_0x913a58()(this,_0x2b3bdc),this['context']=_0x543845,this[_0x34e143(0x230)]=_0xe21c52,this[_0x34e143(0x1a8)]=_0x390691,this[_0x34e143(0x10a)]=_0x1a6342,this[_0x34e143(0x23b)]=new _0x40cf24(this['context'],this['data'],this[_0x34e143(0x1a8)],this[_0x34e143(0x10a)]),this[_0x34e143(0xde)]=new _0x3f9ce2(this[_0x34e143(0x211)],this['data'],this['userInput'],this[_0x34e143(0x10a)],this[_0x34e143(0x23b)]);}return _0x3224d()(_0x2b3bdc,[{'key':_0x593ec6(0x11c),'value':function(_0x112b2d){var _0x87af28=_0x593ec6,_0x20670a=this;this[_0x87af28(0x23b)][_0x87af28(0x16e)](),Object['keys'](this['particlesComputing'][_0x87af28(0x1df)])[_0x87af28(0x1fc)](function(_0x2d569c){var _0x431dda=_0x87af28;_0x20670a[_0x431dda(0x23b)][_0x431dda(0x1df)][_0x2d569c][_0x431dda(0x241)]();}),this[_0x87af28(0xde)][_0x87af28(0x117)][_0x87af28(0x115)][_0x87af28(0x241)](),Object[_0x87af28(0x125)](this['particlesRendering'][_0x87af28(0xd3)])[_0x87af28(0x1fc)](function(_0x27c96f){var _0x3fb4e0=_0x87af28;_0x20670a['particlesRendering'][_0x3fb4e0(0xd3)][_0x27c96f][_0x3fb4e0(0x241)]();}),this[_0x87af28(0x211)]=_0x112b2d,this[_0x87af28(0x23b)]=new _0x40cf24(this['context'],this[_0x87af28(0x230)],this['userInput'],this['viewerParameters']),this[_0x87af28(0xde)]=new _0x3f9ce2(this[_0x87af28(0x211)],this[_0x87af28(0x230)],this['userInput'],this[_0x87af28(0x10a)],this['particlesComputing']);}},{'key':_0x593ec6(0xe2),'value':function(){var _0x223369=_0x593ec6,_0x4e12ca=this,_0x2f3987=new _0x7b746c[(_0x223369(0x1dc))]({'color':new _0x7b746c[(_0x223369(0x118))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x7b746c[_0x223369(0x1d8)][_0x223369(0x13e)]});Object['keys'](this[_0x223369(0xde)]['framebuffers'])[_0x223369(0x1fc)](function(_0x178fb4){var _0x1c4d00=_0x223369;_0x2f3987['framebuffer']=_0x4e12ca[_0x1c4d00(0xde)]['framebuffers'][_0x178fb4],_0x2f3987[_0x1c4d00(0x1c1)](_0x4e12ca['context']);});}},{'key':_0x593ec6(0x10c),'value':function(_0x2e6bd2){var _0x59307a=_0x593ec6;if(this[_0x59307a(0xe2)](),this[_0x59307a(0x23b)][_0x59307a(0x16e)](),this['particlesComputing'][_0x59307a(0x13c)](this[_0x59307a(0x211)],this[_0x59307a(0x1a8)],this[_0x59307a(0x10a)]),_0x2e6bd2){var _0x2d87dc=this['particlesRendering'][_0x59307a(0x245)](this[_0x59307a(0x1a8)]);this[_0x59307a(0xde)][_0x59307a(0x1f9)][_0x59307a(0x148)]['geometry']=_0x2d87dc;var _0x1fc914=_0x7b746c[_0x59307a(0x159)]['fromGeometry']({'context':this[_0x59307a(0x211)],'geometry':_0x2d87dc,'attributeLocations':this[_0x59307a(0xde)][_0x59307a(0x1f9)][_0x59307a(0x148)][_0x59307a(0x1b2)],'bufferUsage':_0x7b746c[_0x59307a(0x209)][_0x59307a(0x214)]});this[_0x59307a(0xde)][_0x59307a(0x1f9)][_0x59307a(0x148)][_0x59307a(0x146)][_0x59307a(0x24a)]=_0x1fc914;}}},{'key':_0x593ec6(0x1e8),'value':function(_0x2afa92){var _0x3e0f1c=_0x593ec6,_0x4486d8=this,_0x115674=!0x1;this[_0x3e0f1c(0x1a8)][_0x3e0f1c(0x1a3)]!=_0x2afa92[_0x3e0f1c(0x1a3)]&&(_0x115674=!0x0),Object['keys'](_0x2afa92)['forEach'](function(_0xb7d8b2){var _0x4ce9e1=_0x3e0f1c;_0x4486d8[_0x4ce9e1(0x1a8)][_0xb7d8b2]=_0x2afa92[_0xb7d8b2];}),this[_0x3e0f1c(0x10c)](_0x115674);}},{'key':'applyViewerParameters','value':function(_0x21b2c0){var _0x500b65=_0x593ec6,_0x206b70=this;Object[_0x500b65(0x125)](_0x21b2c0)[_0x500b65(0x1fc)](function(_0x9cb47a){_0x206b70['viewerParameters'][_0x9cb47a]=_0x21b2c0[_0x9cb47a];}),this[_0x500b65(0x10c)](!0x1);}}]),_0x2b3bdc;}();function _0x52565d(_0x4f8ad7){var _0x4260d5=function(){var _0x807295=a0_0xf1c2;if(_0x807295(0x11b)==typeof Reflect||!Reflect[_0x807295(0x206)])return!0x1;if(Reflect[_0x807295(0x206)][_0x807295(0x220)])return!0x1;if(_0x807295(0x163)==typeof Proxy)return!0x0;try{return Boolean[_0x807295(0x197)][_0x807295(0x22f)][_0x807295(0x235)](Reflect[_0x807295(0x206)](Boolean,[],function(){})),!0x0;}catch(_0x14f8df){return!0x1;}}();return function(){var _0xc9c99=a0_0xf1c2,_0x19e614,_0x29bf9b=_0x3c4d78()(_0x4f8ad7);if(_0x4260d5){var _0x1e15b1=_0x3c4d78()(this)['constructor'];_0x19e614=Reflect[_0xc9c99(0x206)](_0x29bf9b,arguments,_0x1e15b1);}else _0x19e614=_0x29bf9b[_0xc9c99(0x233)](this,arguments);return _0x1aaa56()(this,_0x19e614);};}var _0x50fabc=_0x4e3db0['layer']['BaseLayer'],_0x410f94=0x1000,_0x3de791=0x64,_0x3f1ffd=0.996,_0x25a941=0.003,_0x2aef9b=0.01,_0x18daa9=0.5,_0x58c2fc=0x2,_0xbb87b7=function(_0x474c5f){var _0x1e1f41=_0x51f2ac;_0x29dba8()(_0x1414da,_0x474c5f);var _0x53c02e=_0x52565d(_0x1414da);function _0x1414da(){var _0x41f2c5=a0_0xf1c2,_0x16c8b1,_0x31d98c=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x913a58()(this,_0x1414da),(_0x16c8b1=_0x53c02e[_0x41f2c5(0x235)](this,_0x31d98c))[_0x41f2c5(0x1a3)]=_0x410f94,_0x16c8b1[_0x41f2c5(0x208)]=_0x3de791,_0x16c8b1[_0x41f2c5(0x236)]=_0x3f1ffd,_0x16c8b1['dropRate']=_0x25a941,_0x16c8b1[_0x41f2c5(0x110)]=_0x2aef9b,_0x16c8b1['speedFactor']=_0x18daa9,_0x16c8b1[_0x41f2c5(0x16f)]=_0x58c2fc,_0x31d98c){for(var _0x2e7443 in _0x31d98c)_0x16c8b1[_0x2e7443]=_0x31d98c[_0x2e7443];}return _0x16c8b1;}return _0x3224d()(_0x1414da,[{'key':'layer','get':function(){return this['primitives'];}},{'key':_0x1e1f41(0x1a9),'value':function(){}},{'key':'_addedHook','value':function(){var _0x121172=_0x1e1f41;this[_0x121172(0x14d)]=this[_0x121172(0x189)][_0x121172(0x14d)],this[_0x121172(0x109)]=this[_0x121172(0x189)][_0x121172(0x109)],this['primitives']=new _0x7b746c[(_0x121172(0x15c))](),this['_map'][_0x121172(0x14d)]['primitives'][_0x121172(0x1e5)](this[_0x121172(0x1f9)]),this['viewerParameters']={'lonRange':new _0x7b746c[(_0x121172(0x22b))](),'latRange':new _0x7b746c[(_0x121172(0x22b))](),'pixelSize':0x0},this[_0x121172(0xec)]=new _0x7b746c[(_0x121172(0x112))](_0x7b746c[_0x121172(0x196)][_0x121172(0x23d)],6314355.63),this[_0x121172(0x226)]();}},{'key':_0x1e1f41(0x1ca),'value':function(){var _0x50b9d3=_0x1e1f41;this['primitives'][_0x50b9d3(0xe5)](),this[_0x50b9d3(0x189)][_0x50b9d3(0x14d)][_0x50b9d3(0x1f9)]['remove'](this['primitives']);}},{'key':_0x1e1f41(0x1c4),'value':function(_0x2f7e44){var _0x4496fe=_0x1e1f41;this[_0x4496fe(0x227)]=new _0xe3104b(this[_0x4496fe(0x14d)][_0x4496fe(0x211)],_0x2f7e44,this[_0x4496fe(0x238)](),this['viewerParameters']),this[_0x4496fe(0x15d)](),this[_0x4496fe(0xff)]();}},{'key':_0x1e1f41(0x15b),'value':function(_0xb49271){var _0x4d8d07=_0x1e1f41;if(_0xb49271){for(var _0x4c6f3b in _0xb49271)this[_0x4c6f3b]=_0xb49271[_0x4c6f3b];}return this[_0x4d8d07(0x227)]['applyUserInput'](this['getUserInput']()),this;}},{'key':'getUserInput','value':function(){var _0x2107d4=_0x1e1f41,_0x1a168f=Math['ceil'](Math[_0x2107d4(0x1e1)](this[_0x2107d4(0x1a3)]));return this[_0x2107d4(0x1a3)]=_0x1a168f*_0x1a168f,{'particlesTextureSize':_0x1a168f,'maxParticles':this[_0x2107d4(0x1a3)],'particleHeight':this[_0x2107d4(0x208)],'fadeOpacity':this[_0x2107d4(0x236)],'dropRate':this['dropRate'],'dropRateBump':this[_0x2107d4(0x110)],'speedFactor':this[_0x2107d4(0x1fb)],'lineWidth':this['lineWidth'],'globeLayer':this[_0x2107d4(0x116)],'WMS_URL':this[_0x2107d4(0x1ec)]};}},{'key':'addPrimitives','value':function(){var _0x2863c4=_0x1e1f41;this['primitives'][_0x2863c4(0x1e5)](this['particleSystem']['particlesComputing']['primitives']['getWind']),this[_0x2863c4(0x1f9)][_0x2863c4(0x1e5)](this[_0x2863c4(0x227)]['particlesComputing'][_0x2863c4(0x1f9)][_0x2863c4(0x172)]),this[_0x2863c4(0x1f9)]['add'](this[_0x2863c4(0x227)]['particlesComputing']['primitives'][_0x2863c4(0x120)]),this['primitives']['add'](this[_0x2863c4(0x227)][_0x2863c4(0x23b)][_0x2863c4(0x1f9)]['postProcessingPosition']),this[_0x2863c4(0x1f9)][_0x2863c4(0x1e5)](this[_0x2863c4(0x227)][_0x2863c4(0x23b)][_0x2863c4(0x1f9)][_0x2863c4(0x22c)]),this[_0x2863c4(0x1f9)]['add'](this[_0x2863c4(0x227)][_0x2863c4(0xde)][_0x2863c4(0x1f9)][_0x2863c4(0x148)]),this[_0x2863c4(0x1f9)][_0x2863c4(0x1e5)](this[_0x2863c4(0x227)][_0x2863c4(0xde)][_0x2863c4(0x1f9)][_0x2863c4(0x240)]),this[_0x2863c4(0x1f9)][_0x2863c4(0x1e5)](this[_0x2863c4(0x227)][_0x2863c4(0xde)][_0x2863c4(0x1f9)][_0x2863c4(0x1ee)]);}},{'key':_0x1e1f41(0x226),'value':function(){var _0xd8022f=_0x1e1f41,_0x5eaae5=this[_0xd8022f(0x109)][_0xd8022f(0x22e)](this[_0xd8022f(0x14d)][_0xd8022f(0x13d)][_0xd8022f(0x153)]);if(!_0x5eaae5){var _0x36b0e8=this['_map'][_0xd8022f(0x10d)]();_0x5eaae5=_0x7b746c[_0xd8022f(0x17c)]['fromDegrees'](_0x36b0e8['xmin'],_0x36b0e8['ymin'],_0x36b0e8[_0xd8022f(0x1d5)],_0x36b0e8['ymax']);}var _0x4e5238=_0x6e4699['viewRectangleToLonLatRange'](_0x5eaae5);this[_0xd8022f(0x10a)]['lonRange']['x']=_0x4e5238[_0xd8022f(0x215)]['min'],this[_0xd8022f(0x10a)][_0xd8022f(0x1af)]['y']=_0x4e5238[_0xd8022f(0x215)][_0xd8022f(0xf3)],this[_0xd8022f(0x10a)][_0xd8022f(0x232)]['x']=_0x4e5238['lat'][_0xd8022f(0x1a1)],this[_0xd8022f(0x10a)]['latRange']['y']=_0x4e5238['lat'][_0xd8022f(0xf3)];var _0x2275db=this[_0xd8022f(0x109)][_0xd8022f(0x23a)](this[_0xd8022f(0xec)],this[_0xd8022f(0x14d)][_0xd8022f(0x18a)],this[_0xd8022f(0x14d)][_0xd8022f(0x11a)]);_0x2275db>0x0&&(this[_0xd8022f(0x10a)]['pixelSize']=_0x2275db);}},{'key':_0x1e1f41(0xff),'value':function(){var _0x174b9b=_0x1e1f41,_0x2e6d08=this;this['camera'][_0x174b9b(0x246)][_0x174b9b(0x19b)](function(){var _0x4ef60b=_0x174b9b;_0x2e6d08[_0x4ef60b(0x189)]&&_0x2e6d08[_0x4ef60b(0x155)]&&(_0x2e6d08[_0x4ef60b(0x1f9)][_0x4ef60b(0x155)]=!0x1);}),this['camera'][_0x174b9b(0x19e)][_0x174b9b(0x19b)](function(){var _0x1eea87=_0x174b9b;_0x2e6d08[_0x1eea87(0x189)]&&_0x2e6d08['show']&&(_0x2e6d08[_0x1eea87(0x226)](),_0x2e6d08['particleSystem'][_0x1eea87(0x152)](_0x2e6d08['viewerParameters']),_0x2e6d08[_0x1eea87(0x1f9)][_0x1eea87(0x155)]=!0x0);});var _0x3d19bc=!0x1;window[_0x174b9b(0x19b)](_0x174b9b(0x20e),function(){var _0x491ca0=_0x174b9b;_0x2e6d08['_map']&&_0x2e6d08['show']&&(_0x3d19bc=!0x0,_0x2e6d08[_0x491ca0(0x1f9)][_0x491ca0(0x155)]=!0x1,_0x2e6d08['primitives'][_0x491ca0(0xe5)]());}),this[_0x174b9b(0x14d)][_0x174b9b(0xed)][_0x174b9b(0x19b)](function(){var _0x11f3aa=_0x174b9b;_0x2e6d08['_map']&&_0x3d19bc&&(_0x2e6d08[_0x11f3aa(0x227)][_0x11f3aa(0x11c)](_0x2e6d08[_0x11f3aa(0x14d)][_0x11f3aa(0x211)]),_0x3d19bc=!0x1,_0x2e6d08[_0x11f3aa(0x15d)](),_0x2e6d08[_0x11f3aa(0x1f9)]['show']=!0x0);});}}]),_0x1414da;}(_0x50fabc);_0x4e3db0['LayerUtil'][_0x51f2ac(0x102)]('wind',_0xbb87b7),_0x4e3db0[_0x51f2ac(0x145)][_0x51f2ac(0x16d)]=_0xbb87b7;var _0x3099b1=function _0x105664(){var _0x4029e2=_0x51f2ac;_0x913a58()(this,_0x105664),this[_0x4029e2(0x1ae)]=null,this[_0x4029e2(0x1ed)]=null,this[_0x4029e2(0x1b5)]=null,this['tlat']=null,this['age']=null;},_0x1f1147=function(){var _0x17f235=_0x51f2ac;function _0x13e2f1(_0x35ade2,_0x5e09d2){var _0x4d903c=a0_0xf1c2;_0x913a58()(this,_0x13e2f1),this[_0x4d903c(0x21c)]=_0x35ade2['rows'],this[_0x4d903c(0x137)]=_0x35ade2[_0x4d903c(0x137)],this[_0x4d903c(0x1f3)]=_0x35ade2[_0x4d903c(0x1f3)],this[_0x4d903c(0x1d5)]=_0x35ade2[_0x4d903c(0x1d5)],this[_0x4d903c(0x221)]=_0x35ade2[_0x4d903c(0x221)],this['ymax']=_0x35ade2[_0x4d903c(0x21f)],this[_0x4d903c(0x1f5)]=[];var _0x57f7b8=_0x35ade2['udata'],_0x26910e=_0x35ade2[_0x4d903c(0x121)],_0x2e9889=!0x1;_0x57f7b8[_0x4d903c(0xea)]===this[_0x4d903c(0x21c)]&&_0x57f7b8[0x0][_0x4d903c(0xea)]===this[_0x4d903c(0x137)]&&(_0x2e9889=!0x0);for(var _0x53e925=0x0,_0x21ba4e=null,_0x18e3e3=null,_0x6406bb=0x0;_0x6406bb<this['rows'];_0x6406bb++){_0x21ba4e=[];for(var _0x30a670=0x0;_0x30a670<this['cols'];_0x30a670++,_0x53e925++)_0x18e3e3=_0x2e9889?this[_0x4d903c(0x1b4)](_0x57f7b8[_0x6406bb][_0x30a670],_0x26910e[_0x6406bb][_0x30a670]):this[_0x4d903c(0x1b4)](_0x57f7b8[_0x53e925],_0x26910e[_0x53e925]),_0x21ba4e[_0x4d903c(0x1f7)](_0x18e3e3);this[_0x4d903c(0x1f5)]['push'](_0x21ba4e);}_0x5e09d2&&this['grid'][_0x4d903c(0x1f0)]();}return _0x3224d()(_0x13e2f1,[{'key':_0x17f235(0xfc),'value':function(_0x7e2d55,_0x1dd44d){var _0x54047d=_0x17f235;return{'x':(_0x7e2d55-this['xmin'])/(this['xmax']-this[_0x54047d(0x1f3)])*(this[_0x54047d(0x137)]-0x1),'y':(this['ymax']-_0x1dd44d)/(this[_0x54047d(0x21f)]-this[_0x54047d(0x221)])*(this['rows']-0x1)};}},{'key':_0x17f235(0xf0),'value':function(_0x2fb3a1,_0x3e8443){var _0x4c8d16=_0x17f235;if(_0x2fb3a1<0x0||_0x2fb3a1>=this[_0x4c8d16(0x137)]||_0x3e8443>=this['rows'])return[0x0,0x0,0x0];var _0x3a310f,_0x29ccf3,_0x3480cd=Math[_0x4c8d16(0x1e3)](_0x2fb3a1),_0x36ee18=Math[_0x4c8d16(0x1e3)](_0x3e8443);if(_0x3480cd===_0x2fb3a1&&_0x36ee18===_0x3e8443)return this['grid'][_0x3e8443][_0x2fb3a1];_0x3a310f=_0x3480cd+0x1,_0x29ccf3=_0x36ee18+0x1;var _0x5868f7=this['getUVByXY'](_0x3480cd,_0x36ee18),_0x5036f0=this[_0x4c8d16(0xf0)](_0x3a310f,_0x36ee18),_0x579ab2=this[_0x4c8d16(0xf0)](_0x3480cd,_0x29ccf3),_0x1f1b34=this[_0x4c8d16(0xf0)](_0x3a310f,_0x29ccf3),_0x313ddd=null;try{_0x313ddd=this[_0x4c8d16(0x103)](_0x2fb3a1-_0x3480cd,_0x3e8443-_0x36ee18,_0x5868f7,_0x5036f0,_0x579ab2,_0x1f1b34);}catch(_0x469a4){console['log'](_0x2fb3a1,_0x3e8443);}return _0x313ddd;}},{'key':_0x17f235(0x103),'value':function(_0x54e72a,_0x33517a,_0xedb47,_0x6e880a,_0x296fe0,_0x5ec3ab){var _0x5755de=_0x17f235,_0xb28298=0x1-_0x54e72a,_0x4542ae=0x1-_0x33517a,_0x5cd527=_0xb28298*_0x4542ae,_0x5b28d5=_0x54e72a*_0x4542ae,_0x270b0d=_0xb28298*_0x33517a,_0x4ac6fd=_0x54e72a*_0x33517a,_0x357a0b=_0xedb47[0x0]*_0x5cd527+_0x6e880a[0x0]*_0x5b28d5+_0x296fe0[0x0]*_0x270b0d+_0x5ec3ab[0x0]*_0x4ac6fd,_0x2c813f=_0xedb47[0x1]*_0x5cd527+_0x6e880a[0x1]*_0x5b28d5+_0x296fe0[0x1]*_0x270b0d+_0x5ec3ab[0x1]*_0x4ac6fd;return this[_0x5755de(0x1b4)](_0x357a0b,_0x2c813f);}},{'key':_0x17f235(0x1b4),'value':function(_0x497d1d,_0x5cf171){var _0x110602=_0x17f235;return[+_0x497d1d,+_0x5cf171,Math[_0x110602(0x1e1)](_0x497d1d*_0x497d1d+_0x5cf171*_0x5cf171)];}},{'key':_0x17f235(0x101),'value':function(_0x5da5b2,_0x3e3183){var _0x2ea9dd=_0x17f235;if(!this[_0x2ea9dd(0x1c3)](_0x5da5b2,_0x3e3183))return null;var _0x3497f3=this[_0x2ea9dd(0xfc)](_0x5da5b2,_0x3e3183);return this[_0x2ea9dd(0xf0)](_0x3497f3['x'],_0x3497f3['y']);}},{'key':_0x17f235(0x1c3),'value':function(_0xf6727e,_0x2858c1){var _0x497529=_0x17f235;return _0xf6727e>=this[_0x497529(0x1f3)]&&_0xf6727e<=this[_0x497529(0x1d5)]&&_0x2858c1>=this[_0x497529(0x221)]&&_0x2858c1<=this[_0x497529(0x21f)];}},{'key':_0x17f235(0x1eb),'value':function(){var _0x46b995=_0x17f235,_0x2b2f73=_0x587dc1(this[_0x46b995(0x1f3)],this[_0x46b995(0x1d5)]);return{'lat':_0x587dc1(this[_0x46b995(0x221)],this['ymax']),'lng':_0x2b2f73};}}]),_0x13e2f1;}();function _0x587dc1(_0x42cac0,_0x4ced69){var _0x34ff57=_0x51f2ac;return _0x42cac0+Math[_0x34ff57(0x14b)]()*(_0x4ced69-_0x42cac0);}function _0x5bdeba(_0x5afbe4){var _0x102deb=function(){var _0x23c1f5=a0_0xf1c2;if(_0x23c1f5(0x11b)==typeof Reflect||!Reflect[_0x23c1f5(0x206)])return!0x1;if(Reflect[_0x23c1f5(0x206)][_0x23c1f5(0x220)])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x23c1f5(0x197)][_0x23c1f5(0x22f)][_0x23c1f5(0x235)](Reflect[_0x23c1f5(0x206)](Boolean,[],function(){})),!0x0;}catch(_0x342c55){return!0x1;}}();return function(){var _0x226ce3=a0_0xf1c2,_0x57b11b,_0x117ab3=_0x3c4d78()(_0x5afbe4);if(_0x102deb){var _0xc020c9=_0x3c4d78()(this)[_0x226ce3(0x15a)];_0x57b11b=Reflect[_0x226ce3(0x206)](_0x117ab3,arguments,_0xc020c9);}else _0x57b11b=_0x117ab3[_0x226ce3(0x233)](this,arguments);return _0x1aaa56()(this,_0x57b11b);};}var _0x59ff50=function(_0x25e0c0){var _0xc7144a=_0x51f2ac;_0x29dba8()(_0x3cfe2d,_0x25e0c0);var _0x125d0b=_0x5bdeba(_0x3cfe2d);function _0x3cfe2d(){var _0x19bccf=a0_0xf1c2,_0x15271a,_0xf7d4ca=arguments[_0x19bccf(0xea)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x913a58()(this,_0x3cfe2d),(_0x15271a=_0x125d0b[_0x19bccf(0x235)](this,_0xf7d4ca))[_0x19bccf(0x1cc)]=[0x0,0x0],_0x15271a[_0x19bccf(0x1f1)]=[],_0x15271a[_0x19bccf(0x24b)]=_0xf7d4ca[_0x19bccf(0x24b)]||0x32,_0x15271a[_0x19bccf(0x144)]=_0xf7d4ca[_0x19bccf(0x248)]||0x4e20,_0x15271a['_maxAge']=_0xf7d4ca[_0x19bccf(0xe8)]||0x78,_0x15271a[_0x19bccf(0x1d4)]=0x3e8/(_0xf7d4ca[_0x19bccf(0x19c)]||0xa),_0x15271a[_0x19bccf(0x1b6)]=_0x7b746c[_0x19bccf(0x114)](_0x15271a[_0x19bccf(0x191)][_0x19bccf(0x1d6)],!0x1),_0x15271a[_0x19bccf(0x122)]=_0xf7d4ca[_0x19bccf(0x122)]||_0x19bccf(0xd8),_0x15271a[_0x19bccf(0x16f)]=_0xf7d4ca[_0x19bccf(0x16f)]||0x1,_0x15271a['fixedHeight']=_0x7b746c['defaultValue'](_0xf7d4ca[_0x19bccf(0x1da)],0x0),_0x15271a[_0x19bccf(0x1c8)]=_0x7b746c[_0x19bccf(0x114)](_0xf7d4ca[_0x19bccf(0x1c8)],!0x1),_0x15271a[_0x19bccf(0x186)]=null,_0x15271a;}return _0x3224d()(_0x3cfe2d,[{'key':'layer','get':function(){var _0x5a4176=a0_0xf1c2;return this[_0x5a4176(0x186)];}},{'key':_0xc7144a(0x173),'get':function(){var _0x5c0661=_0xc7144a;return this[_0x5c0661(0x189)][_0x5c0661(0x14d)][_0x5c0661(0x186)][_0x5c0661(0xe0)];}},{'key':_0xc7144a(0x20f),'get':function(){var _0x58209c=_0xc7144a;return this[_0x58209c(0x189)]['scene'][_0x58209c(0x186)][_0x58209c(0x188)];}},{'key':'pointerEvents','get':function(){var _0xa7a33b=_0xc7144a;return this[_0xa7a33b(0x1b6)];},'set':function(_0x3e4ff9){var _0x3b6c00=_0xc7144a;this[_0x3b6c00(0x1b6)]=_0x3e4ff9,this[_0x3b6c00(0x186)]&&(this['canvas'][_0x3b6c00(0x1a2)][_0x3b6c00(0x106)]=_0x3e4ff9?_0x3b6c00(0xf4):_0x3b6c00(0x19f));}},{'key':_0xc7144a(0x24b),'get':function(){return this['_speedRate'];},'set':function(_0xe8aab4){var _0x35b3c4=_0xc7144a;this['_speedRate']=0x64*(0x64-(_0xe8aab4>0x63?0x63:_0xe8aab4)),this[_0x35b3c4(0x165)]();}},{'key':'particlesNumber','get':function(){var _0x4fbdda=_0xc7144a;return this[_0x4fbdda(0x144)];},'set':function(_0x1c1854){var _0x26aae9=_0xc7144a,_0x2c224c=this;this[_0x26aae9(0x144)]=_0x1c1854,clearTimeout(this[_0x26aae9(0x204)]),this[_0x26aae9(0x204)]=setTimeout(function(){var _0x5f5ad0=_0x26aae9;_0x2c224c[_0x5f5ad0(0x218)]();},0x1f4);}},{'key':_0xc7144a(0xe8),'get':function(){var _0x4b2910=_0xc7144a;return this[_0x4b2910(0x23c)];},'set':function(_0x1a9d01){var _0x1e2d56=_0xc7144a,_0xc18fe3=this;this[_0x1e2d56(0x23c)]=_0x1a9d01,clearTimeout(this['canrefresh']),this['canrefresh']=setTimeout(function(){var _0x4f842c=_0x1e2d56;_0xc18fe3[_0x4f842c(0x218)]();},0x1f4);}},{'key':_0xc7144a(0x230),'get':function(){var _0x19c251=_0xc7144a;return this[_0x19c251(0x1e9)];},'set':function(_0x45b0a5){this['updateDate'](_0x45b0a5);}},{'key':_0xc7144a(0x12e),'value':function(_0x2657db){var _0x7ff609=_0xc7144a;_0x2657db?this['_addedHook']():(this[_0x7ff609(0x1e9)]&&(this[_0x7ff609(0x191)][_0x7ff609(0x230)]=this[_0x7ff609(0x1e9)]),this['_removedHook']());}},{'key':_0xc7144a(0x1a9),'value':function(){}},{'key':'_addedHook','value':function(){var _0x45ca16=_0xc7144a;this[_0x45ca16(0x186)]=this[_0x45ca16(0x140)](),this[_0x45ca16(0x111)]=this[_0x45ca16(0x186)][_0x45ca16(0x14c)]('2d'),this['bindEvent'](),this[_0x45ca16(0x191)]['data']&&this[_0x45ca16(0x1fd)](this[_0x45ca16(0x191)][_0x45ca16(0x230)]);}},{'key':_0xc7144a(0x1ca),'value':function(){var _0xffe53b=_0xc7144a;this[_0xffe53b(0x18c)](),this['unbindEvent'](),this[_0xffe53b(0x186)]&&(this[_0xffe53b(0x189)]['container'][_0xffe53b(0x1bc)](this['canvas']),delete this[_0xffe53b(0x186)]);}},{'key':_0xc7144a(0x140),'value':function(){var _0x42717f=_0xc7144a,_0x431f3a=document[_0x42717f(0x1ab)](_0x42717f(0x186));_0x431f3a[_0x42717f(0x1a2)][_0x42717f(0x1f8)]=_0x42717f(0x19d),_0x431f3a['style'][_0x42717f(0x12b)]='0px',_0x431f3a['style'][_0x42717f(0x17e)]=_0x42717f(0x1bf),_0x431f3a['style'][_0x42717f(0x1dd)]=_0x42717f(0x1ac),_0x431f3a[_0x42717f(0x1a2)]['height']=_0x42717f(0x1ac),_0x431f3a[_0x42717f(0x1a2)][_0x42717f(0x1d6)]=this[_0x42717f(0x1b6)]?_0x42717f(0x1ba):_0x42717f(0x19f),_0x431f3a[_0x42717f(0x1a2)][_0x42717f(0x1f4)]=0xa,_0x431f3a['setAttribute']('id',_0x42717f(0x15f)),_0x431f3a[_0x42717f(0x198)](_0x42717f(0x1d7),'canvasWindy'),this['_map'][_0x42717f(0x184)][_0x42717f(0x1ad)](_0x431f3a);var _0x16af27=this[_0x42717f(0x189)]['scene'];return _0x431f3a[_0x42717f(0x1dd)]=_0x16af27[_0x42717f(0x186)][_0x42717f(0xe0)],_0x431f3a[_0x42717f(0x23e)]=_0x16af27[_0x42717f(0x186)]['clientHeight'],_0x431f3a;}},{'key':_0xc7144a(0x20e),'value':function(){var _0x202f65=_0xc7144a;this[_0x202f65(0x186)]&&(this[_0x202f65(0x186)][_0x202f65(0x1dd)]=this[_0x202f65(0x173)],this[_0x202f65(0x186)][_0x202f65(0x23e)]=this[_0x202f65(0x20f)]);}},{'key':_0xc7144a(0x127),'value':function(){var _0x523944=_0xc7144a,_0x41df41=this,_0xa4e1a1=Date[_0x523944(0x192)]();!function _0x2556ff(){var _0x267073=_0x523944;_0x41df41[_0x267073(0xfe)]=window['requestAnimationFrame'](_0x2556ff);var _0x1b4c7e=Date[_0x267073(0x192)](),_0x225a1e=_0x1b4c7e-_0xa4e1a1;_0x225a1e>_0x41df41['frameTime']&&(_0xa4e1a1=_0x1b4c7e-_0x225a1e%_0x41df41[_0x267073(0x1d4)],_0x41df41[_0x267073(0x1d9)]());}(),window[_0x523944(0x19b)](_0x523944(0x20e),this[_0x523944(0x20e)]['bind'](this),!0x1),this['mouse_down']=!0x1,this[_0x523944(0x18f)]=!0x1,this[_0x523944(0x189)]['on'](_0x4e3db0[_0x523944(0x17f)][_0x523944(0x1c9)],this['_onMapWhellEvent'],this),this[_0x523944(0x189)]['on'](_0x4e3db0[_0x523944(0x17f)][_0x523944(0x176)],this[_0x523944(0x1cb)],this),this[_0x523944(0x189)]['on'](_0x4e3db0['EventType'][_0x523944(0x142)],this[_0x523944(0x168)],this),this['_map']['on'](_0x4e3db0[_0x523944(0x17f)][_0x523944(0x224)],this[_0x523944(0xfd)],this);}},{'key':_0xc7144a(0x1c0),'value':function(){var _0x5ac887=_0xc7144a;window[_0x5ac887(0xf6)](this[_0x5ac887(0xfe)]),delete this[_0x5ac887(0xfe)],window[_0x5ac887(0x183)](_0x5ac887(0x20e),this['resize']),this[_0x5ac887(0x189)][_0x5ac887(0x1c6)](_0x4e3db0[_0x5ac887(0x17f)]['wheel'],this[_0x5ac887(0x149)],this),this[_0x5ac887(0x189)][_0x5ac887(0x1c6)](_0x4e3db0['EventType']['mouseDown'],this[_0x5ac887(0x1cb)],this),this[_0x5ac887(0x189)][_0x5ac887(0x1c6)](_0x4e3db0[_0x5ac887(0x17f)][_0x5ac887(0x142)],this['_onMouseUpEvent'],this),this[_0x5ac887(0x189)][_0x5ac887(0x1c6)](_0x4e3db0[_0x5ac887(0x17f)][_0x5ac887(0x224)],this['_onMouseMoveEvent'],this);}},{'key':_0xc7144a(0x149),'value':function(_0x3212a4){var _0x17de91=_0xc7144a,_0xca7bd=this;clearTimeout(this['refreshTimer']),this[_0x17de91(0x155)]&&this[_0x17de91(0x186)]&&(this[_0x17de91(0x186)][_0x17de91(0x1a2)][_0x17de91(0x244)]=_0x17de91(0x130),this['refreshTimer']=setTimeout(function(){var _0x143229=_0x17de91;_0xca7bd['show']&&(_0xca7bd['redraw'](),_0xca7bd[_0x143229(0x186)][_0x143229(0x1a2)][_0x143229(0x244)]=_0x143229(0x237));},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x17fd1d){var _0x1a0ea9=_0xc7144a;this[_0x1a0ea9(0xf9)]=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x580282){var _0x4574f0=_0xc7144a;this['show']&&this[_0x4574f0(0x186)]&&this[_0x4574f0(0xf9)]&&(this[_0x4574f0(0x186)][_0x4574f0(0x1a2)][_0x4574f0(0x244)]='hidden',this['mouse_move']=!0x0);}},{'key':_0xc7144a(0x168),'value':function(_0x78fd73){var _0x45cfa3=_0xc7144a;this['show']&&this[_0x45cfa3(0x186)]&&(this[_0x45cfa3(0xf9)]&&this[_0x45cfa3(0x18f)]&&this[_0x45cfa3(0x218)](),this[_0x45cfa3(0x186)][_0x45cfa3(0x1a2)]['visibility']=_0x45cfa3(0x237),this[_0x45cfa3(0xf9)]=!0x1,this[_0x45cfa3(0x18f)]=!0x1);}},{'key':'redraw','value':function(){var _0x1c9b0d=_0xc7144a;this['show']&&(this[_0x1c9b0d(0x1f1)]=[],this[_0x1c9b0d(0x139)]());}},{'key':_0xc7144a(0x1fd),'value':function(_0x27f490){var _0x2c5885=_0xc7144a;this['clear'](),this[_0x2c5885(0x1e9)]=_0x27f490,this[_0x2c5885(0x217)]=new _0x1f1147(this[_0x2c5885(0x1e9)],this[_0x2c5885(0x1c8)]),this['drawWind']();}},{'key':_0xc7144a(0x139),'value':function(){var _0x19be08=_0xc7144a;this[_0x19be08(0x165)]();for(var _0x53ecac=0x0;_0x53ecac<this[_0x19be08(0x248)];_0x53ecac++){var _0x5e9c1d=this[_0x19be08(0x10f)](new _0x3099b1());this[_0x19be08(0x1f1)][_0x19be08(0x1f7)](_0x5e9c1d);}this[_0x19be08(0x111)]['fillStyle']=_0x19be08(0x143),this[_0x19be08(0x111)][_0x19be08(0x12c)]=0.6,this[_0x19be08(0x1d9)]();}},{'key':_0xc7144a(0x165),'value':function(){var _0x75a1a3=_0xc7144a;this[_0x75a1a3(0x217)]&&(this[_0x75a1a3(0x1cc)]=[(this['windField'][_0x75a1a3(0x1d5)]-this[_0x75a1a3(0x217)]['xmin'])/this[_0x75a1a3(0x24b)],(this[_0x75a1a3(0x217)][_0x75a1a3(0x21f)]-this['windField'][_0x75a1a3(0x221)])/this['speedRate']]);}},{'key':_0xc7144a(0x1d9),'value':function(){var _0x3990cc=_0xc7144a,_0x50584d=this;if(this[_0x3990cc(0x155)]&&!(this[_0x3990cc(0x1f1)]['length']<=0x0)){var _0x1a5e08=null,_0x16bcb0=null,_0x29f8b9=null;this[_0x3990cc(0x1f1)]['forEach'](function(_0x274b61){var _0x4d3359=_0x3990cc;if(_0x274b61[_0x4d3359(0x169)]<=0x0&&_0x50584d['randomParticle'](_0x274b61),_0x274b61[_0x4d3359(0x169)]>0x0){var _0x1dc5ce=_0x274b61[_0x4d3359(0x1b5)],_0x1a575c=_0x274b61[_0x4d3359(0x13b)];(_0x29f8b9=_0x50584d['windField'][_0x4d3359(0x101)](_0x1dc5ce,_0x1a575c))?(_0x1a5e08=_0x1dc5ce+_0x50584d['calc_speedRate'][0x0]*_0x29f8b9[0x0],_0x16bcb0=_0x1a575c+_0x50584d[_0x4d3359(0x1cc)][0x1]*_0x29f8b9[0x1],_0x274b61['lng']=_0x1dc5ce,_0x274b61['lat']=_0x1a575c,_0x274b61['tlng']=_0x1a5e08,_0x274b61[_0x4d3359(0x13b)]=_0x16bcb0,_0x274b61[_0x4d3359(0x169)]--):_0x274b61['age']=0x0;}}),this[_0x3990cc(0xe1)]();}}},{'key':'_tomap','value':function(_0x4680fb,_0x2f2d5f,_0x5c596a){var _0x5ab8de=_0xc7144a,_0x3038d9=_0x7b746c['Cartesian3'][_0x5ab8de(0x1a7)](_0x4680fb,_0x2f2d5f,this[_0x5ab8de(0x1da)]),_0x34c217=this[_0x5ab8de(0x189)][_0x5ab8de(0x14d)];if(_0x34c217[_0x5ab8de(0x234)]===_0x7b746c['SceneMode'][_0x5ab8de(0x12f)]&&!new _0x7b746c['EllipsoidalOccluder'](_0x34c217[_0x5ab8de(0x13d)][_0x5ab8de(0x153)],_0x34c217[_0x5ab8de(0x109)][_0x5ab8de(0x1b3)])[_0x5ab8de(0x126)](_0x3038d9))return _0x5c596a[_0x5ab8de(0x169)]=0x0,null;var _0x48aac4=_0x7b746c[_0x5ab8de(0x164)][_0x5ab8de(0x1cd)](this[_0x5ab8de(0x189)][_0x5ab8de(0x14d)],_0x3038d9);return _0x48aac4?[_0x48aac4['x'],_0x48aac4['y']]:null;}},{'key':_0xc7144a(0xe1),'value':function(){var _0x3520a5=_0xc7144a,_0x1148d=this,_0x583c9e=this[_0x3520a5(0x1f1)];this[_0x3520a5(0x111)]['lineWidth']=_0x1148d[_0x3520a5(0x16f)],this[_0x3520a5(0x111)][_0x3520a5(0x205)]=_0x3520a5(0x133),this['canvasContext'][_0x3520a5(0x10e)](0x0,0x0,this['canvasWidth'],this[_0x3520a5(0x20f)]),this[_0x3520a5(0x111)][_0x3520a5(0x205)]='lighter',this[_0x3520a5(0x111)][_0x3520a5(0x12c)]=0.9,this[_0x3520a5(0x111)]['beginPath'](),this['canvasContext'][_0x3520a5(0xef)]=this['color'];var _0x539cff=this['_map'][_0x3520a5(0x14d)][_0x3520a5(0x234)]!==_0x7b746c[_0x3520a5(0xf7)][_0x3520a5(0x12f)];_0x583c9e[_0x3520a5(0x1fc)](function(_0x40f669){var _0x4b9b69=_0x3520a5,_0x54f170=_0x1148d['_tomap'](_0x40f669[_0x4b9b69(0x1ae)],_0x40f669[_0x4b9b69(0x1ed)],_0x40f669),_0x5c8ebe=_0x1148d[_0x4b9b69(0x1b7)](_0x40f669['tlng'],_0x40f669[_0x4b9b69(0x13b)],_0x40f669);if(null!=_0x54f170&&null!=_0x5c8ebe){var _0x5e32be=Math[_0x4b9b69(0x18e)](_0x54f170[0x0]-_0x5c8ebe[0x0]);_0x539cff&&_0x5e32be>=_0x1148d['canvasWidth']||(_0x1148d[_0x4b9b69(0x111)][_0x4b9b69(0x222)](_0x54f170[0x0],_0x54f170[0x1]),_0x1148d[_0x4b9b69(0x111)][_0x4b9b69(0xd9)](_0x5c8ebe[0x0],_0x5c8ebe[0x1]));}}),this[_0x3520a5(0x111)][_0x3520a5(0x1b8)]();}},{'key':_0xc7144a(0x10f),'value':function(_0xfc44c5){var _0x4af42c=_0xc7144a;for(var _0x37b391,_0x400e98,_0x5782a9=0x0;_0x5782a9<0x1e&&(_0x37b391=this['windField'][_0x4af42c(0x1eb)](),!((_0x400e98=this['windField'][_0x4af42c(0x101)](_0x37b391[_0x4af42c(0x1ae)],_0x37b391[_0x4af42c(0x1ed)]))&&_0x400e98[0x2]>0x0));_0x5782a9++);if(!_0x400e98)return _0xfc44c5;var _0x41c266=_0x37b391[_0x4af42c(0x1ae)]+this[_0x4af42c(0x1cc)][0x0]*_0x400e98[0x0],_0x5762ca=_0x37b391[_0x4af42c(0x1ed)]+this[_0x4af42c(0x1cc)][0x1]*_0x400e98[0x1];return _0xfc44c5[_0x4af42c(0x1ae)]=_0x37b391[_0x4af42c(0x1ae)],_0xfc44c5[_0x4af42c(0x1ed)]=_0x37b391['lat'],_0xfc44c5[_0x4af42c(0x1b5)]=_0x41c266,_0xfc44c5[_0x4af42c(0x13b)]=_0x5762ca,_0xfc44c5[_0x4af42c(0x169)]=Math['round'](Math['random']()*this['maxAge']),_0xfc44c5;}},{'key':_0xc7144a(0x18c),'value':function(){var _0x17e43e=_0xc7144a;this[_0x17e43e(0x1f1)]=[],delete this[_0x17e43e(0x217)],delete this[_0x17e43e(0x1e9)];}}]),_0x3cfe2d;}(_0x4e3db0['layer'][_0x51f2ac(0xd6)]);function _0x1639f4(_0x992806,_0x5e84d8){var _0xbee07e=_0x51f2ac;return _0x992806*Math[_0xbee07e(0x167)](_0x7b746c[_0xbee07e(0x1bd)][_0xbee07e(0x1c7)](_0x5e84d8));}function _0x2834be(_0x3e500c,_0x53498b){var _0x1394e1=_0x51f2ac;return _0x3e500c*Math['sin'](_0x7b746c[_0x1394e1(0x1bd)]['toRadians'](_0x53498b));}function _0x3cf5a6(_0x4b9c37,_0x4bd023){var _0x1f9511=_0x51f2ac;return Math[_0x1f9511(0x1e1)](Math[_0x1f9511(0x13f)](_0x4b9c37,0x2)+Math[_0x1f9511(0x13f)](_0x4bd023,0x2));}function _0x327abd(_0x3865c6,_0x2f95df){var _0x4d0fa8=_0x51f2ac,_0x58e83a=_0x7b746c[_0x4d0fa8(0x1bd)]['toDegrees'](Math[_0x4d0fa8(0x134)](_0x2f95df,_0x3865c6));return _0x58e83a+=_0x58e83a<0x0?0x168:0x0;}_0x4e3db0[_0x51f2ac(0x138)]['register'](_0x51f2ac(0x1f6),_0x59ff50),_0x4e3db0[_0x51f2ac(0x145)][_0x51f2ac(0xee)]=_0x59ff50,_0x4e3db0[_0x51f2ac(0x151)]=_0x213982;}]);}));function a0_0xf1c2(_0x25fe68,_0x284b8b){var _0x4a6453=a0_0x4a64();return a0_0xf1c2=function(_0xf1c28c,_0x356f8c){_0xf1c28c=_0xf1c28c-0xd3;var _0x31d131=_0x4a6453[_0xf1c28c];return _0x31d131;},a0_0xf1c2(_0x25fe68,_0x284b8b);}function a0_0x4a64(){var _0x4b5d46=['UNSIGNED_INT','context','west','blending','STATIC_DRAW','lon','mars3dWind','windField','redraw','THREE_PI_OVER_TWO','framebuffer','958352SDsbHy','rows','TextureMinificationFilter','symbol','ymax','sham','ymin','moveTo','depthTexture','mouseMove','source','updateViewerParameters','particleSystem','Cesium','Module','Matrix4','Cartesian2','postProcessingSpeed','63mvJzCP','computeViewRectangle','valueOf','data','defined','latRange','apply','mode','call','fadeOpacity','visible','getUserInput','FLOAT','getPixelSize','particlesComputing','_maxAge','ZERO','height','createCommand','trails','destroy','1601838BhzmrI','randomBetween','visibility','createSegmentsGeometry','moveStart','getFullscreenQuad','particlesNumber','autoClear','vertexArray','speedRate','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}','nextTrails','Compute','geometry','framebuffers','configurable','currentTrails','BaseLayer','__proto__','#ffffff','lineTo','clampToLatitudeRange','getDefaultRenderState','preExecute','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}','particlesRendering','Draw','clientWidth','_drawLines','clearFramebuffers','DISABLE_GL_POSITION_LOG_DEPTH','commandList','removeAll','__esModule','key','maxAge','nextParticlesPosition','length','depthTest','globeBoundingSphere','preRender','CanvasWindLayer','strokeStyle','getUVByXY','getColorTexture','colorNum','max','all','enumerable','cancelAnimationFrame','SceneMode','LUMINANCE','mouse_down','TextureMagnificationFilter','PixelDatatype','toGridXY','_onMouseMoveEvent','animateFrame','setupEventListeners','PI_OVER_TWO','getUVByPoint','register','_bilinearInterpolation','setGeometry','default','pointer-events','createRenderingPrimitives','iterator','camera','viewerParameters','string','refreshParticles','getExtent','fillRect','randomParticle','dropRateBump','canvasContext','BoundingSphere','toDegrees','defaultValue','colorTable','globeLayer','textures','Color','GeometryAttributes','drawingBufferHeight','undefined','canvasResize','commandType','east','getPrototypeOf','updatePosition','vdata','color','create','PrimitiveType','keys','isPointVisible','bindEvent','mars3d','depthMask','TRIANGLES','top','globalAlpha','isDestroyed','_showHook','SCENE3D','hidden','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}','dimensions','destination-in','atan2','createRenderingTextures','writable','cols','LayerUtil','drawWind','fragmentShaderSource','tlat','createParticlesTextures','globe','OPAQUE','pow','_createCanvas','array','mouseUp','rgba(0,\x200,\x200,\x200.97)','_particlesNumber','layer','commandToExecute','bind','segments','_onMapWhellEvent','createComputingPrimitives','random','getContext','scene','value','getDirection','getSpeed','WindUtil','applyViewerParameters','ellipsoid','2059566bLKvAW','show','1210828cxFOwl','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','object','VertexArray','constructor','setOptions','PrimitiveCollection','addPrimitives','ShaderProgram','canvasWindy','NEAREST','2864770JAswFi','currentParticlesPosition','function','SceneTransforms','_calcStep','getWind','cos','_onMouseUpEvent','age','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','toStringTag','defineProperty','WindLayer','destroyParticlesTextures','lineWidth','getU','914781HMlHkL','updateSpeed','canvasWidth','rawRenderState','currentParticlesSpeed','mouseDown','DEPTH_COMPONENT','segmentsDepth','LINEAR','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','exports','Rectangle','fromGeometry','left','EventType','lev','vertexShaderSource','ComponentDatatype','removeEventListener','container','getV','canvas','south','clientHeight','_map','drawingBufferWidth','GeometryAttribute','clear','451621vWIZVW','abs','mouse_move','dropRate','options','now','primitiveType','createWindTextures','fromCache','Cartesian3','prototype','setAttribute','RGB','createRenderingFramebuffers','addEventListener','frameRate','absolute','moveEnd','none','pixelSize','min','style','maxParticles','particlesTextureSize','Sampler','TWO_PI','fromDegrees','userInput','_mountedHook','2APONiX','createElement','100%','appendChild','lng','lonRange','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}','createRawRenderState','attributeLocations','positionWC','_calcUV','tlng','_pointerEvents','_tomap','stroke','postProcessingPosition','auto','RGBA','removeChild','Math','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','0px','unbindEvent','execute','Appearance','isInExtent','setData','destroyObject','off','toRadians','reverseY','wheel','_removedHook','_onMouseDownEvent','calc_speedRate','wgs84ToWindowCoordinates','clearCommand','IDENTITY','createTexture','uniformMap','ALWAYS','PixelFormat','frameTime','xmax','pointerEvents','class','Pass','update','fixedHeight','mod','ClearCommand','width','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}','windTextures','DepthFunction','sqrt','Geometry','floor','DrawCommand','add','outputTexture','particlesTextures','applyUserInput','windData','ShaderSource','getRandomLatLng','WMS_URL','lat','screen','PI_OVER_THREE','reverse','particles','viewport','xmin','zIndex','grid','canvasWind','push','position','primitives','//\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}','speedFactor','forEach','updateDate','mars3d-cesium','particlesWind','segmentsColor','randomizeParticles','UNSIGNED_BYTE','north','canrefresh','globalCompositeOperation','construct','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}','particleHeight','BufferUsage','ComputeCommand','shaderProgram','nextParticlesSpeed','createFramebuffer','resize','canvasHeight'];a0_0x4a64=function(){return _0x4b5d46;};return a0_0x4a64();}