mars3d-wind 3.1.21 → 3.2.1
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/LICENSE +206 -0
- package/dist/mars3d-wind.js +3 -12
- package/package.json +30 -7
package/LICENSE
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
|
|
2
|
+
Apache License
|
|
3
|
+
Version 2.0, January 2004
|
|
4
|
+
http://www.apache.org/licenses/
|
|
5
|
+
http://mars3d.cn/
|
|
6
|
+
|
|
7
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
8
|
+
|
|
9
|
+
1. Definitions.
|
|
10
|
+
|
|
11
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
12
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
13
|
+
|
|
14
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
15
|
+
the copyright owner that is granting the License.
|
|
16
|
+
|
|
17
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
18
|
+
other entities that control, are controlled by, or are under common
|
|
19
|
+
control with that entity. For the purposes of this definition,
|
|
20
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
21
|
+
direction or management of such entity, whether by contract or
|
|
22
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
23
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
24
|
+
|
|
25
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
26
|
+
exercising permissions granted by this License.
|
|
27
|
+
|
|
28
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
29
|
+
including but not limited to software source code, documentation
|
|
30
|
+
source, and configuration files.
|
|
31
|
+
|
|
32
|
+
"Object" form shall mean any form resulting from mechanical
|
|
33
|
+
transformation or translation of a Source form, including but
|
|
34
|
+
not limited to compiled object code, generated documentation,
|
|
35
|
+
and conversions to other media types.
|
|
36
|
+
|
|
37
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
38
|
+
Object form, made available under the License, as indicated by a
|
|
39
|
+
copyright notice that is included in or attached to the work
|
|
40
|
+
(an example is provided in the Appendix below).
|
|
41
|
+
|
|
42
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
43
|
+
form, that is based on (or derived from) the Work and for which the
|
|
44
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
45
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
46
|
+
of this License, Derivative Works shall not include works that remain
|
|
47
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
48
|
+
the Work and Derivative Works thereof.
|
|
49
|
+
|
|
50
|
+
"Contribution" shall mean any work of authorship, including
|
|
51
|
+
the original version of the Work and any modifications or additions
|
|
52
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
53
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
54
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
55
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
56
|
+
means any form of electronic, verbal, or written communication sent
|
|
57
|
+
to the Licensor or its representatives, including but not limited to
|
|
58
|
+
communication on electronic mailing lists, source code control systems,
|
|
59
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
60
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
61
|
+
excluding communication that is conspicuously marked or otherwise
|
|
62
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
63
|
+
|
|
64
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
65
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
66
|
+
subsequently incorporated within the Work.
|
|
67
|
+
|
|
68
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
69
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
70
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
71
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
72
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
73
|
+
Work and such Derivative Works in Source or Object form.
|
|
74
|
+
|
|
75
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
76
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
77
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
78
|
+
(except as stated in this section) patent license to make, have made,
|
|
79
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
80
|
+
where such license applies only to those patent claims licensable
|
|
81
|
+
by such Contributor that are necessarily infringed by their
|
|
82
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
83
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
84
|
+
institute patent litigation against any entity (including a
|
|
85
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
86
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
87
|
+
or contributory patent infringement, then any patent licenses
|
|
88
|
+
granted to You under this License for that Work shall terminate
|
|
89
|
+
as of the date such litigation is filed.
|
|
90
|
+
|
|
91
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
92
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
93
|
+
modifications, and in Source or Object form, provided that You
|
|
94
|
+
meet the following conditions:
|
|
95
|
+
|
|
96
|
+
(a) You must give any other recipients of the Work or
|
|
97
|
+
Derivative Works a copy of this License; and
|
|
98
|
+
|
|
99
|
+
(b) You must cause any modified files to carry prominent notices
|
|
100
|
+
stating that You changed the files; and
|
|
101
|
+
|
|
102
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
103
|
+
that You distribute, all copyright, patent, trademark, and
|
|
104
|
+
attribution notices from the Source form of the Work,
|
|
105
|
+
excluding those notices that do not pertain to any part of
|
|
106
|
+
the Derivative Works; and
|
|
107
|
+
|
|
108
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
109
|
+
distribution, then any Derivative Works that You distribute must
|
|
110
|
+
include a readable copy of the attribution notices contained
|
|
111
|
+
within such NOTICE file, excluding those notices that do not
|
|
112
|
+
pertain to any part of the Derivative Works, in at least one
|
|
113
|
+
of the following places: within a NOTICE text file distributed
|
|
114
|
+
as part of the Derivative Works; within the Source form or
|
|
115
|
+
documentation, if provided along with the Derivative Works; or,
|
|
116
|
+
within a display generated by the Derivative Works, if and
|
|
117
|
+
wherever such third-party notices normally appear. The contents
|
|
118
|
+
of the NOTICE file are for informational purposes only and
|
|
119
|
+
do not modify the License. You may add Your own attribution
|
|
120
|
+
notices within Derivative Works that You distribute, alongside
|
|
121
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
122
|
+
that such additional attribution notices cannot be construed
|
|
123
|
+
as modifying the License.
|
|
124
|
+
|
|
125
|
+
You may add Your own copyright statement to Your modifications and
|
|
126
|
+
may provide additional or different license terms and conditions
|
|
127
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
128
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
129
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
130
|
+
the conditions stated in this License.
|
|
131
|
+
|
|
132
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
133
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
134
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
135
|
+
this License, without any additional terms or conditions.
|
|
136
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
137
|
+
the terms of any separate license agreement you may have executed
|
|
138
|
+
with Licensor regarding such Contributions.
|
|
139
|
+
|
|
140
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
141
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
142
|
+
except as required for reasonable and customary use in describing the
|
|
143
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
144
|
+
|
|
145
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
146
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
147
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
148
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
149
|
+
implied, including, without limitation, any warranties or conditions
|
|
150
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
151
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
152
|
+
appropriateness of using or redistributing the Work and assume any
|
|
153
|
+
risks associated with Your exercise of permissions under this License.
|
|
154
|
+
|
|
155
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
156
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
157
|
+
unless required by applicable law (such as deliberate and grossly
|
|
158
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
159
|
+
liable to You for damages, including any direct, indirect, special,
|
|
160
|
+
incidental, or consequential damages of any character arising as a
|
|
161
|
+
result of this License or out of the use or inability to use the
|
|
162
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
163
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
164
|
+
other commercial damages or losses), even if such Contributor
|
|
165
|
+
has been advised of the possibility of such damages.
|
|
166
|
+
|
|
167
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
168
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
169
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
170
|
+
or other liability obligations and/or rights consistent with this
|
|
171
|
+
License. However, in accepting such obligations, You may act only
|
|
172
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
173
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
174
|
+
defend, and hold each Contributor harmless for any liability
|
|
175
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
176
|
+
of your accepting any such warranty or additional liability.
|
|
177
|
+
|
|
178
|
+
END OF TERMS AND CONDITIONS
|
|
179
|
+
|
|
180
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
181
|
+
|
|
182
|
+
To apply the Apache License to your work, attach the following
|
|
183
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
184
|
+
replaced with your own identifying information. (Don't include
|
|
185
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
186
|
+
comment syntax for the file format. We also recommend that a
|
|
187
|
+
file or class name and description of purpose be included on the
|
|
188
|
+
same "printed page" as the copyright notice for easier
|
|
189
|
+
identification within third-party archives.
|
|
190
|
+
|
|
191
|
+
Copyright [2017-2022] [Hefei Mars Technology Co., LTD., China] http://mars3d.cn/
|
|
192
|
+
|
|
193
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
194
|
+
you may not use this file except in compliance with the License.
|
|
195
|
+
You may obtain a copy of the License at
|
|
196
|
+
|
|
197
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
Unless required by applicable law or agreed to in writing, software
|
|
201
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
202
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
203
|
+
See the License for the specific language governing permissions and
|
|
204
|
+
limitations under the License.
|
|
205
|
+
|
|
206
|
+
|
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Mars3D平台插件,支持气象 风向图 功能插件
|
|
3
|
-
* 版本信息:v3.1
|
|
4
|
-
* 编译日期:2022-
|
|
3
|
+
* 版本信息:v3.2.1
|
|
4
|
+
* 编译日期:2022-02-13 13:42:18
|
|
5
5
|
* 版权所有:Copyright by 火星科技 http://mars3d.cn
|
|
6
6
|
*/
|
|
7
7
|
(function webpackUniversalModuleDefinition(window) {
|
|
8
8
|
|
|
9
|
-
let Cesium = window.Cesium //通过index.html的head引入
|
|
10
|
-
if (!Cesium && typeof exports === 'object') {
|
|
11
|
-
Cesium = require('mars3d-cesium') //使用npm安装内置的Cesium
|
|
12
|
-
require('mars3d-cesium/Build/Cesium/Widgets/widgets.css')
|
|
13
|
-
window['Cesium'] = Cesium
|
|
14
|
-
}
|
|
15
|
-
if (!Cesium) {
|
|
16
|
-
console.error('请引入Cesium库,可参考教程:http://mars3d.cn/dev/guide/basics/import.html')
|
|
17
|
-
}
|
|
18
9
|
|
|
19
10
|
|
|
20
11
|
let mars3d = window.mars3d //通过index.html的head引入
|
|
@@ -27,7 +18,7 @@
|
|
|
27
18
|
}
|
|
28
19
|
|
|
29
20
|
|
|
30
|
-
function a0_0x1db2(_0x1c2cf8,_0xe29f1b){var _0x1966ab=a0_0x1966();return a0_0x1db2=function(_0x1db2b4,_0x4f4463){_0x1db2b4=_0x1db2b4-0x8a;var _0x42c980=_0x1966ab[_0x1db2b4];return _0x42c980;},a0_0x1db2(_0x1c2cf8,_0xe29f1b);}function a0_0x1966(){var _0x180b07=['preRender','west','defineProperty','preExecute','_particlesNumber','resize','Color','undefined','mode','rawRenderState','dropRateBump','appendChild','userInput','PixelDatatype','unbindEvent','_mountedHook','BufferUsage','refreshTimer','createSegmentsGeometry','height','PrimitiveType','_onMouseUpEvent','PixelFormat','bindEvent','cols','_onMouseMoveEvent','arrayBufferView','autoClear','100%','Cesium','style','speedRate','68cljAzc','construct','lonRange','createFramebuffer','createWindTextures','dropRate','mouseUp','getContext','globalAlpha','depthTest','getUVByXY','removeEventListener','getPrototypeOf','postProcessingPosition','viewerParameters','lev','IDENTITY','default','particleHeight','clearFramebuffers','toStringTag','position','TextureMinificationFilter','toDegrees','attributeLocations','THREE_PI_OVER_TWO','calc_speedRate','defined','RGB','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}','canrefresh','SceneTransforms','_speedRate','colorTable','BaseLayer','fromDegrees','PI_OVER_THREE','createElement','getU','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}','destroy','8ppVAfR','show','BoundingSphere','updateSpeed','blending','getColorTexture','exports','frameRate','outputTexture','GeometryAttribute','call','getDirection','drawingBufferHeight','3434844rluDmq','particlesTextureSize','nextParticlesPosition','maxParticles','EllipsoidalOccluder','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}','color','windField','visibility','UNSIGNED_BYTE','Compute','latRange','prototype','ComputeCommand','bind','floor','mouse_down','_pointerEvents','commandList','Module','canvasWidth','canvasResize','randomizeParticles','destroyParticlesTextures','shaderProgram','lighter','currentParticlesSpeed','screen','layer','getV','ClearCommand','RenderState','10FPSLid','FLOAT','_tomap','clampToLatitudeRange','Texture','string','scene','Math','NEAREST','data','ShaderSource','add','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}','vdata','setPrototypeOf','_removedHook','canvasWind','random','fragmentShaderSource','VertexArray','createRenderingPrimitives','DrawCommand','lineWidth','Cartesian3','getFullscreenQuad','geometry','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','beginPath','cos','_maxAge','globalCompositeOperation','pow','vertexArray','Pass','CanvasWindLayer','_drawLines','abs','DISABLE_GL_POSITION_LOG_DEPTH','particlesNumber','mod','pixelSize','ymax','refreshParticles','getUVByPoint','cancelAnimationFrame','apply','pointerEvents','ALWAYS','top','postProcessingSpeed','animateFrame','randomBetween','key','hasOwnProperty','SCENE3D','sqrt','clearCommand','max','25905770ZkCTXy','fillRect','Draw','wheel','maxAge','source','options','clientHeight','toGridXY','TWO_PI','applyViewerParameters','redraw','fromGeometry','fadeOpacity','reverse','_onMap_preRenderEvent','createCommand','ceil','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','_setOptionsHook','value','register','LINEAR','mars3d','wind','primitiveType','dimensions','defaultValue','particlesRendering','trails','currentParticlesPosition','segmentsDepth','259157YWqeRC','segmentsColor','moveTo','off','depthMask','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}','Appearance','PrimitiveCollection','isDestroyed','LayerUtil','DepthFunction','Sampler','pointer-events','positionWC','UNSIGNED_INT','now','left','createParticlesTextures','toRadians','nextTrails','rows','ComponentDatatype','createRenderingFramebuffers','__esModule','fillStyle','absolute','array','_calcStep','nextTrailsColor','length','strokeStyle','tlat','_map','commandType','applyUserInput','TextureMagnificationFilter','canvas','globeBoundingSphere','1792995jCiOUP','class','globe','createRenderingTextures','stroke','ShaderProgram','enumerable','east','STATIC_DRAW','tlng','udata','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','object','segments','removeAll','6872967Zmmvjs','_onMapWhellEvent','textures','min','934592jjInQX','nextParticlesSpeed','_createCanvas','lineTo','commandToExecute','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','vertexShaderSource','rgba(0,\x200,\x200,\x200.97)','sin','wgs84ToWindowCoordinates','updatePosition','nextTrailsDepth','forEach','clear','ymin','update','Cartesian2','Rectangle','setAttribute','particlesTextures','18YUTyPa','framebuffers','xmin','LUMINANCE','lng','xmax','camera','clientWidth','visible','SceneMode','OPAQUE','mouse_move','destination-in','mouseDown','writable','getRandomLatLng','createTexture','currentTrails','WindLayer','__proto__','sham','fromCache','drawingBufferWidth','WindUtil','windData','isInExtent','grid','mouseMove','uniformMap','age','container','Geometry','framebuffer','_onMouseDownEvent','RGBA','//\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}','isPointVisible','currentTrailsDepth','createRawRenderState','width','destroyObject','north','Matrix4','_bilinearInterpolation','reverseY','EventType','particles','103191YlIXxr','_calcUV','frameTime','addPrimitives','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}','windTextures','setGeometry','getUserInput','particlesWind','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}','symbol','drawWind','create','requestAnimationFrame','createComputingPrimitives','randomParticle','TRIANGLES','particlesComputing','lon','colorNum','lat','Framebuffer','getWind','remove','0px','context','function','constructor','fixedHeight','canvasContext','speedFactor','addEventListener','PI_OVER_TWO','GeometryAttributes','primitives','canvasHeight','particleSystem','ellipsoid','ZERO','#ffffff','keys','getExtent','setData','updateViewerParameters','_addedHook','updateDate','currentTrailsColor','push'];a0_0x1966=function(){return _0x180b07;};return a0_0x1966();}(function(_0x4eaeb5,_0xcbd4bf){var _0x3f6a7b=a0_0x1db2,_0x247344=_0x4eaeb5();while(!![]){try{var _0x39a544=-parseInt(_0x3f6a7b(0xf9))/0x1*(-parseInt(_0x3f6a7b(0x1ef))/0x2)+parseInt(_0x3f6a7b(0x176))/0x3*(-parseInt(_0x3f6a7b(0x1c6))/0x4)+parseInt(_0x3f6a7b(0x11f))/0x5*(parseInt(_0x3f6a7b(0x147))/0x6)+parseInt(_0x3f6a7b(0x1fc))/0x7+parseInt(_0x3f6a7b(0x132))/0x8+-parseInt(_0x3f6a7b(0x12e))/0x9*(-parseInt(_0x3f6a7b(0x9f))/0xa)+-parseInt(_0x3f6a7b(0xd9))/0xb;if(_0x39a544===_0xcbd4bf)break;else _0x247344['push'](_0x247344['shift']());}catch(_0x30ff17){_0x247344['push'](_0x247344['shift']());}}}(a0_0x1966,0x84c29),window['mars3dWind']=function(_0x1afd62){var _0xccea96={};function _0x451a06(_0x33675b){var _0x45ff07=a0_0x1db2;if(_0xccea96[_0x33675b])return _0xccea96[_0x33675b]['exports'];var _0x80d80a=_0xccea96[_0x33675b]={'i':_0x33675b,'l':!0x1,'exports':{}};return _0x1afd62[_0x33675b][_0x45ff07(0x1f9)](_0x80d80a[_0x45ff07(0x1f5)],_0x80d80a,_0x80d80a[_0x45ff07(0x1f5)],_0x451a06),_0x80d80a['l']=!0x0,_0x80d80a[_0x45ff07(0x1f5)];}return _0x451a06['m']=_0x1afd62,_0x451a06['c']=_0xccea96,_0x451a06['d']=function(_0xe82a40,_0x32c2eb,_0x43abe8){var _0x463add=a0_0x1db2;_0x451a06['o'](_0xe82a40,_0x32c2eb)||Object[_0x463add(0x1a8)](_0xe82a40,_0x32c2eb,{'enumerable':!0x0,'get':_0x43abe8});},_0x451a06['r']=function(_0xdf1f00){var _0x27fe47=a0_0x1db2;_0x27fe47(0x1ad)!=typeof Symbol&&Symbol[_0x27fe47(0x1da)]&&Object['defineProperty'](_0xdf1f00,Symbol[_0x27fe47(0x1da)],{'value':_0x27fe47(0x92)}),Object[_0x27fe47(0x1a8)](_0xdf1f00,_0x27fe47(0x110),{'value':!0x0});},_0x451a06['t']=function(_0x4e1321,_0x4150c6){var _0x3ea992=a0_0x1db2;if(0x1&_0x4150c6&&(_0x4e1321=_0x451a06(_0x4e1321)),0x8&_0x4150c6)return _0x4e1321;if(0x4&_0x4150c6&&_0x3ea992(0x12b)==typeof _0x4e1321&&_0x4e1321&&_0x4e1321[_0x3ea992(0x110)])return _0x4e1321;var _0x4c0191=Object[_0x3ea992(0x182)](null);if(_0x451a06['r'](_0x4c0191),Object['defineProperty'](_0x4c0191,_0x3ea992(0x1d7),{'enumerable':!0x0,'value':_0x4e1321}),0x2&_0x4150c6&&_0x3ea992(0xa4)!=typeof _0x4e1321){for(var _0x4f29a5 in _0x4e1321)_0x451a06['d'](_0x4c0191,_0x4f29a5,function(_0x332cc1){return _0x4e1321[_0x332cc1];}[_0x3ea992(0x8d)](null,_0x4f29a5));}return _0x4c0191;},_0x451a06['n']=function(_0x50bcf9){var _0x26be5c=a0_0x1db2,_0x37e732=_0x50bcf9&&_0x50bcf9[_0x26be5c(0x110)]?function(){var _0x1c1e64=_0x26be5c;return _0x50bcf9[_0x1c1e64(0x1d7)];}:function(){return _0x50bcf9;};return _0x451a06['d'](_0x37e732,'a',_0x37e732),_0x37e732;},_0x451a06['o']=function(_0x9d3d6a,_0xa6071){var _0x4a6f50=a0_0x1db2;return Object[_0x4a6f50(0x8b)][_0x4a6f50(0xd4)]['call'](_0x9d3d6a,_0xa6071);},_0x451a06['p']='',_0x451a06(_0x451a06['s']=0x14);}([function(_0x3af9c0,_0x4923e8){var _0x2bafb8=a0_0x1db2;_0x3af9c0[_0x2bafb8(0x1f5)]=window[_0x2bafb8(0x1c3)];},function(_0x26d710,_0x1bb94e){var _0x31bc44=a0_0x1db2;_0x26d710[_0x31bc44(0x1f5)]=window[_0x31bc44(0xf0)];},function(_0x44600b,_0x4bf139){var _0x33771b=a0_0x1db2;_0x44600b[_0x33771b(0x1f5)]=function(_0x225bc5,_0x4ccf41){if(!(_0x225bc5 instanceof _0x4ccf41))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x44600b[_0x33771b(0x1f5)][_0x33771b(0x1d7)]=_0x44600b[_0x33771b(0x1f5)],_0x44600b['exports'][_0x33771b(0x110)]=!0x0;},function(_0xd3182e,_0x5b845a){var _0x4cb0e6=a0_0x1db2;function _0x5c6669(_0x4868ba,_0x52649b){var _0x35505c=a0_0x1db2;for(var _0x5286b9=0x0;_0x5286b9<_0x52649b[_0x35505c(0x116)];_0x5286b9++){var _0x394660=_0x52649b[_0x5286b9];_0x394660[_0x35505c(0x125)]=_0x394660[_0x35505c(0x125)]||!0x1,_0x394660['configurable']=!0x0,_0x35505c(0xed)in _0x394660&&(_0x394660[_0x35505c(0x155)]=!0x0),Object[_0x35505c(0x1a8)](_0x4868ba,_0x394660[_0x35505c(0xd3)],_0x394660);}}_0xd3182e['exports']=function(_0x392c2f,_0x5ed61f,_0x11eb72){var _0xeb85d3=a0_0x1db2;return _0x5ed61f&&_0x5c6669(_0x392c2f[_0xeb85d3(0x8b)],_0x5ed61f),_0x11eb72&&_0x5c6669(_0x392c2f,_0x11eb72),_0x392c2f;},_0xd3182e['exports']['default']=_0xd3182e[_0x4cb0e6(0x1f5)],_0xd3182e['exports'][_0x4cb0e6(0x110)]=!0x0;},function(_0xbab51a,_0x353722){var _0x1385f8=a0_0x1db2;function _0x4ae828(_0x309848){var _0x2e5d92=a0_0x1db2;return _0xbab51a[_0x2e5d92(0x1f5)]=_0x4ae828=Object['setPrototypeOf']?Object[_0x2e5d92(0x1d2)]:function(_0x52b5b6){var _0x19d4a4=_0x2e5d92;return _0x52b5b6[_0x19d4a4(0x15a)]||Object[_0x19d4a4(0x1d2)](_0x52b5b6);},_0xbab51a[_0x2e5d92(0x1f5)]['default']=_0xbab51a[_0x2e5d92(0x1f5)],_0xbab51a[_0x2e5d92(0x1f5)][_0x2e5d92(0x110)]=!0x0,_0x4ae828(_0x309848);}_0xbab51a[_0x1385f8(0x1f5)]=_0x4ae828,_0xbab51a['exports'][_0x1385f8(0x1d7)]=_0xbab51a['exports'],_0xbab51a['exports']['__esModule']=!0x0;},function(_0xd2b971,_0x38965a,_0x42d01c){var _0x44e627=a0_0x1db2,_0x14e3ff=_0x42d01c(0x11);_0xd2b971['exports']=function(_0x103b53,_0x59e8af){var _0x1582c2=a0_0x1db2;if(_0x1582c2(0x190)!=typeof _0x59e8af&&null!==_0x59e8af)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');_0x103b53[_0x1582c2(0x8b)]=Object[_0x1582c2(0x182)](_0x59e8af&&_0x59e8af[_0x1582c2(0x8b)],{'constructor':{'value':_0x103b53,'writable':!0x0,'configurable':!0x0}}),_0x59e8af&&_0x14e3ff(_0x103b53,_0x59e8af);},_0xd2b971[_0x44e627(0x1f5)][_0x44e627(0x1d7)]=_0xd2b971[_0x44e627(0x1f5)],_0xd2b971[_0x44e627(0x1f5)][_0x44e627(0x110)]=!0x0;},function(_0x3a41bc,_0xe9197e,_0x57d974){var _0x576532=a0_0x1db2,_0x2bcd5c=_0x57d974(0x12)[_0x576532(0x1d7)],_0x5a144f=_0x57d974(0x13);_0x3a41bc[_0x576532(0x1f5)]=function(_0x314d51,_0x59779a){var _0x4e056f=_0x576532;if(_0x59779a&&(_0x4e056f(0x12b)===_0x2bcd5c(_0x59779a)||_0x4e056f(0x190)==typeof _0x59779a))return _0x59779a;if(void 0x0!==_0x59779a)throw new TypeError(_0x4e056f(0x12a));return _0x5a144f(_0x314d51);},_0x3a41bc['exports'][_0x576532(0x1d7)]=_0x3a41bc[_0x576532(0x1f5)],_0x3a41bc[_0x576532(0x1f5)][_0x576532(0x110)]=!0x0;},function(_0x387440,_0x2b3f94){var _0x367a4c=a0_0x1db2;_0x387440[_0x367a4c(0x1f5)]=_0x367a4c(0x17f);},function(_0x2bd704,_0x5bdc92){var _0x2b248b=a0_0x1db2;_0x2bd704[_0x2b248b(0x1f5)]=_0x2b248b(0x1e3);},function(_0x1d5ffb,_0x3505cd){var _0x1fcb27=a0_0x1db2;_0x1d5ffb['exports']=_0x1fcb27(0xfe);},function(_0x4bc4dc,_0xab3c5c){var _0x113fd8=a0_0x1db2;_0x4bc4dc[_0x113fd8(0x1f5)]=_0x113fd8(0x17a);},function(_0x13c14d,_0x35d7a9){var _0x11c5b0=a0_0x1db2;_0x13c14d[_0x11c5b0(0x1f5)]=_0x11c5b0(0x201);},function(_0x39665,_0x590c98){var _0x58a17e=a0_0x1db2;_0x39665[_0x58a17e(0x1f5)]=_0x58a17e(0x16a);},function(_0x57dd5d,_0x513f08){var _0x30189d=a0_0x1db2;_0x57dd5d[_0x30189d(0x1f5)]=_0x30189d(0x137);},function(_0xdcdd1b,_0x82dd6b){var _0x1e181e=a0_0x1db2;_0xdcdd1b[_0x1e181e(0x1f5)]=_0x1e181e(0xab);},function(_0x462660,_0x3878c6){var _0x401719=a0_0x1db2;_0x462660[_0x401719(0x1f5)]=_0x401719(0x1ed);},function(_0x637923,_0x35a73c){var _0x163065=a0_0x1db2;_0x637923[_0x163065(0x1f5)]='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}';},function(_0x40cd01,_0xed4d26){var _0x2ac776=a0_0x1db2;function _0x2d0e52(_0x3c665b,_0x38345c){var _0x5eaa7a=a0_0x1db2;return _0x40cd01[_0x5eaa7a(0x1f5)]=_0x2d0e52=Object[_0x5eaa7a(0xad)]||function(_0x2267f2,_0x2132ab){var _0x1d7750=_0x5eaa7a;return _0x2267f2[_0x1d7750(0x15a)]=_0x2132ab,_0x2267f2;},_0x40cd01[_0x5eaa7a(0x1f5)][_0x5eaa7a(0x1d7)]=_0x40cd01[_0x5eaa7a(0x1f5)],_0x40cd01[_0x5eaa7a(0x1f5)][_0x5eaa7a(0x110)]=!0x0,_0x2d0e52(_0x3c665b,_0x38345c);}_0x40cd01[_0x2ac776(0x1f5)]=_0x2d0e52,_0x40cd01[_0x2ac776(0x1f5)]['default']=_0x40cd01['exports'],_0x40cd01[_0x2ac776(0x1f5)][_0x2ac776(0x110)]=!0x0;},function(_0x5dbead,_0x5e5e86){var _0x14729f=a0_0x1db2;function _0x61a50f(_0x5aa6e1){var _0x4607c9=a0_0x1db2;return _0x4607c9(0x190)==typeof Symbol&&_0x4607c9(0x180)==typeof Symbol['iterator']?(_0x5dbead[_0x4607c9(0x1f5)]=_0x61a50f=function(_0x41a263){return typeof _0x41a263;},_0x5dbead[_0x4607c9(0x1f5)][_0x4607c9(0x1d7)]=_0x5dbead[_0x4607c9(0x1f5)],_0x5dbead['exports'][_0x4607c9(0x110)]=!0x0):(_0x5dbead['exports']=_0x61a50f=function(_0x2b3043){var _0x561c0f=_0x4607c9;return _0x2b3043&&_0x561c0f(0x190)==typeof Symbol&&_0x2b3043[_0x561c0f(0x191)]===Symbol&&_0x2b3043!==Symbol[_0x561c0f(0x8b)]?_0x561c0f(0x180):typeof _0x2b3043;},_0x5dbead[_0x4607c9(0x1f5)][_0x4607c9(0x1d7)]=_0x5dbead[_0x4607c9(0x1f5)],_0x5dbead[_0x4607c9(0x1f5)][_0x4607c9(0x110)]=!0x0),_0x61a50f(_0x5aa6e1);}_0x5dbead[_0x14729f(0x1f5)]=_0x61a50f,_0x5dbead[_0x14729f(0x1f5)][_0x14729f(0x1d7)]=_0x5dbead[_0x14729f(0x1f5)],_0x5dbead['exports']['__esModule']=!0x0;},function(_0x5053e4,_0x569e84){var _0x60941a=a0_0x1db2;_0x5053e4['exports']=function(_0xd426a4){var _0x1469fe=a0_0x1db2;if(void 0x0===_0xd426a4)throw new ReferenceError(_0x1469fe(0xeb));return _0xd426a4;},_0x5053e4['exports']['default']=_0x5053e4[_0x60941a(0x1f5)],_0x5053e4[_0x60941a(0x1f5)][_0x60941a(0x110)]=!0x0;},function(_0x48bf63,_0x101b67,_0x306f16){'use strict';var _0x3e7117=a0_0x1db2;_0x306f16['r'](_0x101b67),_0x306f16['d'](_0x101b67,_0x3e7117(0x159),function(){return _0x2f2d06;}),_0x306f16['d'](_0x101b67,_0x3e7117(0xc1),function(){return _0x341e60;}),_0x306f16['d'](_0x101b67,_0x3e7117(0x15e),function(){return _0x175578;});var _0x175578={};_0x306f16['r'](_0x175578),_0x306f16['d'](_0x175578,_0x3e7117(0x1ec),function(){return _0x1c9258;}),_0x306f16['d'](_0x175578,_0x3e7117(0x9c),function(){return _0x5449d0;}),_0x306f16['d'](_0x175578,'getSpeed',function(){return _0x2cc124;}),_0x306f16['d'](_0x175578,_0x3e7117(0x1fa),function(){return _0x3b3c65;});var _0x43c4a0=_0x306f16(0x1),_0x317762=_0x306f16(0x2),_0xe8454=_0x306f16['n'](_0x317762),_0x24298a=_0x306f16(0x3),_0x4d2ebb=_0x306f16['n'](_0x24298a),_0x24e1aa=_0x306f16(0x5),_0x43b6f7=_0x306f16['n'](_0x24e1aa),_0x4ff670=_0x306f16(0x6),_0x3214b3=_0x306f16['n'](_0x4ff670),_0x2cfcb3=_0x306f16(0x4),_0x155bb1=_0x306f16['n'](_0x2cfcb3),_0x2ab937=_0x306f16(0x0),_0x176d6b=function(){var _0xcfd6f1=_0x3e7117;function _0x2bb317(_0x4a751d){var _0x4d0a30=a0_0x1db2;_0xe8454()(this,_0x2bb317),this[_0x4d0a30(0x11a)]=_0x4a751d[_0x4d0a30(0x11a)],this[_0x4d0a30(0xb8)]=_0x4a751d[_0x4d0a30(0xb8)],this[_0x4d0a30(0x1de)]=_0x4a751d[_0x4d0a30(0x1de)],this[_0x4d0a30(0xf2)]=_0x4a751d['primitiveType'],this[_0x4d0a30(0x163)]=_0x4a751d['uniformMap'],this[_0x4d0a30(0x139)]=_0x4a751d['vertexShaderSource'],this[_0x4d0a30(0xb1)]=_0x4a751d[_0x4d0a30(0xb1)],this[_0x4d0a30(0x1af)]=_0x4a751d['rawRenderState'],this['framebuffer']=_0x4a751d[_0x4d0a30(0x167)],this[_0x4d0a30(0x1f7)]=_0x4a751d[_0x4d0a30(0x1f7)],this[_0x4d0a30(0x1c1)]=_0x2ab937['defaultValue'](_0x4a751d[_0x4d0a30(0x1c1)],!0x1),this['preExecute']=_0x4a751d[_0x4d0a30(0x1a9)],this['show']=!0x0,this['commandToExecute']=void 0x0,this[_0x4d0a30(0xd7)]=void 0x0,this[_0x4d0a30(0x1c1)]&&(this[_0x4d0a30(0xd7)]=new _0x2ab937[(_0x4d0a30(0x9d))]({'color':new _0x2ab937[(_0x4d0a30(0x1ac))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x4d0a30(0x167)],'pass':_0x2ab937[_0x4d0a30(0xc0)][_0x4d0a30(0x151)]}));}return _0x4d2ebb()(_0x2bb317,[{'key':_0xcfd6f1(0xe9),'value':function(_0x1ed8bb){var _0x3f89f8=_0xcfd6f1;switch(this['commandType']){case _0x3f89f8(0xdb):var _0x28301f=_0x2ab937['VertexArray'][_0x3f89f8(0xe5)]({'context':_0x1ed8bb,'geometry':this['geometry'],'attributeLocations':this[_0x3f89f8(0x1de)],'bufferUsage':_0x2ab937[_0x3f89f8(0x1b6)][_0x3f89f8(0x127)]}),_0x45b4e3=_0x2ab937[_0x3f89f8(0x124)]['fromCache']({'context':_0x1ed8bb,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this['vertexShaderSource'],'fragmentShaderSource':this[_0x3f89f8(0xb1)]}),_0x42768a=_0x2ab937[_0x3f89f8(0x9e)][_0x3f89f8(0x15c)](this['rawRenderState']);return new _0x2ab937[(_0x3f89f8(0xb4))]({'owner':this,'vertexArray':_0x28301f,'primitiveType':this['primitiveType'],'uniformMap':this[_0x3f89f8(0x163)],'modelMatrix':_0x2ab937[_0x3f89f8(0x171)][_0x3f89f8(0x1d6)],'shaderProgram':_0x45b4e3,'framebuffer':this['framebuffer'],'renderState':_0x42768a,'pass':_0x2ab937[_0x3f89f8(0xc0)][_0x3f89f8(0x151)]});case _0x3f89f8(0x206):return new _0x2ab937[(_0x3f89f8(0x8c))]({'owner':this,'fragmentShaderSource':this['fragmentShaderSource'],'uniformMap':this[_0x3f89f8(0x163)],'outputTexture':this[_0x3f89f8(0x1f7)],'persists':!0x0});}}},{'key':_0xcfd6f1(0x17c),'value':function(_0x238745,_0x9f031d){var _0x43afc2=_0xcfd6f1;this[_0x43afc2(0xb8)]=_0x9f031d;var _0x2d82ff=_0x2ab937[_0x43afc2(0xb2)]['fromGeometry']({'context':_0x238745,'geometry':this[_0x43afc2(0xb8)],'attributeLocations':this[_0x43afc2(0x1de)],'bufferUsage':_0x2ab937[_0x43afc2(0x1b6)][_0x43afc2(0x127)]});this['commandToExecute'][_0x43afc2(0xbf)]=_0x2d82ff;}},{'key':'update','value':function(_0x4686eb){var _0x3415c3=_0xcfd6f1;this[_0x3415c3(0x1f0)]&&_0x4686eb[_0x3415c3(0x1ae)]==_0x2ab937[_0x3415c3(0x150)][_0x3415c3(0xd5)]&&(_0x2ab937[_0x3415c3(0x1e1)](this[_0x3415c3(0x136)])||(this[_0x3415c3(0x136)]=this[_0x3415c3(0xe9)](_0x4686eb[_0x3415c3(0x18f)])),_0x2ab937[_0x3415c3(0x1e1)](this[_0x3415c3(0x1a9)])&&this[_0x3415c3(0x1a9)](),_0x2ab937[_0x3415c3(0x1e1)](this[_0x3415c3(0xd7)])&&_0x4686eb[_0x3415c3(0x91)][_0x3415c3(0x1a5)](this['clearCommand']),_0x4686eb[_0x3415c3(0x91)][_0x3415c3(0x1a5)](this['commandToExecute']));}},{'key':_0xcfd6f1(0x101),'value':function(){return!0x1;}},{'key':'destroy','value':function(){var _0x2ce9f6=_0xcfd6f1;return _0x2ab937[_0x2ce9f6(0x1e1)](this[_0x2ce9f6(0x136)])&&(this[_0x2ce9f6(0x136)][_0x2ce9f6(0x97)]=this[_0x2ce9f6(0x136)]['shaderProgram']&&this[_0x2ce9f6(0x136)][_0x2ce9f6(0x97)][_0x2ce9f6(0x1ee)]()),_0x2ab937[_0x2ce9f6(0x16f)](this);}}]),_0x2bb317;}(),_0x1151f0={'getFullscreenQuad':function(){var _0x13cb72=_0x3e7117;return new _0x2ab937[(_0x13cb72(0x166))]({'attributes':new _0x2ab937[(_0x13cb72(0x197))]({'position':new _0x2ab937[(_0x13cb72(0x1f8))]({'componentDatatype':_0x2ab937['ComponentDatatype'][_0x13cb72(0xa0)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x2ab937[(_0x13cb72(0x1f8))]({'componentDatatype':_0x2ab937['ComponentDatatype'][_0x13cb72(0xa0)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x4d2a29,_0xdbea66){var _0x41be95=_0x3e7117;if(_0x2ab937[_0x41be95(0x1e1)](_0xdbea66)){var _0x1d5593={};_0x1d5593[_0x41be95(0x1c0)]=_0xdbea66,_0x4d2a29[_0x41be95(0xde)]=_0x1d5593;}return new _0x2ab937[(_0x41be95(0xa3))](_0x4d2a29);},'createFramebuffer':function(_0x57a7b3,_0x4a7290,_0x582bc4){var _0xa8521e=_0x3e7117;return new _0x2ab937[(_0xa8521e(0x18b))]({'context':_0x57a7b3,'colorTextures':[_0x4a7290],'depthTexture':_0x582bc4});},'createRawRenderState':function(_0x2d4af9){var _0x2bd80f=_0x3e7117,_0x3378f6={'viewport':_0x2d4af9['viewport'],'depthTest':_0x2d4af9[_0x2bd80f(0x1cf)],'depthMask':_0x2d4af9[_0x2bd80f(0xfd)],'blending':_0x2d4af9[_0x2bd80f(0x1f3)]};return _0x2ab937[_0x2bd80f(0xff)]['getDefaultRenderState'](!0x0,!0x1,_0x3378f6);},'viewRectangleToLonLatRange':function(_0x5838be){var _0x340d15=_0x3e7117,_0x5f4929,_0x397d3f,_0x3d10b2={},_0x345479=_0x2ab937['Math'][_0x340d15(0xc6)](_0x5838be[_0x340d15(0x1a7)],_0x2ab937[_0x340d15(0xa6)]['TWO_PI']),_0x29feb6=_0x2ab937['Math']['mod'](_0x5838be[_0x340d15(0x126)],_0x2ab937['Math']['TWO_PI']),_0xaf735b=_0x5838be[_0x340d15(0x16e)];_0xaf735b>_0x2ab937[_0x340d15(0xa6)][_0x340d15(0x1df)]?(_0x5f4929=0x0,_0x397d3f=_0x2ab937[_0x340d15(0xa6)][_0x340d15(0xe2)]):_0x29feb6-_0x345479<_0xaf735b?(_0x5f4929=_0x345479,_0x397d3f=_0x345479+_0xaf735b):(_0x5f4929=_0x345479,_0x397d3f=_0x29feb6),_0x3d10b2[_0x340d15(0x188)]={'min':_0x2ab937[_0x340d15(0xa6)][_0x340d15(0x1dd)](_0x5f4929),'max':_0x2ab937['Math'][_0x340d15(0x1dd)](_0x397d3f)};var _0x3fb94f=_0x5838be['south'],_0x557991=_0x5838be[_0x340d15(0x170)],_0x59b4b0=_0x5838be[_0x340d15(0x1b9)],_0x3824b3=_0x59b4b0>_0x2ab937[_0x340d15(0xa6)]['PI']/0xc?_0x59b4b0/0x2:0x0,_0x3d01c6=_0x2ab937[_0x340d15(0xa6)][_0x340d15(0xa2)](_0x3fb94f-_0x3824b3),_0x516bfa=_0x2ab937[_0x340d15(0xa6)][_0x340d15(0xa2)](_0x557991+_0x3824b3);return _0x3d01c6<-_0x2ab937[_0x340d15(0xa6)][_0x340d15(0x1ea)]&&(_0x3d01c6=-_0x2ab937[_0x340d15(0xa6)][_0x340d15(0x196)]),_0x516bfa>_0x2ab937['Math'][_0x340d15(0x1ea)]&&(_0x516bfa=_0x2ab937['Math']['PI_OVER_TWO']),_0x3d10b2['lat']={'min':_0x2ab937['Math'][_0x340d15(0x1dd)](_0x3d01c6),'max':_0x2ab937[_0x340d15(0xa6)][_0x340d15(0x1dd)](_0x516bfa)},_0x3d10b2;}},_0x24f03b=_0x306f16(0x8),_0x217c95=_0x306f16['n'](_0x24f03b),_0x5efd59=_0x306f16(0x9),_0x4891e8=_0x306f16['n'](_0x5efd59),_0x2ad2ba=_0x306f16(0x7),_0x20a5df=_0x306f16['n'](_0x2ad2ba),_0x18973c=_0x306f16(0xa),_0x465c3a=_0x306f16['n'](_0x18973c),_0x12ecc7=_0x306f16(0xb),_0x4b6c20=_0x306f16['n'](_0x12ecc7),_0x5341cc=function(){var _0x2cd09a=_0x3e7117;function _0x172c62(_0x4524f9,_0x43bff5,_0x36e451,_0x48a287,_0x52d656){var _0x5c5c38=a0_0x1db2;_0xe8454()(this,_0x172c62),this['createRenderingTextures'](_0x4524f9,_0x43bff5),this['createRenderingFramebuffers'](_0x4524f9),this[_0x5c5c38(0xb3)](_0x4524f9,_0x36e451,_0x48a287,_0x52d656);}return _0x4d2ebb()(_0x172c62,[{'key':_0x2cd09a(0x122),'value':function(_0x4ccdfd,_0x42c61a){var _0x5a38a4=_0x2cd09a,_0x2c2205={'context':_0x4ccdfd,'width':_0x4ccdfd[_0x5a38a4(0x15d)],'height':_0x4ccdfd[_0x5a38a4(0x1fb)],'pixelFormat':_0x2ab937['PixelFormat'][_0x5a38a4(0x169)],'pixelDatatype':_0x2ab937[_0x5a38a4(0x1b3)][_0x5a38a4(0x205)]},_0x272142={'context':_0x4ccdfd,'width':_0x4ccdfd[_0x5a38a4(0x15d)],'height':_0x4ccdfd[_0x5a38a4(0x1fb)],'pixelFormat':_0x2ab937[_0x5a38a4(0x1bc)]['DEPTH_COMPONENT'],'pixelDatatype':_0x2ab937[_0x5a38a4(0x1b3)][_0x5a38a4(0x107)]},_0x40f91c={'context':_0x4ccdfd,'width':_0x42c61a[_0x5a38a4(0x1e7)][_0x5a38a4(0x189)],'height':0x1,'pixelFormat':_0x2ab937[_0x5a38a4(0x1bc)][_0x5a38a4(0x1e2)],'pixelDatatype':_0x2ab937[_0x5a38a4(0x1b3)][_0x5a38a4(0xa0)],'sampler':new _0x2ab937['Sampler']({'minificationFilter':_0x2ab937[_0x5a38a4(0x1dc)][_0x5a38a4(0xef)],'magnificationFilter':_0x2ab937[_0x5a38a4(0x11c)][_0x5a38a4(0xef)]})};this[_0x5a38a4(0x130)]={'segmentsColor':_0x1151f0[_0x5a38a4(0x157)](_0x2c2205),'segmentsDepth':_0x1151f0['createTexture'](_0x272142),'currentTrailsColor':_0x1151f0['createTexture'](_0x2c2205),'currentTrailsDepth':_0x1151f0[_0x5a38a4(0x157)](_0x272142),'nextTrailsColor':_0x1151f0[_0x5a38a4(0x157)](_0x2c2205),'nextTrailsDepth':_0x1151f0[_0x5a38a4(0x157)](_0x272142),'colorTable':_0x1151f0[_0x5a38a4(0x157)](_0x40f91c,_0x42c61a[_0x5a38a4(0x1e7)][_0x5a38a4(0x113)])};}},{'key':_0x2cd09a(0x10f),'value':function(_0x454bcf){var _0x55639e=_0x2cd09a;this[_0x55639e(0x148)]={'segments':_0x1151f0[_0x55639e(0x1c9)](_0x454bcf,this[_0x55639e(0x130)][_0x55639e(0xfa)],this['textures'][_0x55639e(0xf8)]),'currentTrails':_0x1151f0['createFramebuffer'](_0x454bcf,this[_0x55639e(0x130)][_0x55639e(0x1a4)],this[_0x55639e(0x130)][_0x55639e(0x16c)]),'nextTrails':_0x1151f0[_0x55639e(0x1c9)](_0x454bcf,this[_0x55639e(0x130)][_0x55639e(0x115)],this['textures'][_0x55639e(0x13e)])};}},{'key':_0x2cd09a(0x1b8),'value':function(_0x2563a9){var _0x17e35f=_0x2cd09a;for(var _0x5adf6f=[],_0x5ad85f=0x0;_0x5ad85f<_0x2563a9[_0x17e35f(0x1fd)];_0x5ad85f++)for(var _0x488b6d=0x0;_0x488b6d<_0x2563a9[_0x17e35f(0x1fd)];_0x488b6d++)for(var _0x487676=0x0;_0x487676<0x4;_0x487676++)_0x5adf6f[_0x17e35f(0x1a5)](_0x5ad85f/_0x2563a9[_0x17e35f(0x1fd)]),_0x5adf6f[_0x17e35f(0x1a5)](_0x488b6d/_0x2563a9[_0x17e35f(0x1fd)]);_0x5adf6f=new Float32Array(_0x5adf6f);for(var _0x14d8f4=[],_0x11de20=[-0x1,0x1],_0x31a16f=[-0x1,0x1],_0x28590b=0x0;_0x28590b<_0x2563a9[_0x17e35f(0x1ff)];_0x28590b++)for(var _0x301b8f=0x0;_0x301b8f<0x2;_0x301b8f++)for(var _0x1e5aee=0x0;_0x1e5aee<0x2;_0x1e5aee++)_0x14d8f4[_0x17e35f(0x1a5)](_0x11de20[_0x301b8f]),_0x14d8f4[_0x17e35f(0x1a5)](_0x31a16f[_0x1e5aee]),_0x14d8f4[_0x17e35f(0x1a5)](0x0);_0x14d8f4=new Float32Array(_0x14d8f4);for(var _0x22545f=0x6*_0x2563a9[_0x17e35f(0x1ff)],_0x3199fa=new Uint32Array(_0x22545f),_0x425c93=0x0,_0x172a82=0x0,_0x297d39=0x0;_0x425c93<_0x2563a9[_0x17e35f(0x1ff)];_0x425c93++)_0x3199fa[_0x172a82++]=_0x297d39+0x0,_0x3199fa[_0x172a82++]=_0x297d39+0x1,_0x3199fa[_0x172a82++]=_0x297d39+0x2,_0x3199fa[_0x172a82++]=_0x297d39+0x2,_0x3199fa[_0x172a82++]=_0x297d39+0x1,_0x3199fa[_0x172a82++]=_0x297d39+0x3,_0x297d39+=0x4;return new _0x2ab937[(_0x17e35f(0x166))]({'attributes':new _0x2ab937[(_0x17e35f(0x197))]({'st':new _0x2ab937['GeometryAttribute']({'componentDatatype':_0x2ab937[_0x17e35f(0x10e)][_0x17e35f(0xa0)],'componentsPerAttribute':0x2,'values':_0x5adf6f}),'normal':new _0x2ab937[(_0x17e35f(0x1f8))]({'componentDatatype':_0x2ab937[_0x17e35f(0x10e)][_0x17e35f(0xa0)],'componentsPerAttribute':0x3,'values':_0x14d8f4})}),'indices':_0x3199fa});}},{'key':_0x2cd09a(0xb3),'value':function(_0x378e0f,_0xe7185e,_0x2602a9,_0x248f3f){var _0x2fe471=_0x2cd09a,_0x5b63a3=this;this['primitives']={'segments':new _0x176d6b({'commandType':'Draw','attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0xe7185e),'primitiveType':_0x2ab937['PrimitiveType'][_0x2fe471(0x186)],'uniformMap':{'currentParticlesPosition':function(){var _0x166e4e=_0x2fe471;return _0x248f3f[_0x166e4e(0x146)][_0x166e4e(0xf7)];},'postProcessingPosition':function(){var _0x2b687e=_0x2fe471;return _0x248f3f['particlesTextures'][_0x2b687e(0x1d3)];},'postProcessingSpeed':function(){var _0x41b203=_0x2fe471;return _0x248f3f[_0x41b203(0x146)]['postProcessingSpeed'];},'colorTable':function(){var _0x1dfaa2=_0x2fe471;return _0x5b63a3[_0x1dfaa2(0x130)][_0x1dfaa2(0x1e7)];},'aspect':function(){var _0x4ce7dc=_0x2fe471;return _0x378e0f[_0x4ce7dc(0x15d)]/_0x378e0f[_0x4ce7dc(0x1fb)];},'pixelSize':function(){var _0x4cbf67=_0x2fe471;return _0x2602a9[_0x4cbf67(0xc7)];},'lineWidth':function(){var _0x69641=_0x2fe471;return _0xe7185e[_0x69641(0xb5)];},'particleHeight':function(){return _0xe7185e['particleHeight'];}},'vertexShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'sources':[_0x217c95['a']]}),'fragmentShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'sources':[_0x4891e8['a']]}),'rawRenderState':_0x1151f0[_0x2fe471(0x16d)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x2fe471(0x12c)],'autoClear':!0x0}),'trails':new _0x176d6b({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1151f0[_0x2fe471(0xb7)](),'primitiveType':_0x2ab937[_0x2fe471(0x1ba)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){var _0x257e45=_0x2fe471;return _0x5b63a3[_0x257e45(0x130)]['segmentsColor'];},'segmentsDepthTexture':function(){var _0x59d573=_0x2fe471;return _0x5b63a3[_0x59d573(0x130)][_0x59d573(0xf8)];},'currentTrailsColor':function(){var _0x5da6c2=_0x2fe471;return _0x5b63a3[_0x5da6c2(0x148)][_0x5da6c2(0x158)][_0x5da6c2(0x1f4)](0x0);},'trailsDepthTexture':function(){var _0xa16d6c=_0x2fe471;return _0x5b63a3[_0xa16d6c(0x148)][_0xa16d6c(0x158)]['depthTexture'];},'fadeOpacity':function(){return _0xe7185e['fadeOpacity'];}},'vertexShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'defines':['DISABLE_GL_POSITION_LOG_DEPTH'],'sources':[_0x20a5df['a']]}),'fragmentShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'defines':[_0x2fe471(0xb9)],'sources':[_0x465c3a['a']]}),'rawRenderState':_0x1151f0[_0x2fe471(0x16d)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x2ab937[_0x2fe471(0x103)][_0x2fe471(0xce)]},'depthMask':!0x0}),'framebuffer':this[_0x2fe471(0x148)]['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x20005b=_0x2fe471,_0x808a97;_0x808a97=_0x5b63a3[_0x20005b(0x148)]['currentTrails'],_0x5b63a3[_0x20005b(0x148)]['currentTrails']=_0x5b63a3[_0x20005b(0x148)][_0x20005b(0x10c)],_0x5b63a3[_0x20005b(0x148)]['nextTrails']=_0x808a97,_0x5b63a3[_0x20005b(0x198)]['trails'][_0x20005b(0x136)]['framebuffer']=_0x5b63a3[_0x20005b(0x148)][_0x20005b(0x10c)],_0x5b63a3['primitives']['trails']['clearCommand'][_0x20005b(0x167)]=_0x5b63a3[_0x20005b(0x148)][_0x20005b(0x10c)];}}),'screen':new _0x176d6b({'commandType':_0x2fe471(0xdb),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x1151f0[_0x2fe471(0xb7)](),'primitiveType':_0x2ab937[_0x2fe471(0x1ba)][_0x2fe471(0x186)],'uniformMap':{'trailsColorTexture':function(){var _0x37b639=_0x2fe471;return _0x5b63a3['framebuffers']['nextTrails'][_0x37b639(0x1f4)](0x0);},'trailsDepthTexture':function(){var _0x3c3252=_0x2fe471;return _0x5b63a3[_0x3c3252(0x148)][_0x3c3252(0x10c)]['depthTexture'];}},'vertexShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'defines':[_0x2fe471(0xc4)],'sources':[_0x20a5df['a']]}),'fragmentShaderSource':new _0x2ab937[(_0x2fe471(0xa9))]({'defines':[_0x2fe471(0xb9)],'sources':[_0x4b6c20['a']]}),'rawRenderState':_0x1151f0['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x172c62;}(),_0x177953=_0x306f16(0xc),_0x22c28f=_0x306f16['n'](_0x177953),_0x1fcdca=_0x306f16(0xd),_0x1a86df=_0x306f16['n'](_0x1fcdca),_0x3c2158=_0x306f16(0xe),_0x2ce942=_0x306f16['n'](_0x3c2158),_0x431167=_0x306f16(0xf),_0x232f6a=_0x306f16['n'](_0x431167),_0x1d694f=_0x306f16(0x10),_0x5d31b8=_0x306f16['n'](_0x1d694f),_0x51666d=function(){var _0x353351=_0x3e7117;function _0x51fcb3(_0x188161,_0x3aceca,_0x4dd7fa,_0x1b254c){var _0x117fbe=a0_0x1db2;_0xe8454()(this,_0x51fcb3),this[_0x117fbe(0xa8)]=_0x3aceca,this['createWindTextures'](_0x188161,_0x3aceca),this[_0x117fbe(0x10a)](_0x188161,_0x4dd7fa,_0x1b254c),this[_0x117fbe(0x184)](_0x3aceca,_0x4dd7fa,_0x1b254c);}return _0x4d2ebb()(_0x51fcb3,[{'key':_0x353351(0x1ca),'value':function(_0x3d1c9b,_0x189037){var _0x5de59f=_0x353351,_0x413885={'context':_0x3d1c9b,'width':_0x189037[_0x5de59f(0xf3)][_0x5de59f(0x188)],'height':_0x189037['dimensions'][_0x5de59f(0x18a)]*_0x189037[_0x5de59f(0xf3)][_0x5de59f(0x1d5)],'pixelFormat':_0x2ab937['PixelFormat'][_0x5de59f(0x14a)],'pixelDatatype':_0x2ab937[_0x5de59f(0x1b3)][_0x5de59f(0xa0)],'flipY':!0x1,'sampler':new _0x2ab937[(_0x5de59f(0x104))]({'minificationFilter':_0x2ab937[_0x5de59f(0x1dc)]['NEAREST'],'magnificationFilter':_0x2ab937[_0x5de59f(0x11c)][_0x5de59f(0xa7)]})};this[_0x5de59f(0x17b)]={'U':_0x1151f0[_0x5de59f(0x157)](_0x413885,_0x189037['U'][_0x5de59f(0x113)]),'V':_0x1151f0[_0x5de59f(0x157)](_0x413885,_0x189037['V'][_0x5de59f(0x113)])};}},{'key':_0x353351(0x10a),'value':function(_0x4e93b3,_0x319bd2,_0x4af946){var _0x18610f=_0x353351,_0x28a4fb={'context':_0x4e93b3,'width':_0x319bd2[_0x18610f(0x1fd)],'height':_0x319bd2[_0x18610f(0x1fd)],'pixelFormat':_0x2ab937[_0x18610f(0x1bc)][_0x18610f(0x169)],'pixelDatatype':_0x2ab937[_0x18610f(0x1b3)][_0x18610f(0xa0)],'flipY':!0x1,'sampler':new _0x2ab937[(_0x18610f(0x104))]({'minificationFilter':_0x2ab937[_0x18610f(0x1dc)][_0x18610f(0xa7)],'magnificationFilter':_0x2ab937[_0x18610f(0x11c)][_0x18610f(0xa7)]})},_0x55aec0=this[_0x18610f(0x95)](_0x319bd2[_0x18610f(0x1ff)],_0x4af946),_0x20a9b4=new Float32Array(0x4*_0x319bd2['maxParticles'])['fill'](0x0);this[_0x18610f(0x146)]={'particlesWind':_0x1151f0['createTexture'](_0x28a4fb),'currentParticlesPosition':_0x1151f0['createTexture'](_0x28a4fb,_0x55aec0),'nextParticlesPosition':_0x1151f0['createTexture'](_0x28a4fb,_0x55aec0),'currentParticlesSpeed':_0x1151f0[_0x18610f(0x157)](_0x28a4fb,_0x20a9b4),'nextParticlesSpeed':_0x1151f0['createTexture'](_0x28a4fb,_0x20a9b4),'postProcessingPosition':_0x1151f0[_0x18610f(0x157)](_0x28a4fb,_0x55aec0),'postProcessingSpeed':_0x1151f0['createTexture'](_0x28a4fb,_0x20a9b4)};}},{'key':_0x353351(0x95),'value':function(_0x3b46d3,_0x3f7c46){var _0x38c6dc=_0x353351;for(var _0x4b70d5=new Float32Array(0x4*_0x3b46d3),_0x2b2067=0x0;_0x2b2067<_0x3b46d3;_0x2b2067++)_0x4b70d5[0x4*_0x2b2067]=_0x2ab937[_0x38c6dc(0xa6)][_0x38c6dc(0xd2)](_0x3f7c46[_0x38c6dc(0x1c8)]['x'],_0x3f7c46['lonRange']['y']),_0x4b70d5[0x4*_0x2b2067+0x1]=_0x2ab937['Math']['randomBetween'](_0x3f7c46[_0x38c6dc(0x8a)]['x'],_0x3f7c46['latRange']['y']),_0x4b70d5[0x4*_0x2b2067+0x2]=_0x2ab937[_0x38c6dc(0xa6)]['randomBetween'](this[_0x38c6dc(0xa8)][_0x38c6dc(0x1d5)][_0x38c6dc(0x131)],this[_0x38c6dc(0xa8)][_0x38c6dc(0x1d5)]['max']),_0x4b70d5[0x4*_0x2b2067+0x3]=0x0;return _0x4b70d5;}},{'key':_0x353351(0x96),'value':function(){var _0x3d7c5b=_0x353351,_0x3bd8c3=this;Object[_0x3d7c5b(0x19e)](this[_0x3d7c5b(0x146)])['forEach'](function(_0x5e00c1){var _0x1439e5=_0x3d7c5b;_0x3bd8c3[_0x1439e5(0x146)][_0x5e00c1][_0x1439e5(0x1ee)]();});}},{'key':_0x353351(0x184),'value':function(_0x1d335c,_0x147ea7,_0x3e8785){var _0x4328d6=_0x353351,_0x556f90=new _0x2ab937['Cartesian3'](_0x1d335c['dimensions'][_0x4328d6(0x188)],_0x1d335c[_0x4328d6(0xf3)]['lat'],_0x1d335c[_0x4328d6(0xf3)]['lev']),_0x441617=new _0x2ab937[(_0x4328d6(0xb6))](_0x1d335c['lon']['min'],_0x1d335c[_0x4328d6(0x18a)][_0x4328d6(0x131)],_0x1d335c[_0x4328d6(0x1d5)][_0x4328d6(0x131)]),_0x3adc54=new _0x2ab937[(_0x4328d6(0xb6))](_0x1d335c[_0x4328d6(0x188)][_0x4328d6(0xd8)],_0x1d335c[_0x4328d6(0x18a)][_0x4328d6(0xd8)],_0x1d335c[_0x4328d6(0x1d5)][_0x4328d6(0xd8)]),_0x1606c1=new _0x2ab937[(_0x4328d6(0xb6))]((_0x3adc54['x']-_0x441617['x'])/(_0x556f90['x']-0x1),(_0x3adc54['y']-_0x441617['y'])/(_0x556f90['y']-0x1),_0x556f90['z']>0x1?(_0x3adc54['z']-_0x441617['z'])/(_0x556f90['z']-0x1):0x1),_0x30d6d=new _0x2ab937[(_0x4328d6(0x143))](_0x1d335c['U']['min'],_0x1d335c['U'][_0x4328d6(0xd8)]),_0x395099=new _0x2ab937['Cartesian2'](_0x1d335c['V']['min'],_0x1d335c['V'][_0x4328d6(0xd8)]),_0x2f4a62=this;this[_0x4328d6(0x198)]={'getWind':new _0x176d6b({'commandType':_0x4328d6(0x206),'uniformMap':{'U':function(){var _0x5ae138=_0x4328d6;return _0x2f4a62[_0x5ae138(0x17b)]['U'];},'V':function(){var _0x2863c4=_0x4328d6;return _0x2f4a62[_0x2863c4(0x17b)]['V'];},'currentParticlesPosition':function(){var _0x2ad83c=_0x4328d6;return _0x2f4a62[_0x2ad83c(0x146)]['currentParticlesPosition'];},'dimension':function(){return _0x556f90;},'minimum':function(){return _0x441617;},'maximum':function(){return _0x3adc54;},'interval':function(){return _0x1606c1;}},'fragmentShaderSource':new _0x2ab937[(_0x4328d6(0xa9))]({'sources':[_0x22c28f['a']]}),'outputTexture':this[_0x4328d6(0x146)][_0x4328d6(0x17e)],'preExecute':function(){var _0x14baa5=_0x4328d6;_0x2f4a62[_0x14baa5(0x198)][_0x14baa5(0x18c)][_0x14baa5(0x136)][_0x14baa5(0x1f7)]=_0x2f4a62[_0x14baa5(0x146)]['particlesWind'];}}),'updateSpeed':new _0x176d6b({'commandType':'Compute','uniformMap':{'currentParticlesSpeed':function(){var _0x56611a=_0x4328d6;return _0x2f4a62[_0x56611a(0x146)]['currentParticlesSpeed'];},'particlesWind':function(){var _0x36b390=_0x4328d6;return _0x2f4a62[_0x36b390(0x146)][_0x36b390(0x17e)];},'uSpeedRange':function(){return _0x30d6d;},'vSpeedRange':function(){return _0x395099;},'pixelSize':function(){return _0x3e8785['pixelSize'];},'speedFactor':function(){var _0x3e30cc=_0x4328d6;return _0x147ea7[_0x3e30cc(0x194)];}},'fragmentShaderSource':new _0x2ab937[(_0x4328d6(0xa9))]({'sources':[_0x1a86df['a']]}),'outputTexture':this[_0x4328d6(0x146)][_0x4328d6(0x133)],'preExecute':function(){var _0x4482eb=_0x4328d6,_0x2b0020;_0x2b0020=_0x2f4a62[_0x4482eb(0x146)][_0x4482eb(0x99)],_0x2f4a62[_0x4482eb(0x146)][_0x4482eb(0x99)]=_0x2f4a62['particlesTextures'][_0x4482eb(0xd0)],_0x2f4a62[_0x4482eb(0x146)][_0x4482eb(0xd0)]=_0x2b0020,_0x2f4a62[_0x4482eb(0x198)]['updateSpeed'][_0x4482eb(0x136)][_0x4482eb(0x1f7)]=_0x2f4a62[_0x4482eb(0x146)][_0x4482eb(0x133)];}}),'updatePosition':new _0x176d6b({'commandType':_0x4328d6(0x206),'uniformMap':{'currentParticlesPosition':function(){var _0x5c950c=_0x4328d6;return _0x2f4a62[_0x5c950c(0x146)][_0x5c950c(0xf7)];},'currentParticlesSpeed':function(){var _0xca6b35=_0x4328d6;return _0x2f4a62['particlesTextures'][_0xca6b35(0x99)];}},'fragmentShaderSource':new _0x2ab937[(_0x4328d6(0xa9))]({'sources':[_0x2ce942['a']]}),'outputTexture':this[_0x4328d6(0x146)][_0x4328d6(0x1fe)],'preExecute':function(){var _0x34abac=_0x4328d6,_0x392f44;_0x392f44=_0x2f4a62[_0x34abac(0x146)]['currentParticlesPosition'],_0x2f4a62[_0x34abac(0x146)][_0x34abac(0xf7)]=_0x2f4a62[_0x34abac(0x146)][_0x34abac(0x1d3)],_0x2f4a62[_0x34abac(0x146)][_0x34abac(0x1d3)]=_0x392f44,_0x2f4a62[_0x34abac(0x198)]['updatePosition']['commandToExecute'][_0x34abac(0x1f7)]=_0x2f4a62[_0x34abac(0x146)]['nextParticlesPosition'];}}),'postProcessingPosition':new _0x176d6b({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){var _0x188cb3=_0x4328d6;return _0x2f4a62['particlesTextures'][_0x188cb3(0x1fe)];},'nextParticlesSpeed':function(){var _0x13fc4b=_0x4328d6;return _0x2f4a62['particlesTextures'][_0x13fc4b(0x133)];},'lonRange':function(){return _0x3e8785['lonRange'];},'latRange':function(){var _0x28ae26=_0x4328d6;return _0x3e8785[_0x28ae26(0x8a)];},'randomCoefficient':function(){var _0x5645cc=_0x4328d6,_0x23f200=Math[_0x5645cc(0xb0)]();return _0x23f200;},'dropRate':function(){var _0x4b5e1d=_0x4328d6;return _0x147ea7[_0x4b5e1d(0x1cb)];},'dropRateBump':function(){var _0x58b59d=_0x4328d6;return _0x147ea7[_0x58b59d(0x1b0)];}},'fragmentShaderSource':new _0x2ab937['ShaderSource']({'sources':[_0x232f6a['a']]}),'outputTexture':this[_0x4328d6(0x146)][_0x4328d6(0x1d3)],'preExecute':function(){var _0x53b440=_0x4328d6;_0x2f4a62[_0x53b440(0x198)][_0x53b440(0x1d3)]['commandToExecute'][_0x53b440(0x1f7)]=_0x2f4a62['particlesTextures'][_0x53b440(0x1d3)];}}),'postProcessingSpeed':new _0x176d6b({'commandType':_0x4328d6(0x206),'uniformMap':{'postProcessingPosition':function(){var _0x5e95ea=_0x4328d6;return _0x2f4a62[_0x5e95ea(0x146)]['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0x4d15eb=_0x4328d6;return _0x2f4a62[_0x4d15eb(0x146)][_0x4d15eb(0x133)];}},'fragmentShaderSource':new _0x2ab937['ShaderSource']({'sources':[_0x5d31b8['a']]}),'outputTexture':this[_0x4328d6(0x146)][_0x4328d6(0xd0)],'preExecute':function(){var _0x5c131b=_0x4328d6;_0x2f4a62[_0x5c131b(0x198)][_0x5c131b(0xd0)][_0x5c131b(0x136)][_0x5c131b(0x1f7)]=_0x2f4a62[_0x5c131b(0x146)][_0x5c131b(0xd0)];}})};}}]),_0x51fcb3;}(),_0x6cad0b=function(){var _0x1197c4=_0x3e7117;function _0x368af6(_0x357d23,_0x530bd0,_0x4d776e,_0x22026a){var _0x205907=a0_0x1db2;_0xe8454()(this,_0x368af6),this['context']=_0x357d23,this[_0x205907(0xa8)]=_0x530bd0,this[_0x205907(0x1b2)]=_0x4d776e,this[_0x205907(0x1d4)]=_0x22026a,this[_0x205907(0x187)]=new _0x51666d(this[_0x205907(0x18f)],this['data'],this['userInput'],this[_0x205907(0x1d4)]),this[_0x205907(0xf5)]=new _0x5341cc(this[_0x205907(0x18f)],this['data'],this['userInput'],this[_0x205907(0x1d4)],this[_0x205907(0x187)]);}return _0x4d2ebb()(_0x368af6,[{'key':_0x1197c4(0x94),'value':function(_0x162523){var _0x3559aa=_0x1197c4,_0xdacaee=this;this[_0x3559aa(0x187)][_0x3559aa(0x96)](),Object[_0x3559aa(0x19e)](this[_0x3559aa(0x187)][_0x3559aa(0x17b)])[_0x3559aa(0x13f)](function(_0x59c8a4){var _0x388947=_0x3559aa;_0xdacaee[_0x388947(0x187)][_0x388947(0x17b)][_0x59c8a4][_0x388947(0x1ee)]();}),this[_0x3559aa(0xf5)][_0x3559aa(0x130)][_0x3559aa(0x1e7)][_0x3559aa(0x1ee)](),Object[_0x3559aa(0x19e)](this[_0x3559aa(0xf5)][_0x3559aa(0x148)])[_0x3559aa(0x13f)](function(_0x5b7a30){var _0x4bb307=_0x3559aa;_0xdacaee['particlesRendering'][_0x4bb307(0x148)][_0x5b7a30][_0x4bb307(0x1ee)]();}),this[_0x3559aa(0x18f)]=_0x162523,this['particlesComputing']=new _0x51666d(this[_0x3559aa(0x18f)],this[_0x3559aa(0xa8)],this[_0x3559aa(0x1b2)],this['viewerParameters']),this[_0x3559aa(0xf5)]=new _0x5341cc(this[_0x3559aa(0x18f)],this[_0x3559aa(0xa8)],this[_0x3559aa(0x1b2)],this[_0x3559aa(0x1d4)],this[_0x3559aa(0x187)]);}},{'key':_0x1197c4(0x1d9),'value':function(){var _0x267d69=_0x1197c4,_0x5a898c=this,_0x261557=new _0x2ab937['ClearCommand']({'color':new _0x2ab937[(_0x267d69(0x1ac))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x2ab937['Pass']['OPAQUE']});Object[_0x267d69(0x19e)](this[_0x267d69(0xf5)][_0x267d69(0x148)])[_0x267d69(0x13f)](function(_0x24ac50){var _0x4e1844=_0x267d69;_0x261557[_0x4e1844(0x167)]=_0x5a898c['particlesRendering'][_0x4e1844(0x148)][_0x24ac50],_0x261557['execute'](_0x5a898c[_0x4e1844(0x18f)]);});}},{'key':_0x1197c4(0xc9),'value':function(_0x3af228){var _0x1993d5=_0x1197c4;if(this[_0x1993d5(0x1d9)](),this[_0x1993d5(0x187)][_0x1993d5(0x96)](),this[_0x1993d5(0x187)][_0x1993d5(0x10a)](this[_0x1993d5(0x18f)],this[_0x1993d5(0x1b2)],this[_0x1993d5(0x1d4)]),_0x3af228){var _0x109e54=this[_0x1993d5(0xf5)][_0x1993d5(0x1b8)](this[_0x1993d5(0x1b2)]);this['particlesRendering'][_0x1993d5(0x198)][_0x1993d5(0x12c)]['geometry']=_0x109e54;var _0x5ee885=_0x2ab937[_0x1993d5(0xb2)][_0x1993d5(0xe5)]({'context':this[_0x1993d5(0x18f)],'geometry':_0x109e54,'attributeLocations':this[_0x1993d5(0xf5)][_0x1993d5(0x198)][_0x1993d5(0x12c)][_0x1993d5(0x1de)],'bufferUsage':_0x2ab937[_0x1993d5(0x1b6)][_0x1993d5(0x127)]});this[_0x1993d5(0xf5)][_0x1993d5(0x198)][_0x1993d5(0x12c)]['commandToExecute'][_0x1993d5(0xbf)]=_0x5ee885;}}},{'key':_0x1197c4(0x11b),'value':function(_0x101177){var _0x3c3d6d=_0x1197c4,_0x2d200e=this,_0x28e1b5=!0x1;this['userInput'][_0x3c3d6d(0x1ff)]!=_0x101177[_0x3c3d6d(0x1ff)]&&(_0x28e1b5=!0x0),Object['keys'](_0x101177)[_0x3c3d6d(0x13f)](function(_0x5974f2){var _0x3605ea=_0x3c3d6d;_0x2d200e[_0x3605ea(0x1b2)][_0x5974f2]=_0x101177[_0x5974f2];}),this[_0x3c3d6d(0xc9)](_0x28e1b5);}},{'key':_0x1197c4(0xe3),'value':function(_0x36e344){var _0x471e41=_0x1197c4,_0x5efea1=this;Object['keys'](_0x36e344)[_0x471e41(0x13f)](function(_0x1ae51d){var _0x5307e8=_0x471e41;_0x5efea1[_0x5307e8(0x1d4)][_0x1ae51d]=_0x36e344[_0x1ae51d];}),this[_0x471e41(0xc9)](!0x1);}}]),_0x368af6;}();function _0x4a1a3f(_0xb153b7){var _0x3f75f8=function(){var _0x5394b9=a0_0x1db2;if(_0x5394b9(0x1ad)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect['construct'][_0x5394b9(0x15b)])return!0x1;if(_0x5394b9(0x190)==typeof Proxy)return!0x0;try{return Boolean[_0x5394b9(0x8b)]['valueOf'][_0x5394b9(0x1f9)](Reflect[_0x5394b9(0x1c7)](Boolean,[],function(){})),!0x0;}catch(_0x504800){return!0x1;}}();return function(){var _0x1d1720=a0_0x1db2,_0x506fc0,_0x2e7451=_0x155bb1()(_0xb153b7);if(_0x3f75f8){var _0x5893af=_0x155bb1()(this)[_0x1d1720(0x191)];_0x506fc0=Reflect['construct'](_0x2e7451,arguments,_0x5893af);}else _0x506fc0=_0x2e7451[_0x1d1720(0xcc)](this,arguments);return _0x3214b3()(this,_0x506fc0);};}var _0x160415=_0x43c4a0[_0x3e7117(0x9b)][_0x3e7117(0x1e8)],_0xbdd4ba=0x1000,_0x4edfba=0x64,_0x373335=0.996,_0x547429=0.003,_0x6e82f9=0.01,_0x25a5dc=0.5,_0x4c66f9=0x2,_0x2f2d06=function(_0x1ea43c){var _0x447db2=_0x3e7117;_0x43b6f7()(_0x170389,_0x1ea43c);var _0x3cdf01=_0x4a1a3f(_0x170389);function _0x170389(){var _0xfb7a43=a0_0x1db2,_0x1269ea,_0x1078a3=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0xe8454()(this,_0x170389),(_0x1269ea=_0x3cdf01[_0xfb7a43(0x1f9)](this,_0x1078a3))[_0xfb7a43(0x1ff)]=_0xbdd4ba,_0x1269ea[_0xfb7a43(0x1d8)]=_0x4edfba,_0x1269ea[_0xfb7a43(0xe6)]=_0x373335,_0x1269ea[_0xfb7a43(0x1cb)]=_0x547429,_0x1269ea[_0xfb7a43(0x1b0)]=_0x6e82f9,_0x1269ea[_0xfb7a43(0x194)]=_0x25a5dc,_0x1269ea[_0xfb7a43(0xb5)]=_0x4c66f9,_0x1269ea[_0xfb7a43(0xec)](_0x1078a3),_0x1269ea;}return _0x4d2ebb()(_0x170389,[{'key':_0x447db2(0x9b),'get':function(){var _0x111329=_0x447db2;return this[_0x111329(0x198)];}},{'key':_0x447db2(0xec),'value':function(_0x512360){if(_0x512360){for(var _0x3ce430 in _0x512360)this[_0x3ce430]=_0x512360[_0x3ce430];}}},{'key':_0x447db2(0x1b5),'value':function(){}},{'key':_0x447db2(0x1a2),'value':function(){var _0x5618dc=_0x447db2;this['scene']=this[_0x5618dc(0x119)][_0x5618dc(0xa5)],this[_0x5618dc(0x14d)]=this[_0x5618dc(0x119)]['camera'],this['primitives']=new _0x2ab937[(_0x5618dc(0x100))](),this[_0x5618dc(0x119)][_0x5618dc(0xa5)][_0x5618dc(0x198)]['add'](this[_0x5618dc(0x198)]),this['viewerParameters']={'lonRange':new _0x2ab937[(_0x5618dc(0x143))](),'latRange':new _0x2ab937[(_0x5618dc(0x143))](),'pixelSize':0x0},this[_0x5618dc(0x11e)]=new _0x2ab937[(_0x5618dc(0x1f1))](_0x2ab937[_0x5618dc(0xb6)][_0x5618dc(0x19c)],6314355.63),this[_0x5618dc(0x1a1)](),window[_0x5618dc(0x195)]('resize',this[_0x5618dc(0x1ab)][_0x5618dc(0x8d)](this),!0x1),this[_0x5618dc(0x8f)]=!0x1,this[_0x5618dc(0x152)]=!0x1,this[_0x5618dc(0x119)]['on'](_0x43c4a0[_0x5618dc(0x174)][_0x5618dc(0xdc)],this[_0x5618dc(0x12f)],this),this['_map']['on'](_0x43c4a0[_0x5618dc(0x174)]['mouseDown'],this[_0x5618dc(0x168)],this),this[_0x5618dc(0x119)]['on'](_0x43c4a0[_0x5618dc(0x174)][_0x5618dc(0x1cc)],this[_0x5618dc(0x1bb)],this),this[_0x5618dc(0x119)]['on'](_0x43c4a0[_0x5618dc(0x174)][_0x5618dc(0x162)],this[_0x5618dc(0x1bf)],this);}},{'key':_0x447db2(0xae),'value':function(){var _0x57e3a4=_0x447db2;window[_0x57e3a4(0x1d1)](_0x57e3a4(0x1ab),this[_0x57e3a4(0x1ab)]),this[_0x57e3a4(0x119)]['off'](_0x43c4a0[_0x57e3a4(0x174)]['preRender'],this['_onMap_preRenderEvent'],this),this[_0x57e3a4(0x119)][_0x57e3a4(0xfc)](_0x43c4a0['EventType'][_0x57e3a4(0xdc)],this[_0x57e3a4(0x12f)],this),this['_map'][_0x57e3a4(0xfc)](_0x43c4a0[_0x57e3a4(0x174)][_0x57e3a4(0x154)],this[_0x57e3a4(0x168)],this),this['_map'][_0x57e3a4(0xfc)](_0x43c4a0[_0x57e3a4(0x174)][_0x57e3a4(0x1cc)],this[_0x57e3a4(0x1bb)],this),this[_0x57e3a4(0x119)][_0x57e3a4(0xfc)](_0x43c4a0['EventType'][_0x57e3a4(0x162)],this[_0x57e3a4(0x1bf)],this),this[_0x57e3a4(0x198)][_0x57e3a4(0x12d)](),this[_0x57e3a4(0x119)][_0x57e3a4(0xa5)][_0x57e3a4(0x198)][_0x57e3a4(0x18d)](this[_0x57e3a4(0x198)]);}},{'key':_0x447db2(0x1ab),'value':function(){var _0x17756f=_0x447db2;this['show']&&this[_0x17756f(0x19a)]&&(this[_0x17756f(0x198)]['show']=!0x1,this[_0x17756f(0x198)][_0x17756f(0x12d)](),this[_0x17756f(0x119)]['once'](_0x43c4a0[_0x17756f(0x174)][_0x17756f(0x1a6)],this['_onMap_preRenderEvent'],this));}},{'key':_0x447db2(0xe8),'value':function(_0x2bf767){var _0x30b0ba=_0x447db2;this['particleSystem'][_0x30b0ba(0x94)](this[_0x30b0ba(0xa5)][_0x30b0ba(0x18f)]),this['addPrimitives'](),this[_0x30b0ba(0x198)][_0x30b0ba(0x1f0)]=!0x0;}},{'key':_0x447db2(0x12f),'value':function(_0x1f7f8e){var _0x34e31b=_0x447db2,_0x2f4507=this;clearTimeout(this[_0x34e31b(0x1b7)]),this[_0x34e31b(0x1f0)]&&this['particleSystem']&&(this[_0x34e31b(0x198)][_0x34e31b(0x1f0)]=!0x1,this[_0x34e31b(0x1b7)]=setTimeout(function(){var _0x543440=_0x34e31b;_0x2f4507[_0x543440(0x1f0)]&&_0x2f4507[_0x543440(0xe4)]();},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x315ae9){var _0x4e121e=_0x447db2;this[_0x4e121e(0x8f)]=!0x0;}},{'key':_0x447db2(0x1bf),'value':function(_0x2afba7){var _0x410789=_0x447db2;this[_0x410789(0x1f0)]&&this['particleSystem']&&this[_0x410789(0x8f)]&&(this[_0x410789(0x198)][_0x410789(0x1f0)]=!0x1,this[_0x410789(0x152)]=!0x0);}},{'key':_0x447db2(0x1bb),'value':function(_0x1d564c){var _0x41d6c1=_0x447db2;this[_0x41d6c1(0x1f0)]&&this[_0x41d6c1(0x19a)]&&(this['mouse_down']&&this[_0x41d6c1(0x152)]&&this[_0x41d6c1(0xe4)](),this['primitives']['show']=!0x0,this[_0x41d6c1(0x8f)]=!0x1,this[_0x41d6c1(0x152)]=!0x1);}},{'key':_0x447db2(0xe4),'value':function(){var _0x4ba8d0=_0x447db2;this[_0x4ba8d0(0x119)]&&this[_0x4ba8d0(0x1f0)]&&(this[_0x4ba8d0(0x1a1)](),this[_0x4ba8d0(0x19a)][_0x4ba8d0(0xe3)](this[_0x4ba8d0(0x1d4)]),this[_0x4ba8d0(0x198)][_0x4ba8d0(0x1f0)]=!0x0);}},{'key':_0x447db2(0x1a0),'value':function(_0x583e6a){var _0x5b465c=_0x447db2;this[_0x5b465c(0x19a)]=new _0x6cad0b(this[_0x5b465c(0xa5)][_0x5b465c(0x18f)],_0x583e6a,this[_0x5b465c(0x17d)](),this[_0x5b465c(0x1d4)]),this[_0x5b465c(0x179)]();}},{'key':'setOptions','value':function(_0x2febe3){var _0x78a9ef=_0x447db2;if(_0x2febe3){for(var _0x1ab412 in _0x2febe3)this[_0x1ab412]=_0x2febe3[_0x1ab412];}return this[_0x78a9ef(0x19a)]&&this[_0x78a9ef(0x19a)][_0x78a9ef(0x11b)](this[_0x78a9ef(0x17d)]()),this;}},{'key':_0x447db2(0x17d),'value':function(){var _0x4b20ba=_0x447db2,_0x43bf80=Math[_0x4b20ba(0xea)](Math[_0x4b20ba(0xd6)](this[_0x4b20ba(0x1ff)]));return this[_0x4b20ba(0x1ff)]=_0x43bf80*_0x43bf80,{'particlesTextureSize':_0x43bf80,'maxParticles':this['maxParticles'],'particleHeight':this[_0x4b20ba(0x1d8)],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x4b20ba(0x1cb)],'dropRateBump':this[_0x4b20ba(0x1b0)],'speedFactor':this['speedFactor'],'lineWidth':this[_0x4b20ba(0xb5)],'globeLayer':this['globeLayer'],'WMS_URL':this['WMS_URL']};}},{'key':_0x447db2(0x179),'value':function(){var _0x5e2a66=_0x447db2;this['primitives'][_0x5e2a66(0xaa)](this['particleSystem'][_0x5e2a66(0x187)]['primitives'][_0x5e2a66(0x18c)]),this[_0x5e2a66(0x198)][_0x5e2a66(0xaa)](this['particleSystem'][_0x5e2a66(0x187)][_0x5e2a66(0x198)][_0x5e2a66(0x1f2)]),this['primitives'][_0x5e2a66(0xaa)](this[_0x5e2a66(0x19a)][_0x5e2a66(0x187)][_0x5e2a66(0x198)][_0x5e2a66(0x13d)]),this[_0x5e2a66(0x198)][_0x5e2a66(0xaa)](this['particleSystem'][_0x5e2a66(0x187)][_0x5e2a66(0x198)][_0x5e2a66(0x1d3)]),this[_0x5e2a66(0x198)][_0x5e2a66(0xaa)](this[_0x5e2a66(0x19a)][_0x5e2a66(0x187)][_0x5e2a66(0x198)]['postProcessingSpeed']),this['primitives']['add'](this[_0x5e2a66(0x19a)][_0x5e2a66(0xf5)][_0x5e2a66(0x198)]['segments']),this[_0x5e2a66(0x198)][_0x5e2a66(0xaa)](this[_0x5e2a66(0x19a)]['particlesRendering']['primitives'][_0x5e2a66(0xf6)]),this[_0x5e2a66(0x198)]['add'](this['particleSystem'][_0x5e2a66(0xf5)]['primitives'][_0x5e2a66(0x9a)]);}},{'key':'updateViewerParameters','value':function(){var _0x3a2a12=_0x447db2,_0x3eaf3f=this[_0x3a2a12(0x14d)]['computeViewRectangle'](this[_0x3a2a12(0xa5)][_0x3a2a12(0x121)][_0x3a2a12(0x19b)]);if(!_0x3eaf3f){var _0x53704b=this[_0x3a2a12(0x119)][_0x3a2a12(0x19f)]();_0x3eaf3f=_0x2ab937[_0x3a2a12(0x144)][_0x3a2a12(0x1e9)](_0x53704b['xmin'],_0x53704b['ymin'],_0x53704b['xmax'],_0x53704b[_0x3a2a12(0xc8)]);}var _0x270c6c=_0x1151f0['viewRectangleToLonLatRange'](_0x3eaf3f);this['viewerParameters']['lonRange']['x']=_0x270c6c[_0x3a2a12(0x188)][_0x3a2a12(0x131)],this[_0x3a2a12(0x1d4)][_0x3a2a12(0x1c8)]['y']=_0x270c6c['lon'][_0x3a2a12(0xd8)],this[_0x3a2a12(0x1d4)][_0x3a2a12(0x8a)]['x']=_0x270c6c['lat']['min'],this['viewerParameters'][_0x3a2a12(0x8a)]['y']=_0x270c6c[_0x3a2a12(0x18a)][_0x3a2a12(0xd8)];var _0x4c287c=this[_0x3a2a12(0x14d)]['getPixelSize'](this['globeBoundingSphere'],this['scene']['drawingBufferWidth'],this[_0x3a2a12(0xa5)][_0x3a2a12(0x1fb)]);_0x4c287c>0x0&&(this[_0x3a2a12(0x1d4)][_0x3a2a12(0xc7)]=_0x4c287c);}}]),_0x170389;}(_0x160415);_0x43c4a0[_0x3e7117(0x102)][_0x3e7117(0xee)](_0x3e7117(0xf1),_0x2f2d06),_0x43c4a0[_0x3e7117(0x9b)]['WindLayer']=_0x2f2d06;var _0x870a79=function _0x937ebd(){var _0x226d1b=_0x3e7117;_0xe8454()(this,_0x937ebd),this[_0x226d1b(0x14b)]=null,this[_0x226d1b(0x18a)]=null,this[_0x226d1b(0x128)]=null,this['tlat']=null,this[_0x226d1b(0x164)]=null;},_0x65b60c=function(){var _0x5ce31e=_0x3e7117;function _0x131c6a(_0x2c0fe0,_0x473393){var _0x3c231f=a0_0x1db2;_0xe8454()(this,_0x131c6a),this[_0x3c231f(0x10d)]=_0x2c0fe0[_0x3c231f(0x10d)],this[_0x3c231f(0x1be)]=_0x2c0fe0[_0x3c231f(0x1be)],this[_0x3c231f(0x149)]=_0x2c0fe0[_0x3c231f(0x149)],this[_0x3c231f(0x14c)]=_0x2c0fe0[_0x3c231f(0x14c)],this[_0x3c231f(0x141)]=_0x2c0fe0[_0x3c231f(0x141)],this[_0x3c231f(0xc8)]=_0x2c0fe0[_0x3c231f(0xc8)],this[_0x3c231f(0x161)]=[];var _0x4006ad=_0x2c0fe0[_0x3c231f(0x129)],_0x5d85a6=_0x2c0fe0[_0x3c231f(0xac)],_0x566567=!0x1;_0x4006ad[_0x3c231f(0x116)]===this[_0x3c231f(0x10d)]&&_0x4006ad[0x0][_0x3c231f(0x116)]===this[_0x3c231f(0x1be)]&&(_0x566567=!0x0);for(var _0x4021c9=0x0,_0x143caf=null,_0x49b5fb=null,_0x35957c=0x0;_0x35957c<this[_0x3c231f(0x10d)];_0x35957c++){_0x143caf=[];for(var _0x2bb8b3=0x0;_0x2bb8b3<this[_0x3c231f(0x1be)];_0x2bb8b3++,_0x4021c9++)_0x49b5fb=_0x566567?this[_0x3c231f(0x177)](_0x4006ad[_0x35957c][_0x2bb8b3],_0x5d85a6[_0x35957c][_0x2bb8b3]):this[_0x3c231f(0x177)](_0x4006ad[_0x4021c9],_0x5d85a6[_0x4021c9]),_0x143caf[_0x3c231f(0x1a5)](_0x49b5fb);this[_0x3c231f(0x161)][_0x3c231f(0x1a5)](_0x143caf);}_0x473393&&this[_0x3c231f(0x161)][_0x3c231f(0xe7)]();}return _0x4d2ebb()(_0x131c6a,[{'key':_0x5ce31e(0xe1),'value':function(_0x4d89e7,_0x589bc2){var _0x5aa79e=_0x5ce31e;return{'x':(_0x4d89e7-this[_0x5aa79e(0x149)])/(this['xmax']-this[_0x5aa79e(0x149)])*(this[_0x5aa79e(0x1be)]-0x1),'y':(this['ymax']-_0x589bc2)/(this[_0x5aa79e(0xc8)]-this['ymin'])*(this[_0x5aa79e(0x10d)]-0x1)};}},{'key':_0x5ce31e(0x1d0),'value':function(_0x9efa12,_0xb3076){var _0x5bd375=_0x5ce31e;if(_0x9efa12<0x0||_0x9efa12>=this['cols']||_0xb3076>=this[_0x5bd375(0x10d)])return[0x0,0x0,0x0];var _0x2e4da7,_0x3003d8,_0x1263d1=Math[_0x5bd375(0x8e)](_0x9efa12),_0xfaf366=Math[_0x5bd375(0x8e)](_0xb3076);if(_0x1263d1===_0x9efa12&&_0xfaf366===_0xb3076)return this['grid'][_0xb3076][_0x9efa12];_0x2e4da7=_0x1263d1+0x1,_0x3003d8=_0xfaf366+0x1;var _0x4aeaf5=this[_0x5bd375(0x1d0)](_0x1263d1,_0xfaf366),_0x522995=this[_0x5bd375(0x1d0)](_0x2e4da7,_0xfaf366),_0x489296=this[_0x5bd375(0x1d0)](_0x1263d1,_0x3003d8),_0x2b3c12=this[_0x5bd375(0x1d0)](_0x2e4da7,_0x3003d8),_0x4e6d91=null;try{_0x4e6d91=this[_0x5bd375(0x172)](_0x9efa12-_0x1263d1,_0xb3076-_0xfaf366,_0x4aeaf5,_0x522995,_0x489296,_0x2b3c12);}catch(_0xc4570e){console['log'](_0x9efa12,_0xb3076);}return _0x4e6d91;}},{'key':_0x5ce31e(0x172),'value':function(_0x338404,_0x1d892f,_0x532542,_0xe3ca1b,_0x8a1e77,_0x7073cc){var _0x145f3d=0x1-_0x338404,_0x5dffce=0x1-_0x1d892f,_0x1fa1f2=_0x145f3d*_0x5dffce,_0x5ab518=_0x338404*_0x5dffce,_0x560140=_0x145f3d*_0x1d892f,_0xe4b858=_0x338404*_0x1d892f,_0x1da832=_0x532542[0x0]*_0x1fa1f2+_0xe3ca1b[0x0]*_0x5ab518+_0x8a1e77[0x0]*_0x560140+_0x7073cc[0x0]*_0xe4b858,_0x4e5bcb=_0x532542[0x1]*_0x1fa1f2+_0xe3ca1b[0x1]*_0x5ab518+_0x8a1e77[0x1]*_0x560140+_0x7073cc[0x1]*_0xe4b858;return this['_calcUV'](_0x1da832,_0x4e5bcb);}},{'key':_0x5ce31e(0x177),'value':function(_0x117bab,_0x4a919d){var _0x379c46=_0x5ce31e;return[+_0x117bab,+_0x4a919d,Math[_0x379c46(0xd6)](_0x117bab*_0x117bab+_0x4a919d*_0x4a919d)];}},{'key':_0x5ce31e(0xca),'value':function(_0x162952,_0x1714f2){var _0x4c082e=_0x5ce31e;if(!this['isInExtent'](_0x162952,_0x1714f2))return null;var _0x2d0ccc=this[_0x4c082e(0xe1)](_0x162952,_0x1714f2);return this['getUVByXY'](_0x2d0ccc['x'],_0x2d0ccc['y']);}},{'key':_0x5ce31e(0x160),'value':function(_0x4a941d,_0x23af93){var _0x208635=_0x5ce31e;return _0x4a941d>=this[_0x208635(0x149)]&&_0x4a941d<=this['xmax']&&_0x23af93>=this[_0x208635(0x141)]&&_0x23af93<=this[_0x208635(0xc8)];}},{'key':_0x5ce31e(0x156),'value':function(){var _0x5e305c=_0x5ce31e,_0x524cd9=_0x20e9e2(this['xmin'],this[_0x5e305c(0x14c)]);return{'lat':_0x20e9e2(this[_0x5e305c(0x141)],this[_0x5e305c(0xc8)]),'lng':_0x524cd9};}}]),_0x131c6a;}();function _0x20e9e2(_0x1d0514,_0x182757){var _0x5365f2=_0x3e7117;return _0x1d0514+Math[_0x5365f2(0xb0)]()*(_0x182757-_0x1d0514);}function _0x56323c(_0x2596a8){var _0x1885c1=function(){var _0x571e2c=a0_0x1db2;if(_0x571e2c(0x1ad)==typeof Reflect||!Reflect[_0x571e2c(0x1c7)])return!0x1;if(Reflect[_0x571e2c(0x1c7)][_0x571e2c(0x15b)])return!0x1;if(_0x571e2c(0x190)==typeof Proxy)return!0x0;try{return Boolean['prototype']['valueOf']['call'](Reflect[_0x571e2c(0x1c7)](Boolean,[],function(){})),!0x0;}catch(_0x5aa2d5){return!0x1;}}();return function(){var _0x1f66f0=a0_0x1db2,_0x3174bf,_0x22a048=_0x155bb1()(_0x2596a8);if(_0x1885c1){var _0x58ab76=_0x155bb1()(this)[_0x1f66f0(0x191)];_0x3174bf=Reflect['construct'](_0x22a048,arguments,_0x58ab76);}else _0x3174bf=_0x22a048['apply'](this,arguments);return _0x3214b3()(this,_0x3174bf);};}var _0x341e60=function(_0x8da016){var _0x25b4b5=_0x3e7117;_0x43b6f7()(_0x131790,_0x8da016);var _0x3a18d1=_0x56323c(_0x131790);function _0x131790(){var _0x4199ac=a0_0x1db2,_0x1d8395,_0x277594=arguments[_0x4199ac(0x116)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0xe8454()(this,_0x131790),(_0x1d8395=_0x3a18d1[_0x4199ac(0x1f9)](this,_0x277594))['_setOptionsHook'](_0x277594),_0x1d8395[_0x4199ac(0x11d)]=null,_0x1d8395;}return _0x4d2ebb()(_0x131790,[{'key':_0x25b4b5(0xec),'value':function(_0x126475){var _0x1a5435=_0x25b4b5;this[_0x1a5435(0x1e0)]=[0x0,0x0],this[_0x1a5435(0x175)]=[],this[_0x1a5435(0x1c5)]=_0x126475[_0x1a5435(0x1c5)]||0x32,this[_0x1a5435(0x1aa)]=_0x126475[_0x1a5435(0xc5)]||0x4e20,this[_0x1a5435(0xbc)]=_0x126475[_0x1a5435(0xdd)]||0x78,this[_0x1a5435(0x178)]=0x3e8/(_0x126475[_0x1a5435(0x1f6)]||0xa),this[_0x1a5435(0x90)]=_0x2ab937[_0x1a5435(0xf4)](this[_0x1a5435(0xdf)][_0x1a5435(0xcd)],!0x1),this[_0x1a5435(0x202)]=_0x126475[_0x1a5435(0x202)]||_0x1a5435(0x19d),this[_0x1a5435(0xb5)]=_0x126475['lineWidth']||0x1,this['fixedHeight']=_0x2ab937['defaultValue'](_0x126475['fixedHeight'],0x0),this[_0x1a5435(0x173)]=_0x2ab937[_0x1a5435(0xf4)](_0x126475[_0x1a5435(0x173)],!0x1);}},{'key':'layer','get':function(){var _0x193ee2=_0x25b4b5;return this[_0x193ee2(0x11d)];}},{'key':_0x25b4b5(0x93),'get':function(){var _0x2116c9=_0x25b4b5;return this[_0x2116c9(0x119)][_0x2116c9(0xa5)]['canvas']['clientWidth'];}},{'key':_0x25b4b5(0x199),'get':function(){var _0x15ba8b=_0x25b4b5;return this[_0x15ba8b(0x119)][_0x15ba8b(0xa5)][_0x15ba8b(0x11d)]['clientHeight'];}},{'key':_0x25b4b5(0xcd),'get':function(){var _0x3f501d=_0x25b4b5;return this[_0x3f501d(0x90)];},'set':function(_0x29ead3){var _0x3be31c=_0x25b4b5;this[_0x3be31c(0x90)]=_0x29ead3,this['canvas']&&(this['canvas'][_0x3be31c(0x1c4)][_0x3be31c(0x105)]=_0x29ead3?'all':'none');}},{'key':_0x25b4b5(0x1c5),'get':function(){var _0x2977e6=_0x25b4b5;return this[_0x2977e6(0x1e6)];},'set':function(_0x548fd1){var _0x26492e=_0x25b4b5;this[_0x26492e(0x1e6)]=0x64*(0x64-(_0x548fd1>0x63?0x63:_0x548fd1)),this['_calcStep']();}},{'key':_0x25b4b5(0xc5),'get':function(){var _0x481257=_0x25b4b5;return this[_0x481257(0x1aa)];},'set':function(_0x3ff963){var _0x259293=_0x25b4b5,_0x943450=this;this['_particlesNumber']=_0x3ff963,clearTimeout(this[_0x259293(0x1e4)]),this[_0x259293(0x1e4)]=setTimeout(function(){_0x943450['redraw']();},0x1f4);}},{'key':_0x25b4b5(0xdd),'get':function(){return this['_maxAge'];},'set':function(_0x1f36c3){var _0x467306=_0x25b4b5,_0x1a5805=this;this[_0x467306(0xbc)]=_0x1f36c3,clearTimeout(this[_0x467306(0x1e4)]),this[_0x467306(0x1e4)]=setTimeout(function(){_0x1a5805['redraw']();},0x1f4);}},{'key':_0x25b4b5(0xa8),'get':function(){var _0x227604=_0x25b4b5;return this[_0x227604(0x15f)];},'set':function(_0x14a15b){var _0x6df03f=_0x25b4b5;this[_0x6df03f(0x1a3)](_0x14a15b);}},{'key':'_showHook','value':function(_0x2820e8){var _0x13c7de=_0x25b4b5;_0x2820e8?this[_0x13c7de(0x1a2)]():(this[_0x13c7de(0x15f)]&&(this[_0x13c7de(0xdf)]['data']=this[_0x13c7de(0x15f)]),this[_0x13c7de(0xae)]());}},{'key':_0x25b4b5(0x1b5),'value':function(){}},{'key':_0x25b4b5(0x1a2),'value':function(){var _0x59a8cf=_0x25b4b5;this[_0x59a8cf(0x11d)]=this[_0x59a8cf(0x134)](),this[_0x59a8cf(0x193)]=this['canvas'][_0x59a8cf(0x1cd)]('2d'),this[_0x59a8cf(0x1bd)](),this[_0x59a8cf(0xdf)][_0x59a8cf(0xa8)]&&this['updateDate'](this[_0x59a8cf(0xdf)]['data']);}},{'key':_0x25b4b5(0xae),'value':function(){var _0x772013=_0x25b4b5;this['clear'](),this[_0x772013(0x1b4)](),this[_0x772013(0x11d)]&&(this['_map'][_0x772013(0x165)]['removeChild'](this[_0x772013(0x11d)]),delete this[_0x772013(0x11d)]);}},{'key':'_createCanvas','value':function(){var _0x477903=_0x25b4b5,_0x36fe35=document[_0x477903(0x1eb)](_0x477903(0x11d));_0x36fe35[_0x477903(0x1c4)][_0x477903(0x1db)]=_0x477903(0x112),_0x36fe35[_0x477903(0x1c4)][_0x477903(0xcf)]=_0x477903(0x18e),_0x36fe35['style'][_0x477903(0x109)]='0px',_0x36fe35[_0x477903(0x1c4)][_0x477903(0x16e)]=_0x477903(0x1c2),_0x36fe35['style'][_0x477903(0x1b9)]=_0x477903(0x1c2),_0x36fe35[_0x477903(0x1c4)]['pointerEvents']=this[_0x477903(0x90)]?'auto':'none',_0x36fe35['style']['zIndex']=0xa,_0x36fe35[_0x477903(0x145)]('id','canvasWindy'),_0x36fe35['setAttribute'](_0x477903(0x120),'canvasWindy'),this[_0x477903(0x119)][_0x477903(0x165)][_0x477903(0x1b1)](_0x36fe35);var _0x19dcef=this[_0x477903(0x119)][_0x477903(0xa5)];return _0x36fe35[_0x477903(0x16e)]=_0x19dcef[_0x477903(0x11d)][_0x477903(0x14e)],_0x36fe35[_0x477903(0x1b9)]=_0x19dcef['canvas'][_0x477903(0xe0)],_0x36fe35;}},{'key':_0x25b4b5(0x1ab),'value':function(){var _0x1644ca=_0x25b4b5;this[_0x1644ca(0x11d)]&&(this['canvas'][_0x1644ca(0x16e)]=this[_0x1644ca(0x93)],this[_0x1644ca(0x11d)][_0x1644ca(0x1b9)]=this[_0x1644ca(0x199)]);}},{'key':_0x25b4b5(0x1bd),'value':function(){var _0x4f7937=_0x25b4b5,_0x383b95=this,_0xe94c3f=Date[_0x4f7937(0x108)]();!function _0x133ce9(){var _0x2b4587=_0x4f7937;_0x383b95[_0x2b4587(0xd1)]=window[_0x2b4587(0x183)](_0x133ce9);var _0x2b88df=Date[_0x2b4587(0x108)](),_0x3f5c33=_0x2b88df-_0xe94c3f;_0x3f5c33>_0x383b95[_0x2b4587(0x178)]&&(_0xe94c3f=_0x2b88df-_0x3f5c33%_0x383b95[_0x2b4587(0x178)],_0x383b95['update']());}(),window[_0x4f7937(0x195)]('resize',this[_0x4f7937(0x1ab)]['bind'](this),!0x1),this[_0x4f7937(0x8f)]=!0x1,this['mouse_move']=!0x1,this[_0x4f7937(0x119)]['on'](_0x43c4a0['EventType'][_0x4f7937(0xdc)],this['_onMapWhellEvent'],this),this[_0x4f7937(0x119)]['on'](_0x43c4a0[_0x4f7937(0x174)][_0x4f7937(0x154)],this[_0x4f7937(0x168)],this),this[_0x4f7937(0x119)]['on'](_0x43c4a0[_0x4f7937(0x174)][_0x4f7937(0x1cc)],this['_onMouseUpEvent'],this),this[_0x4f7937(0x119)]['on'](_0x43c4a0[_0x4f7937(0x174)][_0x4f7937(0x162)],this[_0x4f7937(0x1bf)],this);}},{'key':'unbindEvent','value':function(){var _0x11c1d1=_0x25b4b5;window[_0x11c1d1(0xcb)](this[_0x11c1d1(0xd1)]),delete this[_0x11c1d1(0xd1)],window['removeEventListener'](_0x11c1d1(0x1ab),this[_0x11c1d1(0x1ab)]),this['_map']['off'](_0x43c4a0['EventType']['wheel'],this[_0x11c1d1(0x12f)],this),this['_map'][_0x11c1d1(0xfc)](_0x43c4a0[_0x11c1d1(0x174)][_0x11c1d1(0x154)],this[_0x11c1d1(0x168)],this),this[_0x11c1d1(0x119)][_0x11c1d1(0xfc)](_0x43c4a0[_0x11c1d1(0x174)][_0x11c1d1(0x1cc)],this[_0x11c1d1(0x1bb)],this),this[_0x11c1d1(0x119)][_0x11c1d1(0xfc)](_0x43c4a0[_0x11c1d1(0x174)][_0x11c1d1(0x162)],this[_0x11c1d1(0x1bf)],this);}},{'key':'_onMapWhellEvent','value':function(_0x4cdc1f){var _0x4e8336=_0x25b4b5,_0x104808=this;clearTimeout(this[_0x4e8336(0x1b7)]),this[_0x4e8336(0x1f0)]&&this['canvas']&&(this['canvas'][_0x4e8336(0x1c4)][_0x4e8336(0x204)]=_0x4e8336(0x138),this[_0x4e8336(0x1b7)]=setTimeout(function(){var _0x1fe185=_0x4e8336;_0x104808[_0x1fe185(0x1f0)]&&(_0x104808[_0x1fe185(0xe4)](),_0x104808[_0x1fe185(0x11d)][_0x1fe185(0x1c4)][_0x1fe185(0x204)]=_0x1fe185(0x14f));},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x357c29){var _0x4e9656=_0x25b4b5;this[_0x4e9656(0x8f)]=!0x0;}},{'key':_0x25b4b5(0x1bf),'value':function(_0x4af040){var _0x4cb15e=_0x25b4b5;this[_0x4cb15e(0x1f0)]&&this[_0x4cb15e(0x11d)]&&this[_0x4cb15e(0x8f)]&&(this[_0x4cb15e(0x11d)][_0x4cb15e(0x1c4)][_0x4cb15e(0x204)]=_0x4cb15e(0x138),this['mouse_move']=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x30233d){var _0x3ad4e9=_0x25b4b5;this[_0x3ad4e9(0x1f0)]&&this[_0x3ad4e9(0x11d)]&&(this[_0x3ad4e9(0x8f)]&&this[_0x3ad4e9(0x152)]&&this[_0x3ad4e9(0xe4)](),this[_0x3ad4e9(0x11d)][_0x3ad4e9(0x1c4)]['visibility']=_0x3ad4e9(0x14f),this[_0x3ad4e9(0x8f)]=!0x1,this[_0x3ad4e9(0x152)]=!0x1);}},{'key':_0x25b4b5(0xe4),'value':function(){var _0xd49963=_0x25b4b5;this['show']&&this[_0xd49963(0x203)]&&(this[_0xd49963(0x175)]=[],this[_0xd49963(0x181)]());}},{'key':_0x25b4b5(0x1a3),'value':function(_0x3d5fef){var _0x20b3a8=_0x25b4b5;this[_0x20b3a8(0x140)](),this[_0x20b3a8(0x15f)]=_0x3d5fef,this[_0x20b3a8(0x203)]=new _0x65b60c(this[_0x20b3a8(0x15f)],this[_0x20b3a8(0x173)]),this[_0x20b3a8(0x181)]();}},{'key':_0x25b4b5(0x181),'value':function(){var _0x3eaf7a=_0x25b4b5;this[_0x3eaf7a(0x114)]();for(var _0xa65d59=0x0;_0xa65d59<this[_0x3eaf7a(0xc5)];_0xa65d59++){var _0x516b0e=this[_0x3eaf7a(0x185)](new _0x870a79());this[_0x3eaf7a(0x175)]['push'](_0x516b0e);}this[_0x3eaf7a(0x193)][_0x3eaf7a(0x111)]=_0x3eaf7a(0x13a),this[_0x3eaf7a(0x193)]['globalAlpha']=0.6,this[_0x3eaf7a(0x142)]();}},{'key':_0x25b4b5(0x114),'value':function(){var _0x3dc0cf=_0x25b4b5;this['windField']&&(this[_0x3dc0cf(0x1e0)]=[(this[_0x3dc0cf(0x203)][_0x3dc0cf(0x14c)]-this[_0x3dc0cf(0x203)][_0x3dc0cf(0x149)])/this[_0x3dc0cf(0x1c5)],(this[_0x3dc0cf(0x203)]['ymax']-this['windField'][_0x3dc0cf(0x141)])/this['speedRate']]);}},{'key':_0x25b4b5(0x142),'value':function(){var _0x3ef66a=_0x25b4b5,_0x35ba4f=this;if(this[_0x3ef66a(0x1f0)]&&!(this[_0x3ef66a(0x175)][_0x3ef66a(0x116)]<=0x0)){var _0x88a4e7=null,_0x81cb92=null,_0x54a18c=null;this['particles']['forEach'](function(_0x40a36a){var _0x4ef8a0=_0x3ef66a;if(_0x40a36a['age']<=0x0&&_0x35ba4f[_0x4ef8a0(0x185)](_0x40a36a),_0x40a36a['age']>0x0){var _0x12275f=_0x40a36a['tlng'],_0x581f74=_0x40a36a[_0x4ef8a0(0x118)];(_0x54a18c=_0x35ba4f[_0x4ef8a0(0x203)][_0x4ef8a0(0xca)](_0x12275f,_0x581f74))?(_0x88a4e7=_0x12275f+_0x35ba4f[_0x4ef8a0(0x1e0)][0x0]*_0x54a18c[0x0],_0x81cb92=_0x581f74+_0x35ba4f['calc_speedRate'][0x1]*_0x54a18c[0x1],_0x40a36a[_0x4ef8a0(0x14b)]=_0x12275f,_0x40a36a[_0x4ef8a0(0x18a)]=_0x581f74,_0x40a36a[_0x4ef8a0(0x128)]=_0x88a4e7,_0x40a36a[_0x4ef8a0(0x118)]=_0x81cb92,_0x40a36a[_0x4ef8a0(0x164)]--):_0x40a36a[_0x4ef8a0(0x164)]=0x0;}}),this[_0x3ef66a(0xc2)]();}}},{'key':_0x25b4b5(0xa1),'value':function(_0x754316,_0x5dafa9,_0x58e75b){var _0x160832=_0x25b4b5,_0x23555f=_0x2ab937[_0x160832(0xb6)][_0x160832(0x1e9)](_0x754316,_0x5dafa9,this[_0x160832(0x192)]),_0x5a4262=this[_0x160832(0x119)]['scene'];if(_0x5a4262[_0x160832(0x1ae)]===_0x2ab937[_0x160832(0x150)]['SCENE3D']&&!new _0x2ab937[(_0x160832(0x200))](_0x5a4262[_0x160832(0x121)]['ellipsoid'],_0x5a4262['camera'][_0x160832(0x106)])[_0x160832(0x16b)](_0x23555f))return _0x58e75b[_0x160832(0x164)]=0x0,null;var _0x4a14a0=_0x2ab937[_0x160832(0x1e5)][_0x160832(0x13c)](this[_0x160832(0x119)][_0x160832(0xa5)],_0x23555f);return _0x4a14a0?[_0x4a14a0['x'],_0x4a14a0['y']]:null;}},{'key':_0x25b4b5(0xc2),'value':function(){var _0x559e24=_0x25b4b5,_0x3bac2e=this,_0x37b2e1=this['particles'];this[_0x559e24(0x193)][_0x559e24(0xb5)]=_0x3bac2e['lineWidth'],this['canvasContext'][_0x559e24(0xbd)]=_0x559e24(0x153),this[_0x559e24(0x193)][_0x559e24(0xda)](0x0,0x0,this[_0x559e24(0x93)],this['canvasHeight']),this[_0x559e24(0x193)][_0x559e24(0xbd)]=_0x559e24(0x98),this[_0x559e24(0x193)][_0x559e24(0x1ce)]=0.9,this[_0x559e24(0x193)][_0x559e24(0xba)](),this[_0x559e24(0x193)][_0x559e24(0x117)]=this[_0x559e24(0x202)];var _0x4c6238=this[_0x559e24(0x119)][_0x559e24(0xa5)]['mode']!==_0x2ab937[_0x559e24(0x150)]['SCENE3D'];_0x37b2e1[_0x559e24(0x13f)](function(_0x729d83){var _0x5e6f18=_0x559e24,_0x26e635=_0x3bac2e[_0x5e6f18(0xa1)](_0x729d83[_0x5e6f18(0x14b)],_0x729d83[_0x5e6f18(0x18a)],_0x729d83),_0x30f6ad=_0x3bac2e[_0x5e6f18(0xa1)](_0x729d83[_0x5e6f18(0x128)],_0x729d83[_0x5e6f18(0x118)],_0x729d83);if(null!=_0x26e635&&null!=_0x30f6ad){var _0x367e39=Math[_0x5e6f18(0xc3)](_0x26e635[0x0]-_0x30f6ad[0x0]);_0x4c6238&&_0x367e39>=_0x3bac2e['canvasWidth']||(_0x3bac2e[_0x5e6f18(0x193)][_0x5e6f18(0xfb)](_0x26e635[0x0],_0x26e635[0x1]),_0x3bac2e['canvasContext'][_0x5e6f18(0x135)](_0x30f6ad[0x0],_0x30f6ad[0x1]));}}),this['canvasContext'][_0x559e24(0x123)]();}},{'key':_0x25b4b5(0x185),'value':function(_0x4166c8){var _0x36341c=_0x25b4b5;for(var _0x3d8f13,_0x113c39,_0x1cecda=0x0;_0x1cecda<0x1e&&(_0x3d8f13=this[_0x36341c(0x203)][_0x36341c(0x156)](),!((_0x113c39=this[_0x36341c(0x203)][_0x36341c(0xca)](_0x3d8f13[_0x36341c(0x14b)],_0x3d8f13['lat']))&&_0x113c39[0x2]>0x0));_0x1cecda++);if(!_0x113c39)return _0x4166c8;var _0x884625=_0x3d8f13[_0x36341c(0x14b)]+this['calc_speedRate'][0x0]*_0x113c39[0x0],_0x330e9c=_0x3d8f13[_0x36341c(0x18a)]+this[_0x36341c(0x1e0)][0x1]*_0x113c39[0x1];return _0x4166c8[_0x36341c(0x14b)]=_0x3d8f13[_0x36341c(0x14b)],_0x4166c8['lat']=_0x3d8f13['lat'],_0x4166c8[_0x36341c(0x128)]=_0x884625,_0x4166c8[_0x36341c(0x118)]=_0x330e9c,_0x4166c8[_0x36341c(0x164)]=Math['round'](Math[_0x36341c(0xb0)]()*this['maxAge']),_0x4166c8;}},{'key':_0x25b4b5(0x140),'value':function(){var _0x1eff77=_0x25b4b5;this[_0x1eff77(0x175)]=[],delete this['windField'],delete this[_0x1eff77(0x15f)];}}]),_0x131790;}(_0x43c4a0[_0x3e7117(0x9b)]['BaseLayer']);function _0x1c9258(_0x242ab0,_0x5d0882){var _0x5690d9=_0x3e7117;return _0x242ab0*Math[_0x5690d9(0xbb)](_0x2ab937[_0x5690d9(0xa6)][_0x5690d9(0x10b)](_0x5d0882));}function _0x5449d0(_0x203096,_0x5bda7e){var _0x43dc6c=_0x3e7117;return _0x203096*Math[_0x43dc6c(0x13b)](_0x2ab937[_0x43dc6c(0xa6)][_0x43dc6c(0x10b)](_0x5bda7e));}function _0x2cc124(_0x3acdb7,_0x366405){var _0x4b7266=_0x3e7117;return Math['sqrt'](Math[_0x4b7266(0xbe)](_0x3acdb7,0x2)+Math[_0x4b7266(0xbe)](_0x366405,0x2));}function _0x3b3c65(_0x426801,_0x469d02){var _0x2ffd02=_0x3e7117,_0x2b38fa=_0x2ab937[_0x2ffd02(0xa6)][_0x2ffd02(0x1dd)](Math['atan2'](_0x469d02,_0x426801));return _0x2b38fa+=_0x2b38fa<0x0?0x168:0x0;}_0x43c4a0[_0x3e7117(0x102)][_0x3e7117(0xee)](_0x3e7117(0xaf),_0x341e60),_0x43c4a0[_0x3e7117(0x9b)][_0x3e7117(0xc1)]=_0x341e60,_0x43c4a0[_0x3e7117(0x15e)]=_0x175578;}]));
|
|
21
|
+
var a0_0x5a4f6f=a0_0x13b5;function a0_0x13b5(_0x179f73,_0x18f643){var _0x59c69d=a0_0x59c6();return a0_0x13b5=function(_0x13b5b9,_0x597dd7){_0x13b5b9=_0x13b5b9-0x79;var _0x358480=_0x59c69d[_0x13b5b9];return _0x358480;},a0_0x13b5(_0x179f73,_0x18f643);}function a0_0x59c6(){var _0x443889=['canvasHeight','#ffffff','mouse_down','ComputeCommand','PixelFormat','ALWAYS','options','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}','currentParticlesSpeed','getFullscreenQuad','particlesTextures','iterator','min','hasOwnProperty','_drawLines','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}','BufferUsage','139988mxmwlr','toDegrees','applyViewerParameters','EventType','_createCanvas','465594MYUhoT','wind','floor','PixelDatatype','lineWidth','removeChild','100%','canvasContext','max','arrayBufferView','mode','levmax','clear','particlesWind','Module','pointer-events','ellipsoid','postProcessingSpeed','lat','valueOf','animateFrame','isInExtent','createRawRenderState','defaultValue','_bilinearInterpolation','_data','currentTrailsDepth','NEAREST','WMS_URL','getOptions','framebuffer','createWindTextures','ShaderSource','requestAnimationFrame','viewport','push','canrefresh','removeEventListener','primitives','255304pchhaP','remove','resize','blending','vmax','drawingBufferHeight','DepthFunction','none','setData','nextTrailsColor','log','frameTime','_removedHook','fromDegrees','toRadians','forEach','getU','BaseLayer','ComponentDatatype','default','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','Compute','PrimitiveCollection','frameRate','SCENE3D','getExtent','FLOAT','nextParticlesPosition','getUVByPoint','fillStyle','hidden','Geometry','screen','style','RenderState','clampToLatitudeRange','maxParticles','textures','depthTexture','WindLayer','getDirection','randomParticle','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','_calcUV','speedFactor','umin','Cartesian2','TRIANGLES','framebuffers','depthTest','Pass','string','globalAlpha','removeAll','pixelSize','_tomap','rgb(206,255,255)','Object','globalCompositeOperation','setAttribute','color','canvasWidth','STATIC_DRAW','lighter','udata','particleSystem','421660ZIgtbt','drawingBufferWidth','sham','_onMap_preRenderEvent','dimensions','isArray','cos','createParticlesTextures','_onMouseDownEvent','calc_speedRate','ShaderProgram','nextTrails','PI_OVER_THREE','vertexArray','vmin','commandType','_map','TWO_PI','createTexture','array','rawRenderState','currentTrails','green','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','atan2','visible','uniformMap','canvasWindy','DISABLE_GL_POSITION_LOG_DEPTH','getOwnPropertySymbols','height','refreshParticles','appendChild','setOptions','particlesRendering','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}','addPrimitives','Set','_calcStep','getPrototypeOf','ymax','colors','depthMask','OPAQUE','refreshTimer','filter','configurable','object','updatePosition','mouseMove','6cUxnrN','outputTexture','Map','Matrix4','globeBoundingSphere','nextParticlesSpeed','DrawCommand','windData','tlng','destroy','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}','addEventListener','_setOptionsHook','particlesTextureSize','windTextures','zIndex','canvas','redraw','GeometryAttribute','constructor','getUVByXY','lev','show','postProcessingPosition','destroyObject','layer','fromCache','length','IDENTITY','//\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}','GeometryAttributes','LINEAR','ClearCommand','clientWidth','class','from','isDestroyed','416819QHJqIy','rows','TextureMinificationFilter','Color','pointerEvents','unbindEvent','wheel','random','mars3d','RGB','randomizeParticles','fromGeometry','__esModule','createFramebuffer','toGridXY','colorTable','_onMapWhellEvent','Arguments','vertexShaderSource','33lwrlhZ','0px','width','@@iterator','mars3dWind','positionWC','globe','age','Framebuffer','getOwnPropertyDescriptor','particles','construct','levmin','_showHook','destination-in','PrimitiveType','createCommand','14MithsP','10OvGvnG','exports','Cartesian3','shaderProgram','mod','LayerUtil','wgs84ToWindowCoordinates','toStringTag','UNSIGNED_INT','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}','viewRectangleToLonLatRange','execute','east','CanvasWindLayer','beginPath','_canrefresh','auto','visibility','particlesNumber','register','xmin','particlesComputing','LUMINANCE','once','fillRect','mouseUp','_maxAge','clearCommand','createComputingPrimitives','canvasResize','commandList','currentTrailsColor','sin','bindEvent','currentParticlesPosition','updateViewerParameters','sqrt','round','UNSIGNED_BYTE','_onMouseMoveEvent','toString','enumerable','PI_OVER_TWO','add','ZERO','mouseDown','VertexArray','Sampler','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}','getOwnPropertyDescriptors','value','writable','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','undefined','geometry','reverseY','update','_mountedHook','defined','clearFramebuffers','destroyParticlesTextures','tlat','commandToExecute','name','RGBA','fromCssColorString','ymin','BoundingSphere','trails','preRender','defineProperty','primitiveType','call','function','camera','grid','absolute','setGeometry','slice','_onMouseUpEvent','Rectangle','getRandomLatLng','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}','keys','bind','createSegmentsGeometry','Draw','blue','key','3601904aHwPAI','stroke','data','windField','xmax','isPointVisible','fill','off','computeViewRectangle','createElement','segments','__proto__','context','reverse','setPrototypeOf','globeLayer','attributeLocations','maxAge','dropRateBump','rgba(0,\x200,\x200,\x200.97)','WindUtil','createRenderingPrimitives','getV','Texture','_particlesNumber','Math','_addedHook','SceneMode','defineProperties','vdata','mouse_move','dropRate','6165792giTFSy','west','apply','latRange','lng','createRenderingFramebuffers','fixedHeight','_pointerEvents','getWind','cols','container','top','pow','prototype','fragmentShaderSource','autoClear','TextureMagnificationFilter','Appearance','segmentsColor','getContext','viewerParameters','preExecute','randomBetween','Cesium','getColorTexture','fadeOpacity','scene','lonRange','speedRate','lon','south','updateSpeed'];a0_0x59c6=function(){return _0x443889;};return a0_0x59c6();}(function(_0x5054c0,_0x4c436e){var _0x5b00db=a0_0x13b5,_0x12060a=_0x5054c0();while(!![]){try{var _0x1ac35c=parseInt(_0x5b00db(0x135))/0x1+parseInt(_0x5b00db(0x204))/0x2*(-parseInt(_0x5b00db(0x110))/0x3)+parseInt(_0x5b00db(0x9c))/0x4+parseInt(_0x5b00db(0x15a))/0x5*(-parseInt(_0x5b00db(0x209))/0x6)+parseInt(_0x5b00db(0x159))/0x7*(parseInt(_0x5b00db(0x1b3))/0x8)+-parseInt(_0x5b00db(0x1d3))/0x9+-parseInt(_0x5b00db(0xde))/0xa*(-parseInt(_0x5b00db(0x148))/0xb);if(_0x1ac35c===_0x4c436e)break;else _0x12060a['push'](_0x12060a['shift']());}catch(_0x588d81){_0x12060a['push'](_0x12060a['shift']());}}}(a0_0x59c6,0x80bf1),window[a0_0x5a4f6f(0x14c)]=function(_0x38629d){var _0x282366={};function _0x1b4cc6(_0x566097){var _0x33ae92=a0_0x13b5;if(_0x282366[_0x566097])return _0x282366[_0x566097][_0x33ae92(0x15b)];var _0x22b2e6=_0x282366[_0x566097]={'i':_0x566097,'l':!0x1,'exports':{}};return _0x38629d[_0x566097][_0x33ae92(0x1a2)](_0x22b2e6[_0x33ae92(0x15b)],_0x22b2e6,_0x22b2e6[_0x33ae92(0x15b)],_0x1b4cc6),_0x22b2e6['l']=!0x0,_0x22b2e6[_0x33ae92(0x15b)];}return _0x1b4cc6['m']=_0x38629d,_0x1b4cc6['c']=_0x282366,_0x1b4cc6['d']=function(_0x20bd9b,_0x38161f,_0x44e47e){var _0x453484=a0_0x13b5;_0x1b4cc6['o'](_0x20bd9b,_0x38161f)||Object[_0x453484(0x1a0)](_0x20bd9b,_0x38161f,{'enumerable':!0x0,'get':_0x44e47e});},_0x1b4cc6['r']=function(_0x31b7fb){var _0x69e101=a0_0x13b5;'undefined'!=typeof Symbol&&Symbol['toStringTag']&&Object[_0x69e101(0x1a0)](_0x31b7fb,Symbol[_0x69e101(0x161)],{'value':_0x69e101(0x83)}),Object[_0x69e101(0x1a0)](_0x31b7fb,_0x69e101(0x141),{'value':!0x0});},_0x1b4cc6['t']=function(_0x380b08,_0x4a93f5){var _0x4e8e28=a0_0x13b5;if(0x1&_0x4a93f5&&(_0x380b08=_0x1b4cc6(_0x380b08)),0x8&_0x4a93f5)return _0x380b08;if(0x4&_0x4a93f5&&'object'==typeof _0x380b08&&_0x380b08&&_0x380b08[_0x4e8e28(0x141)])return _0x380b08;var _0x5c5ef8=Object['create'](null);if(_0x1b4cc6['r'](_0x5c5ef8),Object[_0x4e8e28(0x1a0)](_0x5c5ef8,_0x4e8e28(0xaf),{'enumerable':!0x0,'value':_0x380b08}),0x2&_0x4a93f5&&'string'!=typeof _0x380b08){for(var _0x4df4c0 in _0x380b08)_0x1b4cc6['d'](_0x5c5ef8,_0x4df4c0,function(_0x1ab9d5){return _0x380b08[_0x1ab9d5];}[_0x4e8e28(0x1ae)](null,_0x4df4c0));}return _0x5c5ef8;},_0x1b4cc6['n']=function(_0x4f23e5){var _0x4c2c13=a0_0x13b5,_0x13ddae=_0x4f23e5&&_0x4f23e5[_0x4c2c13(0x141)]?function(){var _0x533166=_0x4c2c13;return _0x4f23e5[_0x533166(0xaf)];}:function(){return _0x4f23e5;};return _0x1b4cc6['d'](_0x13ddae,'a',_0x13ddae),_0x13ddae;},_0x1b4cc6['o']=function(_0x45cd26,_0x402632){var _0x493481=a0_0x13b5;return Object[_0x493481(0x1e0)][_0x493481(0x200)]['call'](_0x45cd26,_0x402632);},_0x1b4cc6['p']='',_0x1b4cc6(_0x1b4cc6['s']=0x1a);}([function(_0x777d0d,_0x4d9d4b){var _0x50f230=a0_0x5a4f6f;_0x777d0d[_0x50f230(0x15b)]=window[_0x50f230(0x13d)];},function(_0x24085f,_0x56fbcd){var _0x48ec99=a0_0x5a4f6f;_0x24085f[_0x48ec99(0x15b)]=function(_0x4dc8be,_0x57e4a7){if(!(_0x4dc8be instanceof _0x57e4a7))throw new TypeError('Cannot\x20call\x20a\x20class\x20as\x20a\x20function');},_0x24085f[_0x48ec99(0x15b)][_0x48ec99(0x141)]=!0x0,_0x24085f[_0x48ec99(0x15b)][_0x48ec99(0xaf)]=_0x24085f['exports'];},function(_0x28dcbc,_0xca75d){var _0xdcd7f4=a0_0x5a4f6f;function _0x299305(_0x53a00a,_0x9daafc){var _0x5602af=a0_0x13b5;for(var _0x24c660=0x0;_0x24c660<_0x9daafc[_0x5602af(0x12b)];_0x24c660++){var _0x436a84=_0x9daafc[_0x24c660];_0x436a84[_0x5602af(0x183)]=_0x436a84[_0x5602af(0x183)]||!0x1,_0x436a84[_0x5602af(0x10c)]=!0x0,_0x5602af(0x18c)in _0x436a84&&(_0x436a84[_0x5602af(0x18d)]=!0x0),Object[_0x5602af(0x1a0)](_0x53a00a,_0x436a84[_0x5602af(0x1b2)],_0x436a84);}}_0x28dcbc['exports']=function(_0x5387ca,_0x4f7594,_0x1225a9){var _0x5459d9=a0_0x13b5;return _0x4f7594&&_0x299305(_0x5387ca[_0x5459d9(0x1e0)],_0x4f7594),_0x1225a9&&_0x299305(_0x5387ca,_0x1225a9),Object[_0x5459d9(0x1a0)](_0x5387ca,'prototype',{'writable':!0x1}),_0x5387ca;},_0x28dcbc['exports'][_0xdcd7f4(0x141)]=!0x0,_0x28dcbc['exports']['default']=_0x28dcbc[_0xdcd7f4(0x15b)];},function(_0x33e33c,_0x3af813){var _0x510635=a0_0x5a4f6f;function _0x403bc4(_0x165504){var _0x47f0b9=a0_0x13b5;return _0x33e33c['exports']=_0x403bc4=Object['setPrototypeOf']?Object[_0x47f0b9(0x105)]:function(_0x1cdca6){var _0x33c2ed=_0x47f0b9;return _0x1cdca6[_0x33c2ed(0x1be)]||Object['getPrototypeOf'](_0x1cdca6);},_0x33e33c[_0x47f0b9(0x15b)][_0x47f0b9(0x141)]=!0x0,_0x33e33c[_0x47f0b9(0x15b)]['default']=_0x33e33c['exports'],_0x403bc4(_0x165504);}_0x33e33c[_0x510635(0x15b)]=_0x403bc4,_0x33e33c[_0x510635(0x15b)]['__esModule']=!0x0,_0x33e33c['exports'][_0x510635(0xaf)]=_0x33e33c[_0x510635(0x15b)];},function(_0x34175b,_0x3c8aaa,_0x16d329){var _0x9e7420=a0_0x5a4f6f,_0x46c99e=_0x16d329(0x16),_0x2c2602=_0x16d329(0x17),_0xfd314b=_0x16d329(0x18),_0x530991=_0x16d329(0x19);_0x34175b[_0x9e7420(0x15b)]=function(_0x4bb6e5){return _0x46c99e(_0x4bb6e5)||_0x2c2602(_0x4bb6e5)||_0xfd314b(_0x4bb6e5)||_0x530991();},_0x34175b['exports'][_0x9e7420(0x141)]=!0x0,_0x34175b['exports'][_0x9e7420(0xaf)]=_0x34175b[_0x9e7420(0x15b)];},function(_0x1a4320,_0x48a932){var _0x542e31=a0_0x5a4f6f;_0x1a4320['exports']=function(_0x2f6dca,_0x41e1e2,_0x55092a){return _0x41e1e2 in _0x2f6dca?Object['defineProperty'](_0x2f6dca,_0x41e1e2,{'value':_0x55092a,'enumerable':!0x0,'configurable':!0x0,'writable':!0x0}):_0x2f6dca[_0x41e1e2]=_0x55092a,_0x2f6dca;},_0x1a4320['exports'][_0x542e31(0x141)]=!0x0,_0x1a4320['exports'][_0x542e31(0xaf)]=_0x1a4320['exports'];},function(_0x53345c,_0x2cdf58,_0x4b5279){var _0x474149=a0_0x5a4f6f,_0x557f75=_0x4b5279(0x13);_0x53345c[_0x474149(0x15b)]=function(_0x49eba1,_0x5cd201){var _0x49eb0f=_0x474149;if(_0x49eb0f(0x1a3)!=typeof _0x5cd201&&null!==_0x5cd201)throw new TypeError(_0x49eb0f(0xb0));Object['defineProperty'](_0x49eba1,_0x49eb0f(0x1e0),{'value':Object['create'](_0x5cd201&&_0x5cd201[_0x49eb0f(0x1e0)],{'constructor':{'value':_0x49eba1,'writable':!0x0,'configurable':!0x0}}),'writable':!0x1}),_0x5cd201&&_0x557f75(_0x49eba1,_0x5cd201);},_0x53345c[_0x474149(0x15b)][_0x474149(0x141)]=!0x0,_0x53345c['exports'][_0x474149(0xaf)]=_0x53345c[_0x474149(0x15b)];},function(_0x10a230,_0x3b4dc4,_0x21ca43){var _0x313ccf=a0_0x5a4f6f,_0xd7b6a1=_0x21ca43(0x14)['default'],_0x58fe83=_0x21ca43(0x15);_0x10a230[_0x313ccf(0x15b)]=function(_0x222e14,_0x225bda){var _0x407dff=_0x313ccf;if(_0x225bda&&(_0x407dff(0x10d)===_0xd7b6a1(_0x225bda)||_0x407dff(0x1a3)==typeof _0x225bda))return _0x225bda;if(void 0x0!==_0x225bda)throw new TypeError(_0x407dff(0x18e));return _0x58fe83(_0x222e14);},_0x10a230[_0x313ccf(0x15b)][_0x313ccf(0x141)]=!0x0,_0x10a230[_0x313ccf(0x15b)]['default']=_0x10a230[_0x313ccf(0x15b)];},function(_0x2eff12,_0x155423){var _0x25189b=a0_0x5a4f6f;_0x2eff12[_0x25189b(0x15b)]=_0x25189b(0x1fa);},function(_0x346c5e,_0x3c9c1b){var _0x340a02=a0_0x5a4f6f;_0x346c5e[_0x340a02(0x15b)]=function(_0xaf416b,_0x4dbce7){var _0x3d9ef5=_0x340a02;(null==_0x4dbce7||_0x4dbce7>_0xaf416b[_0x3d9ef5(0x12b)])&&(_0x4dbce7=_0xaf416b[_0x3d9ef5(0x12b)]);for(var _0x39a020=0x0,_0x420297=new Array(_0x4dbce7);_0x39a020<_0x4dbce7;_0x39a020++)_0x420297[_0x39a020]=_0xaf416b[_0x39a020];return _0x420297;},_0x346c5e[_0x340a02(0x15b)]['__esModule']=!0x0,_0x346c5e['exports'][_0x340a02(0xaf)]=_0x346c5e[_0x340a02(0x15b)];},function(_0x15f93a,_0x1e0a05){var _0x3e2e54=a0_0x5a4f6f;_0x15f93a[_0x3e2e54(0x15b)]=_0x3e2e54(0x18a);},function(_0x59f62a,_0x12840d){var _0x43e1e4=a0_0x5a4f6f;_0x59f62a[_0x43e1e4(0x15b)]='uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}';},function(_0x188503,_0x491427){var _0x43febc=a0_0x5a4f6f;_0x188503[_0x43febc(0x15b)]=_0x43febc(0x11a);},function(_0xad4a6b,_0x17bf94){var _0x5c9cb6=a0_0x5a4f6f;_0xad4a6b[_0x5c9cb6(0x15b)]=_0x5c9cb6(0x1ac);},function(_0x75bd1,_0x32e65a){var _0x17ae5e=a0_0x5a4f6f;_0x75bd1[_0x17ae5e(0x15b)]=_0x17ae5e(0x12d);},function(_0x1ec5a2,_0x3db86c){var _0x33b3d8=a0_0x5a4f6f;_0x1ec5a2['exports']=_0x33b3d8(0x202);},function(_0x21b780,_0xb10c){var _0x5ce889=a0_0x5a4f6f;_0x21b780[_0x5ce889(0x15b)]=_0x5ce889(0x101);},function(_0x58b9ca,_0x57850f){var _0x33d7e6=a0_0x5a4f6f;_0x58b9ca[_0x33d7e6(0x15b)]=_0x33d7e6(0x163);},function(_0x59df67,_0x404184){var _0x12fa97=a0_0x5a4f6f;_0x59df67[_0x12fa97(0x15b)]='uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}';},function(_0x5e41ca,_0x586963){function _0x57c17f(_0x264adf,_0x54db3f){var _0x2af471=a0_0x13b5;return _0x5e41ca[_0x2af471(0x15b)]=_0x57c17f=Object[_0x2af471(0x1c1)]||function(_0xef34a5,_0x5bc005){var _0x4fe33c=_0x2af471;return _0xef34a5[_0x4fe33c(0x1be)]=_0x5bc005,_0xef34a5;},_0x5e41ca[_0x2af471(0x15b)][_0x2af471(0x141)]=!0x0,_0x5e41ca['exports'][_0x2af471(0xaf)]=_0x5e41ca[_0x2af471(0x15b)],_0x57c17f(_0x264adf,_0x54db3f);}_0x5e41ca['exports']=_0x57c17f,_0x5e41ca['exports']['__esModule']=!0x0,_0x5e41ca['exports']['default']=_0x5e41ca['exports'];},function(_0x1660f6,_0x569dda){var _0xe647=a0_0x5a4f6f;function _0x347aff(_0x33b11b){var _0x270b44=a0_0x13b5;return _0x1660f6['exports']=_0x347aff=_0x270b44(0x1a3)==typeof Symbol&&'symbol'==typeof Symbol[_0x270b44(0x1fe)]?function(_0x9a357a){return typeof _0x9a357a;}:function(_0x384b09){var _0x403965=_0x270b44;return _0x384b09&&_0x403965(0x1a3)==typeof Symbol&&_0x384b09['constructor']===Symbol&&_0x384b09!==Symbol[_0x403965(0x1e0)]?'symbol':typeof _0x384b09;},_0x1660f6[_0x270b44(0x15b)][_0x270b44(0x141)]=!0x0,_0x1660f6[_0x270b44(0x15b)][_0x270b44(0xaf)]=_0x1660f6[_0x270b44(0x15b)],_0x347aff(_0x33b11b);}_0x1660f6[_0xe647(0x15b)]=_0x347aff,_0x1660f6[_0xe647(0x15b)][_0xe647(0x141)]=!0x0,_0x1660f6[_0xe647(0x15b)][_0xe647(0xaf)]=_0x1660f6[_0xe647(0x15b)];},function(_0x2acece,_0x3fbf7a){var _0x36c207=a0_0x5a4f6f;_0x2acece[_0x36c207(0x15b)]=function(_0x5cc727){var _0x4988af=_0x36c207;if(void 0x0===_0x5cc727)throw new ReferenceError(_0x4988af(0xf5));return _0x5cc727;},_0x2acece['exports'][_0x36c207(0x141)]=!0x0,_0x2acece[_0x36c207(0x15b)][_0x36c207(0xaf)]=_0x2acece[_0x36c207(0x15b)];},function(_0x496be0,_0xf6c521,_0x70a4d8){var _0x3cf69f=a0_0x5a4f6f,_0x56f578=_0x70a4d8(0x9);_0x496be0[_0x3cf69f(0x15b)]=function(_0x1188d8){var _0x1c3ab1=_0x3cf69f;if(Array[_0x1c3ab1(0xe3)](_0x1188d8))return _0x56f578(_0x1188d8);},_0x496be0[_0x3cf69f(0x15b)]['__esModule']=!0x0,_0x496be0['exports']['default']=_0x496be0[_0x3cf69f(0x15b)];},function(_0x3900aa,_0x502896){var _0x5eb410=a0_0x5a4f6f;_0x3900aa[_0x5eb410(0x15b)]=function(_0x5378de){var _0x53335d=_0x5eb410;if(_0x53335d(0x18f)!=typeof Symbol&&null!=_0x5378de[Symbol['iterator']]||null!=_0x5378de[_0x53335d(0x14b)])return Array[_0x53335d(0x133)](_0x5378de);},_0x3900aa['exports']['__esModule']=!0x0,_0x3900aa['exports'][_0x5eb410(0xaf)]=_0x3900aa[_0x5eb410(0x15b)];},function(_0x323556,_0x4075ba,_0x557bd6){var _0x5d0162=a0_0x5a4f6f,_0xa73c41=_0x557bd6(0x9);_0x323556[_0x5d0162(0x15b)]=function(_0x5369e6,_0x2dcef2){var _0x246b61=_0x5d0162;if(_0x5369e6){if(_0x246b61(0xcf)==typeof _0x5369e6)return _0xa73c41(_0x5369e6,_0x2dcef2);var _0x379072=Object[_0x246b61(0x1e0)][_0x246b61(0x182)]['call'](_0x5369e6)[_0x246b61(0x1a8)](0x8,-0x1);return _0x246b61(0xd5)===_0x379072&&_0x5369e6[_0x246b61(0x123)]&&(_0x379072=_0x5369e6['constructor'][_0x246b61(0x199)]),_0x246b61(0x112)===_0x379072||_0x246b61(0x103)===_0x379072?Array[_0x246b61(0x133)](_0x5369e6):_0x246b61(0x146)===_0x379072||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x379072)?_0xa73c41(_0x5369e6,_0x2dcef2):void 0x0;}},_0x323556[_0x5d0162(0x15b)][_0x5d0162(0x141)]=!0x0,_0x323556[_0x5d0162(0x15b)][_0x5d0162(0xaf)]=_0x323556['exports'];},function(_0x2e29f5,_0x40dc30){var _0x54ea0c=a0_0x5a4f6f;_0x2e29f5[_0x54ea0c(0x15b)]=function(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');},_0x2e29f5[_0x54ea0c(0x15b)][_0x54ea0c(0x141)]=!0x0,_0x2e29f5[_0x54ea0c(0x15b)][_0x54ea0c(0xaf)]=_0x2e29f5[_0x54ea0c(0x15b)];},function(_0xc493dc,_0x482c65,_0x5b42b3){'use strict';var _0x132431=a0_0x5a4f6f;_0x5b42b3['r'](_0x482c65),_0x5b42b3['d'](_0x482c65,_0x132431(0xc3),function(){return _0xf4306f;}),_0x5b42b3['d'](_0x482c65,_0x132431(0x167),function(){return _0x5c5510;}),_0x5b42b3['d'](_0x482c65,_0x132431(0x1c7),function(){return _0x36b788;});var _0x36b788={};_0x5b42b3['r'](_0x36b788),_0x5b42b3['d'](_0x36b788,_0x132431(0xac),function(){return _0x1e420c;}),_0x5b42b3['d'](_0x36b788,_0x132431(0x1c9),function(){return _0x2f6890;}),_0x5b42b3['d'](_0x36b788,'getSpeed',function(){return _0x498375;}),_0x5b42b3['d'](_0x36b788,_0x132431(0xc4),function(){return _0x1a39b4;});var _0x170d6b=_0x5b42b3(0x0),_0x2982fb=_0x5b42b3(0x5),_0x1f925c=_0x5b42b3['n'](_0x2982fb),_0x9600c1=_0x5b42b3(0x1),_0x5c506e=_0x5b42b3['n'](_0x9600c1),_0x4a9524=_0x5b42b3(0x2),_0x2169ad=_0x5b42b3['n'](_0x4a9524),_0x11378f=_0x5b42b3(0x6),_0x33e7cd=_0x5b42b3['n'](_0x11378f),_0x3d547a=_0x5b42b3(0x7),_0x336778=_0x5b42b3['n'](_0x3d547a),_0xe27739=_0x5b42b3(0x3),_0x123b6d=_0x5b42b3['n'](_0xe27739),_0x187ae7=_0x5b42b3(0x4),_0x1a48bd=_0x5b42b3['n'](_0x187ae7),_0x5b5347=_0x170d6b['Cesium'],_0x5a53ab=(function(){var _0x594ce1=_0x132431;function _0x359225(_0x29ad1c){var _0x3bbab8=a0_0x13b5;_0x5c506e()(this,_0x359225),this[_0x3bbab8(0xed)]=_0x29ad1c['commandType'],this['geometry']=_0x29ad1c[_0x3bbab8(0x190)],this['attributeLocations']=_0x29ad1c[_0x3bbab8(0x1c3)],this[_0x3bbab8(0x1a1)]=_0x29ad1c[_0x3bbab8(0x1a1)],this[_0x3bbab8(0xf8)]=_0x29ad1c[_0x3bbab8(0xf8)],this[_0x3bbab8(0x147)]=_0x29ad1c[_0x3bbab8(0x147)],this[_0x3bbab8(0x1e1)]=_0x29ad1c[_0x3bbab8(0x1e1)],this[_0x3bbab8(0xf2)]=_0x29ad1c[_0x3bbab8(0xf2)],this[_0x3bbab8(0x93)]=_0x29ad1c['framebuffer'],this[_0x3bbab8(0x111)]=_0x29ad1c[_0x3bbab8(0x111)],this[_0x3bbab8(0x1e2)]=_0x5b5347[_0x3bbab8(0x8c)](_0x29ad1c[_0x3bbab8(0x1e2)],!0x1),this['preExecute']=_0x29ad1c['preExecute'],this[_0x3bbab8(0x126)]=!0x0,this[_0x3bbab8(0x198)]=void 0x0,this[_0x3bbab8(0x175)]=void 0x0,this[_0x3bbab8(0x1e2)]&&(this[_0x3bbab8(0x175)]=new _0x5b5347[(_0x3bbab8(0x130))]({'color':new _0x5b5347[(_0x3bbab8(0x138))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x3bbab8(0x93)],'pass':_0x5b5347[_0x3bbab8(0xce)][_0x3bbab8(0x109)]}));}return _0x2169ad()(_0x359225,[{'key':_0x594ce1(0x158),'value':function(_0x42c17d){var _0x564985=_0x594ce1;switch(this[_0x564985(0xed)]){case _0x564985(0x1b0):var _0x2b3963=_0x5b5347[_0x564985(0x188)][_0x564985(0x140)]({'context':_0x42c17d,'geometry':this['geometry'],'attributeLocations':this[_0x564985(0x1c3)],'bufferUsage':_0x5b5347['BufferUsage'][_0x564985(0xda)]}),_0x2fed1d=_0x5b5347[_0x564985(0xe8)][_0x564985(0x12a)]({'context':_0x42c17d,'attributeLocations':this['attributeLocations'],'vertexShaderSource':this[_0x564985(0x147)],'fragmentShaderSource':this[_0x564985(0x1e1)]}),_0x347ff9=_0x5b5347[_0x564985(0xbe)][_0x564985(0x12a)](this[_0x564985(0xf2)]);return new _0x5b5347[(_0x564985(0x116))]({'owner':this,'vertexArray':_0x2b3963,'primitiveType':this[_0x564985(0x1a1)],'uniformMap':this[_0x564985(0xf8)],'modelMatrix':_0x5b5347[_0x564985(0x113)][_0x564985(0x12c)],'shaderProgram':_0x2fed1d,'framebuffer':this[_0x564985(0x93)],'renderState':_0x347ff9,'pass':_0x5b5347['Pass'][_0x564985(0x109)]});case _0x564985(0xb1):return new _0x5b5347[(_0x564985(0x1f6))]({'owner':this,'fragmentShaderSource':this[_0x564985(0x1e1)],'uniformMap':this[_0x564985(0xf8)],'outputTexture':this[_0x564985(0x111)],'persists':!0x0});default:return;}}},{'key':_0x594ce1(0x1a7),'value':function(_0x3bdbd4,_0x166a86){var _0x1d8bca=_0x594ce1;this[_0x1d8bca(0x190)]=_0x166a86;var _0x5adf6a=_0x5b5347[_0x1d8bca(0x188)]['fromGeometry']({'context':_0x3bdbd4,'geometry':this[_0x1d8bca(0x190)],'attributeLocations':this[_0x1d8bca(0x1c3)],'bufferUsage':_0x5b5347[_0x1d8bca(0x203)]['STATIC_DRAW']});this[_0x1d8bca(0x198)][_0x1d8bca(0xeb)]=_0x5adf6a;}},{'key':_0x594ce1(0x192),'value':function(_0xd0beae){var _0xb47107=_0x594ce1;this[_0xb47107(0x126)]&&_0xd0beae[_0xb47107(0x7f)]==_0x5b5347[_0xb47107(0x1ce)][_0xb47107(0xb4)]&&(_0x5b5347[_0xb47107(0x194)](this['commandToExecute'])||(this[_0xb47107(0x198)]=this[_0xb47107(0x158)](_0xd0beae[_0xb47107(0x1bf)])),_0x5b5347[_0xb47107(0x194)](this[_0xb47107(0x1e8)])&&this[_0xb47107(0x1e8)](),_0x5b5347[_0xb47107(0x194)](this[_0xb47107(0x175)])&&_0xd0beae[_0xb47107(0x178)][_0xb47107(0x98)](this['clearCommand']),_0xd0beae[_0xb47107(0x178)][_0xb47107(0x98)](this[_0xb47107(0x198)]));}},{'key':_0x594ce1(0x134),'value':function(){return!0x1;}},{'key':_0x594ce1(0x119),'value':function(){var _0x282d23=_0x594ce1;return _0x5b5347[_0x282d23(0x194)](this[_0x282d23(0x198)])&&(this[_0x282d23(0x198)][_0x282d23(0x15d)]=this[_0x282d23(0x198)][_0x282d23(0x15d)]&&this[_0x282d23(0x198)][_0x282d23(0x15d)][_0x282d23(0x119)]()),_0x5b5347[_0x282d23(0x128)](this);}}]),_0x359225;}()),_0x4c90a6=_0x170d6b[_0x132431(0x1ea)],_0x4d6a82={'getFullscreenQuad':function(){var _0x368d27=_0x132431;return new _0x4c90a6[(_0x368d27(0xbb))]({'attributes':new _0x4c90a6[(_0x368d27(0x12e))]({'position':new _0x4c90a6[(_0x368d27(0x122))]({'componentDatatype':_0x4c90a6[_0x368d27(0xae)]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x4c90a6[(_0x368d27(0x122))]({'componentDatatype':_0x4c90a6[_0x368d27(0xae)][_0x368d27(0xb6)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x4a030a,_0x144fed){var _0x30fc5a=_0x132431;if(_0x4c90a6[_0x30fc5a(0x194)](_0x144fed)){var _0x3437f8={};_0x3437f8[_0x30fc5a(0x7e)]=_0x144fed,_0x4a030a['source']=_0x3437f8;}return new _0x4c90a6[(_0x30fc5a(0x1ca))](_0x4a030a);},'createFramebuffer':function(_0x4ec9e1,_0x21340d,_0x1431dd){var _0x3f5c9d=_0x132431;return new _0x4c90a6[(_0x3f5c9d(0x150))]({'context':_0x4ec9e1,'colorTextures':[_0x21340d],'depthTexture':_0x1431dd});},'createRawRenderState':function(_0x14570c){var _0x38fabe=_0x132431,_0x46d222={'viewport':_0x14570c[_0x38fabe(0x97)],'depthTest':_0x14570c[_0x38fabe(0xcd)],'depthMask':_0x14570c[_0x38fabe(0x108)],'blending':_0x14570c[_0x38fabe(0x9f)]};return _0x4c90a6[_0x38fabe(0x1e4)]['getDefaultRenderState'](!0x0,!0x1,_0x46d222);},'viewRectangleToLonLatRange':function(_0xb30fa3){var _0x2a107c=_0x132431,_0xfbced3,_0x3c2602,_0x517f58={},_0x31d251=_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0x15e)](_0xb30fa3[_0x2a107c(0x1d4)],_0x4c90a6['Math'][_0x2a107c(0xef)]),_0x217eb5=_0x4c90a6['Math'][_0x2a107c(0x15e)](_0xb30fa3[_0x2a107c(0x166)],_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0xef)]),_0x1e5905=_0xb30fa3[_0x2a107c(0x14a)];_0x1e5905>_0x4c90a6[_0x2a107c(0x1cc)]['THREE_PI_OVER_TWO']?(_0xfbced3=0x0,_0x3c2602=_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0xef)]):_0x217eb5-_0x31d251<_0x1e5905?(_0xfbced3=_0x31d251,_0x3c2602=_0x31d251+_0x1e5905):(_0xfbced3=_0x31d251,_0x3c2602=_0x217eb5),_0x517f58[_0x2a107c(0x1f0)]={'min':_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0x205)](_0xfbced3),'max':_0x4c90a6[_0x2a107c(0x1cc)]['toDegrees'](_0x3c2602)};var _0x1576fe=_0xb30fa3[_0x2a107c(0x1f1)],_0x5534fb=_0xb30fa3['north'],_0x3ff3b9=_0xb30fa3[_0x2a107c(0xfc)],_0x22b75e=_0x3ff3b9>_0x4c90a6[_0x2a107c(0x1cc)]['PI']/0xc?_0x3ff3b9/0x2:0x0,_0x1946dd=_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0xbf)](_0x1576fe-_0x22b75e),_0x64083f=_0x4c90a6[_0x2a107c(0x1cc)]['clampToLatitudeRange'](_0x5534fb+_0x22b75e);return _0x1946dd<-_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0xea)]&&(_0x1946dd=-_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0x184)]),_0x64083f>_0x4c90a6[_0x2a107c(0x1cc)][_0x2a107c(0xea)]&&(_0x64083f=_0x4c90a6[_0x2a107c(0x1cc)]['PI_OVER_TWO']),_0x517f58[_0x2a107c(0x87)]={'min':_0x4c90a6['Math']['toDegrees'](_0x1946dd),'max':_0x4c90a6['Math']['toDegrees'](_0x64083f)},_0x517f58;}},_0x140853=_0x5b42b3(0xa),_0x5dfb6e=_0x5b42b3['n'](_0x140853),_0x3153f5=_0x5b42b3(0xb),_0x5658c2=_0x5b42b3['n'](_0x3153f5),_0x1ca4bd=_0x5b42b3(0x8),_0x24a3a5=_0x5b42b3['n'](_0x1ca4bd),_0x5f5353=_0x5b42b3(0xc),_0x5e68fc=_0x5b42b3['n'](_0x5f5353),_0x5f4e94=_0x5b42b3(0xd),_0x2085d7=_0x5b42b3['n'](_0x5f4e94),_0x44043d=_0x170d6b['Cesium'],_0x588385=(function(){var _0x334d8c=_0x132431;function _0xaa463b(_0x2fb8e2,_0x4dfc46,_0x14f7dc,_0x540fd6,_0x20fa96){var _0x1a35bc=a0_0x13b5;_0x5c506e()(this,_0xaa463b),this['createRenderingTextures'](_0x2fb8e2,_0x4dfc46,_0x14f7dc[_0x1a35bc(0x107)]),this[_0x1a35bc(0x1d8)](_0x2fb8e2),this[_0x1a35bc(0x1c8)](_0x2fb8e2,_0x14f7dc,_0x540fd6,_0x20fa96);}return _0x2169ad()(_0xaa463b,[{'key':'createRenderingTextures','value':function(_0x126f36,_0x2dff4e,_0x3303fe){var _0x298ad6=a0_0x13b5;for(var _0xc07fe4={'context':_0x126f36,'width':_0x126f36[_0x298ad6(0xdf)],'height':_0x126f36[_0x298ad6(0xa1)],'pixelFormat':_0x44043d[_0x298ad6(0x1f7)][_0x298ad6(0x19a)],'pixelDatatype':_0x44043d['PixelDatatype'][_0x298ad6(0x180)]},_0x362b59={'context':_0x126f36,'width':_0x126f36['drawingBufferWidth'],'height':_0x126f36[_0x298ad6(0xa1)],'pixelFormat':_0x44043d[_0x298ad6(0x1f7)]['DEPTH_COMPONENT'],'pixelDatatype':_0x44043d[_0x298ad6(0x20c)][_0x298ad6(0x162)]},_0x154f4d=_0x3303fe[_0x298ad6(0x12b)],_0x5a986f=new Float32Array(0x3*_0x154f4d),_0x88ade8=0x0;_0x88ade8<_0x154f4d;_0x88ade8++){var _0x3a4c74=_0x44043d[_0x298ad6(0x138)][_0x298ad6(0x19b)](_0x3303fe[_0x88ade8]);_0x5a986f[0x3*_0x88ade8]=_0x3a4c74['red'],_0x5a986f[0x3*_0x88ade8+0x1]=_0x3a4c74[_0x298ad6(0xf4)],_0x5a986f[0x3*_0x88ade8+0x2]=_0x3a4c74[_0x298ad6(0x1b1)];}var _0x48ed6c={'context':_0x126f36,'width':_0x154f4d,'height':0x1,'pixelFormat':_0x44043d['PixelFormat'][_0x298ad6(0x13e)],'pixelDatatype':_0x44043d[_0x298ad6(0x20c)][_0x298ad6(0xb6)],'sampler':new _0x44043d['Sampler']({'minificationFilter':_0x44043d['TextureMinificationFilter'][_0x298ad6(0x12f)],'magnificationFilter':_0x44043d[_0x298ad6(0x1e3)][_0x298ad6(0x12f)]})};this['textures']={'segmentsColor':_0x4d6a82[_0x298ad6(0xf0)](_0xc07fe4),'segmentsDepth':_0x4d6a82['createTexture'](_0x362b59),'currentTrailsColor':_0x4d6a82[_0x298ad6(0xf0)](_0xc07fe4),'currentTrailsDepth':_0x4d6a82[_0x298ad6(0xf0)](_0x362b59),'nextTrailsColor':_0x4d6a82[_0x298ad6(0xf0)](_0xc07fe4),'nextTrailsDepth':_0x4d6a82[_0x298ad6(0xf0)](_0x362b59),'colorTable':_0x4d6a82['createTexture'](_0x48ed6c,_0x5a986f)};}},{'key':_0x334d8c(0x1d8),'value':function(_0x3a27c2){var _0x21d1cc=_0x334d8c;this[_0x21d1cc(0xcc)]={'segments':_0x4d6a82['createFramebuffer'](_0x3a27c2,this['textures'][_0x21d1cc(0x1e5)],this[_0x21d1cc(0xc1)]['segmentsDepth']),'currentTrails':_0x4d6a82[_0x21d1cc(0x142)](_0x3a27c2,this[_0x21d1cc(0xc1)][_0x21d1cc(0x179)],this[_0x21d1cc(0xc1)][_0x21d1cc(0x8f)]),'nextTrails':_0x4d6a82['createFramebuffer'](_0x3a27c2,this['textures'][_0x21d1cc(0xa5)],this['textures']['nextTrailsDepth'])};}},{'key':_0x334d8c(0x1af),'value':function(_0x471154){var _0x335d20=_0x334d8c;for(var _0x4098c8=[],_0x52d3cb=0x0;_0x52d3cb<_0x471154[_0x335d20(0x11d)];_0x52d3cb++)for(var _0x41be1a=0x0;_0x41be1a<_0x471154[_0x335d20(0x11d)];_0x41be1a++)for(var _0x55fa4=0x0;_0x55fa4<0x4;_0x55fa4++)_0x4098c8['push'](_0x52d3cb/_0x471154[_0x335d20(0x11d)]),_0x4098c8[_0x335d20(0x98)](_0x41be1a/_0x471154[_0x335d20(0x11d)]);_0x4098c8=new Float32Array(_0x4098c8);for(var _0x20fbba=[],_0x4b10a4=[-0x1,0x1],_0x1ec5be=[-0x1,0x1],_0x1505c3=0x0;_0x1505c3<_0x471154[_0x335d20(0xc0)];_0x1505c3++)for(var _0x3964fc=0x0;_0x3964fc<0x2;_0x3964fc++)for(var _0x4cd5bb=0x0;_0x4cd5bb<0x2;_0x4cd5bb++)_0x20fbba['push'](_0x4b10a4[_0x3964fc]),_0x20fbba['push'](_0x1ec5be[_0x4cd5bb]),_0x20fbba['push'](0x0);_0x20fbba=new Float32Array(_0x20fbba);for(var _0x5094a6=0x6*_0x471154[_0x335d20(0xc0)],_0x4475e8=new Uint32Array(_0x5094a6),_0x43f032=0x0,_0x2cd40e=0x0,_0x27b84b=0x0;_0x43f032<_0x471154[_0x335d20(0xc0)];_0x43f032++)_0x4475e8[_0x2cd40e++]=_0x27b84b+0x0,_0x4475e8[_0x2cd40e++]=_0x27b84b+0x1,_0x4475e8[_0x2cd40e++]=_0x27b84b+0x2,_0x4475e8[_0x2cd40e++]=_0x27b84b+0x2,_0x4475e8[_0x2cd40e++]=_0x27b84b+0x1,_0x4475e8[_0x2cd40e++]=_0x27b84b+0x3,_0x27b84b+=0x4;return new _0x44043d[(_0x335d20(0xbb))]({'attributes':new _0x44043d[(_0x335d20(0x12e))]({'st':new _0x44043d['GeometryAttribute']({'componentDatatype':_0x44043d[_0x335d20(0xae)][_0x335d20(0xb6)],'componentsPerAttribute':0x2,'values':_0x4098c8}),'normal':new _0x44043d[(_0x335d20(0x122))]({'componentDatatype':_0x44043d['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':_0x20fbba})}),'indices':_0x4475e8});}},{'key':'createRenderingPrimitives','value':function(_0x537c12,_0x11fd31,_0x2cbf65,_0xfd5f11){var _0x51a767=_0x334d8c,_0x2c113f=this;this[_0x51a767(0x9b)]={'segments':new _0x5a53ab({'commandType':_0x51a767(0x1b0),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x51a767(0x1af)](_0x11fd31),'primitiveType':_0x44043d['PrimitiveType'][_0x51a767(0xcb)],'uniformMap':{'currentParticlesPosition':function(){var _0x361bd6=_0x51a767;return _0xfd5f11[_0x361bd6(0x1fd)][_0x361bd6(0x17c)];},'postProcessingPosition':function(){var _0x13839d=_0x51a767;return _0xfd5f11[_0x13839d(0x1fd)][_0x13839d(0x127)];},'postProcessingSpeed':function(){var _0x247017=_0x51a767;return _0xfd5f11[_0x247017(0x1fd)][_0x247017(0x86)];},'colorTable':function(){var _0x11c9ff=_0x51a767;return _0x2c113f['textures'][_0x11c9ff(0x144)];},'aspect':function(){var _0x208108=_0x51a767;return _0x537c12[_0x208108(0xdf)]/_0x537c12['drawingBufferHeight'];},'pixelSize':function(){return _0x2cbf65['pixelSize'];},'lineWidth':function(){var _0x450bec=_0x51a767;return _0x11fd31[_0x450bec(0x79)];},'particleHeight':function(){return _0x11fd31['particleHeight'];}},'vertexShaderSource':new _0x44043d[(_0x51a767(0x95))]({'sources':[_0x5dfb6e['a']]}),'fragmentShaderSource':new _0x44043d[(_0x51a767(0x95))]({'sources':[_0x5658c2['a']]}),'rawRenderState':_0x4d6a82[_0x51a767(0x8b)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x51a767(0xcc)][_0x51a767(0x1bd)],'autoClear':!0x0}),'trails':new _0x5a53ab({'commandType':_0x51a767(0x1b0),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x4d6a82[_0x51a767(0x1fc)](),'primitiveType':_0x44043d[_0x51a767(0x157)][_0x51a767(0xcb)],'uniformMap':{'segmentsColorTexture':function(){var _0x4090e0=_0x51a767;return _0x2c113f[_0x4090e0(0xc1)][_0x4090e0(0x1e5)];},'segmentsDepthTexture':function(){var _0x4a42b8=_0x51a767;return _0x2c113f[_0x4a42b8(0xc1)]['segmentsDepth'];},'currentTrailsColor':function(){var _0x526442=_0x51a767;return _0x2c113f['framebuffers']['currentTrails'][_0x526442(0x1eb)](0x0);},'trailsDepthTexture':function(){var _0x4d162d=_0x51a767;return _0x2c113f['framebuffers'][_0x4d162d(0xf3)]['depthTexture'];},'fadeOpacity':function(){var _0xe4f887=_0x51a767;return _0x11fd31[_0xe4f887(0x1ec)];}},'vertexShaderSource':new _0x44043d[(_0x51a767(0x95))]({'defines':[_0x51a767(0xfa)],'sources':[_0x24a3a5['a']]}),'fragmentShaderSource':new _0x44043d[(_0x51a767(0x95))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x5e68fc['a']]}),'rawRenderState':_0x4d6a82[_0x51a767(0x8b)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x44043d[_0x51a767(0xa2)][_0x51a767(0x1f8)]},'depthMask':!0x0}),'framebuffer':this['framebuffers'][_0x51a767(0xe9)],'autoClear':!0x0,'preExecute':function(){var _0x19bfe5=_0x51a767,_0x881cc1;_0x881cc1=_0x2c113f[_0x19bfe5(0xcc)][_0x19bfe5(0xf3)],_0x2c113f[_0x19bfe5(0xcc)][_0x19bfe5(0xf3)]=_0x2c113f[_0x19bfe5(0xcc)]['nextTrails'],_0x2c113f[_0x19bfe5(0xcc)][_0x19bfe5(0xe9)]=_0x881cc1,_0x2c113f[_0x19bfe5(0x9b)][_0x19bfe5(0x19e)][_0x19bfe5(0x198)][_0x19bfe5(0x93)]=_0x2c113f[_0x19bfe5(0xcc)][_0x19bfe5(0xe9)],_0x2c113f[_0x19bfe5(0x9b)][_0x19bfe5(0x19e)][_0x19bfe5(0x175)]['framebuffer']=_0x2c113f['framebuffers']['nextTrails'];}}),'screen':new _0x5a53ab({'commandType':_0x51a767(0x1b0),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x4d6a82[_0x51a767(0x1fc)](),'primitiveType':_0x44043d[_0x51a767(0x157)][_0x51a767(0xcb)],'uniformMap':{'trailsColorTexture':function(){var _0x196207=_0x51a767;return _0x2c113f[_0x196207(0xcc)][_0x196207(0xe9)][_0x196207(0x1eb)](0x0);},'trailsDepthTexture':function(){var _0x408fcc=_0x51a767;return _0x2c113f[_0x408fcc(0xcc)][_0x408fcc(0xe9)][_0x408fcc(0xc2)];}},'vertexShaderSource':new _0x44043d['ShaderSource']({'defines':[_0x51a767(0xfa)],'sources':[_0x24a3a5['a']]}),'fragmentShaderSource':new _0x44043d[(_0x51a767(0x95))]({'defines':[_0x51a767(0xc6)],'sources':[_0x2085d7['a']]}),'rawRenderState':_0x4d6a82[_0x51a767(0x8b)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0xaa463b;}()),_0x1fd0f9=_0x5b42b3(0xe),_0x1a82a0=_0x5b42b3['n'](_0x1fd0f9),_0x2d29b7=_0x5b42b3(0xf),_0x4fa44b=_0x5b42b3['n'](_0x2d29b7),_0x280555=_0x5b42b3(0x10),_0xee945b=_0x5b42b3['n'](_0x280555),_0xd6b051=_0x5b42b3(0x11),_0xcb2f62=_0x5b42b3['n'](_0xd6b051),_0x35a08b=_0x5b42b3(0x12),_0x5473cf=_0x5b42b3['n'](_0x35a08b),_0x5f1352=_0x170d6b[_0x132431(0x1ea)],_0x583437=(function(){var _0xc9846b=_0x132431;function _0x4260c7(_0x20e6cb,_0x3c8a4f,_0x5a75e1,_0x22b2d2){var _0x383594=a0_0x13b5;_0x5c506e()(this,_0x4260c7),this[_0x383594(0x1b5)]=_0x3c8a4f,this['createWindTextures'](_0x20e6cb,_0x3c8a4f),this[_0x383594(0xe5)](_0x20e6cb,_0x5a75e1,_0x22b2d2),this[_0x383594(0x176)](_0x3c8a4f,_0x5a75e1,_0x22b2d2);}return _0x2169ad()(_0x4260c7,[{'key':_0xc9846b(0x94),'value':function(_0x511cf0,_0x1954fc){var _0xdb9391=_0xc9846b,_0x4d9cd8={'context':_0x511cf0,'width':_0x1954fc[_0xdb9391(0xe2)]['lon'],'height':_0x1954fc[_0xdb9391(0xe2)][_0xdb9391(0x87)]*(_0x1954fc[_0xdb9391(0xe2)][_0xdb9391(0x125)]||0x1),'pixelFormat':_0x5f1352[_0xdb9391(0x1f7)][_0xdb9391(0x170)],'pixelDatatype':_0x5f1352[_0xdb9391(0x20c)][_0xdb9391(0xb6)],'flipY':!0x1,'sampler':new _0x5f1352['Sampler']({'minificationFilter':_0x5f1352[_0xdb9391(0x137)][_0xdb9391(0x90)],'magnificationFilter':_0x5f1352[_0xdb9391(0x1e3)][_0xdb9391(0x90)]})};this[_0xdb9391(0x11e)]={'U':_0x4d6a82[_0xdb9391(0xf0)](_0x4d9cd8,_0x1954fc['U'][_0xdb9391(0xf1)]),'V':_0x4d6a82[_0xdb9391(0xf0)](_0x4d9cd8,_0x1954fc['V'][_0xdb9391(0xf1)])};}},{'key':_0xc9846b(0xe5),'value':function(_0x36c3cb,_0x1f61a8,_0x77a160){var _0x2872e1=_0xc9846b,_0x26fb58={'context':_0x36c3cb,'width':_0x1f61a8['particlesTextureSize'],'height':_0x1f61a8[_0x2872e1(0x11d)],'pixelFormat':_0x5f1352[_0x2872e1(0x1f7)]['RGBA'],'pixelDatatype':_0x5f1352[_0x2872e1(0x20c)][_0x2872e1(0xb6)],'flipY':!0x1,'sampler':new _0x5f1352[(_0x2872e1(0x189))]({'minificationFilter':_0x5f1352[_0x2872e1(0x137)][_0x2872e1(0x90)],'magnificationFilter':_0x5f1352[_0x2872e1(0x1e3)][_0x2872e1(0x90)]})},_0x18e49e=this['randomizeParticles'](_0x1f61a8[_0x2872e1(0xc0)],_0x77a160),_0x444224=new Float32Array(0x4*_0x1f61a8['maxParticles'])[_0x2872e1(0x1b9)](0x0);this[_0x2872e1(0x1fd)]={'particlesWind':_0x4d6a82['createTexture'](_0x26fb58),'currentParticlesPosition':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x18e49e),'nextParticlesPosition':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x18e49e),'currentParticlesSpeed':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x444224),'nextParticlesSpeed':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x444224),'postProcessingPosition':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x18e49e),'postProcessingSpeed':_0x4d6a82[_0x2872e1(0xf0)](_0x26fb58,_0x444224)};}},{'key':_0xc9846b(0x13f),'value':function(_0xada1f4,_0x556b39){var _0x40467b=_0xc9846b;for(var _0x11b0e8=new Float32Array(0x4*_0xada1f4),_0x3dfc2c=0x0;_0x3dfc2c<_0xada1f4;_0x3dfc2c++)_0x11b0e8[0x4*_0x3dfc2c]=_0x5f1352[_0x40467b(0x1cc)][_0x40467b(0x1e9)](_0x556b39['lonRange']['x'],_0x556b39[_0x40467b(0x1ee)]['y']),_0x11b0e8[0x4*_0x3dfc2c+0x1]=_0x5f1352[_0x40467b(0x1cc)][_0x40467b(0x1e9)](_0x556b39[_0x40467b(0x1d6)]['x'],_0x556b39[_0x40467b(0x1d6)]['y']),_0x11b0e8[0x4*_0x3dfc2c+0x2]=_0x5f1352[_0x40467b(0x1cc)]['randomBetween'](this[_0x40467b(0x1b5)]['lev']['min'],this[_0x40467b(0x1b5)][_0x40467b(0x125)][_0x40467b(0x7d)]),_0x11b0e8[0x4*_0x3dfc2c+0x3]=0x0;return _0x11b0e8;}},{'key':_0xc9846b(0x196),'value':function(){var _0x1fac7e=_0xc9846b,_0x3ac5b0=this;Object[_0x1fac7e(0x1ad)](this[_0x1fac7e(0x1fd)])[_0x1fac7e(0xab)](function(_0x4c0c53){var _0x12a94f=_0x1fac7e;_0x3ac5b0[_0x12a94f(0x1fd)][_0x4c0c53][_0x12a94f(0x119)]();});}},{'key':_0xc9846b(0x176),'value':function(_0x39911f,_0x52312c,_0x1010be){var _0x1ac467=_0xc9846b,_0x4d688d=new _0x5f1352['Cartesian3'](_0x39911f[_0x1ac467(0xe2)][_0x1ac467(0x1f0)],_0x39911f[_0x1ac467(0xe2)]['lat'],_0x39911f[_0x1ac467(0xe2)][_0x1ac467(0x125)]),_0x82b512=new _0x5f1352[(_0x1ac467(0x15c))](_0x39911f['lon'][_0x1ac467(0x1ff)],_0x39911f['lat'][_0x1ac467(0x1ff)],_0x39911f[_0x1ac467(0x125)][_0x1ac467(0x1ff)]),_0x465e7a=new _0x5f1352[(_0x1ac467(0x15c))](_0x39911f['lon']['max'],_0x39911f[_0x1ac467(0x87)][_0x1ac467(0x7d)],_0x39911f['lev']['max']),_0xdc8876=new _0x5f1352[(_0x1ac467(0x15c))]((_0x465e7a['x']-_0x82b512['x'])/(_0x4d688d['x']-0x1),(_0x465e7a['y']-_0x82b512['y'])/(_0x4d688d['y']-0x1),_0x4d688d['z']>0x1?(_0x465e7a['z']-_0x82b512['z'])/(_0x4d688d['z']-0x1):0x1),_0x1faada=new _0x5f1352['Cartesian2'](_0x39911f['U'][_0x1ac467(0x1ff)],_0x39911f['U'][_0x1ac467(0x7d)]),_0x2df458=new _0x5f1352[(_0x1ac467(0xca))](_0x39911f['V']['min'],_0x39911f['V'][_0x1ac467(0x7d)]),_0x62de92=this;this[_0x1ac467(0x9b)]={'getWind':new _0x5a53ab({'commandType':_0x1ac467(0xb1),'uniformMap':{'U':function(){return _0x62de92['windTextures']['U'];},'V':function(){return _0x62de92['windTextures']['V'];},'currentParticlesPosition':function(){var _0x5cc094=_0x1ac467;return _0x62de92[_0x5cc094(0x1fd)][_0x5cc094(0x17c)];},'dimension':function(){return _0x4d688d;},'minimum':function(){return _0x82b512;},'maximum':function(){return _0x465e7a;},'interval':function(){return _0xdc8876;}},'fragmentShaderSource':new _0x5f1352['ShaderSource']({'sources':[_0x1a82a0['a']]}),'outputTexture':this[_0x1ac467(0x1fd)][_0x1ac467(0x82)],'preExecute':function(){var _0x2f5d1c=_0x1ac467;_0x62de92[_0x2f5d1c(0x9b)][_0x2f5d1c(0x1db)][_0x2f5d1c(0x198)]['outputTexture']=_0x62de92[_0x2f5d1c(0x1fd)]['particlesWind'];}}),'updateSpeed':new _0x5a53ab({'commandType':_0x1ac467(0xb1),'uniformMap':{'currentParticlesSpeed':function(){var _0x3b15a1=_0x1ac467;return _0x62de92['particlesTextures'][_0x3b15a1(0x1fb)];},'particlesWind':function(){var _0x42bb18=_0x1ac467;return _0x62de92[_0x42bb18(0x1fd)][_0x42bb18(0x82)];},'uSpeedRange':function(){return _0x1faada;},'vSpeedRange':function(){return _0x2df458;},'pixelSize':function(){var _0x3f426d=_0x1ac467;return _0x1010be[_0x3f426d(0xd2)];},'speedFactor':function(){var _0x2205f3=_0x1ac467;return _0x52312c[_0x2205f3(0xc8)];}},'fragmentShaderSource':new _0x5f1352[(_0x1ac467(0x95))]({'sources':[_0x4fa44b['a']]}),'outputTexture':this[_0x1ac467(0x1fd)][_0x1ac467(0x115)],'preExecute':function(){var _0x13aa6f=_0x1ac467,_0x27bae1;_0x27bae1=_0x62de92[_0x13aa6f(0x1fd)]['currentParticlesSpeed'],_0x62de92[_0x13aa6f(0x1fd)][_0x13aa6f(0x1fb)]=_0x62de92[_0x13aa6f(0x1fd)][_0x13aa6f(0x86)],_0x62de92[_0x13aa6f(0x1fd)][_0x13aa6f(0x86)]=_0x27bae1,_0x62de92[_0x13aa6f(0x9b)][_0x13aa6f(0x1f2)][_0x13aa6f(0x198)]['outputTexture']=_0x62de92[_0x13aa6f(0x1fd)][_0x13aa6f(0x115)];}}),'updatePosition':new _0x5a53ab({'commandType':_0x1ac467(0xb1),'uniformMap':{'currentParticlesPosition':function(){var _0x2f6762=_0x1ac467;return _0x62de92[_0x2f6762(0x1fd)][_0x2f6762(0x17c)];},'currentParticlesSpeed':function(){var _0x2f6152=_0x1ac467;return _0x62de92[_0x2f6152(0x1fd)][_0x2f6152(0x1fb)];}},'fragmentShaderSource':new _0x5f1352[(_0x1ac467(0x95))]({'sources':[_0xee945b['a']]}),'outputTexture':this[_0x1ac467(0x1fd)][_0x1ac467(0xb7)],'preExecute':function(){var _0x47cfbc=_0x1ac467,_0x223f12;_0x223f12=_0x62de92['particlesTextures'][_0x47cfbc(0x17c)],_0x62de92[_0x47cfbc(0x1fd)][_0x47cfbc(0x17c)]=_0x62de92[_0x47cfbc(0x1fd)][_0x47cfbc(0x127)],_0x62de92[_0x47cfbc(0x1fd)][_0x47cfbc(0x127)]=_0x223f12,_0x62de92[_0x47cfbc(0x9b)]['updatePosition']['commandToExecute'][_0x47cfbc(0x111)]=_0x62de92[_0x47cfbc(0x1fd)][_0x47cfbc(0xb7)];}}),'postProcessingPosition':new _0x5a53ab({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){var _0x391d43=_0x1ac467;return _0x62de92[_0x391d43(0x1fd)][_0x391d43(0xb7)];},'nextParticlesSpeed':function(){var _0x45ca31=_0x1ac467;return _0x62de92[_0x45ca31(0x1fd)][_0x45ca31(0x115)];},'lonRange':function(){var _0x56b1f3=_0x1ac467;return _0x1010be[_0x56b1f3(0x1ee)];},'latRange':function(){return _0x1010be['latRange'];},'randomCoefficient':function(){var _0x275c42=_0x1ac467,_0x5808e9=Math[_0x275c42(0x13c)]();return _0x5808e9;},'dropRate':function(){return _0x52312c['dropRate'];},'dropRateBump':function(){return _0x52312c['dropRateBump'];}},'fragmentShaderSource':new _0x5f1352[(_0x1ac467(0x95))]({'sources':[_0xcb2f62['a']]}),'outputTexture':this[_0x1ac467(0x1fd)][_0x1ac467(0x127)],'preExecute':function(){var _0x39187f=_0x1ac467;_0x62de92[_0x39187f(0x9b)][_0x39187f(0x127)][_0x39187f(0x198)][_0x39187f(0x111)]=_0x62de92[_0x39187f(0x1fd)][_0x39187f(0x127)];}}),'postProcessingSpeed':new _0x5a53ab({'commandType':_0x1ac467(0xb1),'uniformMap':{'postProcessingPosition':function(){var _0x57ed85=_0x1ac467;return _0x62de92[_0x57ed85(0x1fd)][_0x57ed85(0x127)];},'nextParticlesSpeed':function(){var _0x22b673=_0x1ac467;return _0x62de92[_0x22b673(0x1fd)][_0x22b673(0x115)];}},'fragmentShaderSource':new _0x5f1352['ShaderSource']({'sources':[_0x5473cf['a']]}),'outputTexture':this[_0x1ac467(0x1fd)][_0x1ac467(0x86)],'preExecute':function(){var _0x4f8b44=_0x1ac467;_0x62de92[_0x4f8b44(0x9b)]['postProcessingSpeed'][_0x4f8b44(0x198)][_0x4f8b44(0x111)]=_0x62de92[_0x4f8b44(0x1fd)][_0x4f8b44(0x86)];}})};}}]),_0x4260c7;}());function _0x4b9d53(_0x33d8ca,_0x4575e8){var _0x3d8ab3=_0x132431,_0x49f6b3=Object[_0x3d8ab3(0x1ad)](_0x33d8ca);if(Object[_0x3d8ab3(0xfb)]){var _0x2ad02d=Object['getOwnPropertySymbols'](_0x33d8ca);_0x4575e8&&(_0x2ad02d=_0x2ad02d[_0x3d8ab3(0x10b)](function(_0x5c8391){var _0x442e02=_0x3d8ab3;return Object[_0x442e02(0x151)](_0x33d8ca,_0x5c8391)[_0x442e02(0x183)];})),_0x49f6b3[_0x3d8ab3(0x98)][_0x3d8ab3(0x1d5)](_0x49f6b3,_0x2ad02d);}return _0x49f6b3;}var _0x441f41=_0x170d6b['Cesium'],_0x3d6cf9=(function(){var _0x1b9b2d=_0x132431;function _0x3e7d9f(_0x3c404e,_0x336494,_0x207da6,_0x9fb751){var _0x12daf4=a0_0x13b5,_0x50ae94,_0x3dabc3,_0x45cbe3,_0x3aa77e,_0x141e5c,_0x37bfb7;(_0x5c506e()(this,_0x3e7d9f),this[_0x12daf4(0x1bf)]=_0x3c404e,(_0x336494=function(_0x504750){var _0x564387=_0x12daf4;for(var _0x18f8e0=0x1;_0x18f8e0<arguments['length'];_0x18f8e0++){var _0x1950d7=null!=arguments[_0x18f8e0]?arguments[_0x18f8e0]:{};_0x18f8e0%0x2?_0x4b9d53(Object(_0x1950d7),!0x0)[_0x564387(0xab)](function(_0x246cc6){_0x1f925c()(_0x504750,_0x246cc6,_0x1950d7[_0x246cc6]);}):Object[_0x564387(0x18b)]?Object['defineProperties'](_0x504750,Object[_0x564387(0x18b)](_0x1950d7)):_0x4b9d53(Object(_0x1950d7))[_0x564387(0xab)](function(_0x4986ec){var _0x20d6b3=_0x564387;Object[_0x20d6b3(0x1a0)](_0x504750,_0x4986ec,Object[_0x20d6b3(0x151)](_0x1950d7,_0x4986ec));});}return _0x504750;}({},_0x336494))[_0x12daf4(0xdc)]&&_0x336494[_0x12daf4(0x1d0)])&&(_0x336494[_0x12daf4(0xe2)]={},_0x336494['dimensions'][_0x12daf4(0x1f0)]=_0x336494[_0x12daf4(0x1dc)],_0x336494[_0x12daf4(0xe2)][_0x12daf4(0x87)]=_0x336494[_0x12daf4(0x136)],_0x336494['dimensions']['lev']=_0x336494[_0x12daf4(0x125)]||0x1,_0x336494['lon']={},_0x336494['lon'][_0x12daf4(0x1ff)]=_0x336494[_0x12daf4(0x16e)],_0x336494['lon']['max']=_0x336494[_0x12daf4(0x1b7)],_0x336494[_0x12daf4(0x87)]={},_0x336494[_0x12daf4(0x87)][_0x12daf4(0x1ff)]=_0x336494[_0x12daf4(0x19c)],_0x336494['lat']['max']=_0x336494[_0x12daf4(0x106)],_0x336494['lev']={},_0x336494['lev'][_0x12daf4(0x1ff)]=null!==(_0x50ae94=_0x336494[_0x12daf4(0x154)])&&void 0x0!==_0x50ae94?_0x50ae94:0x1,_0x336494[_0x12daf4(0x125)][_0x12daf4(0x7d)]=null!==(_0x3dabc3=_0x336494[_0x12daf4(0x80)])&&void 0x0!==_0x3dabc3?_0x3dabc3:0x1,_0x336494['U']={},_0x336494['U'][_0x12daf4(0xf1)]=new Float32Array(_0x336494[_0x12daf4(0xdc)]),_0x336494['U'][_0x12daf4(0x1ff)]=null!==(_0x45cbe3=_0x336494[_0x12daf4(0xc9)])&&void 0x0!==_0x45cbe3?_0x45cbe3:Math[_0x12daf4(0x1ff)][_0x12daf4(0x1d5)](Math,_0x1a48bd()(_0x336494[_0x12daf4(0xdc)])),_0x336494['U']['max']=null!==(_0x3aa77e=_0x336494['umax'])&&void 0x0!==_0x3aa77e?_0x3aa77e:Math[_0x12daf4(0x7d)][_0x12daf4(0x1d5)](Math,_0x1a48bd()(_0x336494[_0x12daf4(0xdc)])),_0x336494['V']={},_0x336494['V'][_0x12daf4(0xf1)]=new Float32Array(_0x336494[_0x12daf4(0x1d0)]),_0x336494['V']['min']=null!==(_0x141e5c=_0x336494[_0x12daf4(0xec)])&&void 0x0!==_0x141e5c?_0x141e5c:Math[_0x12daf4(0x1ff)][_0x12daf4(0x1d5)](Math,_0x1a48bd()(_0x336494[_0x12daf4(0x1d0)])),_0x336494['V'][_0x12daf4(0x7d)]=null!==(_0x37bfb7=_0x336494[_0x12daf4(0xa0)])&&void 0x0!==_0x37bfb7?_0x37bfb7:Math[_0x12daf4(0x7d)][_0x12daf4(0x1d5)](Math,_0x1a48bd()(_0x336494['vdata']))),(this[_0x12daf4(0x1b5)]=_0x336494,this['options']=_0x207da6,this[_0x12daf4(0x1e7)]=_0x9fb751,this['particlesComputing']=new _0x583437(this[_0x12daf4(0x1bf)],this[_0x12daf4(0x1b5)],this[_0x12daf4(0x1f9)],this[_0x12daf4(0x1e7)]),this[_0x12daf4(0x100)]=new _0x588385(this[_0x12daf4(0x1bf)],this[_0x12daf4(0x1b5)],this['options'],this[_0x12daf4(0x1e7)],this[_0x12daf4(0x16f)]));}return _0x2169ad()(_0x3e7d9f,[{'key':_0x1b9b2d(0x177),'value':function(_0xd95565){var _0x292a43=_0x1b9b2d,_0x3699d=this;this[_0x292a43(0x16f)]['destroyParticlesTextures'](),Object['keys'](this[_0x292a43(0x16f)][_0x292a43(0x11e)])[_0x292a43(0xab)](function(_0x5b12e0){var _0x29997f=_0x292a43;_0x3699d['particlesComputing'][_0x29997f(0x11e)][_0x5b12e0][_0x29997f(0x119)]();}),this[_0x292a43(0x100)][_0x292a43(0xc1)][_0x292a43(0x144)][_0x292a43(0x119)](),Object[_0x292a43(0x1ad)](this['particlesRendering'][_0x292a43(0xcc)])['forEach'](function(_0x45ef77){var _0x164a1b=_0x292a43;_0x3699d[_0x164a1b(0x100)]['framebuffers'][_0x45ef77]['destroy']();}),this[_0x292a43(0x1bf)]=_0xd95565,this['particlesComputing']=new _0x583437(this['context'],this[_0x292a43(0x1b5)],this[_0x292a43(0x1f9)],this[_0x292a43(0x1e7)]),this[_0x292a43(0x100)]=new _0x588385(this['context'],this[_0x292a43(0x1b5)],this[_0x292a43(0x1f9)],this[_0x292a43(0x1e7)],this[_0x292a43(0x16f)]);}},{'key':'clearFramebuffers','value':function(){var _0x18caba=_0x1b9b2d,_0x3426ca=this,_0x4d01b1=new _0x441f41[(_0x18caba(0x130))]({'color':new _0x441f41[(_0x18caba(0x138))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x441f41[_0x18caba(0xce)]['OPAQUE']});Object[_0x18caba(0x1ad)](this[_0x18caba(0x100)][_0x18caba(0xcc)])[_0x18caba(0xab)](function(_0x543d7b){var _0x5db2b9=_0x18caba;_0x4d01b1[_0x5db2b9(0x93)]=_0x3426ca[_0x5db2b9(0x100)][_0x5db2b9(0xcc)][_0x543d7b],_0x4d01b1[_0x5db2b9(0x165)](_0x3426ca['context']);});}},{'key':_0x1b9b2d(0xfd),'value':function(_0xdfa9e3){var _0x5c1c47=_0x1b9b2d;if(this[_0x5c1c47(0x195)](),this[_0x5c1c47(0x16f)]['destroyParticlesTextures'](),this[_0x5c1c47(0x16f)][_0x5c1c47(0xe5)](this[_0x5c1c47(0x1bf)],this[_0x5c1c47(0x1f9)],this['viewerParameters']),_0xdfa9e3){var _0x396260=this[_0x5c1c47(0x100)][_0x5c1c47(0x1af)](this[_0x5c1c47(0x1f9)]);this[_0x5c1c47(0x100)][_0x5c1c47(0x9b)][_0x5c1c47(0x1bd)]['geometry']=_0x396260;var _0x190f04=_0x441f41[_0x5c1c47(0x188)][_0x5c1c47(0x140)]({'context':this['context'],'geometry':_0x396260,'attributeLocations':this[_0x5c1c47(0x100)]['primitives'][_0x5c1c47(0x1bd)][_0x5c1c47(0x1c3)],'bufferUsage':_0x441f41[_0x5c1c47(0x203)][_0x5c1c47(0xda)]});this[_0x5c1c47(0x100)][_0x5c1c47(0x9b)][_0x5c1c47(0x1bd)][_0x5c1c47(0x198)]['vertexArray']=_0x190f04;}}},{'key':_0x1b9b2d(0xff),'value':function(_0x343f4f){var _0x22d037=_0x1b9b2d,_0x324945=this,_0x2cbf46=!0x1;this['options'][_0x22d037(0xc0)]!=_0x343f4f['maxParticles']&&(_0x2cbf46=!0x0),Object[_0x22d037(0x1ad)](_0x343f4f)[_0x22d037(0xab)](function(_0x3f44a1){var _0x234388=_0x22d037;_0x324945[_0x234388(0x1f9)][_0x3f44a1]=_0x343f4f[_0x3f44a1];}),this[_0x22d037(0xfd)](_0x2cbf46);}},{'key':'applyViewerParameters','value':function(_0x44a2d){var _0x23f33c=_0x1b9b2d,_0x38ef3c=this;Object[_0x23f33c(0x1ad)](_0x44a2d)[_0x23f33c(0xab)](function(_0x3d583f){var _0x1ed731=_0x23f33c;_0x38ef3c[_0x1ed731(0x1e7)][_0x3d583f]=_0x44a2d[_0x3d583f];}),this[_0x23f33c(0xfd)](!0x1);}},{'key':'destroy','value':function(){var _0x2e0085=_0x1b9b2d,_0x5bacc1=this;for(var _0x20d8f7 in(clearTimeout(this[_0x2e0085(0x99)]),this[_0x2e0085(0x16f)][_0x2e0085(0x196)](),Object[_0x2e0085(0x1ad)](this[_0x2e0085(0x16f)][_0x2e0085(0x11e)])[_0x2e0085(0xab)](function(_0x39be8a){var _0x44bb47=_0x2e0085;_0x5bacc1[_0x44bb47(0x16f)][_0x44bb47(0x11e)][_0x39be8a][_0x44bb47(0x119)]();}),this[_0x2e0085(0x100)][_0x2e0085(0xc1)][_0x2e0085(0x144)][_0x2e0085(0x119)](),Object[_0x2e0085(0x1ad)](this[_0x2e0085(0x100)][_0x2e0085(0xcc)])[_0x2e0085(0xab)](function(_0x1f597b){var _0x32d4f7=_0x2e0085;_0x5bacc1[_0x32d4f7(0x100)]['framebuffers'][_0x1f597b][_0x32d4f7(0x119)]();}),this))delete this[_0x20d8f7];}}]),_0x3e7d9f;}());function _0x6f7971(_0x1d7f38,_0x57322a){var _0x1e89b0=_0x132431,_0x57c6bb=Object[_0x1e89b0(0x1ad)](_0x1d7f38);if(Object['getOwnPropertySymbols']){var _0x193a91=Object[_0x1e89b0(0xfb)](_0x1d7f38);_0x57322a&&(_0x193a91=_0x193a91[_0x1e89b0(0x10b)](function(_0x38cddc){return Object['getOwnPropertyDescriptor'](_0x1d7f38,_0x38cddc)['enumerable'];})),_0x57c6bb[_0x1e89b0(0x98)][_0x1e89b0(0x1d5)](_0x57c6bb,_0x193a91);}return _0x57c6bb;}function _0x3e36fa(_0x3a7446){var _0x365c8f=_0x132431;for(var _0x526c18=0x1;_0x526c18<arguments['length'];_0x526c18++){var _0x44fdf0=null!=arguments[_0x526c18]?arguments[_0x526c18]:{};_0x526c18%0x2?_0x6f7971(Object(_0x44fdf0),!0x0)[_0x365c8f(0xab)](function(_0x5c3f92){_0x1f925c()(_0x3a7446,_0x5c3f92,_0x44fdf0[_0x5c3f92]);}):Object[_0x365c8f(0x18b)]?Object[_0x365c8f(0x1cf)](_0x3a7446,Object[_0x365c8f(0x18b)](_0x44fdf0)):_0x6f7971(Object(_0x44fdf0))[_0x365c8f(0xab)](function(_0x2c7df6){var _0x34a7fa=_0x365c8f;Object['defineProperty'](_0x3a7446,_0x2c7df6,Object[_0x34a7fa(0x151)](_0x44fdf0,_0x2c7df6));});}return _0x3a7446;}function _0xf6fac3(_0x20556a){var _0x3749e7=(function(){var _0x1f631d=a0_0x13b5;if('undefined'==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x1f631d(0x153)][_0x1f631d(0xe0)])return!0x1;if(_0x1f631d(0x1a3)==typeof Proxy)return!0x0;try{return Boolean['prototype'][_0x1f631d(0x88)][_0x1f631d(0x1a2)](Reflect[_0x1f631d(0x153)](Boolean,[],function(){})),!0x0;}catch(_0x11ce0b){return!0x1;}}());return function(){var _0x56e5e4=a0_0x13b5,_0x1c0867,_0x500793=_0x123b6d()(_0x20556a);if(_0x3749e7){var _0x31e132=_0x123b6d()(this)[_0x56e5e4(0x123)];_0x1c0867=Reflect[_0x56e5e4(0x153)](_0x500793,arguments,_0x31e132);}else _0x1c0867=_0x500793['apply'](this,arguments);return _0x336778()(this,_0x1c0867);};}var _0x502d1a=_0x170d6b[_0x132431(0x1ea)],_0x16cad8=_0x170d6b[_0x132431(0x129)][_0x132431(0xad)],_0x38ed2e={'particlesNumber':0x1000,'fixedHeight':0x0,'fadeOpacity':0.996,'dropRate':0.003,'dropRateBump':0.01,'speedFactor':0.5,'lineWidth':0x2,'colors':[_0x132431(0xd4)]},_0xf4306f=function(_0x1546be){var _0x46304f=_0x132431;_0x33e7cd()(_0x3d7b0c,_0x1546be);var _0x56148d=_0xf6fac3(_0x3d7b0c);function _0x3d7b0c(){var _0x32bc67=a0_0x13b5,_0x9b6061,_0x4a0ca4=arguments[_0x32bc67(0x12b)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x5c506e()(this,_0x3d7b0c),_0x4a0ca4=_0x3e36fa(_0x3e36fa({},_0x38ed2e),_0x4a0ca4),(_0x9b6061=_0x56148d[_0x32bc67(0x1a2)](this,_0x4a0ca4))[_0x32bc67(0x11c)](_0x4a0ca4),_0x9b6061;}return _0x2169ad()(_0x3d7b0c,[{'key':_0x46304f(0x129),'get':function(){var _0x37f839=_0x46304f;return this[_0x37f839(0x9b)];}},{'key':_0x46304f(0x1b5),'get':function(){var _0x5915fa=_0x46304f;return this[_0x5915fa(0x8e)];},'set':function(_0x1ce741){var _0x3310b8=_0x46304f;this[_0x3310b8(0xa4)](_0x1ce741);}},{'key':_0x46304f(0x107),'get':function(){return this['options']['colors'];},'set':function(_0x314661){var _0x5cae52=_0x46304f;this[_0x5cae52(0x1f9)]['colors']=_0x314661,this[_0x5cae52(0xdd)]&&this[_0x5cae52(0xdd)][_0x5cae52(0xff)]({'colors':_0x314661}),this[_0x5cae52(0x9e)]();}},{'key':_0x46304f(0x193),'value':function(){}},{'key':_0x46304f(0x1cd),'value':function(){var _0x240bd9=_0x46304f;this[_0x240bd9(0x1ed)]=this['_map'][_0x240bd9(0x1ed)],this[_0x240bd9(0x1a4)]=this[_0x240bd9(0xee)][_0x240bd9(0x1a4)],this[_0x240bd9(0x9b)]=new _0x502d1a[(_0x240bd9(0xb2))](),this[_0x240bd9(0xee)][_0x240bd9(0x1ed)][_0x240bd9(0x9b)][_0x240bd9(0x185)](this[_0x240bd9(0x9b)]),this[_0x240bd9(0x1e7)]={'lonRange':new _0x502d1a[(_0x240bd9(0xca))](),'latRange':new _0x502d1a[(_0x240bd9(0xca))](),'pixelSize':0x0},this[_0x240bd9(0x114)]=new _0x502d1a[(_0x240bd9(0x19d))](_0x502d1a[_0x240bd9(0x15c)][_0x240bd9(0x186)],6314355.63),this[_0x240bd9(0x17d)](),window[_0x240bd9(0x11b)](_0x240bd9(0x9e),this[_0x240bd9(0x9e)]['bind'](this),!0x1),this[_0x240bd9(0x1f5)]=!0x1,this[_0x240bd9(0x1d1)]=!0x1,this['_map']['on'](_0x170d6b['EventType']['wheel'],this[_0x240bd9(0x145)],this),this[_0x240bd9(0xee)]['on'](_0x170d6b['EventType'][_0x240bd9(0x187)],this[_0x240bd9(0xe6)],this),this[_0x240bd9(0xee)]['on'](_0x170d6b[_0x240bd9(0x207)][_0x240bd9(0x173)],this['_onMouseUpEvent'],this),this['_map']['on'](_0x170d6b[_0x240bd9(0x207)][_0x240bd9(0x10f)],this['_onMouseMoveEvent'],this),this[_0x240bd9(0x8e)]&&this[_0x240bd9(0xa4)](this['_data']);}},{'key':'_removedHook','value':function(){var _0x36e724=_0x46304f;window[_0x36e724(0x9a)](_0x36e724(0x9e),this['resize']),this['_map'][_0x36e724(0x1ba)](_0x170d6b[_0x36e724(0x207)][_0x36e724(0x19f)],this[_0x36e724(0xe1)],this),this[_0x36e724(0xee)]['off'](_0x170d6b[_0x36e724(0x207)][_0x36e724(0x13b)],this[_0x36e724(0x145)],this),this['_map'][_0x36e724(0x1ba)](_0x170d6b[_0x36e724(0x207)][_0x36e724(0x187)],this[_0x36e724(0xe6)],this),this['_map']['off'](_0x170d6b[_0x36e724(0x207)][_0x36e724(0x173)],this[_0x36e724(0x1a9)],this),this[_0x36e724(0xee)][_0x36e724(0x1ba)](_0x170d6b['EventType'][_0x36e724(0x10f)],this[_0x36e724(0x181)],this),this[_0x36e724(0x9b)][_0x36e724(0xd1)](),this['_map'][_0x36e724(0x1ed)][_0x36e724(0x9b)][_0x36e724(0x9d)](this[_0x36e724(0x9b)]);}},{'key':_0x46304f(0x9e),'value':function(){var _0x830e2a=_0x46304f;this[_0x830e2a(0x126)]&&this[_0x830e2a(0xdd)]&&(this[_0x830e2a(0x9b)][_0x830e2a(0x126)]=!0x1,this[_0x830e2a(0x9b)][_0x830e2a(0xd1)](),this[_0x830e2a(0xee)][_0x830e2a(0x171)](_0x170d6b[_0x830e2a(0x207)][_0x830e2a(0x19f)],this[_0x830e2a(0xe1)],this));}},{'key':_0x46304f(0xe1),'value':function(_0x3e16ce){var _0x4a30b8=_0x46304f;this[_0x4a30b8(0xdd)][_0x4a30b8(0x177)](this['scene'][_0x4a30b8(0x1bf)]),this['addPrimitives'](),this[_0x4a30b8(0x9b)][_0x4a30b8(0x126)]=!0x0;}},{'key':_0x46304f(0x145),'value':function(_0x368c22){var _0x33920c=_0x46304f,_0x1ee630=this;clearTimeout(this['refreshTimer']),this[_0x33920c(0x126)]&&this['particleSystem']&&(this['primitives'][_0x33920c(0x126)]=!0x1,this[_0x33920c(0x10a)]=setTimeout(function(){var _0x8a6c2b=_0x33920c;_0x1ee630[_0x8a6c2b(0x126)]&&_0x1ee630[_0x8a6c2b(0x121)]();},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x2fef6d){var _0x126185=_0x46304f;this[_0x126185(0x1f5)]=!0x0;}},{'key':_0x46304f(0x181),'value':function(_0x814c6){var _0x27f770=_0x46304f;this[_0x27f770(0x126)]&&this[_0x27f770(0xdd)]&&this[_0x27f770(0x1f5)]&&(this[_0x27f770(0x9b)][_0x27f770(0x126)]=!0x1,this[_0x27f770(0x1d1)]=!0x0);}},{'key':_0x46304f(0x1a9),'value':function(_0x2f4016){var _0x287243=_0x46304f;this[_0x287243(0x126)]&&this['particleSystem']&&(this[_0x287243(0x1f5)]&&this['mouse_move']&&this[_0x287243(0x121)](),this[_0x287243(0x9b)]['show']=!0x0,this[_0x287243(0x1f5)]=!0x1,this[_0x287243(0x1d1)]=!0x1);}},{'key':_0x46304f(0x121),'value':function(){var _0x46d828=_0x46304f;this[_0x46d828(0xee)]&&this['show']&&(this[_0x46d828(0x17d)](),this['particleSystem'][_0x46d828(0x206)](this[_0x46d828(0x1e7)]),this[_0x46d828(0x9b)][_0x46d828(0x126)]=!0x0);}},{'key':_0x46304f(0xa4),'value':function(_0x4f1c7d){var _0x469ba2=_0x46304f;this[_0x469ba2(0x8e)]=_0x4f1c7d,this[_0x469ba2(0xdd)]&&this[_0x469ba2(0xdd)][_0x469ba2(0x119)](),this[_0x469ba2(0xdd)]=new _0x3d6cf9(this['scene'][_0x469ba2(0x1bf)],_0x4f1c7d,this[_0x469ba2(0x92)](),this[_0x469ba2(0x1e7)]),this[_0x469ba2(0x102)]();}},{'key':_0x46304f(0x11c),'value':function(_0x11534d){var _0x5218b1=_0x46304f;if(_0x11534d){for(var _0x40fd60 in _0x11534d)this[_0x40fd60]=_0x11534d[_0x40fd60];}this[_0x5218b1(0xdd)]&&this[_0x5218b1(0xdd)]['setOptions'](this[_0x5218b1(0x92)]());}},{'key':'getOptions','value':function(){var _0x4d7ad8=_0x46304f,_0x198687=Math['ceil'](Math[_0x4d7ad8(0x17e)](this[_0x4d7ad8(0x16c)]));return this[_0x4d7ad8(0x16c)]=_0x198687*_0x198687,{'particlesTextureSize':_0x198687,'maxParticles':this['particlesNumber'],'particleHeight':this[_0x4d7ad8(0x1d9)],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x4d7ad8(0x1d2)],'dropRateBump':this[_0x4d7ad8(0x1c5)],'speedFactor':this[_0x4d7ad8(0xc8)],'lineWidth':this[_0x4d7ad8(0x79)],'globeLayer':this[_0x4d7ad8(0x1c2)],'WMS_URL':this[_0x4d7ad8(0x91)],'colors':this[_0x4d7ad8(0x107)]};}},{'key':'addPrimitives','value':function(){var _0x24aaf6=_0x46304f;this[_0x24aaf6(0x9b)][_0x24aaf6(0x185)](this[_0x24aaf6(0xdd)][_0x24aaf6(0x16f)]['primitives'][_0x24aaf6(0x1db)]),this['primitives']['add'](this[_0x24aaf6(0xdd)][_0x24aaf6(0x16f)][_0x24aaf6(0x9b)][_0x24aaf6(0x1f2)]),this[_0x24aaf6(0x9b)]['add'](this[_0x24aaf6(0xdd)][_0x24aaf6(0x16f)][_0x24aaf6(0x9b)][_0x24aaf6(0x10e)]),this[_0x24aaf6(0x9b)][_0x24aaf6(0x185)](this[_0x24aaf6(0xdd)][_0x24aaf6(0x16f)][_0x24aaf6(0x9b)][_0x24aaf6(0x127)]),this['primitives'][_0x24aaf6(0x185)](this[_0x24aaf6(0xdd)][_0x24aaf6(0x16f)][_0x24aaf6(0x9b)][_0x24aaf6(0x86)]),this['primitives'][_0x24aaf6(0x185)](this[_0x24aaf6(0xdd)]['particlesRendering'][_0x24aaf6(0x9b)][_0x24aaf6(0x1bd)]),this['primitives'][_0x24aaf6(0x185)](this[_0x24aaf6(0xdd)][_0x24aaf6(0x100)][_0x24aaf6(0x9b)]['trails']),this[_0x24aaf6(0x9b)]['add'](this['particleSystem'][_0x24aaf6(0x100)][_0x24aaf6(0x9b)][_0x24aaf6(0xbc)]);}},{'key':'updateViewerParameters','value':function(){var _0x456bc7=_0x46304f,_0x543895=this[_0x456bc7(0x1a4)][_0x456bc7(0x1bb)](this[_0x456bc7(0x1ed)][_0x456bc7(0x14e)][_0x456bc7(0x85)]);if(!_0x543895){var _0x516422=this[_0x456bc7(0xee)][_0x456bc7(0xb5)]();_0x543895=_0x502d1a[_0x456bc7(0x1aa)][_0x456bc7(0xa9)](_0x516422[_0x456bc7(0x16e)],_0x516422[_0x456bc7(0x19c)],_0x516422[_0x456bc7(0x1b7)],_0x516422[_0x456bc7(0x106)]);}var _0xdb6566=_0x4d6a82[_0x456bc7(0x164)](_0x543895);this['viewerParameters'][_0x456bc7(0x1ee)]['x']=_0xdb6566[_0x456bc7(0x1f0)][_0x456bc7(0x1ff)],this[_0x456bc7(0x1e7)][_0x456bc7(0x1ee)]['y']=_0xdb6566['lon']['max'],this['viewerParameters'][_0x456bc7(0x1d6)]['x']=_0xdb6566[_0x456bc7(0x87)]['min'],this[_0x456bc7(0x1e7)][_0x456bc7(0x1d6)]['y']=_0xdb6566['lat'][_0x456bc7(0x7d)];var _0x2275ae=this[_0x456bc7(0x1a4)]['getPixelSize'](this[_0x456bc7(0x114)],this[_0x456bc7(0x1ed)][_0x456bc7(0xdf)],this[_0x456bc7(0x1ed)]['drawingBufferHeight']);_0x2275ae>0x0&&(this[_0x456bc7(0x1e7)][_0x456bc7(0xd2)]=_0x2275ae);}}]),_0x3d7b0c;}(_0x16cad8);_0x170d6b[_0x132431(0x15f)][_0x132431(0x16d)](_0x132431(0x20a),_0xf4306f),_0x170d6b[_0x132431(0x129)][_0x132431(0xc3)]=_0xf4306f;var _0x1d8f1a=_0x2169ad()(function _0x510894(){var _0x2b0228=_0x132431;_0x5c506e()(this,_0x510894),this[_0x2b0228(0x1d7)]=null,this[_0x2b0228(0x87)]=null,this['tlng']=null,this[_0x2b0228(0x197)]=null,this[_0x2b0228(0x14f)]=null;}),_0x2e6381=(function(){var _0xf34a7d=_0x132431;function _0x283e22(_0x335a80,_0x367623){var _0x2d3e5d=a0_0x13b5;_0x5c506e()(this,_0x283e22),this[_0x2d3e5d(0x136)]=_0x335a80[_0x2d3e5d(0x136)],this[_0x2d3e5d(0x1dc)]=_0x335a80[_0x2d3e5d(0x1dc)],this[_0x2d3e5d(0x16e)]=_0x335a80[_0x2d3e5d(0x16e)],this[_0x2d3e5d(0x1b7)]=_0x335a80[_0x2d3e5d(0x1b7)],this[_0x2d3e5d(0x19c)]=_0x335a80['ymin'],this[_0x2d3e5d(0x106)]=_0x335a80[_0x2d3e5d(0x106)],this[_0x2d3e5d(0x1a5)]=[];var _0x2e198c=_0x335a80[_0x2d3e5d(0xdc)],_0x457665=_0x335a80[_0x2d3e5d(0x1d0)],_0x5dd9bc=!0x1;_0x2e198c['length']===this['rows']&&_0x2e198c[0x0]['length']===this[_0x2d3e5d(0x1dc)]&&(_0x5dd9bc=!0x0);for(var _0x239d38=0x0,_0x49d8d2=null,_0x483861=null,_0x4aec79=0x0;_0x4aec79<this[_0x2d3e5d(0x136)];_0x4aec79++){_0x49d8d2=[];for(var _0x2b9e40=0x0;_0x2b9e40<this[_0x2d3e5d(0x1dc)];_0x2b9e40++,_0x239d38++)_0x483861=_0x5dd9bc?this[_0x2d3e5d(0xc7)](_0x2e198c[_0x4aec79][_0x2b9e40],_0x457665[_0x4aec79][_0x2b9e40]):this['_calcUV'](_0x2e198c[_0x239d38],_0x457665[_0x239d38]),_0x49d8d2[_0x2d3e5d(0x98)](_0x483861);this[_0x2d3e5d(0x1a5)][_0x2d3e5d(0x98)](_0x49d8d2);}_0x367623&&this['grid'][_0x2d3e5d(0x1c0)]();}return _0x2169ad()(_0x283e22,[{'key':_0xf34a7d(0x143),'value':function(_0x1ea73d,_0xf1b5a4){var _0x1c9e6e=_0xf34a7d;return{'x':(_0x1ea73d-this[_0x1c9e6e(0x16e)])/(this[_0x1c9e6e(0x1b7)]-this[_0x1c9e6e(0x16e)])*(this[_0x1c9e6e(0x1dc)]-0x1),'y':(this[_0x1c9e6e(0x106)]-_0xf1b5a4)/(this[_0x1c9e6e(0x106)]-this[_0x1c9e6e(0x19c)])*(this[_0x1c9e6e(0x136)]-0x1)};}},{'key':'getUVByXY','value':function(_0x32753d,_0x364ed4){var _0x469bae=_0xf34a7d;if(_0x32753d<0x0||_0x32753d>=this['cols']||_0x364ed4>=this[_0x469bae(0x136)])return[0x0,0x0,0x0];var _0x408370,_0x2d3a2b,_0x394a63=Math[_0x469bae(0x20b)](_0x32753d),_0x407954=Math[_0x469bae(0x20b)](_0x364ed4);if(_0x394a63===_0x32753d&&_0x407954===_0x364ed4)return this[_0x469bae(0x1a5)][_0x364ed4][_0x32753d];_0x408370=_0x394a63+0x1,_0x2d3a2b=_0x407954+0x1;var _0x168be7=this['getUVByXY'](_0x394a63,_0x407954),_0x40dbc9=this[_0x469bae(0x124)](_0x408370,_0x407954),_0x45c0bb=this['getUVByXY'](_0x394a63,_0x2d3a2b),_0x53b30f=this['getUVByXY'](_0x408370,_0x2d3a2b),_0x5a2d7d=null;try{_0x5a2d7d=this[_0x469bae(0x8d)](_0x32753d-_0x394a63,_0x364ed4-_0x407954,_0x168be7,_0x40dbc9,_0x45c0bb,_0x53b30f);}catch(_0xa482d2){console[_0x469bae(0xa6)](_0x32753d,_0x364ed4);}return _0x5a2d7d;}},{'key':_0xf34a7d(0x8d),'value':function(_0x19e532,_0x59fc7a,_0x57e0d0,_0x21ed9d,_0x324d29,_0xe1fc3b){var _0x26727f=_0xf34a7d,_0x290e68=0x1-_0x19e532,_0x20f620=0x1-_0x59fc7a,_0x5168e6=_0x290e68*_0x20f620,_0xea174d=_0x19e532*_0x20f620,_0x54993e=_0x290e68*_0x59fc7a,_0x1de836=_0x19e532*_0x59fc7a,_0x2ba72b=_0x57e0d0[0x0]*_0x5168e6+_0x21ed9d[0x0]*_0xea174d+_0x324d29[0x0]*_0x54993e+_0xe1fc3b[0x0]*_0x1de836,_0x5b709d=_0x57e0d0[0x1]*_0x5168e6+_0x21ed9d[0x1]*_0xea174d+_0x324d29[0x1]*_0x54993e+_0xe1fc3b[0x1]*_0x1de836;return this[_0x26727f(0xc7)](_0x2ba72b,_0x5b709d);}},{'key':_0xf34a7d(0xc7),'value':function(_0x2b2bc4,_0x58fd88){var _0x3db7ee=_0xf34a7d;return[+_0x2b2bc4,+_0x58fd88,Math[_0x3db7ee(0x17e)](_0x2b2bc4*_0x2b2bc4+_0x58fd88*_0x58fd88)];}},{'key':_0xf34a7d(0xb8),'value':function(_0x11df55,_0x407840){var _0x5c0228=_0xf34a7d;if(!this[_0x5c0228(0x8a)](_0x11df55,_0x407840))return null;var _0x1edfef=this[_0x5c0228(0x143)](_0x11df55,_0x407840);return this[_0x5c0228(0x124)](_0x1edfef['x'],_0x1edfef['y']);}},{'key':'isInExtent','value':function(_0x108cac,_0x4a2190){var _0x14ce62=_0xf34a7d;return _0x108cac>=this[_0x14ce62(0x16e)]&&_0x108cac<=this[_0x14ce62(0x1b7)]&&_0x4a2190>=this[_0x14ce62(0x19c)]&&_0x4a2190<=this[_0x14ce62(0x106)];}},{'key':_0xf34a7d(0x1ab),'value':function(){var _0x16435b=_0xf34a7d,_0x3afe68=_0x94bbb2(this[_0x16435b(0x16e)],this[_0x16435b(0x1b7)]);return{'lat':_0x94bbb2(this['ymin'],this[_0x16435b(0x106)]),'lng':_0x3afe68};}}]),_0x283e22;}());function _0x94bbb2(_0x1f44ae,_0x418ff4){var _0x2cc124=_0x132431;return _0x1f44ae+Math[_0x2cc124(0x13c)]()*(_0x418ff4-_0x1f44ae);}function _0x3235fc(_0x3a55eb){var _0x21fbe7=(function(){var _0x35bcc4=a0_0x13b5;if(_0x35bcc4(0x18f)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x35bcc4(0x153)]['sham'])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x35bcc4(0x1e0)][_0x35bcc4(0x88)][_0x35bcc4(0x1a2)](Reflect[_0x35bcc4(0x153)](Boolean,[],function(){})),!0x0;}catch(_0x4337d5){return!0x1;}}());return function(){var _0x2d5ea2=a0_0x13b5,_0x26aa66,_0x4af89d=_0x123b6d()(_0x3a55eb);if(_0x21fbe7){var _0x3cb3b1=_0x123b6d()(this)[_0x2d5ea2(0x123)];_0x26aa66=Reflect[_0x2d5ea2(0x153)](_0x4af89d,arguments,_0x3cb3b1);}else _0x26aa66=_0x4af89d['apply'](this,arguments);return _0x336778()(this,_0x26aa66);};}var _0x19acc7=_0x170d6b[_0x132431(0x1ea)],_0x5c5510=function(_0x195c3a){var _0x994133=_0x132431;_0x33e7cd()(_0x1dbfc9,_0x195c3a);var _0x1becb2=_0x3235fc(_0x1dbfc9);function _0x1dbfc9(){var _0x5562da=a0_0x13b5,_0x12950a,_0x205679=arguments[_0x5562da(0x12b)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x5c506e()(this,_0x1dbfc9),(_0x12950a=_0x1becb2['call'](this,_0x205679))[_0x5562da(0x11c)](_0x205679),_0x12950a['canvas']=null,_0x12950a;}return _0x2169ad()(_0x1dbfc9,[{'key':_0x994133(0x11c),'value':function(_0x14a7e2){var _0x254e14=_0x994133;this[_0x254e14(0xe7)]=[0x0,0x0],this[_0x254e14(0x152)]=[],this['speedRate']=_0x14a7e2[_0x254e14(0x1ef)]||0x32,this[_0x254e14(0x1cb)]=_0x14a7e2[_0x254e14(0x16c)]||0x1000,this[_0x254e14(0x174)]=_0x14a7e2[_0x254e14(0x1c4)]||0x78,this[_0x254e14(0xa7)]=0x3e8/(_0x14a7e2[_0x254e14(0xb3)]||0xa),this['_pointerEvents']=_0x19acc7[_0x254e14(0x8c)](this[_0x254e14(0x1f9)][_0x254e14(0x139)],!0x1),this['color']=_0x14a7e2[_0x254e14(0xd8)]||_0x254e14(0x1f4),this['lineWidth']=_0x14a7e2[_0x254e14(0x79)]||0x1,this[_0x254e14(0x1d9)]=_0x19acc7['defaultValue'](_0x14a7e2[_0x254e14(0x1d9)],0x0),this[_0x254e14(0x191)]=_0x19acc7[_0x254e14(0x8c)](_0x14a7e2[_0x254e14(0x191)],!0x1);}},{'key':_0x994133(0x129),'get':function(){var _0x15a2a1=_0x994133;return this[_0x15a2a1(0x120)];}},{'key':_0x994133(0xd9),'get':function(){var _0x2cb0a2=_0x994133;return this[_0x2cb0a2(0xee)][_0x2cb0a2(0x1ed)]['canvas'][_0x2cb0a2(0x131)];}},{'key':_0x994133(0x1f3),'get':function(){var _0x1148bf=_0x994133;return this[_0x1148bf(0xee)][_0x1148bf(0x1ed)][_0x1148bf(0x120)]['clientHeight'];}},{'key':_0x994133(0x139),'get':function(){var _0x1e596c=_0x994133;return this[_0x1e596c(0x1da)];},'set':function(_0x1f1813){var _0x553933=_0x994133;this['_pointerEvents']=_0x1f1813,this[_0x553933(0x120)]&&(this['canvas'][_0x553933(0xbd)][_0x553933(0x84)]=_0x1f1813?'all':_0x553933(0xa3));}},{'key':_0x994133(0x1ef),'get':function(){return this['_speedRate'];},'set':function(_0x2978da){var _0x11477e=_0x994133;this['_speedRate']=0x64*(0x64-(_0x2978da>0x63?0x63:_0x2978da)),this[_0x11477e(0x104)]();}},{'key':_0x994133(0x16c),'get':function(){var _0x56ac8c=_0x994133;return this[_0x56ac8c(0x1cb)];},'set':function(_0x1fe177){var _0x37dd85=_0x994133,_0x587abc=this;this[_0x37dd85(0x1cb)]=_0x1fe177,clearTimeout(this[_0x37dd85(0x169)]),this['_canrefresh']=setTimeout(function(){var _0x5c8b8c=_0x37dd85;_0x587abc[_0x5c8b8c(0x121)]();},0x1f4);}},{'key':_0x994133(0x1c4),'get':function(){var _0x486029=_0x994133;return this[_0x486029(0x174)];},'set':function(_0x5a2727){var _0x18e728=_0x994133,_0x51db27=this;this[_0x18e728(0x174)]=_0x5a2727,clearTimeout(this[_0x18e728(0x169)]),this[_0x18e728(0x169)]=setTimeout(function(){var _0x240b5f=_0x18e728;_0x51db27[_0x240b5f(0x121)]();},0x1f4);}},{'key':_0x994133(0x1b5),'get':function(){var _0x10c575=_0x994133;return this[_0x10c575(0x117)];},'set':function(_0x5705c2){var _0x2b1cc4=_0x994133;this[_0x2b1cc4(0xa4)](_0x5705c2);}},{'key':_0x994133(0x155),'value':function(_0x311403){var _0x360dc9=_0x994133;_0x311403?this['_addedHook']():(this[_0x360dc9(0x117)]&&(this['options']['data']=this['windData']),this[_0x360dc9(0xa8)]());}},{'key':_0x994133(0x193),'value':function(){}},{'key':'_addedHook','value':function(){var _0x213aa0=_0x994133;this[_0x213aa0(0x120)]=this[_0x213aa0(0x208)](),this[_0x213aa0(0x7c)]=this[_0x213aa0(0x120)][_0x213aa0(0x1e6)]('2d'),this[_0x213aa0(0x17b)](),this[_0x213aa0(0x1f9)]['data']&&this[_0x213aa0(0xa4)](this['options'][_0x213aa0(0x1b5)]);}},{'key':_0x994133(0xa8),'value':function(){var _0x123b8b=_0x994133;this[_0x123b8b(0x81)](),this[_0x123b8b(0x13a)](),this[_0x123b8b(0x120)]&&(this[_0x123b8b(0xee)][_0x123b8b(0x1dd)][_0x123b8b(0x7a)](this[_0x123b8b(0x120)]),delete this[_0x123b8b(0x120)]);}},{'key':_0x994133(0x208),'value':function(){var _0x57e19d=_0x994133,_0x1998c3=window['document'][_0x57e19d(0x1bc)](_0x57e19d(0x120));_0x1998c3[_0x57e19d(0xbd)]['position']=_0x57e19d(0x1a6),_0x1998c3[_0x57e19d(0xbd)][_0x57e19d(0x1de)]=_0x57e19d(0x149),_0x1998c3['style']['left']=_0x57e19d(0x149),_0x1998c3['style'][_0x57e19d(0x14a)]='100%',_0x1998c3[_0x57e19d(0xbd)][_0x57e19d(0xfc)]=_0x57e19d(0x7b),_0x1998c3[_0x57e19d(0xbd)][_0x57e19d(0x139)]=this[_0x57e19d(0x1da)]?_0x57e19d(0x16a):'none',_0x1998c3[_0x57e19d(0xbd)][_0x57e19d(0x11f)]=0xa,_0x1998c3[_0x57e19d(0xd7)]('id',_0x57e19d(0xf9)),_0x1998c3['setAttribute'](_0x57e19d(0x132),_0x57e19d(0xf9)),this[_0x57e19d(0xee)]['container'][_0x57e19d(0xfe)](_0x1998c3);var _0x462825=this[_0x57e19d(0xee)][_0x57e19d(0x1ed)];return _0x1998c3['width']=_0x462825['canvas'][_0x57e19d(0x131)],_0x1998c3[_0x57e19d(0xfc)]=_0x462825['canvas']['clientHeight'],_0x1998c3;}},{'key':_0x994133(0x9e),'value':function(){var _0x397e9e=_0x994133;this[_0x397e9e(0x120)]&&(this[_0x397e9e(0x120)][_0x397e9e(0x14a)]=this[_0x397e9e(0xd9)],this[_0x397e9e(0x120)][_0x397e9e(0xfc)]=this[_0x397e9e(0x1f3)]);}},{'key':_0x994133(0x17b),'value':function(){var _0xef5c9e=_0x994133,_0x3adec8=this,_0x1221c9=Date['now']();!function _0x2e80ff(){var _0x4a9fdb=a0_0x13b5;_0x3adec8[_0x4a9fdb(0x89)]=window[_0x4a9fdb(0x96)](_0x2e80ff);var _0x5362a7=Date['now'](),_0x5a199a=_0x5362a7-_0x1221c9;_0x5a199a>_0x3adec8[_0x4a9fdb(0xa7)]&&(_0x1221c9=_0x5362a7-_0x5a199a%_0x3adec8['frameTime'],_0x3adec8[_0x4a9fdb(0x192)]());}(),window[_0xef5c9e(0x11b)]('resize',this['resize'][_0xef5c9e(0x1ae)](this),!0x1),this[_0xef5c9e(0x1f5)]=!0x1,this[_0xef5c9e(0x1d1)]=!0x1,this[_0xef5c9e(0xee)]['on'](_0x170d6b[_0xef5c9e(0x207)]['wheel'],this[_0xef5c9e(0x145)],this),this[_0xef5c9e(0xee)]['on'](_0x170d6b[_0xef5c9e(0x207)][_0xef5c9e(0x187)],this[_0xef5c9e(0xe6)],this),this[_0xef5c9e(0xee)]['on'](_0x170d6b[_0xef5c9e(0x207)][_0xef5c9e(0x173)],this[_0xef5c9e(0x1a9)],this),this['_map']['on'](_0x170d6b[_0xef5c9e(0x207)][_0xef5c9e(0x10f)],this[_0xef5c9e(0x181)],this);}},{'key':_0x994133(0x13a),'value':function(){var _0x196acf=_0x994133;window['cancelAnimationFrame'](this['animateFrame']),delete this[_0x196acf(0x89)],window[_0x196acf(0x9a)](_0x196acf(0x9e),this[_0x196acf(0x9e)]),this[_0x196acf(0xee)][_0x196acf(0x1ba)](_0x170d6b[_0x196acf(0x207)][_0x196acf(0x13b)],this[_0x196acf(0x145)],this),this[_0x196acf(0xee)][_0x196acf(0x1ba)](_0x170d6b[_0x196acf(0x207)][_0x196acf(0x187)],this[_0x196acf(0xe6)],this),this['_map'][_0x196acf(0x1ba)](_0x170d6b[_0x196acf(0x207)][_0x196acf(0x173)],this[_0x196acf(0x1a9)],this),this[_0x196acf(0xee)][_0x196acf(0x1ba)](_0x170d6b[_0x196acf(0x207)][_0x196acf(0x10f)],this[_0x196acf(0x181)],this);}},{'key':_0x994133(0x145),'value':function(_0x15424f){var _0x23552b=_0x994133,_0x61126f=this;clearTimeout(this[_0x23552b(0x10a)]),this[_0x23552b(0x126)]&&this[_0x23552b(0x120)]&&(this[_0x23552b(0x120)]['style'][_0x23552b(0x16b)]=_0x23552b(0xba),this[_0x23552b(0x10a)]=setTimeout(function(){var _0x2904f8=_0x23552b;_0x61126f['show']&&(_0x61126f['redraw'](),_0x61126f[_0x2904f8(0x120)][_0x2904f8(0xbd)]['visibility']=_0x2904f8(0xf7));},0xc8));}},{'key':_0x994133(0xe6),'value':function(_0x2dbc52){var _0x36c22b=_0x994133;this[_0x36c22b(0x1f5)]=!0x0;}},{'key':_0x994133(0x181),'value':function(_0x5ad8a7){var _0x55391d=_0x994133;this[_0x55391d(0x126)]&&this[_0x55391d(0x120)]&&this[_0x55391d(0x1f5)]&&(this[_0x55391d(0x120)][_0x55391d(0xbd)][_0x55391d(0x16b)]=_0x55391d(0xba),this[_0x55391d(0x1d1)]=!0x0);}},{'key':_0x994133(0x1a9),'value':function(_0x55c94f){var _0x4deed7=_0x994133;this[_0x4deed7(0x126)]&&this[_0x4deed7(0x120)]&&(this[_0x4deed7(0x1f5)]&&this[_0x4deed7(0x1d1)]&&this[_0x4deed7(0x121)](),this[_0x4deed7(0x120)]['style'][_0x4deed7(0x16b)]='visible',this['mouse_down']=!0x1,this[_0x4deed7(0x1d1)]=!0x1);}},{'key':'redraw','value':function(){var _0x4e4cb3=_0x994133;this[_0x4e4cb3(0x126)]&&this[_0x4e4cb3(0x1b6)]&&(this[_0x4e4cb3(0x152)]=[],this['drawWind']());}},{'key':_0x994133(0xa4),'value':function(_0x7940db){var _0x579095=_0x994133;this[_0x579095(0x81)](),this['windData']=_0x7940db,this[_0x579095(0x1b6)]=new _0x2e6381(this[_0x579095(0x117)],this[_0x579095(0x191)]),this['drawWind']();}},{'key':'drawWind','value':function(){var _0x4d61dc=_0x994133;this[_0x4d61dc(0x104)]();for(var _0x4bb2d0=0x0;_0x4bb2d0<this[_0x4d61dc(0x16c)];_0x4bb2d0++){var _0x40c7d4=this[_0x4d61dc(0xc5)](new _0x1d8f1a());this[_0x4d61dc(0x152)][_0x4d61dc(0x98)](_0x40c7d4);}this[_0x4d61dc(0x7c)][_0x4d61dc(0xb9)]=_0x4d61dc(0x1c6),this[_0x4d61dc(0x7c)][_0x4d61dc(0xd0)]=0.6,this[_0x4d61dc(0x192)]();}},{'key':_0x994133(0x104),'value':function(){var _0x4e608b=_0x994133;this[_0x4e608b(0x1b6)]&&(this[_0x4e608b(0xe7)]=[(this[_0x4e608b(0x1b6)][_0x4e608b(0x1b7)]-this[_0x4e608b(0x1b6)]['xmin'])/this[_0x4e608b(0x1ef)],(this[_0x4e608b(0x1b6)][_0x4e608b(0x106)]-this[_0x4e608b(0x1b6)][_0x4e608b(0x19c)])/this[_0x4e608b(0x1ef)]]);}},{'key':_0x994133(0x192),'value':function(){var _0x12355b=_0x994133,_0x5348ac=this;if(this[_0x12355b(0x126)]&&!(this[_0x12355b(0x152)][_0x12355b(0x12b)]<=0x0)){var _0x1b3292=null,_0x13641c=null,_0xd332c5=null;this[_0x12355b(0x152)][_0x12355b(0xab)](function(_0x141e8b){var _0x37f194=_0x12355b;if(_0x141e8b[_0x37f194(0x14f)]<=0x0&&_0x5348ac['randomParticle'](_0x141e8b),_0x141e8b['age']>0x0){var _0x352182=_0x141e8b['tlng'],_0x70d84a=_0x141e8b[_0x37f194(0x197)];(_0xd332c5=_0x5348ac[_0x37f194(0x1b6)][_0x37f194(0xb8)](_0x352182,_0x70d84a))?(_0x1b3292=_0x352182+_0x5348ac['calc_speedRate'][0x0]*_0xd332c5[0x0],_0x13641c=_0x70d84a+_0x5348ac['calc_speedRate'][0x1]*_0xd332c5[0x1],_0x141e8b[_0x37f194(0x1d7)]=_0x352182,_0x141e8b['lat']=_0x70d84a,_0x141e8b[_0x37f194(0x118)]=_0x1b3292,_0x141e8b['tlat']=_0x13641c,_0x141e8b[_0x37f194(0x14f)]--):_0x141e8b[_0x37f194(0x14f)]=0x0;}}),this[_0x12355b(0x201)]();}}},{'key':_0x994133(0xd3),'value':function(_0x3e36b2,_0x43323e,_0x557fc1){var _0x5d2e42=_0x994133,_0x56824f=_0x19acc7[_0x5d2e42(0x15c)][_0x5d2e42(0xa9)](_0x3e36b2,_0x43323e,this[_0x5d2e42(0x1d9)]),_0x229a21=this[_0x5d2e42(0xee)][_0x5d2e42(0x1ed)];if(_0x229a21[_0x5d2e42(0x7f)]===_0x19acc7['SceneMode'][_0x5d2e42(0xb4)]&&!new _0x19acc7['EllipsoidalOccluder'](_0x229a21[_0x5d2e42(0x14e)][_0x5d2e42(0x85)],_0x229a21[_0x5d2e42(0x1a4)][_0x5d2e42(0x14d)])[_0x5d2e42(0x1b8)](_0x56824f))return _0x557fc1['age']=0x0,null;var _0xf61672=_0x19acc7['SceneTransforms'][_0x5d2e42(0x160)](this[_0x5d2e42(0xee)]['scene'],_0x56824f);return _0xf61672?[_0xf61672['x'],_0xf61672['y']]:null;}},{'key':_0x994133(0x201),'value':function(){var _0x49e37e=_0x994133,_0x23eabd=this,_0x596e48=this[_0x49e37e(0x152)];this[_0x49e37e(0x7c)][_0x49e37e(0x79)]=_0x23eabd['lineWidth'],this[_0x49e37e(0x7c)][_0x49e37e(0xd6)]=_0x49e37e(0x156),this[_0x49e37e(0x7c)][_0x49e37e(0x172)](0x0,0x0,this['canvasWidth'],this[_0x49e37e(0x1f3)]),this[_0x49e37e(0x7c)][_0x49e37e(0xd6)]=_0x49e37e(0xdb),this[_0x49e37e(0x7c)][_0x49e37e(0xd0)]=0.9,this[_0x49e37e(0x7c)][_0x49e37e(0x168)](),this[_0x49e37e(0x7c)]['strokeStyle']=this[_0x49e37e(0xd8)];var _0x267b23=this[_0x49e37e(0xee)][_0x49e37e(0x1ed)][_0x49e37e(0x7f)]!==_0x19acc7['SceneMode'][_0x49e37e(0xb4)];_0x596e48['forEach'](function(_0x109812){var _0x490733=_0x49e37e,_0x2ad30a=_0x23eabd[_0x490733(0xd3)](_0x109812[_0x490733(0x1d7)],_0x109812[_0x490733(0x87)],_0x109812),_0x5ae342=_0x23eabd[_0x490733(0xd3)](_0x109812[_0x490733(0x118)],_0x109812[_0x490733(0x197)],_0x109812);if(null!=_0x2ad30a&&null!=_0x5ae342){var _0xf8f138=Math['abs'](_0x2ad30a[0x0]-_0x5ae342[0x0]);_0x267b23&&_0xf8f138>=_0x23eabd['canvasWidth']||(_0x23eabd[_0x490733(0x7c)]['moveTo'](_0x2ad30a[0x0],_0x2ad30a[0x1]),_0x23eabd[_0x490733(0x7c)]['lineTo'](_0x5ae342[0x0],_0x5ae342[0x1]));}}),this[_0x49e37e(0x7c)][_0x49e37e(0x1b4)]();}},{'key':_0x994133(0xc5),'value':function(_0x1d8f26){var _0x1d697e=_0x994133;for(var _0x5df488,_0x204457,_0x522d37=0x0;_0x522d37<0x1e&&(_0x5df488=this[_0x1d697e(0x1b6)][_0x1d697e(0x1ab)](),!((_0x204457=this[_0x1d697e(0x1b6)]['getUVByPoint'](_0x5df488['lng'],_0x5df488[_0x1d697e(0x87)]))&&_0x204457[0x2]>0x0));_0x522d37++);if(!_0x204457)return _0x1d8f26;var _0x45d62c=_0x5df488[_0x1d697e(0x1d7)]+this[_0x1d697e(0xe7)][0x0]*_0x204457[0x0],_0xf95d7a=_0x5df488[_0x1d697e(0x87)]+this[_0x1d697e(0xe7)][0x1]*_0x204457[0x1];return _0x1d8f26[_0x1d697e(0x1d7)]=_0x5df488[_0x1d697e(0x1d7)],_0x1d8f26['lat']=_0x5df488[_0x1d697e(0x87)],_0x1d8f26[_0x1d697e(0x118)]=_0x45d62c,_0x1d8f26[_0x1d697e(0x197)]=_0xf95d7a,_0x1d8f26[_0x1d697e(0x14f)]=Math[_0x1d697e(0x17f)](Math[_0x1d697e(0x13c)]()*this[_0x1d697e(0x1c4)]),_0x1d8f26;}},{'key':_0x994133(0x81),'value':function(){var _0x58926b=_0x994133;this[_0x58926b(0x152)]=[],delete this[_0x58926b(0x1b6)],delete this[_0x58926b(0x117)];}}]),_0x1dbfc9;}(_0x170d6b[_0x132431(0x129)][_0x132431(0xad)]);_0x170d6b[_0x132431(0x15f)][_0x132431(0x16d)]('canvasWind',_0x5c5510),_0x170d6b[_0x132431(0x129)][_0x132431(0x167)]=_0x5c5510;var _0x275ad1=_0x170d6b[_0x132431(0x1ea)];function _0x1e420c(_0x245b36,_0x4f2516){var _0x56d9ab=_0x132431;return _0x245b36*Math[_0x56d9ab(0xe4)](_0x275ad1[_0x56d9ab(0x1cc)][_0x56d9ab(0xaa)](_0x4f2516));}function _0x2f6890(_0xbf408d,_0x179830){var _0x2f8eaa=_0x132431;return _0xbf408d*Math[_0x2f8eaa(0x17a)](_0x275ad1[_0x2f8eaa(0x1cc)][_0x2f8eaa(0xaa)](_0x179830));}function _0x498375(_0x23d78d,_0x45b6fb){var _0xba6518=_0x132431;return Math['sqrt'](Math[_0xba6518(0x1df)](_0x23d78d,0x2)+Math['pow'](_0x45b6fb,0x2));}function _0x1a39b4(_0x25e0d9,_0x26e5c8){var _0xb004bc=_0x132431,_0x4f2d58=_0x275ad1[_0xb004bc(0x1cc)][_0xb004bc(0x205)](Math[_0xb004bc(0xf6)](_0x26e5c8,_0x25e0d9));return _0x4f2d58+=_0x4f2d58<0x0?0x168:0x0;}_0x170d6b[_0x132431(0x1c7)]=_0x36b788;}]));
|
|
31
22
|
|
|
32
23
|
})(window);
|
|
33
24
|
|
package/package.json
CHANGED
|
@@ -1,18 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.1
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "Mars3D平台插件,支持气象 风向图 功能插件",
|
|
5
5
|
"main": "dist/mars3d-wind.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
8
8
|
],
|
|
9
|
-
"dependencies": {
|
|
10
|
-
|
|
11
|
-
"mars3d
|
|
9
|
+
"dependencies": {},
|
|
10
|
+
"devDependencies": {
|
|
11
|
+
"mars3d": "^3.2.1",
|
|
12
|
+
"@babel/core": "^7.14.3",
|
|
13
|
+
"@babel/eslint-parser": "^7.14.3",
|
|
14
|
+
"@babel/plugin-proposal-class-properties": "^7.14.3",
|
|
15
|
+
"@babel/plugin-transform-runtime": "^7.14.3",
|
|
16
|
+
"@babel/preset-env": "^7.14.3",
|
|
17
|
+
"babel-eslint": "^10.1.0",
|
|
18
|
+
"babel-loader": "^8.2.2",
|
|
19
|
+
"eslint": "^7.26.0",
|
|
20
|
+
"eslint-config-prettier": "^7.2.0",
|
|
21
|
+
"eslint-plugin-import": "^2.22.1",
|
|
22
|
+
"eslint-plugin-node": "^11.1.0",
|
|
23
|
+
"eslint-plugin-prettier": "^3.3.1",
|
|
24
|
+
"eslint-plugin-promise": "^4.3.1",
|
|
25
|
+
"prettier": "^2.2.1",
|
|
26
|
+
"webpack": "^4.46.0",
|
|
27
|
+
"webpack-cli": "^3.3.12",
|
|
28
|
+
"webpack-glsl-loader": "^1.0.1",
|
|
29
|
+
"javascript-obfuscator": "^2.15.5",
|
|
30
|
+
"webpack-obfuscator": "^2.6.0"
|
|
12
31
|
},
|
|
13
|
-
"devDependencies": {},
|
|
14
32
|
"scripts": {
|
|
15
|
-
"
|
|
33
|
+
"build": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.config.js && webpack --env.prod --progress --profile --colors --config ./scripts/webpack.config.js --devtool source-map",
|
|
34
|
+
"build-src": "webpack --env.prod --progress --profile --colors --config ./scripts/webpack.config.js --devtool source-map",
|
|
35
|
+
"build-min": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.config.js",
|
|
36
|
+
"build-npm": "webpack --env.prod --env.min --progress --profile --colors --config ./scripts/webpack.npm.js && node scripts/npm/buildNpm.js",
|
|
16
37
|
"push": "npm publish"
|
|
17
38
|
},
|
|
18
39
|
"repository": {
|
|
@@ -27,11 +48,13 @@
|
|
|
27
48
|
"marsgis",
|
|
28
49
|
"mars3d",
|
|
29
50
|
"cesium",
|
|
51
|
+
"webgl",
|
|
52
|
+
"gis",
|
|
30
53
|
"3dgis",
|
|
31
54
|
"webgis",
|
|
32
55
|
"wind"
|
|
33
56
|
],
|
|
34
|
-
"license": "Apache-2.0",
|
|
35
57
|
"author": "火星科技",
|
|
58
|
+
"license": "Apache-2.0",
|
|
36
59
|
"homepage": "http://mars3d.cn"
|
|
37
60
|
}
|