Compare commits

..

365 Commits

Author SHA1 Message Date
Andreas Hocevar
92cc26596d Update package version to 3.18.0 2016-08-26 17:56:10 +02:00
Andreas Hocevar
7de3951236 Changelog for v3.18.0 2016-08-26 17:55:57 +02:00
Andreas Hocevar
3fc2b9798e Merge pull request #5782 from ahocevar/ie-tests
Compare URLs in an IE compatible way
2016-08-26 17:25:27 +02:00
Andreas Hocevar
2e7b8dbbca Compare URLs in an IE compatible way 2016-08-26 17:03:21 +02:00
Andreas Hocevar
3e2c7071f8 Merge pull request #5778 from ahocevar/osm-mapzen
Use Mapzen instead of openstreetmap.us tiles
2016-08-26 11:46:58 +02:00
Andreas Hocevar
853fbee1e2 Use Mapzen instead of openstreetmap.us tiles
The openstreetmap.us tile service will be shut down before the end of the
month.
2016-08-26 10:46:12 +02:00
Frédéric Junod
e301ea4bc1 Merge pull request #5774 from openlayers/greenkeeper-glob-7.0.6
Update glob to version 7.0.6 🚀
2016-08-25 17:13:41 +02:00
Andreas Hocevar
457de34485 Merge pull request #5708 from ahocevar/no-closepath
Remove unnecessary closePath() instructions
2016-08-25 17:05:52 +02:00
Andreas Hocevar
65d03bfbfb Bail out when there is no fill and stroke 2016-08-25 16:40:31 +02:00
greenkeeperio-bot
9b46b86680 chore(package): update glob to version 7.0.6
https://greenkeeper.io/
2016-08-25 09:54:00 +02:00
Andreas Hocevar
b7c84b269c Merge pull request #5196 from ahocevar/batch-fill-stroke
Batch polygon and circle fills and strokes
2016-08-24 12:02:52 +02:00
Andreas Hocevar
395793b921 Additional tests and code comments 2016-08-24 11:44:15 +02:00
Andreas Hocevar
2d65ffb8ab Merge pull request #5768 from ahocevar/clip-vector
Enable extent clipping for vector layers
2016-08-23 16:33:34 +02:00
Frédéric Junod
379c092cf4 Merge pull request #4753 from fredj/export_contains
Export ol.geom.Geometry#containsCoordinate function
2016-08-23 16:22:20 +02:00
Andreas Hocevar
8992ee8e73 Entertain the compiler 2016-08-23 15:33:52 +02:00
Andreas Hocevar
f490302959 Enable extent clipping for vector tile layers 2016-08-23 15:20:00 +02:00
Andreas Hocevar
1c73dc9088 Enable extent clipping for vector layers 2016-08-23 15:12:19 +02:00
Frédéric Junod
3fcb0641e4 Merge pull request #5050 from fredj/text_rotateWithView
Add rotateWithView option to ol.style.Text
2016-08-23 14:37:14 +02:00
Frederic Junod
8d1a26dd5b Export ol.geom.Geometry#intersectsCoordinate 2016-08-23 14:36:49 +02:00
Frederic Junod
9074bd9783 Rename ol.geom.Geometry#containsCoordinate to intersectsCoordinate 2016-08-23 14:36:09 +02:00
Frédéric Junod
985dda28eb Merge pull request #5767 from fredj/modify_no_geom
Accept feature without geometry in ol.interaction.Modify
2016-08-23 14:20:11 +02:00
Frédéric Junod
8dac85ad92 Merge pull request #5334 from fredj/examples_https
Load the examples resources with HTTPS
2016-08-23 14:19:48 +02:00
Frederic Junod
bd635ed01f Load the examples resources with HTTPS 2016-08-23 13:52:16 +02:00
Frederic Junod
243f1061df Accept feature without geometry in ol.interaction.Modify 2016-08-23 13:49:43 +02:00
Petr Sloup
9eadf1505a Merge pull request #5766 from klokantech/examples-urls-https-fix
Use HTTPS to access tiles at tileserver.maptiler.com in examples
2016-08-23 13:45:36 +02:00
Frederic Junod
8e95d94f3e Add rotateWithView option to ol.style.Text 2016-08-23 13:26:02 +02:00
Petr Sloup
cf7bed7887 Fix protocol in examples
tileserver.maptiler.com now uses HTTPS
2016-08-23 12:49:00 +02:00
Frédéric Junod
17ebe82577 Merge pull request #5765 from fredj/fewer-render-calls
Force a map render when the view is not updated
2016-08-23 12:29:38 +02:00
Andreas Hocevar
79ded2aa75 Merge pull request #5724 from ahocevar/fix-tilelayer-extent
Fix clipping of the tile layer extent on HiDPI devices
2016-08-23 12:12:40 +02:00
Andreas Hocevar
7e940e618e Introduce new overlaps option for Vector and VectorTile sources
Instead of deciding whether to batch fills and strokes by looking at the
opacity of the style, we now rely on user input.
2016-08-23 12:05:03 +02:00
Andreas Hocevar
eed52552a9 Batch polygon and circle fills and strokes 2016-08-23 12:05:03 +02:00
Andreas Hocevar
208ea171c3 Add test to ensure the correct draw canvas size 2016-08-23 12:01:32 +02:00
Frederic Junod
fe75924941 Force a map render when the view is not updated 2016-08-23 10:57:20 +02:00
Andreas Hocevar
c1daf6f49f Add rendering tests for hidpi layer clipping 2016-08-23 10:55:56 +02:00
Andreas Hocevar
bee94d0d4f Fix drawScale calculation
The goal of using a drawScale was to use the smallest possible canvas (i.e.
one that fits the tile pixel ratio instead of the view pixel ratio) when
composing rotated views. Instead, the drawScale caused a ridiculously
large canvas.
2016-08-23 10:55:56 +02:00
Andreas Hocevar
92e2b72f55 Fix clip extent calculation for tile layers 2016-08-23 10:55:56 +02:00
Bart van den Eijnden
ba4aac72f3 Merge pull request #5764 from bartvde/fewer-render-calls
Remove unnecessary map.render() calls
2016-08-23 10:36:15 +02:00
Tim Schaub
684a551273 Remove extra map.render() calls from mousewheel zoom interaction 2016-08-23 10:23:23 +02:00
Tim Schaub
22add7e431 Remove extra map.render() calls from keyboard zoom interaction 2016-08-23 10:23:23 +02:00
Tim Schaub
1439f14cf3 Remove extra map.render() calls from drag rotate/zoom interaction 2016-08-23 10:23:23 +02:00
Tim Schaub
92e83aebe0 Remove extra map.render() calls from drag rotate interaction 2016-08-23 10:23:23 +02:00
Tim Schaub
5d461fa0e7 Remove extra map.render() calls from drag pan interaction 2016-08-23 10:23:23 +02:00
Andreas Hocevar
3b4e368a00 Merge pull request #5763 from ahocevar/fix-assert
Fix assert namespace
2016-08-23 10:14:37 +02:00
Andreas Hocevar
e62cc6ac47 Fix assert namespace 2016-08-23 09:58:31 +02:00
Andreas Hocevar
c81709bed3 Merge pull request #5616 from ahocevar/fix-mouseonly-type
Fix event type and documentation of ol.events.condition.mouseOnly
2016-08-23 09:46:16 +02:00
Frédéric Junod
0f9a1830b8 Merge pull request #5755 from fredj/5740
Increase the size of the map in ol.layer.Tile rendering tests
2016-08-23 08:30:12 +02:00
Frédéric Junod
7206c0f2f1 Merge pull request #5757 from fredj/cluster_setDistance
Add ol.source.Cluster#setDistance function
2016-08-23 08:29:52 +02:00
Andreas Hocevar
f9a595ed5b Merge pull request #5752 from ahocevar/fix-rotated-replaycontext
Set proper replay canvas size and offset for rotated view
2016-08-22 21:40:29 +02:00
Frederic Junod
f164ad7598 Add ol.source.Cluster#setDistance function 2016-08-22 13:36:44 +02:00
Frederic Junod
e6ba9973f9 Increase the size of the map in ol.layer.Tile rendering tests 2016-08-22 09:03:27 +02:00
Frédéric Junod
f0ca265ad1 Merge pull request #5754 from openlayers/greenkeeper-istanbul-0.4.5
Update istanbul to version 0.4.5 🚀
2016-08-22 09:03:06 +02:00
Frédéric Junod
ef07dc6eff Merge pull request #5727 from fredj/add_missing_goog_require
Add missing goog require
2016-08-22 08:35:06 +02:00
Frédéric Junod
2de2575ead Merge pull request #5273 from fredj/gutter_pixelRatio
Take the pixelRatio into account when computing the gutter
2016-08-22 08:31:00 +02:00
greenkeeperio-bot
fd2cc91482 chore(package): update istanbul to version 0.4.5
https://greenkeeper.io/
2016-08-21 19:43:05 -04:00
Andreas Hocevar
ce50714b85 Merge pull request #5753 from openlayers/greenkeeper-proj4-2.3.15
Update proj4 to version 2.3.15 🚀
2016-08-22 01:42:45 +02:00
greenkeeperio-bot
1c45321e32 chore(package): update proj4 to version 2.3.15
https://greenkeeper.io/
2016-08-21 15:41:58 -04:00
Andreas Hocevar
02daf761f0 Set proper replay canvas size and offset for rotated view 2016-08-21 14:14:37 +02:00
Bart van den Eijnden
4c098e0419 Merge pull request #5741 from bartvde/workshop-i18n
Point to the English workshop
2016-08-17 17:05:30 +02:00
Bart van den Eijnden
ede6fc6e01 Point to the English workshop 2016-08-17 14:17:59 +02:00
Frederic Junod
2fb5e544c2 Take the pixelRatio into account when computing the gutter 2016-08-17 13:33:03 +02:00
Frederic Junod
522398d064 Add missing goog.require('ol.style.Style') 2016-08-17 10:00:36 +02:00
Frederic Junod
d4ad9ad616 Add missing goog.require('ol') 2016-08-17 09:57:21 +02:00
Frederic Junod
793ec85b9d Add missing goog.require('ol.render.canvas') 2016-08-17 09:57:21 +02:00
Frederic Junod
ca7fbc25de Add missing goog.require('ol.asserts') 2016-08-17 09:57:21 +02:00
Frédéric Junod
2489dee519 Merge pull request #5721 from openlayers/greenkeeper-metalsmith-2.2.0
Update metalsmith to version 2.2.0 🚀
2016-08-17 09:08:33 +02:00
Bart van den Eijnden
784be4099e Merge pull request #5733 from adube/fix-uri-appendparams-exclude-null
Fix #5730 - Ignore null/undef. values in uri.appendParams
2016-08-16 14:50:27 +02:00
Alexandre Dubé
d61bdfb20a Add test unit for null|undefined params in ol.uri 2016-08-16 08:30:56 -04:00
Alexandre Dubé
3959e9b76f Fix #5730 - Ignore null/undef. values in uri.appendParams 2016-08-16 08:25:33 -04:00
Tobias Sauerwein
0ffc39e70f Merge pull request #5736 from tsauerwein/resultType-docs
Show `resultType` attribute in docs
2016-08-16 12:40:23 +02:00
tsauerwein
05d91e8825 Show resultType attribute in docs 2016-08-16 11:43:33 +02:00
Frédéric Junod
400818635a Merge pull request #5735 from openlayers/greenkeeper-eslint-3.3.1
Update eslint to version 3.3.1 🚀
2016-08-16 08:30:35 +02:00
Andreas Hocevar
790bfe5a52 Merge pull request #5731 from Benjaki2/master
Added a pixelRatio adjust to the canvasTileLayer 'forEachLayerAtPixel…
2016-08-16 00:17:49 +02:00
greenkeeperio-bot
be422ff9ec chore(package): update eslint to version 3.3.1
https://greenkeeper.io/
2016-08-15 17:52:51 -04:00
Frédéric Junod
bdd177dc1d Merge pull request #5732 from fredj/cleanup
Add missing curly braces in type annotations
2016-08-15 17:16:53 +02:00
Frederic Junod
a5a9ed69eb Add missing curly braces in type annotations 2016-08-15 16:33:33 +02:00
Benjamin
c3b66743fe Added a pixelRatio adjust to the canvasTileLayer 'forEachLayerAtPixel' method
This method was composing a frame that was only accurate for devices
with a pixelRatio of 1. Now the canvas widths and heights are
multiplied beforehand by the pixelRatio. #5601
2016-08-15 10:28:29 -04:00
Frédéric Junod
3dd21af721 Merge pull request #5728 from openlayers/greenkeeper-closure-util-1.15.1
Update closure-util to version 1.15.1 🚀
2016-08-15 16:17:35 +02:00
greenkeeperio-bot
87a1df8eb3 chore(package): update metalsmith to version 2.2.0
https://greenkeeper.io/
2016-08-15 15:54:39 +02:00
Frédéric Junod
8425b6d40b Merge pull request #5717 from openlayers/greenkeeper-phantomjs-prebuilt-2.1.12
Update phantomjs-prebuilt to version 2.1.12 🚀
2016-08-15 15:35:57 +02:00
greenkeeperio-bot
2032632dc6 chore(package): update phantomjs-prebuilt to version 2.1.12
https://greenkeeper.io/
2016-08-15 13:35:26 +02:00
greenkeeperio-bot
f8a2352eff chore(package): update closure-util to version 1.15.1
https://greenkeeper.io/
2016-08-15 07:33:03 -04:00
Andreas Hocevar
be1bec3aa8 Merge pull request #5725 from probins/wmts
Remove tilerange assert from tilegrid/wmts
2016-08-15 09:46:31 +02:00
Frédéric Junod
f799a4b371 Merge pull request #5723 from openlayers/greenkeeper-eslint-3.3.0
Update eslint to version 3.3.0 🚀
2016-08-15 08:45:42 +02:00
Peter Robins
8cabff9b7d Remove tilerange assert from tilegrid/wmts 2016-08-13 17:38:35 +00:00
Tim Schaub
f25fd07a5e Merge pull request #5702 from tschaub/no-missing-requires
Add rule to identify missing requires
2016-08-13 10:32:41 -06:00
Andreas Hocevar
f3c8465e6c Merge pull request #5670 from Benjaki2/master
Added image data value to 'forEachLayerAtPixel' method callback
2016-08-13 14:09:47 +02:00
greenkeeperio-bot
35bb349ece chore(package): update eslint to version 3.3.0
https://greenkeeper.io/
2016-08-12 13:07:46 -06:00
Andreas Hocevar
846a0e5f76 Merge pull request #5720 from probins/patch-1
Fix typo in tilegrid/wmts
2016-08-12 19:27:09 +02:00
Tim Schaub
c0d21aa5b4 Updated eslint-plugin-openlayers-internal 2016-08-12 10:54:36 -06:00
Tim Schaub
0db12e8590 Resolve root to source directory 2016-08-12 10:54:36 -06:00
Tim Schaub
833d061bc7 Depend on eslint-plugin-openlayers-internal from the registry 2016-08-12 10:54:36 -06:00
Frederic Junod
1973a038d3 Move eslint-plugin-openlayers-internal to devDependencies 2016-08-12 10:54:36 -06:00
Tim Schaub
e8d3fb15ed Install updated rules 2016-08-12 10:54:36 -06:00
Tim Schaub
a9e34c0f92 Refactored filter formats 2016-08-12 10:54:36 -06:00
Tim Schaub
a27d0da8a5 Add transform2D to ol.geom.SimpleGeometry 2016-08-12 10:54:06 -06:00
Tim Schaub
9d276982b5 Assorted missing requires 2016-08-12 10:53:50 -06:00
Tim Schaub
3afb42828f Add Hint and Property as ol.View properties 2016-08-12 10:53:50 -06:00
Tim Schaub
9cbbdc9242 Add Usage property to ol.webgl.Buffer 2016-08-12 10:53:50 -06:00
Tim Schaub
0b3c320540 Rename ol.webgl.WebGLContextEventType to ol.webgl.ContextEventType 2016-08-12 10:53:50 -06:00
Tim Schaub
9e4d80b459 Move State to ol.Tile 2016-08-12 10:53:49 -06:00
Tim Schaub
ef468b3b06 Ignore remaining missing requires in tests 2016-08-12 10:53:49 -06:00
Tim Schaub
5643d3ec77 Missing requires in tests 2016-08-12 10:53:49 -06:00
Tim Schaub
85d4fb6ac4 Add missing requires to rendering tests 2016-08-12 10:53:49 -06:00
Tim Schaub
bd015eabe4 One provide per test file 2016-08-12 10:53:49 -06:00
Tim Schaub
510083fbfc Remove unnecessary test 2016-08-12 10:53:49 -06:00
Tim Schaub
73c8059a0a Create rule enforcing that goog.provide() is like the path 2016-08-12 10:53:49 -06:00
Tim Schaub
4fffa190c3 Add rule to enforce one provide per file 2016-08-12 10:53:49 -06:00
Tim Schaub
395b486cd8 Public icon images cache 2016-08-12 10:53:49 -06:00
Tim Schaub
59b0f9a658 Events provides 2016-08-12 10:53:48 -06:00
Tim Schaub
e0d05f7491 One provide from scaleline.js 2016-08-12 10:53:48 -06:00
Tim Schaub
4a4872bbe5 Declare global 2016-08-12 10:53:48 -06:00
Tim Schaub
a70c6f916b Give ol.style.IconImageCache its own file 2016-08-12 10:53:48 -06:00
Tim Schaub
274b7285f3 Assorted missing requires 2016-08-12 10:53:48 -06:00
Tim Schaub
4e7e0e5324 Add missing view requires 2016-08-12 10:53:48 -06:00
Tim Schaub
004cf15222 Add some missing test requires 2016-08-12 10:53:48 -06:00
Tim Schaub
2da724cad4 Static ol.style.Style functions 2016-08-12 10:53:48 -06:00
Tim Schaub
d4a5b2f48e Separate out ol.style.IconImage 2016-08-12 10:53:48 -06:00
Tim Schaub
4887adce4f Ignore missing requires in typedefs.js and test-extensions.js 2016-08-12 10:53:48 -06:00
Tim Schaub
d02cf1e7a9 Shuffle assertions 2016-08-12 10:53:47 -06:00
Tim Schaub
c40e1bc29b No missing requires in examples 2016-08-12 10:53:47 -06:00
Tim Schaub
279e10abe8 Rule to catch missing requires 2016-08-12 10:53:47 -06:00
Tim Schaub
4778efb772 Slight rule rework 2016-08-12 10:53:47 -06:00
Tim Schaub
508750712a Merge pull request #5715 from ahocevar/smarter-check-example
Create a check-example task for smarter example checking with PhantomJS
2016-08-12 10:53:14 -06:00
Benjamin
f73ee14e3c Added image data value to 'forEachLayerAtPixel' method callback
The update has been added to the docs for all 'forEachLayerAtPixel' definitions
and currently returns null for non-supporting definitions. ol.Color typeDef
was also updated to support Uint8Arrays & Uint8ClampedArrays as it is the
reference type for the addded argument #5586
2016-08-12 12:13:11 -04:00
Peter Robins
de910916e6 Fix typo in tilegrid/wmts 2016-08-12 16:25:01 +01:00
Andreas Hocevar
7b2bdbc064 Create a check-example task for smarter example checking with PhantomJS 2016-08-12 12:05:47 +02:00
Tobias Sauerwein
7b62f13eb6 Merge pull request #5714 from tsauerwein/renderBuffer-docs
Add FAQ entry about renderBuffer
2016-08-12 09:22:48 +02:00
tsauerwein
b906fd5348 Add faq entry about renderBuffer 2016-08-12 09:02:26 +02:00
Andreas Hocevar
18ac300ed1 Merge pull request #5713 from ahocevar/check-examples-http
Check examples with http protocol instead of file
2016-08-12 08:46:41 +02:00
Andreas Hocevar
58a8e7d352 Check examples with http protocol instead of file 2016-08-11 23:07:27 +02:00
Andreas Hocevar
30ed4a29c8 Fix winding order for raster reprojection triangles
On Firefox/Linux, calling clip() without closePath() requires this.
2016-08-11 15:56:52 +02:00
Andreas Hocevar
9d80116bf0 Remove closePath() where clip() is used
clip() does an implicit closePath(), see
https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing#Clipping_paths
2016-08-11 15:56:52 +02:00
Andreas Hocevar
370c0c0846 Do not close the ring when we use closePath() 2016-08-11 15:56:52 +02:00
Andreas Hocevar
a4f69f32d7 Avoid expensive closePath() when it makes no visual difference 2016-08-11 15:56:52 +02:00
Andreas Hocevar
274593feef Add rendering test for closed paths 2016-08-11 15:56:52 +02:00
Pierre GIRAUD
12cc5db0a8 Merge pull request #5689 from pgiraud/translate_interaction
Fix cursor change in translate interaction
2016-08-11 14:31:21 +02:00
Andreas Hocevar
4b68df73a8 Do not expose ol.MapBrowserPointerEvent to the docs 2016-08-09 16:13:57 +02:00
Pierre GIRAUD
bac39d3996 Fix cursor change in translate interaction 2016-08-09 16:01:51 +02:00
Andreas Hocevar
a9c54e0c02 Fix event type and documentation of ol.events.condition.mouseOnly 2016-08-09 15:55:14 +02:00
Frédéric Junod
c0efa21d7f Merge pull request #5165 from fredj/rm_goog.addSingletonGetter
Remove goog.addSingletonGetter function
2016-08-09 13:55:25 +02:00
Frederic Junod
ce3346a477 Rename ol.style.IconImageCache to ol.style.IconImageCache_ 2016-08-09 13:25:07 +02:00
Frederic Junod
fbb585c5d8 Remove goog.addSingletonGetter function 2016-08-09 11:28:02 +02:00
Frédéric Junod
41a0c6ed39 Merge pull request #5701 from openlayers/greenkeeper-phantomjs-prebuilt-2.1.11
Update phantomjs-prebuilt to version 2.1.11 🚀
2016-08-09 10:31:07 +02:00
Tim Schaub
6e0ff4c4c2 Merge pull request #5698 from tschaub/no-unused-requires
Custom rule to identify unused goog.require() calls
2016-08-08 18:23:49 -06:00
Tim Schaub
568f0c81bb Move wrapX to ol.tilegrid to break circular dependency 2016-08-08 13:48:54 -06:00
Tim Schaub
789aeb1c64 Toward a fix for ol.tilegrid 2016-08-08 10:22:28 -06:00
Tim Schaub
7ea7610892 Global strict mode for rules and Node tests 2016-08-08 09:58:12 -06:00
Tim Schaub
3a1bbc4248 Get rid of ol.render.IReplayGroup interface 2016-08-08 09:58:12 -06:00
Tim Schaub
ddbe0516d2 Ignore unused requires in MVT examples 2016-08-08 09:58:11 -06:00
Tim Schaub
7d29b35e75 Put rendering test requires on top 2016-08-08 09:58:11 -06:00
Tim Schaub
dd2e9c9ac9 Refactored rules 2016-08-08 09:58:11 -06:00
Tim Schaub
c203f6a841 Remove unused requires from tests 2016-08-08 09:58:11 -06:00
Tim Schaub
ed5dbd1293 Put test requires on top 2016-08-08 09:58:11 -06:00
Tim Schaub
29990abc7e Remove unused goog.requires() from the examples (minus MVT examples) 2016-08-08 09:58:11 -06:00
Tim Schaub
123605f21b Make no-unused-requires rule fixable 2016-08-08 09:58:11 -06:00
Tim Schaub
907a65ab83 Remove unused goog.require() calls in the source 2016-08-08 09:58:10 -06:00
Tim Schaub
3c7e9f6870 Custom rule to identify unused goog.require() calls 2016-08-08 09:58:10 -06:00
greenkeeperio-bot
9db3231bc5 chore(package): update phantomjs-prebuilt to version 2.1.11
https://greenkeeper.io/
2016-08-08 08:39:47 -06:00
Frédéric Junod
fe35c05860 Merge pull request #5699 from openlayers/greenkeeper-mocha-3.0.2
Update mocha to version 3.0.2 🚀
2016-08-08 11:55:57 +02:00
greenkeeperio-bot
9fe4ae2b96 chore(package): update mocha to version 3.0.2
https://greenkeeper.io/
2016-08-08 02:30:58 -06:00
Tim Schaub
f222711bd8 Merge pull request #5697 from tschaub/lint
Re-enable ESLint config
2016-08-07 13:48:23 -06:00
Tim Schaub
feb7713225 Remove lint 2016-08-07 13:28:19 -06:00
Tim Schaub
4373f1bd54 Run ESLint on all files (catch new linter changes) 2016-08-07 13:15:22 -06:00
Tim Schaub
9f23e96976 Avoid shadowing ESLint config in package.json 2016-08-07 13:05:36 -06:00
Tim Schaub
fa80967a1e Merge pull request #5693 from tschaub/one-provide
Reorganize files so they are named like their default export
2016-08-07 11:20:32 -06:00
Tim Schaub
02ff448d33 Test that files are named like their default export 2016-08-07 10:55:50 -06:00
Tim Schaub
b1593124ba Put the primary provide first 2016-08-07 10:49:13 -06:00
Tim Schaub
4460147291 Allow ol/typedefs.js to be missing a provide 2016-08-07 10:49:13 -06:00
Tim Schaub
b47dc998a3 More WebGL name corrections 2016-08-07 10:49:12 -06:00
Tim Schaub
f5cbfdff04 Move ol/ol.js to ol/index.js 2016-08-07 10:49:12 -06:00
Tim Schaub
295abebcec Additional upgrade notes 2016-08-07 10:49:12 -06:00
Tim Schaub
12e81e5487 Clean up WebGL provides 2016-08-07 10:49:12 -06:00
Tim Schaub
1b8310a6fe Rename ol/objectutil.js to ol/obj.js 2016-08-07 10:49:12 -06:00
Tim Schaub
bbf91b3477 Move ol/format.jsdoc to ol/format/index.jsdoc 2016-08-07 10:49:12 -06:00
Tim Schaub
e631913c8f Move ol/control.jsdoc to ol/control/index.jsdoc 2016-08-07 10:49:12 -06:00
Tim Schaub
4c8b583e30 Move ol/webgl/webgl.js to ol/webgl/index.js 2016-08-07 10:49:11 -06:00
Tim Schaub
97d403784d Move tilegrid files so they are named like their provides 2016-08-07 10:49:11 -06:00
Tim Schaub
9da581cb8f Move style files so they are named like their provide 2016-08-07 10:49:11 -06:00
Tim Schaub
c0e375412f Move sphere files so they are named like their provides 2016-08-07 10:49:11 -06:00
Tim Schaub
e07596846d Move source files so they are named like their provides 2016-08-07 10:49:11 -06:00
Tim Schaub
8d9398a965 Move ol/reproj/reproj.js to ol/reproj/index.js 2016-08-07 10:49:11 -06:00
Tim Schaub
424f3e5577 Move renderer files so they are named like their provides 2016-08-07 10:49:11 -06:00
Tim Schaub
6b883afa35 Move render files so they are named like their provides 2016-08-07 10:49:11 -06:00
Tim Schaub
aab8a7c4eb Move proj files so they are named like their provides 2016-08-07 10:49:10 -06:00
Tim Schaub
8ae6ffefc0 Move layer files so they are named like their provides 2016-08-07 10:49:10 -06:00
Tim Schaub
f07f78fbd7 Move flat geom files so they are named like their provides 2016-08-07 10:49:10 -06:00
Tim Schaub
035885c25d Move interaction files so they are named like their provides 2016-08-07 10:49:10 -06:00
Tim Schaub
e8205a8293 Rename format tests for consistency 2016-08-07 10:49:10 -06:00
Tim Schaub
386e215b47 Rename control tests for consistency 2016-08-07 10:49:10 -06:00
Tim Schaub
684af3503c Move ol/geom/flat/areaflatgeom.js to ol/geom/flat/area.js 2016-08-07 10:49:10 -06:00
Tim Schaub
2e88cc7daf Move ol/format/xsdformat.js to ol/format/xsd.js 2016-08-07 10:49:10 -06:00
Tim Schaub
4f51149ff1 Move ol/format/xmlformat.js to ol/format/xml.js 2016-08-07 10:49:10 -06:00
Tim Schaub
9827937faf Move ol/format/xmlfeatureformat.js to ol/format/xmlfeature.js 2016-08-07 10:49:09 -06:00
Tim Schaub
db6fa60937 Move ol/format/xlinkformat.js to ol/format/xlink.js 2016-08-07 10:49:09 -06:00
Tim Schaub
62403c5780 Move ol/format/wmtscapabilitiesformat.js to ol/format/wmtscapabilities.js 2016-08-07 10:49:09 -06:00
Tim Schaub
71a2f1b9af Move ol/format/wmscapabilitiesformat.js to ol/format/wmscapabilities.js 2016-08-07 10:49:09 -06:00
Tim Schaub
eba48454dc Move ol/format/wktformat.js to ol/format/wkt.js 2016-08-07 10:49:09 -06:00
Tim Schaub
a1e06297ab Move ol/format/wmsgetfeatureinfoformat.js to ol/format/wmsgetfeatureinfo.js 2016-08-07 10:49:09 -06:00
Tim Schaub
e0adcc0175 Move ol/format/wfsformat.js to ol/format/wfs.js 2016-08-07 10:49:09 -06:00
Tim Schaub
2a539ea7a4 Move ol/format/topojsonformat.js to ol/format/topojson.js 2016-08-07 10:49:09 -06:00
Tim Schaub
257e54645c Move ol/format/textfeatureformat.js to ol/format/textfeature.js 2016-08-07 10:49:09 -06:00
Tim Schaub
35e7addb5e Move ol/format/polylineformat.js to ol/format/polyline.js 2016-08-07 10:49:09 -06:00
Tim Schaub
8e1b084906 Move ol/format/owsformat.js to ol/format/ows.js 2016-08-07 10:49:08 -06:00
Tim Schaub
24e9751f40 Move ol/format/osmxmlformat.js to ol/format/osmxml.js 2016-08-07 10:49:08 -06:00
Tim Schaub
458b35d5d6 Move ol/format/mvtformat.js to ol/format/mvt.js 2016-08-07 10:49:08 -06:00
Tim Schaub
c6880e5d23 Move ol/format/kmlformat.js to ol/format/kml.js 2016-08-07 10:49:08 -06:00
Tim Schaub
5134c13f5b Move ol/format/jsonfeatureformat.js to ol/format/jsonfeature.js 2016-08-07 10:49:08 -06:00
Tim Schaub
5d22542a38 Move ol/format/igcformat.js to ol/format/igc.js 2016-08-07 10:49:08 -06:00
Tim Schaub
23d5bb5889 Move ol/format/gpxformat.js to ol/format/gpx.js 2016-08-07 10:49:08 -06:00
Tim Schaub
a7f348f4a5 Add ol/format/gml.js for ol.format.GML 2016-08-07 10:49:08 -06:00
Tim Schaub
9d7479fb65 Move ol/format/gml/gmlbaseformat.js to ol/format/gmlbase.js 2016-08-07 10:49:08 -06:00
Tim Schaub
66f7d3c370 Move ol/format/gml/gml3format.js to ol/format/gml3.js 2016-08-07 10:49:08 -06:00
Tim Schaub
9a3131084b Move ol/format/gml/gml2format.js to ol/format/gml2.js 2016-08-07 10:49:07 -06:00
Tim Schaub
0b3db7c564 Move ol/format/geojsonformat.js to ol/format/geojson.js 2016-08-07 10:49:07 -06:00
Tim Schaub
ba36e05bd6 Move ol/format/format.js to ol/format/formattype.js 2016-08-07 10:49:07 -06:00
Tim Schaub
c452caa513 Move ol/format/esrijsonformat.js to ol/format/esrijson.js 2016-08-07 10:49:07 -06:00
Tim Schaub
cc5b02a40f Move ol/format/featureformat.js to ol/format/feature.js 2016-08-07 10:49:07 -06:00
Tim Schaub
8e381c1b2a Move ol/dom/dom.js to ol/dom.js 2016-08-07 10:49:07 -06:00
Tim Schaub
adbfb7a355 Move ol/control/zoomtoextentcontrol.js to ol/control/zoomtoextent.js 2016-08-07 10:49:07 -06:00
Tim Schaub
395f3bcbcf Move ol/control/zoomslide.js to ol/control/zoomslider.js 2016-08-07 10:49:07 -06:00
Tim Schaub
a53f4b3401 Move ol/control/zoomslidercontrol.js to ol/control/zoomslider.js 2016-08-07 10:49:07 -06:00
Tim Schaub
ce0cb1392d Move ol/control/zoomcontrol.js to ol/control/zoom.js 2016-08-07 10:49:07 -06:00
Tim Schaub
c398f1cacb Swap expectations 2016-08-07 10:49:07 -06:00
Tim Schaub
0c9abf5257 Move ol/control/scalelinecontrol.js to ol/control/scaleline.js 2016-08-07 10:49:06 -06:00
Tim Schaub
30c4e5c635 Move ol/control/overviewmapcontrol.js to ol/control/overviewmap.js 2016-08-07 10:49:06 -06:00
Tim Schaub
0e8845230d Move ol/control/rotatecontrol.js to ol/control/rotate.js 2016-08-07 10:49:06 -06:00
Tim Schaub
f1ebcae72a Move ol/control/mousepositioncontrol.js to ol/control/mouseposition.js 2016-08-07 10:49:06 -06:00
Tim Schaub
571a583e10 Move ol/control/fullscreencontrol.js to ol/control/fullscreen.js 2016-08-07 10:49:06 -06:00
Tim Schaub
909253a48f Move ol/control/controldefaults.js to ol/control/index.js 2016-08-07 10:49:06 -06:00
Tim Schaub
f7a02ba6af Move ol/control/attributioncontrol.js to ol/control/attribution.js 2016-08-07 10:49:06 -06:00
Tim Schaub
cb1b3a09b3 Move ol/color/color.js to ol/color.js 2016-08-07 10:49:06 -06:00
Tim Schaub
ffe3565166 Single provide from ol/collection.js 2016-08-07 10:49:06 -06:00
Tim Schaub
4261523720 Test that all files have a single provide named like the path 2016-08-07 10:49:06 -06:00
Tim Schaub
54531ba325 Merge pull request #5694 from probins/base
layer.Base in Map not required
2016-08-07 08:53:52 -06:00
Tim Schaub
a4762fd127 Merge pull request #5695 from probins/renderer
Remove unneeded requires in renderers
2016-08-07 08:52:46 -06:00
Peter Robins
52afa50eec Remove unneeded requires in renderers 2016-08-07 09:01:07 +00:00
Peter Robins
81a5d669c6 layer.Base in Map not required 2016-08-07 08:19:18 +00:00
Marc Jansen
2a64dd091f Merge pull request #5692 from bngsudheer/patch-1
Small text fix
2016-08-06 19:11:31 +02:00
Sudheer Satyanarayana
4d6feb39df Small text fix
"View allows" not "view allow"
2016-08-06 21:44:46 +05:30
Tim Schaub
fc75492b95 Merge pull request #5682 from openlayers/greenkeeper-mocha-3.0.1
Update mocha to version 3.0.1 🚀
2016-08-06 10:02:01 -06:00
Andreas Hocevar
b25ce40781 Merge pull request #5619 from ahocevar/remove-goog-asserts
Remove goog.asserts.*
2016-08-04 23:02:38 +02:00
Tim Schaub
afea011ebd Merge pull request #5685 from tschaub/scale
Add a method to scale geometries
2016-08-04 14:10:34 -06:00
Tim Schaub
69bf9254a5 Correctly set default anchor for collections 2016-08-04 11:27:36 -06:00
Tim Schaub
795cee876e Add a method to scale geometries 2016-08-04 10:23:00 -06:00
Andreas Hocevar
bf275b0740 Remove asserts from ol.format.WFS 2016-08-04 11:42:40 +02:00
Andreas Hocevar
e18d41b5e0 Remove gratuitous debug assertions 2016-08-04 11:29:54 +02:00
Andreas Hocevar
e0015b3d4e Use goog.DEBUG instead of ol.DEBUG for now 2016-08-04 11:29:54 +02:00
Andreas Hocevar
55ab5704d4 Use a nicer URL for the error descriptions 2016-08-04 11:29:54 +02:00
Andreas Hocevar
6f5ed17fc5 Remove goog.asserts.*
This pull requests replaces type check hint assertions with type casts,
library sanity check assertions with conditional console.assert statements
in debug mode, and runtime sanity checks with assertions that throw an
ol.AssertionError with an error code for lookup outside the library.
2016-08-04 11:29:54 +02:00
Andreas Hocevar
f50f1f401c Merge pull request #5674 from ahocevar/fractional-getzoom
Support fractional zoom levels in ol.View#getZoom and #setZoom
2016-08-04 10:22:43 +02:00
Frédéric Junod
ab7e3f268e Merge pull request #5681 from fredj/extra_goog.require
Remove extra goog.require
2016-08-04 09:54:09 +02:00
greenkeeperio-bot
fc62fc77e9 chore(package): update mocha to version 3.0.1
https://greenkeeper.io/
2016-08-04 01:41:09 -06:00
Frederic Junod
87295a0c73 Remove extra goog.require 2016-08-04 09:09:09 +02:00
Frédéric Junod
3c6ffe2c10 Merge pull request #5680 from openlayers/greenkeeper-phantomjs-prebuilt-2.1.10
Update phantomjs-prebuilt to version 2.1.10 🚀
2016-08-04 08:42:24 +02:00
Tobias Sauerwein
95ce473dcb Merge pull request #5668 from cpsTinK/master
Added Intersects and Within filters into ol.format.wfs
2016-08-04 08:25:51 +02:00
greenkeeperio-bot
f01a1e760f chore(package): update phantomjs-prebuilt to version 2.1.10
https://greenkeeper.io/
2016-08-03 11:13:21 -06:00
Frédéric Junod
07cb28e660 Merge pull request #5675 from fredj/rm_goog.provide
Remove unused goog.provide
2016-08-03 15:02:57 +02:00
cpsTinK
18101ad0e2 Refactor AND Fixed description Intersects and Within filters into ol.format.wfs 2016-08-03 15:42:46 +04:00
Frederic Junod
3d46a0bfaa Remove unused goog.provide 2016-08-03 12:49:01 +02:00
Andreas Hocevar
98fbfe4b67 Support fractional zoom levels in ol.View#getZoom and #setZoom 2016-08-03 11:48:13 +02:00
Andreas Hocevar
bb5d79e9f2 Merge pull request #5673 from ahocevar/missing-semicolon
Add missing semicolon
2016-08-03 09:26:07 +02:00
Andreas Hocevar
aba8c2c8d1 Add missing semicolon 2016-08-03 09:25:27 +02:00
Andreas Hocevar
01baf48870 Merge pull request #5587 from ahocevar/kml-faster-init
Lazily create KML style defaults
2016-08-03 09:19:39 +02:00
Andreas Hocevar
8719b79b5e Merge pull request #5599 from ahocevar/subpixel-center
Allow subpixel center on view
2016-08-03 09:19:09 +02:00
Tim Schaub
e78bc45b65 Merge pull request #5630 from tlvince/iife
chore(build): guard against unterminated scripts
2016-08-03 00:35:10 -06:00
Andreas Hocevar
5c9f2841e7 Merge pull request #5669 from dtreiter/master
Fix Github links to specific lines on jsdoc pages
2016-08-02 20:25:22 +02:00
Daniel Reiter
ce4e6d49f5 Fix github line links on jsdoc pages
Github line links only work with a capital `L`.
2016-08-02 11:05:10 -05:00
cpsTinK
9150fa2a60 Added Intersects and Within filters into ol.format.wfs 2016-08-02 16:20:09 +04:00
Andreas Hocevar
e39199f97a Merge pull request #5667 from ahocevar/proj-get-null
Do not return undefined from ol.proj.get
2016-08-02 13:47:54 +02:00
Andreas Hocevar
4227f8034b Do not return undefined from ol.proj.get 2016-08-02 13:39:07 +02:00
Andreas Hocevar
ab9e386892 Merge pull request #5665 from openlayers/greenkeeper-eslint-3.2.2
Update eslint to version 3.2.2 🚀
2016-08-02 10:32:40 +02:00
Andreas Hocevar
692c2f0e62 Merge pull request #5632 from ahocevar/loadingstrategy-docs
Improve docs for the ol.LoadingStrategy type
2016-08-02 09:31:47 +02:00
greenkeeperio-bot
f956119265 chore(package): update eslint to version 3.2.2
https://greenkeeper.io/
2016-08-02 09:28:40 +02:00
Andreas Hocevar
958f0eacdc Merge pull request #5641 from ahocevar/listenermap-property
De-randomize the listener map property
2016-08-02 08:53:51 +02:00
Andreas Hocevar
5455aca87b Merge pull request #5664 from openlayers/greenkeeper-eslint-3.2.1
Update eslint to version 3.2.1 🚀
2016-08-01 21:59:19 +02:00
greenkeeperio-bot
05f996f7c6 chore(package): update eslint to version 3.2.1
https://greenkeeper.io/
2016-08-01 12:48:44 -06:00
Andreas Hocevar
91cb0f612b Merge pull request #5658 from openlayers/greenkeeper-marked-0.3.6
Update marked to version 0.3.6 🚀
2016-07-31 21:17:25 +02:00
greenkeeperio-bot
9eb6785abc chore(package): update marked to version 0.3.6
https://greenkeeper.io/
2016-07-30 00:48:48 -06:00
Andreas Hocevar
bc68cce4f2 Merge pull request #5657 from openlayers/greenkeeper-phantomjs-prebuilt-2.1.9
Update phantomjs-prebuilt to version 2.1.9 🚀
2016-07-30 08:48:30 +02:00
greenkeeperio-bot
674e0c3e4d chore(package): update phantomjs-prebuilt to version 2.1.9
https://greenkeeper.io/
2016-07-29 16:25:03 -06:00
Andreas Hocevar
82b181f137 Merge pull request #5652 from ahocevar/xhr-file
Make XHR work for file:// urls
2016-07-28 14:52:23 +02:00
Andreas Hocevar
7da5a5ae92 Make XHR work for file:// urls
The response status will be 0 instead of a HTTP status code for file urls,
so we need to consider a status of 0 as success too.
2016-07-28 13:46:43 +02:00
Andreas Hocevar
b6acbf7c93 Merge pull request #5653 from ahocevar/fix-filter-docs
Fix namespace in filter docs
2016-07-28 13:44:36 +02:00
Andreas Hocevar
f059eb6686 Fix namespace in filter docs 2016-07-28 12:06:58 +02:00
Andreas Hocevar
3d57ea45cb Merge pull request #5651 from openlayers/greenkeeper-coveralls-2.11.12
Update coveralls to version 2.11.12 🚀
2016-07-28 09:05:40 +02:00
greenkeeperio-bot
105d2601a6 chore(package): update coveralls to version 2.11.12
https://greenkeeper.io/
2016-07-27 18:03:54 -06:00
Andreas Hocevar
1df679a916 Merge pull request #5649 from ahocevar/datetime-fix
Fix DateTime parsing with non-Zulu times
2016-07-27 00:02:23 +02:00
Andreas Hocevar
efdf9961b3 Fix KML date parsing
We even have an incorrect test here. And like in ol.format.XSD, we can use
Date.parse().
2016-07-26 16:59:04 +02:00
Andreas Hocevar
1bb572310d Use Date.parse() instead of parsing XSD dates manually 2016-07-26 16:58:48 +02:00
Andreas Hocevar
e2d96082f9 Fix XSD parsing of non-Zulu times 2016-07-26 16:58:33 +02:00
Andreas Hocevar
cd8fafbead Merge pull request #5648 from openlayers/greenkeeper-sinon-1.17.5
Update sinon to version 1.17.5 🚀
2016-07-26 15:19:19 +02:00
greenkeeperio-bot
eed59c5611 chore(package): update sinon to version 1.17.5
https://greenkeeper.io/
2016-07-26 06:02:31 -06:00
Andreas Hocevar
6d815c3e15 Merge pull request #5646 from openlayers/greenkeeper-phantomjs-prebuilt-2.1.8
Update phantomjs-prebuilt to version 2.1.8 🚀
2016-07-26 10:07:56 +02:00
greenkeeperio-bot
63f04b1777 chore(package): update phantomjs-prebuilt to version 2.1.8
https://greenkeeper.io/
2016-07-25 22:29:44 -06:00
Andreas Hocevar
c5a1f9c230 Merge pull request #5644 from openlayers/greenkeeper-browserify-13.1.0
Update browserify to version 13.1.0 🚀
2016-07-25 23:56:13 +02:00
greenkeeperio-bot
28971ec527 chore(package): update browserify to version 13.1.0
https://greenkeeper.io/
2016-07-25 14:58:19 -06:00
Andreas Hocevar
bfcfb61eff De-randomize the listener map property 2016-07-25 16:17:18 +02:00
Andreas Hocevar
02911ae275 Merge pull request #5640 from chrismayer/here-example
Add example for usage of HERE Map Tile API
2016-07-25 16:14:02 +02:00
Andreas Hocevar
8f501e0de8 Merge pull request #5579 from openlayers/greenkeeper-jquery-3.1.0
Update jquery to version 3.1.0 🚀
2016-07-25 15:37:55 +02:00
Christian Mayer
e1b2358f44 Add example for usage of HERE Map Tile API
This adds an example showing how to use the HERE Map Tile API with
OpenLayers.
2016-07-25 14:30:03 +02:00
greenkeeperio-bot
c1dd410208 chore(package): update jquery to version 3.1.0
https://greenkeeper.io/
2016-07-25 00:51:18 -06:00
Andreas Hocevar
89b96193de Merge pull request #5636 from openlayers/greenkeeper-clean-css-3.4.19
Update clean-css to version 3.4.19 🚀
2016-07-25 08:51:01 +02:00
greenkeeperio-bot
2196b88962 chore(package): update clean-css to version 3.4.19
https://greenkeeper.io/
2016-07-24 22:38:19 -06:00
Andreas Hocevar
c8d7d65226 Merge pull request #5634 from openlayers/greenkeeper-async-2.0.1
Update async to version 2.0.1 🚀
2016-07-22 23:03:52 +02:00
greenkeeperio-bot
7e800483de chore(package): update async to version 2.0.1
https://greenkeeper.io/
2016-07-22 14:50:22 -06:00
Andreas Hocevar
95d247d332 Improve docs for the ol.LoadingStrategy type 2016-07-22 14:54:41 +02:00
Tom Vincent
8548a6f898 chore(build): guard against unterminated scripts
If ol3 is included as part of a concatenated build and the script before it does
not end in a semi-colon, the IIFE is interpreted incorrectly (often resulting in
`TypeError: (intermediate value)`).
2016-07-22 13:47:25 +02:00
Andreas Hocevar
a575749793 Merge pull request #5622 from rrutkows/reset-coordkeyprefix
Update TileWMS.coordKeyPrefix_ on setUrls
2016-07-21 11:38:55 +02:00
Rafał Rutkowski
3157ccb2f2 Update TileWMS.coordKeyPrefix_ on setUrls
Outdated coordKeyPrefix_ causes the TileWMS layer to flicker
on the first updateParams call.
2016-07-21 10:13:13 +02:00
Andreas Hocevar
d0302ba92a Merge pull request #5611 from ischas/fix-styleguide-link
Fix broken link to Google JavaScript Style Guide
2016-07-20 19:57:17 +02:00
Andreas Hocevar
6d67ba539c Merge pull request #5620 from probins/uid
Replace goog.getUid with ol.getUid
2016-07-20 15:40:59 +02:00
Peter Robins
f8f2cd11d5 Replace goog.getUid with ol.getUid 2016-07-20 11:01:00 +00:00
Andreas Hocevar
29230d48b3 Merge pull request #5614 from probins/abstract
Replace goog.abstractMethod
2016-07-19 19:52:53 +02:00
Peter Robins
0713e680e1 Replace goog.abstractMethod 2016-07-19 09:08:23 +00:00
Andreas Hocevar
8e31b65a87 Merge pull request #5613 from drnextgis/issue#5366
Parse MVT id property
2016-07-19 10:41:27 +02:00
Andreas Hocevar
17c4dbe391 Merge pull request #5612 from openlayers/greenkeeper-vector-tile-1.3.0
Update vector-tile to version 1.3.0 🚀
2016-07-19 10:40:32 +02:00
drnextgis
2685dd1bd9 Parse MVT id property 2016-07-19 11:34:44 +07:00
greenkeeperio-bot
d4c1b2e838 chore(package): update vector-tile to version 1.3.0
https://greenkeeper.io/
2016-07-18 18:38:26 -06:00
Sascha Klemenjak
e637bfb35e Fix broken link to Google JavaScript Style Guide 2016-07-18 22:31:30 +02:00
Andreas Hocevar
8a0f18de56 Merge pull request #5609 from openlayers/greenkeeper-eslint-3.1.1
Update eslint to version 3.1.1 🚀
2016-07-18 22:06:50 +02:00
greenkeeperio-bot
ba78506b2e chore(package): update eslint to version 3.1.1
https://greenkeeper.io/
2016-07-18 12:27:17 -06:00
Andreas Hocevar
3665e21341 Merge pull request #5605 from probins/isobject
Remove goog.isObject not in assertions
2016-07-16 21:39:30 +02:00
Peter Robins
53a7aad431 Remove goog.isObject not in assertions 2016-07-16 11:07:42 +00:00
Andreas Hocevar
6ab0de303d Merge pull request #5603 from openlayers/greenkeeper-eslint-3.1.0
Update eslint to version 3.1.0 🚀
2016-07-16 11:59:14 +02:00
greenkeeperio-bot
831593ddbd chore(package): update eslint to version 3.1.0
https://greenkeeper.io/
2016-07-15 14:18:35 -06:00
Andreas Hocevar
cc7bd013c3 Merge pull request #5597 from schmidtk/master
Avoid unnecessary getImageData calls in hit detection
2016-07-15 12:04:28 +02:00
Andreas Hocevar
34d5cc228e Merge pull request #5429 from probins/testenums
Remove enums from tests
2016-07-15 09:12:58 +02:00
Kevin Schmidt
1d585f8924 Avoid unnecessary getImageData calls in hit detection
If a feature is outside the hit extent, don't execute the end
geometry instruction that calls getImageData.
2016-07-14 18:21:49 -06:00
Andreas Hocevar
51e84e10f2 Allow subpixel center on view 2016-07-14 23:51:00 +02:00
Andreas Hocevar
878ca6471d Merge pull request #5516 from probins/goog.uri
Remove goog.Uri from KML format
2016-07-14 22:50:45 +02:00
Andreas Hocevar
2d8a19a94e Merge pull request #5598 from probins/patch-1
Clarify that default source.Vector loader only handles features
2016-07-14 17:33:53 +02:00
Andreas Hocevar
2b21cb0104 Merge pull request #5595 from ahocevar/wanted-tile-keys
Use tile keys instead of coord keys
2016-07-14 13:26:09 +02:00
Peter Robins
5732cde025 Add tests for kml url from file 2016-07-14 11:13:39 +00:00
Peter Robins
ba97ee4674 Remove KML.readStyleUrl_ as duplicate of KML.readURI_
StyleUrl elements in Placemarks use readURI_() whereas those in StyleMaps use readStyleUrl_(), so standardize on readURI_()
2016-07-14 11:13:39 +00:00
Peter Robins
810ed63b9f Replace goog.Uri in kml format with URL() 2016-07-14 11:13:39 +00:00
Peter Robins
393cf31046 Clarify that default source.Vector loader only handles features 2016-07-14 11:05:30 +01:00
Andreas Hocevar
d259ab893e Use tile keys instead of coord keys
This change ensures that tiles with old params or dimensions are discarded
2016-07-14 01:03:30 +02:00
Andreas Hocevar
57af1a9b24 Merge pull request #5594 from ahocevar/imagevector-renderbuffer
Add renderBuffer option for ol.source.ImageVector
2016-07-13 14:43:42 +02:00
Andreas Hocevar
a64e3c1d3e Add renderBuffer option for ol.source.ImageVector 2016-07-13 14:23:41 +02:00
Frédéric Junod
79d8660ded Merge pull request #5592 from openlayers/greenkeeper-coveralls-2.11.11
Update coveralls to version 2.11.11 🚀
2016-07-13 09:01:26 +02:00
greenkeeperio-bot
5e1f8d8f07 chore(package): update coveralls to version 2.11.11
https://greenkeeper.io/
2016-07-12 23:41:43 -07:00
Andreas Hocevar
bdd50f4aaa Merge pull request #5593 from openlayers/greenkeeper-async-2.0.0
Update async to version 2.0.0 🚀
2016-07-13 08:41:25 +02:00
greenkeeperio-bot
bb49639370 chore(package): update async to version 2.0.0
https://greenkeeper.io/
2016-07-12 17:35:15 -07:00
Andreas Hocevar
3630a043fe Lazily create KML style defaults 2016-07-12 13:56:02 +02:00
Andreas Hocevar
e8582b297b Merge pull request #4194 from bjornharrtell/remove-goog-color
Remove usage of goog.color and closure named colors
2016-07-12 11:25:29 +02:00
Björn Harrtell
3be90d4d8d Remove usage of goog.color 2016-07-12 10:56:00 +02:00
Andreas Hocevar
2289d557d8 Merge pull request #5583 from ahocevar/document-change-event
Fix dead link for change event in API docs
2016-07-11 09:44:24 +02:00
Frédéric Junod
fa4f29e0ac Merge pull request #5560 from fredj/rm_goog.isArrayLike
Get rid of goog.isArrayLike
2016-07-11 08:53:24 +02:00
Andreas Hocevar
218978aea3 Merge pull request #5573 from ahocevar/safe-eval-global
Determine ol.global in a way that works in more environments
2016-07-10 12:46:48 +02:00
Andreas Hocevar
7552763be3 Determine ol.global in a way that works in more environments 2016-07-10 12:34:37 +02:00
Andreas Hocevar
4d61ae9a50 Merge pull request #5558 from probins/uritests
Remove goog.Uri from tests
2016-07-10 12:20:38 +02:00
Andreas Hocevar
c75581d026 Fix dead link for change event in API docs 2016-07-10 12:11:31 +02:00
Andreas Hocevar
2f7533ccb2 Merge pull request #5578 from ahocevar/examples-polyfill
Add polyfills to copy/paste code
2016-07-08 10:40:18 +02:00
Frédéric Junod
13e512f437 Merge pull request #5577 from fredj/osm_url_doc
Fix olx.source.OSMOptions#url default value documentation
2016-07-08 09:00:56 +02:00
Andreas Hocevar
1464da64a6 Add polyfills to copy/paste code 2016-07-07 19:06:10 +02:00
Andreas Hocevar
f959dd7d77 Merge pull request #5576 from ahocevar/link-to-latest
Use the word "documentation"
2016-07-07 18:47:42 +02:00
Frederic Junod
fe67b047f4 Fix olx.source.OSMOptions#url default value documentation 2016-07-07 15:39:31 +02:00
Andreas Hocevar
1aa7a6d4e1 Use the word "documentation"
To get better search engine rankings for users looking for documentation, it
might be a good idea to not use "docs".
2016-07-07 15:27:00 +02:00
Andreas Hocevar
d68b498a2c Merge pull request #5575 from ahocevar/lib-info
Add a bit more info about the library to the README
2016-07-07 14:58:51 +02:00
Andreas Hocevar
24e0967052 Add a bit more info about the library to the README 2016-07-07 14:47:36 +02:00
Andreas Hocevar
9671e8a5bd Merge pull request #5574 from ahocevar/polyfill
Add paragraph about supported browsers and polyfills
2016-07-07 14:46:43 +02:00
Andreas Hocevar
a60aee329c Add paragraphs about supported browsers and polyfills 2016-07-07 13:41:36 +02:00
Frederic Junod
89e377cb48 Get rid of goog.isArrayLike
With this change, it's no longer possible to extend an array with
an "array like" object (an object with a 'length' property).
We were not using this feature in the library.
2016-07-04 16:17:36 +02:00
Peter Robins
250bb2f2be Remove goog.Uri from tests 2016-07-04 13:12:55 +00:00
Peter Robins
06fd92353b Remove enums from tests 2016-06-03 11:10:46 +00:00
576 changed files with 8993 additions and 117428 deletions

View File

@@ -80,7 +80,7 @@ include:
### Follow OpenLayers 3's coding style
OpenLayers 3 follows [Google's JavaScript Style
Guide](http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml).
Guide](https://google.github.io/styleguide/javascriptguide.xml).
This is checked using [ESLint](http://eslint.org/), you
can run the linter locally on your machine before committing using the `lint`
target:

View File

@@ -2,7 +2,7 @@ OS := $(shell uname)
BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
SRC_GLSL := $(shell find src -type f -name '*.glsl')
SRC_SHADER_JS := $(patsubst %.glsl,%shader.js,$(SRC_GLSL))
SRC_SHADER_JS := $(patsubst %shader.glsl,%shader.js,$(SRC_GLSL))
SRC_JS := $(filter-out $(SRC_SHADER_JS),$(shell find src -name '*.js'))
SRC_JSDOC = $(shell find src -type f -name '*.jsdoc')
@@ -180,7 +180,7 @@ build/timestamps/check-%-timestamp: $(BUILD_HOSTED)/examples/%.html \
$(BUILD_HOSTED)/build/ol.js \
$(BUILD_HOSTED)/css/ol.css
@mkdir -p $(@D)
./node_modules/.bin/phantomjs --local-to-remote-url-access=true --ssl-protocol=any --ignore-ssl-errors=true bin/check-example.js $<
node tasks/check-example.js $<
@touch $@
build/compiled-examples/all.js: $(EXAMPLES_JS)
@@ -252,7 +252,7 @@ build/timestamps/eslint-timestamp: $(SRC_JS) $(SPEC_JS) $(SPEC_RENDERING_JS) \
build/timestamps/node-modules-timestamp
@mkdir -p $(@D)
@echo "Running eslint..."
@./node_modules/.bin/eslint $?
@./node_modules/.bin/eslint --quiet tasks test test_rendering src examples
@touch $@
build/timestamps/node-modules-timestamp: package.json
@@ -298,5 +298,5 @@ build/test_rendering_requires.js: $(SPEC_RENDERING_JS)
@mkdir -p $(@D)
@node tasks/generate-requires.js $^ > $@
%shader.js: %.glsl src/ol/webgl/shader.mustache bin/pyglslunit.py build/timestamps/node-modules-timestamp
%shader.js: %shader.glsl src/ol/webgl/shader.mustache bin/pyglslunit.py build/timestamps/node-modules-timestamp
@python bin/pyglslunit.py --input $< | ./node_modules/.bin/mustache - src/ol/webgl/shader.mustache > $@

View File

@@ -4,7 +4,7 @@
[![Coverage Status](https://coveralls.io/repos/openlayers/ol3/badge.svg?branch=master)](https://coveralls.io/r/openlayers/ol3?branch=master)
[![OSGeo Project](https://img.shields.io/badge/OSGeo-Project-brightgreen.svg)](http://osgeo.org/)
[OpenLayers 3](http://openlayers.org/) is a high-performance, feature-packed library for creating interactive maps on the web.
[OpenLayers 3](http://openlayers.org/) is a high-performance, feature-packed library for creating interactive maps on the web. It can display map tiles, vector data and markers loaded from any source on any web page. OpenLayers has been developed to further the use of geographic information of all kinds. It is completely free, Open Source JavaScript, released under the 2-clause BSD License (also known as the FreeBSD).
## Getting Started
@@ -12,9 +12,13 @@
- Install with npm: `npm install openlayers`
- Clone the repo: `git clone git@github.com:openlayers/ol3.git`
## Supported Browsers
OpenLayers runs on all modern browsers that support [HTML5](https://html.spec.whatwg.org/multipage/) and [ECMAScript 5](http://www.ecma-international.org/ecma-262/5.1/). This includes Chrome, Firefox, Safari and Edge. For older browsers and platforms like Internet Explorer (down to version 9) and Android 4.x, [polyfills](http://polyfill.io) for `requestAnimationFrame` and `Element.prototype.classList` are required, and using the KML format requires a polyfill for `URL`.
## Documentation
Check out the [hosted examples](http://openlayers.org/en/master/examples/), the [workshop](http://openlayers.org/workshop/) or [API docs](http://openlayers.org/en/master/apidoc/).
Check out the [hosted examples](http://openlayers.org/en/latest/examples/), the [workshop](http://openlayers.org/workshop/) or the [API documentation](http://openlayers.org/en/latest/apidoc/).
## Bugs

View File

@@ -1,5 +1,41 @@
## Upgrade notes
### v3.18.0
#### Changes in the way assertions are handled
Previously, minified builds of the library did not have any assertions. This caused applications to fail silently or with cryptic stack traces. Starting with this release, developers get notified of many runtime errors through the new `ol.AssertionError`. This error has a `code` property. The meaning of the code can be found on http://openlayers.org/en/latest/doc/errors/. There are additional console assertion checks in debug mode when the `goog.DEBUG` compiler flag is `true`. As this is `true` by default, it is recommended that those creating custom builds set this to `false` so these assertions are stripped.'
#### Removal of `ol.ENABLE_NAMED_COLORS`
This option was previously needed to use named colors with the WebGL renderer but is no longer needed.
#### KML format now uses URL()
The URL constructor is supported by all modern browsers, but not by older ones, such as IE. To use the KML format in such older browsers, a URL polyfill will have to be loaded before use.
#### Changes only relevant to those who compile their applications together with the Closure Compiler
A number of internal types have been renamed. This will not affect those who use the API provided by the library, but if you are compiling your application together with OpenLayers and using type names, you'll need to do the following:
* rename `ol.CollectionEventType` to `ol.Collection.EventType`
* rename `ol.CollectionEvent` to `ol.Collection.Event`
* rename `ol.ViewHint` to `ol.View.Hint`
* rename `ol.ViewProperty` to `ol.View.Property`
* rename `ol.render.webgl.imagereplay.shader.Default.Locations` to `ol.render.webgl.imagereplay.defaultshader.Locations`
* rename `ol.render.webgl.imagereplay.shader.DefaultFragment` to `ol.render.webgl.imagereplay.defaultshader.Fragment`
* rename `ol.render.webgl.imagereplay.shader.DefaultVertex` to `ol.render.webgl.imagereplay.defaultshader.Vertex`
* rename `ol.renderer.webgl.map.shader.Default.Locations` to `ol.renderer.webgl.defaultmapshader.Locations`
* rename `ol.renderer.webgl.map.shader.Default.Locations` to `ol.renderer.webgl.defaultmapshader.Locations`
* rename `ol.renderer.webgl.map.shader.DefaultFragment` to `ol.renderer.webgl.defaultmapshader.Fragment`
* rename `ol.renderer.webgl.map.shader.DefaultVertex` to `ol.renderer.webgl.defaultmapshader.Vertex`
* rename `ol.renderer.webgl.tilelayer.shader.Fragment` to `ol.renderer.webgl.tilelayershader.Fragment`
* rename `ol.renderer.webgl.tilelayer.shader.Locations` to `ol.renderer.webgl.tilelayershader.Locations`
* rename `ol.renderer.webgl.tilelayer.shader.Vertex` to `ol.renderer.webgl.tilelayershader.Vertex`
* rename `ol.webgl.WebGLContextEventType` to `ol.webgl.ContextEventType`
* rename `ol.webgl.shader.Fragment` to `ol.webgl.Fragment`
* rename `ol.webgl.shader.Vertex` to `ol.webgl.Vertex`
### v3.17.0
#### `ol.source.MapQuest` removal

170
changelog/v3.18.0.md Normal file
View File

@@ -0,0 +1,170 @@
# v3.18.0
## Summary
The v3.18.0 release includes features and fixes from almost 120 pull requests since the v3.17.1 release. Most of the changes are bug fixes and continuing removal of the dependency on Closure Library. New features include:
* Addition of `Intersects` and `Within` filters to `ol.format.ogc.filter` [#5668](https://github.com/openlayers/ol3/pull/5668)
* New `overlaps` option for `ol.source.Vector` and `ol.source.VectorTile` to improve rendering performance for polygon topologies [#5196](https://github.com/openlayers/ol3/pull/5196)
* New `rotateWithView` option for `ol.style.Text` to control appearance of text on rotated views [#5050](https://github.com/openlayers/ol3/pull/5050)
* Add a `#scale()` method to `ol.geom.Geometry` and subclasses [#5685](https://github.com/openlayers/ol3/pull/5685)
* Parse `id` of features in `ol.format.MVT` [#5613](https://github.com/openlayers/ol3/pull/5613)
## Upgrade notes
#### Changes in the way assertions are handled
Previously, minified builds of the library did not have any assertions. This caused applications to fail silently or with cryptic stack traces. Starting with this release, developers get notified of many runtime errors through the new `ol.AssertionError`. This error has a `code` property. The meaning of the code can be found on http://openlayers.org/en/latest/doc/errors/. There are additional console assertion checks in debug mode when the `goog.DEBUG` compiler flag is `true`. As this is `true` by default, it is recommended that those creating custom builds set this to `false` so these assertions are stripped.'
#### Removal of `ol.ENABLE_NAMED_COLORS`
This option was previously needed to use named colors with the WebGL renderer but is no longer needed.
#### KML format now uses URL()
The URL constructor is supported by all modern browsers, but not by older ones, such as IE. To use the KML format in such older browsers, a URL polyfill will have to be loaded before use.
#### Changes only relevant to those who compile their applications together with the Closure Compiler
A number of internal types have been renamed. This will not affect those who use the API provided by the library, but if you are compiling your application together with OpenLayers and using type names, you'll need to do the following:
* rename `ol.CollectionEventType` to `ol.Collection.EventType`
* rename `ol.CollectionEvent` to `ol.Collection.Event`
* rename `ol.ViewHint` to `ol.View.Hint`
* rename `ol.ViewProperty` to `ol.View.Property`
* rename `ol.render.webgl.imagereplay.shader.Default.Locations` to `ol.render.webgl.imagereplay.defaultshader.Locations`
* rename `ol.render.webgl.imagereplay.shader.DefaultFragment` to `ol.render.webgl.imagereplay.defaultshader.Fragment`
* rename `ol.render.webgl.imagereplay.shader.DefaultVertex` to `ol.render.webgl.imagereplay.defaultshader.Vertex`
* rename `ol.renderer.webgl.map.shader.Default.Locations` to `ol.renderer.webgl.defaultmapshader.Locations`
* rename `ol.renderer.webgl.map.shader.Default.Locations` to `ol.renderer.webgl.defaultmapshader.Locations`
* rename `ol.renderer.webgl.map.shader.DefaultFragment` to `ol.renderer.webgl.defaultmapshader.Fragment`
* rename `ol.renderer.webgl.map.shader.DefaultVertex` to `ol.renderer.webgl.defaultmapshader.Vertex`
* rename `ol.renderer.webgl.tilelayer.shader.Fragment` to `ol.renderer.webgl.tilelayershader.Fragment`
* rename `ol.renderer.webgl.tilelayer.shader.Locations` to `ol.renderer.webgl.tilelayershader.Locations`
* rename `ol.renderer.webgl.tilelayer.shader.Vertex` to `ol.renderer.webgl.tilelayershader.Vertex`
* rename `ol.webgl.WebGLContextEventType` to `ol.webgl.ContextEventType`
* rename `ol.webgl.shader.Fragment` to `ol.webgl.Fragment`
* rename `ol.webgl.shader.Vertex` to `ol.webgl.Vertex`
## Full list of changes
* [#5782](https://github.com/openlayers/ol3/pull/5782) - Compare URLs in an IE compatible way ([@ahocevar](https://github.com/ahocevar))
* [#5778](https://github.com/openlayers/ol3/pull/5778) - Use Mapzen instead of openstreetmap.us tiles ([@ahocevar](https://github.com/ahocevar))
* [#5774](https://github.com/openlayers/ol3/pull/5774) - Update glob to version 7.0.6 🚀 ([@openlayers](https://github.com/openlayers))
* [#5708](https://github.com/openlayers/ol3/pull/5708) - Remove unnecessary closePath() instructions ([@ahocevar](https://github.com/ahocevar))
* [#5196](https://github.com/openlayers/ol3/pull/5196) - Batch polygon and circle fills and strokes ([@ahocevar](https://github.com/ahocevar))
* [#5768](https://github.com/openlayers/ol3/pull/5768) - Enable extent clipping for vector layers ([@ahocevar](https://github.com/ahocevar))
* [#4753](https://github.com/openlayers/ol3/pull/4753) - Export ol.geom.Geometry#containsCoordinate function ([@fredj](https://github.com/fredj))
* [#5050](https://github.com/openlayers/ol3/pull/5050) - Add rotateWithView option to ol.style.Text ([@fredj](https://github.com/fredj))
* [#5767](https://github.com/openlayers/ol3/pull/5767) - Accept feature without geometry in ol.interaction.Modify ([@fredj](https://github.com/fredj))
* [#5334](https://github.com/openlayers/ol3/pull/5334) - Load the examples resources with HTTPS ([@fredj](https://github.com/fredj))
* [#5766](https://github.com/openlayers/ol3/pull/5766) - Use HTTPS to access tiles at tileserver.maptiler.com in examples ([@klokantech](https://github.com/klokantech))
* [#5765](https://github.com/openlayers/ol3/pull/5765) - Force a map render when the view is not updated ([@fredj](https://github.com/fredj))
* [#5724](https://github.com/openlayers/ol3/pull/5724) - Fix clipping of the tile layer extent on HiDPI devices ([@ahocevar](https://github.com/ahocevar))
* [#5764](https://github.com/openlayers/ol3/pull/5764) - Remove unnecessary map.render() calls ([@bartvde](https://github.com/bartvde))
* [#5763](https://github.com/openlayers/ol3/pull/5763) - Fix assert namespace ([@ahocevar](https://github.com/ahocevar))
* [#5616](https://github.com/openlayers/ol3/pull/5616) - Fix event type and documentation of ol.events.condition.mouseOnly ([@ahocevar](https://github.com/ahocevar))
* [#5755](https://github.com/openlayers/ol3/pull/5755) - Increase the size of the map in ol.layer.Tile rendering tests ([@fredj](https://github.com/fredj))
* [#5757](https://github.com/openlayers/ol3/pull/5757) - Add ol.source.Cluster#setDistance function ([@fredj](https://github.com/fredj))
* [#5752](https://github.com/openlayers/ol3/pull/5752) - Set proper replay canvas size and offset for rotated view ([@ahocevar](https://github.com/ahocevar))
* [#5754](https://github.com/openlayers/ol3/pull/5754) - Update istanbul to version 0.4.5 🚀 ([@openlayers](https://github.com/openlayers))
* [#5727](https://github.com/openlayers/ol3/pull/5727) - Add missing goog require ([@fredj](https://github.com/fredj))
* [#5273](https://github.com/openlayers/ol3/pull/5273) - Take the pixelRatio into account when computing the gutter ([@fredj](https://github.com/fredj))
* [#5753](https://github.com/openlayers/ol3/pull/5753) - Update proj4 to version 2.3.15 🚀 ([@openlayers](https://github.com/openlayers))
* [#5741](https://github.com/openlayers/ol3/pull/5741) - Point to the English workshop ([@bartvde](https://github.com/bartvde))
* [#5721](https://github.com/openlayers/ol3/pull/5721) - Update metalsmith to version 2.2.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5733](https://github.com/openlayers/ol3/pull/5733) - Fix #5730 - Ignore null/undef. values in uri.appendParams ([@adube](https://github.com/adube))
* [#5736](https://github.com/openlayers/ol3/pull/5736) - Show `resultType` attribute in docs ([@tsauerwein](https://github.com/tsauerwein))
* [#5735](https://github.com/openlayers/ol3/pull/5735) - Update eslint to version 3.3.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5731](https://github.com/openlayers/ol3/pull/5731) - Added a pixelRatio adjust to the canvasTileLayer 'forEachLayerAtPixel… ([@Benjaki2](https://github.com/Benjaki2))
* [#5732](https://github.com/openlayers/ol3/pull/5732) - Add missing curly braces in type annotations ([@fredj](https://github.com/fredj))
* [#5728](https://github.com/openlayers/ol3/pull/5728) - Update closure-util to version 1.15.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5717](https://github.com/openlayers/ol3/pull/5717) - Update phantomjs-prebuilt to version 2.1.12 🚀 ([@openlayers](https://github.com/openlayers))
* [#5725](https://github.com/openlayers/ol3/pull/5725) - Remove tilerange assert from tilegrid/wmts ([@probins](https://github.com/probins))
* [#5723](https://github.com/openlayers/ol3/pull/5723) - Update eslint to version 3.3.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5702](https://github.com/openlayers/ol3/pull/5702) - Add rule to identify missing requires ([@tschaub](https://github.com/tschaub))
* [#5670](https://github.com/openlayers/ol3/pull/5670) - Added image data value to 'forEachLayerAtPixel' method callback ([@Benjaki2](https://github.com/Benjaki2))
* [#5720](https://github.com/openlayers/ol3/pull/5720) - Fix typo in tilegrid/wmts ([@probins](https://github.com/probins))
* [#5715](https://github.com/openlayers/ol3/pull/5715) - Create a check-example task for smarter example checking with PhantomJS ([@ahocevar](https://github.com/ahocevar))
* [#5714](https://github.com/openlayers/ol3/pull/5714) - Add FAQ entry about renderBuffer ([@tsauerwein](https://github.com/tsauerwein))
* [#5713](https://github.com/openlayers/ol3/pull/5713) - Check examples with http protocol instead of file ([@ahocevar](https://github.com/ahocevar))
* [#5689](https://github.com/openlayers/ol3/pull/5689) - Fix cursor change in translate interaction ([@pgiraud](https://github.com/pgiraud))
* [#5165](https://github.com/openlayers/ol3/pull/5165) - Remove goog.addSingletonGetter function ([@fredj](https://github.com/fredj))
* [#5701](https://github.com/openlayers/ol3/pull/5701) - Update phantomjs-prebuilt to version 2.1.11 🚀 ([@openlayers](https://github.com/openlayers))
* [#5698](https://github.com/openlayers/ol3/pull/5698) - Custom rule to identify unused goog.require() calls ([@tschaub](https://github.com/tschaub))
* [#5699](https://github.com/openlayers/ol3/pull/5699) - Update mocha to version 3.0.2 🚀 ([@openlayers](https://github.com/openlayers))
* [#5697](https://github.com/openlayers/ol3/pull/5697) - Re-enable ESLint config ([@tschaub](https://github.com/tschaub))
* [#5693](https://github.com/openlayers/ol3/pull/5693) - Reorganize files so they are named like their default export ([@tschaub](https://github.com/tschaub))
* [#5694](https://github.com/openlayers/ol3/pull/5694) - layer.Base in Map not required ([@probins](https://github.com/probins))
* [#5695](https://github.com/openlayers/ol3/pull/5695) - Remove unneeded requires in renderers ([@probins](https://github.com/probins))
* [#5692](https://github.com/openlayers/ol3/pull/5692) - Small text fix ([@bngsudheer](https://github.com/bngsudheer))
* [#5682](https://github.com/openlayers/ol3/pull/5682) - Update mocha to version 3.0.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5619](https://github.com/openlayers/ol3/pull/5619) - Remove goog.asserts.* ([@ahocevar](https://github.com/ahocevar))
* [#5685](https://github.com/openlayers/ol3/pull/5685) - Add a method to scale geometries ([@tschaub](https://github.com/tschaub))
* [#5674](https://github.com/openlayers/ol3/pull/5674) - Support fractional zoom levels in ol.View#getZoom and #setZoom ([@ahocevar](https://github.com/ahocevar))
* [#5681](https://github.com/openlayers/ol3/pull/5681) - Remove extra goog.require ([@fredj](https://github.com/fredj))
* [#5680](https://github.com/openlayers/ol3/pull/5680) - Update phantomjs-prebuilt to version 2.1.10 🚀 ([@openlayers](https://github.com/openlayers))
* [#5668](https://github.com/openlayers/ol3/pull/5668) - Added Intersects and Within filters into ol.format.wfs ([@cpsTinK](https://github.com/cpsTinK))
* [#5675](https://github.com/openlayers/ol3/pull/5675) - Remove unused goog.provide ([@fredj](https://github.com/fredj))
* [#5673](https://github.com/openlayers/ol3/pull/5673) - Add missing semicolon ([@ahocevar](https://github.com/ahocevar))
* [#5587](https://github.com/openlayers/ol3/pull/5587) - Lazily create KML style defaults ([@ahocevar](https://github.com/ahocevar))
* [#5599](https://github.com/openlayers/ol3/pull/5599) - Allow subpixel center on view ([@ahocevar](https://github.com/ahocevar))
* [#5630](https://github.com/openlayers/ol3/pull/5630) - chore(build): guard against unterminated scripts ([@tlvince](https://github.com/tlvince))
* [#5669](https://github.com/openlayers/ol3/pull/5669) - Fix Github links to specific lines on jsdoc pages ([@dtreiter](https://github.com/dtreiter))
* [#5667](https://github.com/openlayers/ol3/pull/5667) - Do not return undefined from ol.proj.get ([@ahocevar](https://github.com/ahocevar))
* [#5665](https://github.com/openlayers/ol3/pull/5665) - Update eslint to version 3.2.2 🚀 ([@openlayers](https://github.com/openlayers))
* [#5632](https://github.com/openlayers/ol3/pull/5632) - Improve docs for the ol.LoadingStrategy type ([@ahocevar](https://github.com/ahocevar))
* [#5641](https://github.com/openlayers/ol3/pull/5641) - De-randomize the listener map property ([@ahocevar](https://github.com/ahocevar))
* [#5664](https://github.com/openlayers/ol3/pull/5664) - Update eslint to version 3.2.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5658](https://github.com/openlayers/ol3/pull/5658) - Update marked to version 0.3.6 🚀 ([@openlayers](https://github.com/openlayers))
* [#5657](https://github.com/openlayers/ol3/pull/5657) - Update phantomjs-prebuilt to version 2.1.9 🚀 ([@openlayers](https://github.com/openlayers))
* [#5652](https://github.com/openlayers/ol3/pull/5652) - Make XHR work for file:// urls ([@ahocevar](https://github.com/ahocevar))
* [#5653](https://github.com/openlayers/ol3/pull/5653) - Fix namespace in filter docs ([@ahocevar](https://github.com/ahocevar))
* [#5651](https://github.com/openlayers/ol3/pull/5651) - Update coveralls to version 2.11.12 🚀 ([@openlayers](https://github.com/openlayers))
* [#5649](https://github.com/openlayers/ol3/pull/5649) - Fix DateTime parsing with non-Zulu times ([@ahocevar](https://github.com/ahocevar))
* [#5648](https://github.com/openlayers/ol3/pull/5648) - Update sinon to version 1.17.5 🚀 ([@openlayers](https://github.com/openlayers))
* [#5646](https://github.com/openlayers/ol3/pull/5646) - Update phantomjs-prebuilt to version 2.1.8 🚀 ([@openlayers](https://github.com/openlayers))
* [#5644](https://github.com/openlayers/ol3/pull/5644) - Update browserify to version 13.1.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5640](https://github.com/openlayers/ol3/pull/5640) - Add example for usage of HERE Map Tile API ([@chrismayer](https://github.com/chrismayer))
* [#5579](https://github.com/openlayers/ol3/pull/5579) - Update jquery to version 3.1.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5636](https://github.com/openlayers/ol3/pull/5636) - Update clean-css to version 3.4.19 🚀 ([@openlayers](https://github.com/openlayers))
* [#5634](https://github.com/openlayers/ol3/pull/5634) - Update async to version 2.0.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5622](https://github.com/openlayers/ol3/pull/5622) - Update TileWMS.coordKeyPrefix_ on setUrls ([@rrutkows](https://github.com/rrutkows))
* [#5611](https://github.com/openlayers/ol3/pull/5611) - Fix broken link to Google JavaScript Style Guide ([@ischas](https://github.com/ischas))
* [#5620](https://github.com/openlayers/ol3/pull/5620) - Replace goog.getUid with ol.getUid ([@probins](https://github.com/probins))
* [#5614](https://github.com/openlayers/ol3/pull/5614) - Replace goog.abstractMethod ([@probins](https://github.com/probins))
* [#5613](https://github.com/openlayers/ol3/pull/5613) - Parse MVT id property ([@drnextgis](https://github.com/drnextgis))
* [#5612](https://github.com/openlayers/ol3/pull/5612) - Update vector-tile to version 1.3.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5609](https://github.com/openlayers/ol3/pull/5609) - Update eslint to version 3.1.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5605](https://github.com/openlayers/ol3/pull/5605) - Remove goog.isObject not in assertions ([@probins](https://github.com/probins))
* [#5603](https://github.com/openlayers/ol3/pull/5603) - Update eslint to version 3.1.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5597](https://github.com/openlayers/ol3/pull/5597) - Avoid unnecessary getImageData calls in hit detection ([@schmidtk](https://github.com/schmidtk))
* [#5429](https://github.com/openlayers/ol3/pull/5429) - Remove enums from tests ([@probins](https://github.com/probins))
* [#5516](https://github.com/openlayers/ol3/pull/5516) - Remove goog.Uri from KML format ([@probins](https://github.com/probins))
* [#5598](https://github.com/openlayers/ol3/pull/5598) - Clarify that default source.Vector loader only handles features ([@probins](https://github.com/probins))
* [#5595](https://github.com/openlayers/ol3/pull/5595) - Use tile keys instead of coord keys ([@ahocevar](https://github.com/ahocevar))
* [#5594](https://github.com/openlayers/ol3/pull/5594) - Add renderBuffer option for ol.source.ImageVector ([@ahocevar](https://github.com/ahocevar))
* [#5592](https://github.com/openlayers/ol3/pull/5592) - Update coveralls to version 2.11.11 🚀 ([@openlayers](https://github.com/openlayers))
* [#5593](https://github.com/openlayers/ol3/pull/5593) - Update async to version 2.0.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#4194](https://github.com/openlayers/ol3/pull/4194) - Remove usage of goog.color and closure named colors ([@bjornharrtell](https://github.com/bjornharrtell))
* [#5583](https://github.com/openlayers/ol3/pull/5583) - Fix dead link for change event in API docs ([@ahocevar](https://github.com/ahocevar))
* [#5560](https://github.com/openlayers/ol3/pull/5560) - Get rid of goog.isArrayLike ([@fredj](https://github.com/fredj))
* [#5573](https://github.com/openlayers/ol3/pull/5573) - Determine ol.global in a way that works in more environments ([@ahocevar](https://github.com/ahocevar))
* [#5558](https://github.com/openlayers/ol3/pull/5558) - Remove goog.Uri from tests ([@probins](https://github.com/probins))
* [#5578](https://github.com/openlayers/ol3/pull/5578) - Add polyfills to copy/paste code ([@ahocevar](https://github.com/ahocevar))
* [#5577](https://github.com/openlayers/ol3/pull/5577) - Fix olx.source.OSMOptions#url default value documentation ([@fredj](https://github.com/fredj))
* [#5576](https://github.com/openlayers/ol3/pull/5576) - Use the word "documentation" ([@ahocevar](https://github.com/ahocevar))
* [#5575](https://github.com/openlayers/ol3/pull/5575) - Add a bit more info about the library to the README ([@ahocevar](https://github.com/ahocevar))
* [#5574](https://github.com/openlayers/ol3/pull/5574) - Add paragraph about supported browsers and polyfills ([@ahocevar](https://github.com/ahocevar))
* [#5570](https://github.com/openlayers/ol3/pull/5570) - Upgrade JSTS in example to 1.2.0 ([@bjornharrtell](https://github.com/bjornharrtell))
* [#5566](https://github.com/openlayers/ol3/pull/5566) - Fix ol.style.Image#getAnchor documentation ([@fredj](https://github.com/fredj))
* [#5546](https://github.com/openlayers/ol3/pull/5546) - Remove useless target argument from ol.Event and subclass constructors ([@ahocevar](https://github.com/ahocevar))
* [#5565](https://github.com/openlayers/ol3/pull/5565) - Reinsert goog.provide for enums in olx.js ([@probins](https://github.com/probins))
* [#5561](https://github.com/openlayers/ol3/pull/5561) - Add unit tests for ol.View.createCenterConstraint ([@fredj](https://github.com/fredj))
* [#5563](https://github.com/openlayers/ol3/pull/5563) - Return if a vertex was removed in ol.interaction.Modify#removeVertex_ ([@fredj](https://github.com/fredj))
* [#5533](https://github.com/openlayers/ol3/pull/5533) - Make sure reprojected tiles are recreated on updateParams ([@ahocevar](https://github.com/ahocevar))
* [#5534](https://github.com/openlayers/ol3/pull/5534) - Fix ScaleLine control documentation ([@ahocevar](https://github.com/ahocevar))
* [#5541](https://github.com/openlayers/ol3/pull/5541) - Replace goog.isNumber ([@probins](https://github.com/probins))
* [#5552](https://github.com/openlayers/ol3/pull/5552) - Replace goog.webgl. ([@probins](https://github.com/probins))
* [#5550](https://github.com/openlayers/ol3/pull/5550) - Remove use of ol.vec.Mat4 calls remaining after #5482 ([@ahocevar](https://github.com/ahocevar))
* [#5507](https://github.com/openlayers/ol3/pull/5507) - Remove use of goog.vec.* ([@ahocevar](https://github.com/ahocevar))

View File

@@ -11,7 +11,7 @@
<link rel="stylesheet" href="./resources/layout.css" type="text/css">
{{{ extraHead.local }}}
{{{ css.tag }}}
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=fetch,requestAnimationFrame,Element.prototype.classList"></script>
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=fetch,requestAnimationFrame,Element.prototype.classList,URL"></script>
<script src="./resources/zeroclipboard/ZeroClipboard.min.js"></script>
<title>{{ title }}</title>
</head>
@@ -61,7 +61,7 @@
<a id="copy-button"><i class="fa fa-clipboard"></i> Copy</a>
<a id="jsfiddle-button"><i class="fa fa-jsfiddle"></i> Edit</a>
</div>
<form method="POST" id="jsfiddle-form" target="_blank" action="http://jsfiddle.net/api/post/library/pure/">
<form method="POST" id="jsfiddle-form" target="_blank" action="https://jsfiddle.net/api/post/library/pure/">
<textarea class="hidden" name="js">{{ js.source }}</textarea>
<textarea class="hidden" name="css">{{ css.source }}</textarea>
<textarea class="hidden" name="html">{{ contents }}</textarea>
@@ -73,6 +73,8 @@
&lt;head&gt;
&lt;title&gt;{{ title }}&lt;/title&gt;
&lt;link rel="stylesheet" href="http://openlayers.org/en/v{{ olVersion }}/css/ol.css" type="text/css"&gt;
&lt;!-- The line below is only needed for old environments like Internet Explorer and Android 4.x --&gt;
&lt;script src="http://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"&gt;&lt;/script&gt;
&lt;script src="http://openlayers.org/en/v{{ olVersion }}/build/ol.js"&gt;&lt;/script&gt;{{#if extraHead.remote}}
{{ indent extraHead.remote spaces=4 }}{{/if}}{{#if css.source}}
&lt;style&gt;

View File

@@ -88,7 +88,7 @@ $(function () {
var link = 'https://github.com/openlayers/ol3/blob/v' + currentVersion + '/' +
textParts[0];
el.innerHTML = '<a href="' + link + '">' + textParts[0] + '</a>, ' +
'<a href="' + link + textParts[1].replace('line ', '#l') + '">' +
'<a href="' + link + textParts[1].replace('line ', '#L') + '">' +
textParts[1] + '</a>';
});

View File

@@ -1,4 +1,4 @@
@import url(http://fonts.googleapis.com/css?family=Quattrocento+Sans:400,400italic,700);
@import url(https://fonts.googleapis.com/css?family=Quattrocento+Sans:400,400italic,700);
.navbar-inverse {
border: 0;
}

241
dist/ol-debug.css vendored
View File

@@ -1,241 +0,0 @@
.ol-box {
box-sizing: border-box;
border-radius: 2px;
border: 2px solid blue;
}
.ol-mouse-position {
top: 8px;
right: 8px;
position: absolute;
}
.ol-scale-line {
background: rgba(0,60,136,0.3);
border-radius: 4px;
bottom: 8px;
left: 8px;
padding: 2px;
position: absolute;
}
.ol-scale-line-inner {
border: 1px solid #eee;
border-top: none;
color: #eee;
font-size: 10px;
text-align: center;
margin: 1px;
will-change: contents, width;
}
.ol-overlay-container {
will-change: left,right,top,bottom;
}
.ol-unsupported {
display: none;
}
.ol-viewport .ol-unselectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.ol-control {
position: absolute;
background-color: rgba(255,255,255,0.4);
border-radius: 4px;
padding: 2px;
}
.ol-control:hover {
background-color: rgba(255,255,255,0.6);
}
.ol-zoom {
top: .5em;
left: .5em;
}
.ol-rotate {
top: .5em;
right: .5em;
transition: opacity .25s linear, visibility 0s linear;
}
.ol-rotate.ol-hidden {
opacity: 0;
visibility: hidden;
transition: opacity .25s linear, visibility 0s linear .25s;
}
.ol-zoom-extent {
top: 4.643em;
left: .5em;
}
.ol-full-screen {
right: .5em;
top: .5em;
}
@media print {
.ol-control {
display: none;
}
}
.ol-control button {
display: block;
margin: 1px;
padding: 0;
color: white;
font-size: 1.14em;
font-weight: bold;
text-decoration: none;
text-align: center;
height: 1.375em;
width: 1.375em;
line-height: .4em;
background-color: rgba(0,60,136,0.5);
border: none;
border-radius: 2px;
}
.ol-control button::-moz-focus-inner {
border: none;
padding: 0;
}
.ol-zoom-extent button {
line-height: 1.4em;
}
.ol-compass {
display: block;
font-weight: normal;
font-size: 1.2em;
will-change: transform;
}
.ol-touch .ol-control button {
font-size: 1.5em;
}
.ol-touch .ol-zoom-extent {
top: 5.5em;
}
.ol-control button:hover,
.ol-control button:focus {
text-decoration: none;
background-color: rgba(0,60,136,0.7);
}
.ol-zoom .ol-zoom-in {
border-radius: 2px 2px 0 0;
}
.ol-zoom .ol-zoom-out {
border-radius: 0 0 2px 2px;
}
.ol-attribution {
text-align: right;
bottom: .5em;
right: .5em;
max-width: calc(100% - 1.3em);
}
.ol-attribution ul {
margin: 0;
padding: 0 .5em;
font-size: .7rem;
line-height: 1.375em;
color: #000;
text-shadow: 0 0 2px #fff;
}
.ol-attribution li {
display: inline;
list-style: none;
line-height: inherit;
}
.ol-attribution li:not(:last-child):after {
content: " ";
}
.ol-attribution img {
max-height: 2em;
max-width: inherit;
vertical-align: middle;
}
.ol-attribution ul, .ol-attribution button {
display: inline-block;
}
.ol-attribution.ol-collapsed ul {
display: none;
}
.ol-attribution.ol-logo-only ul {
display: block;
}
.ol-attribution:not(.ol-collapsed) {
background: rgba(255,255,255,0.8);
}
.ol-attribution.ol-uncollapsible {
bottom: 0;
right: 0;
border-radius: 4px 0 0;
height: 1.1em;
line-height: 1em;
}
.ol-attribution.ol-logo-only {
background: transparent;
bottom: .4em;
height: 1.1em;
line-height: 1em;
}
.ol-attribution.ol-uncollapsible img {
margin-top: -.2em;
max-height: 1.6em;
}
.ol-attribution.ol-logo-only button,
.ol-attribution.ol-uncollapsible button {
display: none;
}
.ol-zoomslider {
top: 4.5em;
left: .5em;
height: 200px;
}
.ol-zoomslider button {
position: relative;
height: 10px;
}
.ol-touch .ol-zoomslider {
top: 5.5em;
}
.ol-overviewmap {
left: 0.5em;
bottom: 0.5em;
}
.ol-overviewmap.ol-uncollapsible {
bottom: 0;
left: 0;
border-radius: 0 4px 0 0;
}
.ol-overviewmap .ol-overviewmap-map,
.ol-overviewmap button {
display: inline-block;
}
.ol-overviewmap .ol-overviewmap-map {
border: 1px solid #7b98bc;
height: 150px;
margin: 2px;
width: 150px;
}
.ol-overviewmap:not(.ol-collapsed) button{
bottom: 1px;
left: 2px;
position: absolute;
}
.ol-overviewmap.ol-collapsed .ol-overviewmap-map,
.ol-overviewmap.ol-uncollapsible button {
display: none;
}
.ol-overviewmap:not(.ol-collapsed) {
background: rgba(255,255,255,0.8);
}
.ol-overviewmap-box {
border: 2px dotted rgba(0,60,136,0.7);
}

109180
dist/ol-debug.js vendored

File diff suppressed because it is too large Load Diff

1
dist/ol.css vendored
View File

@@ -1 +0,0 @@
.ol-control,.ol-scale-line{position:absolute;padding:2px}.ol-box{box-sizing:border-box;border-radius:2px;border:2px solid #00f}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:rgba(0,60,136,.3);border-radius:4px;bottom:8px;left:8px}.ol-scale-line-inner{border:1px solid #eee;border-top:none;color:#eee;font-size:10px;text-align:center;margin:1px;will-change:contents,width}.ol-overlay-container{will-change:left,right,top,bottom}.ol-unsupported{display:none}.ol-viewport .ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-control{background-color:rgba(255,255,255,.4);border-radius:4px}.ol-control:hover{background-color:rgba(255,255,255,.6)}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}@media print{.ol-control{display:none}}.ol-control button{display:block;margin:1px;padding:0;color:#fff;font-size:1.14em;font-weight:700;text-decoration:none;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:rgba(0,60,136,.5);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;font-size:1.2em;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{text-decoration:none;background-color:rgba(0,60,136,.7)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em)}.ol-attribution ul{margin:0;padding:0 .5em;font-size:.7rem;line-height:1.375em;color:#000;text-shadow:0 0 2px #fff}.ol-attribution li{display:inline;list-style:none;line-height:inherit}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button,.ol-attribution ul{display:inline-block}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution.ol-logo-only ul{display:block}.ol-attribution:not(.ol-collapsed){background:rgba(255,255,255,.8)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0;height:1.1em;line-height:1em}.ol-attribution.ol-logo-only{background:0 0;bottom:.4em;height:1.1em;line-height:1em}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-logo-only button,.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:inline-block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #7b98bc;height:150px;margin:2px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:1px;left:2px;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:rgba(255,255,255,.8)}.ol-overviewmap-box{border:2px dotted rgba(0,60,136,.7)}

990
dist/ol.js vendored
View File

@@ -1,990 +0,0 @@
// OpenLayers 3. See http://openlayers.org/
// License: https://raw.githubusercontent.com/openlayers/ol3/master/LICENSE.md
// Version: v3.16.0-192-g5d8b99a
(function (root, factory) {
if (typeof exports === "object") {
module.exports = factory();
} else if (typeof define === "function" && define.amd) {
define([], factory);
} else {
root.ol = factory();
}
}(this, function () {
var OPENLAYERS = {};
var k,aa=this;function ca(a){a.$b=function(){return a.Tg?a.Tg:a.Tg=new a}}
function da(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function ea(a){return"string"==typeof a}function fa(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}function t(a){return a[ga]||(a[ga]=++ha)}var ga="closure_uid_"+(1E9*Math.random()>>>0),ha=0;function ia(a,b,c){return a.call.apply(a.bind,arguments)}
function ja(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function ka(a,b,c){ka=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ia:ja;return ka.apply(null,arguments)}
function u(a,b){var c=a.split("."),d=OPENLAYERS||aa;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||void 0===b?d[e]?d=d[e]:d=d[e]={}:d[e]=b};var la,na;function x(a,b){a.prototype=Object.create(b.prototype);a.prototype.constructor=a}function oa(){}var pa=Function("return this")();var qa=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};function ra(a,b){return a<b?-1:a>b?1:0};function sa(a,b,c){return Math.min(Math.max(a,b),c)}var ta=function(){var a;"cosh"in Math?a=Math.cosh:a=function(a){a=Math.exp(a);return(a+1/a)/2};return a}();function ua(a,b,c,d,e,f){var g=e-c,h=f-d;if(0!==g||0!==h){var l=((a-c)*g+(b-d)*h)/(g*g+h*h);1<l?(c=e,d=f):0<l&&(c+=g*l,d+=h*l)}return va(a,b,c,d)}function va(a,b,c,d){a=c-a;b=d-b;return a*a+b*b}function wa(a){return a*Math.PI/180}function xa(a,b){var c=a%b;return 0>c*b?c+b:c}function ya(a,b,c){return a+c*(b-a)};function za(a){return function(b){if(b)return[sa(b[0],a[0],a[2]),sa(b[1],a[1],a[3])]}}function Aa(a){return a};function Ba(a,b,c){this.center=a;this.resolution=b;this.rotation=c};var Ca="function"===typeof Object.assign?Object.assign:function(a,b){if(!a||!a)throw new TypeError("Cannot convert undefined or null to object");for(var c=Object(a),d=1,e=arguments.length;d<e;++d){var f=arguments[d];if(void 0!==f&&null!==f)for(var g in f)f.hasOwnProperty(g)&&(c[g]=f[g])}return c};function Da(a){for(var b in a)delete a[b]}function Ea(a){var b=[],c;for(c in a)b.push(a[c]);return b}function Ga(a){for(var b in a)return!1;return!b};var Ha="olm_"+(1E4*Math.random()|0);function Ia(a){function b(b){var d=a.listener,e=a.ng||a.target;a.pg&&Ka(a);return d.call(e,b)}return a.og=b}function La(a,b,c,d){for(var e,f=0,g=a.length;f<g;++f)if(e=a[f],e.listener===b&&e.ng===c)return d&&(e.deleteIndex=f),e}function Ma(a,b){var c=a[Ha];return c?c[b]:void 0}function Na(a){var b=a[Ha];b||(b=a[Ha]={});return b}
function Oa(a,b){var c=Ma(a,b);if(c){for(var d=0,e=c.length;d<e;++d)a.removeEventListener(b,c[d].og),Da(c[d]);c.length=0;if(c=a[Ha])delete c[b],0===Object.keys(c).length&&delete a[Ha]}}function B(a,b,c,d,e){var f=Na(a),g=f[b];g||(g=f[b]=[]);(f=La(g,c,d,!1))?e||(f.pg=!1):(f={ng:d,pg:!!e,listener:c,target:a,type:b},a.addEventListener(b,Ia(f)),g.push(f));return f}function Pa(a,b,c,d){return B(a,b,c,d,!0)}function Qa(a,b,c,d){(a=Ma(a,b))&&(c=La(a,c,d,!0))&&Ka(c)}
function Ka(a){if(a&&a.target){a.target.removeEventListener(a.type,a.og);var b=Ma(a.target,a.type);if(b){var c="deleteIndex"in a?a.deleteIndex:b.indexOf(a);-1!==c&&b.splice(c,1);0===b.length&&Oa(a.target,a.type)}Da(a)}}function Ra(a){var b=Na(a),c;for(c in b)Oa(a,c)};function Sa(){}Sa.prototype.Hb=!1;function Ta(a){a.Hb||(a.Hb=!0,a.ka())}Sa.prototype.ka=oa;function Ua(a){this.type=a;this.target=null}Ua.prototype.preventDefault=Ua.prototype.stopPropagation=function(){this.to=!0};function Va(a){a.stopPropagation()}function Wa(a){a.preventDefault()};function Xa(){this.Ra={};this.Aa={};this.ya={}}x(Xa,Sa);Xa.prototype.addEventListener=function(a,b){var c=this.ya[a];c||(c=this.ya[a]=[]);-1===c.indexOf(b)&&c.push(b)};
Xa.prototype.b=function(a){var b="string"===typeof a?new Ua(a):a;a=b.type;b.target=this;var c=this.ya[a],d;if(c){a in this.Aa||(this.Aa[a]=0,this.Ra[a]=0);++this.Aa[a];for(var e=0,f=c.length;e<f;++e)if(!1===c[e].call(this,b)||b.to){d=!1;break}--this.Aa[a];if(0===this.Aa[a]){b=this.Ra[a];for(delete this.Ra[a];b--;)this.removeEventListener(a,oa);delete this.Aa[a]}return d}};Xa.prototype.ka=function(){Ra(this)};function Ya(a,b){return b?b in a.ya:0<Object.keys(a.ya).length}
Xa.prototype.removeEventListener=function(a,b){var c=this.ya[a];if(c){var d=c.indexOf(b);a in this.Ra?(c[d]=oa,++this.Ra[a]):(c.splice(d,1),0===c.length&&delete this.ya[a])}};function Za(){Xa.call(this);this.g=0}x(Za,Xa);function $a(a){if(Array.isArray(a))for(var b=0,c=a.length;b<c;++b)Ka(a[b]);else Ka(a)}k=Za.prototype;k.u=function(){++this.g;this.b("change")};k.K=function(){return this.g};k.I=function(a,b,c){if(Array.isArray(a)){for(var d=a.length,e=Array(d),f=0;f<d;++f)e[f]=B(this,a[f],b,c);return e}return B(this,a,b,c)};k.L=function(a,b,c){if(Array.isArray(a)){for(var d=a.length,e=Array(d),f=0;f<d;++f)e[f]=Pa(this,a[f],b,c);return e}return Pa(this,a,b,c)};
k.J=function(a,b,c){if(Array.isArray(a))for(var d=0,e=a.length;d<e;++d)Qa(this,a[d],b,c);else Qa(this,a,b,c)};k.M=$a;function ab(a,b,c){Ua.call(this,a);this.key=b;this.oldValue=c}x(ab,Ua);function bb(a){Za.call(this);t(this);this.U={};void 0!==a&&this.G(a)}x(bb,Za);var cb={};function db(a){return cb.hasOwnProperty(a)?cb[a]:cb[a]="change:"+a}k=bb.prototype;k.get=function(a){var b;this.U.hasOwnProperty(a)&&(b=this.U[a]);return b};k.N=function(){return Object.keys(this.U)};k.O=function(){return Ca({},this.U)};function eb(a,b,c){var d;d=db(b);a.b(new ab(d,b,c));a.b(new ab("propertychange",b,c))}
k.set=function(a,b,c){c?this.U[a]=b:(c=this.U[a],this.U[a]=b,c!==b&&eb(this,a,c))};k.G=function(a,b){for(var c in a)this.set(c,a[c],b)};k.R=function(a,b){if(a in this.U){var c=this.U[a];delete this.U[a];b||eb(this,a,c)}};function fb(a,b){return a>b?1:a<b?-1:0}function gb(a,b){return 0<=a.indexOf(b)}function hb(a,b,c){var d=a.length;if(a[0]<=b)return 0;if(!(b<=a[d-1]))if(0<c)for(c=1;c<d;++c){if(a[c]<b)return c-1}else if(0>c)for(c=1;c<d;++c){if(a[c]<=b)return c}else for(c=1;c<d;++c){if(a[c]==b)return c;if(a[c]<b)return a[c-1]-b<b-a[c]?c-1:c}return d-1}function ib(a){return a.reduce(function(a,c){return Array.isArray(c)?a.concat(ib(c)):a.concat(c)},[])}
function jb(a,b){var c;c=da(b);var d="array"==c||"object"==c&&"number"==typeof b.length?b:[b],e=d.length;for(c=0;c<e;c++)a[a.length]=d[c]}function kb(a,b){var c=a.indexOf(b),d=-1<c;d&&a.splice(c,1);return d}function lb(a,b){for(var c=a.length>>>0,d,e=0;e<c;e++)if(d=a[e],b(d,e,a))return d;return null}function mb(a,b){var c=a.length;if(c!==b.length)return!1;for(var d=0;d<c;d++)if(a[d]!==b[d])return!1;return!0}
function nb(a){var b=ob,c=a.length,d=Array(a.length),e;for(e=0;e<c;e++)d[e]={index:e,value:a[e]};d.sort(function(a,c){return b(a.value,c.value)||a.index-c.index});for(e=0;e<a.length;e++)a[e]=d[e].value}function pb(a,b){var c;return a.every(function(d,e){c=e;return!b(d,e,a)})?-1:c};function qb(a){return function(b,c,d){if(void 0!==b)return b=hb(a,b,d),b=sa(b+c,0,a.length-1),a[b]}}function rb(a,b,c){return function(d,e,f){if(void 0!==d)return d=Math.max(Math.floor(Math.log(b/d)/Math.log(a)+(0<f?0:0>f?1:.5))+e,0),void 0!==c&&(d=Math.min(d,c)),b/Math.pow(a,d)}};function sb(a){if(void 0!==a)return 0}function tb(a,b){if(void 0!==a)return a+b}function ub(a){var b=2*Math.PI/a;return function(a,d){if(void 0!==a)return a=Math.floor((a+d)/b+.5)*b}}function vb(){var a=wa(5);return function(b,c){if(void 0!==b)return Math.abs(b+c)<=a?0:b+c}};function wb(a,b){var c=void 0!==b?a.toFixed(b):""+a,d=c.indexOf("."),d=-1===d?c.length:d;return 2<d?c:Array(3-d).join("0")+c}function xb(a){a=(""+a).split(".");for(var b=["1","3"],c=0;c<Math.max(a.length,b.length);c++){var d=parseInt(a[c]||"0",10),e=parseInt(b[c]||"0",10);if(d>e)return 1;if(e>d)return-1}return 0};function yb(a,b){a[0]+=b[0];a[1]+=b[1];return a}function zb(a,b){var c=a[0],d=a[1],e=b[0],f=b[1],g=e[0],e=e[1],h=f[0],f=f[1],l=h-g,m=f-e,c=0===l&&0===m?0:(l*(c-g)+m*(d-e))/(l*l+m*m||0);0>=c||(1<=c?(g=h,e=f):(g+=c*l,e+=c*m));return[g,e]}function Ab(a,b,c){a=xa(a+180,360)-180;var d=Math.abs(3600*a);return Math.floor(d/3600)+"\u00b0 "+wb(Math.floor(d/60%60))+"\u2032 "+wb(d%60,c||0)+"\u2033 "+b.charAt(0>a?1:0)}
function Bb(a,b,c){return a?b.replace("{x}",a[0].toFixed(c)).replace("{y}",a[1].toFixed(c)):""}function Cb(a,b){for(var c=!0,d=a.length-1;0<=d;--d)if(a[d]!=b[d]){c=!1;break}return c}function Db(a,b){var c=Math.cos(b),d=Math.sin(b),e=a[1]*c+a[0]*d;a[0]=a[0]*c-a[1]*d;a[1]=e;return a}function Eb(a,b){var c=a[0]-b[0],d=a[1]-b[1];return c*c+d*d}function Fb(a,b){return Eb(a,zb(a,b))}function Gb(a,b){return Bb(a,"{x}, {y}",b)};function Ib(a){for(var b=Jb(),c=0,d=a.length;c<d;++c)Lb(b,a[c]);return b}function Mb(a,b,c){return c?(c[0]=a[0]-b,c[1]=a[1]-b,c[2]=a[2]+b,c[3]=a[3]+b,c):[a[0]-b,a[1]-b,a[2]+b,a[3]+b]}function Ob(a,b){return b?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b):a.slice()}function Pb(a,b,c){b=b<a[0]?a[0]-b:a[2]<b?b-a[2]:0;a=c<a[1]?a[1]-c:a[3]<c?c-a[3]:0;return b*b+a*a}function Qb(a,b){return Rb(a,b[0],b[1])}function Sb(a,b){return a[0]<=b[0]&&b[2]<=a[2]&&a[1]<=b[1]&&b[3]<=a[3]}
function Rb(a,b,c){return a[0]<=b&&b<=a[2]&&a[1]<=c&&c<=a[3]}function Tb(a,b){var c=a[1],d=a[2],e=a[3],f=b[0],g=b[1],h=0;f<a[0]?h|=16:f>d&&(h|=4);g<c?h|=8:g>e&&(h|=2);0===h&&(h=1);return h}function Jb(){return[Infinity,Infinity,-Infinity,-Infinity]}function Vb(a,b,c,d,e){return e?(e[0]=a,e[1]=b,e[2]=c,e[3]=d,e):[a,b,c,d]}function Wb(a,b){var c=a[0],d=a[1];return Vb(c,d,c,d,b)}function Yb(a,b,c,d,e){e=Vb(Infinity,Infinity,-Infinity,-Infinity,e);return Zb(e,a,b,c,d)}
function $b(a,b){return a[0]==b[0]&&a[2]==b[2]&&a[1]==b[1]&&a[3]==b[3]}function ac(a,b){b[0]<a[0]&&(a[0]=b[0]);b[2]>a[2]&&(a[2]=b[2]);b[1]<a[1]&&(a[1]=b[1]);b[3]>a[3]&&(a[3]=b[3]);return a}function Lb(a,b){b[0]<a[0]&&(a[0]=b[0]);b[0]>a[2]&&(a[2]=b[0]);b[1]<a[1]&&(a[1]=b[1]);b[1]>a[3]&&(a[3]=b[1])}function Zb(a,b,c,d,e){for(;c<d;c+=e){var f=a,g=b[c],h=b[c+1];f[0]=Math.min(f[0],g);f[1]=Math.min(f[1],h);f[2]=Math.max(f[2],g);f[3]=Math.max(f[3],h)}return a}
function bc(a,b,c){var d;return(d=b.call(c,cc(a)))||(d=b.call(c,dc(a)))||(d=b.call(c,ec(a)))?d:(d=b.call(c,fc(a)))?d:!1}function hc(a){var b=0;ic(a)||(b=jc(a)*kc(a));return b}function cc(a){return[a[0],a[1]]}function dc(a){return[a[2],a[1]]}function lc(a){return[(a[0]+a[2])/2,(a[1]+a[3])/2]}
function mc(a,b,c,d,e){var f=b*d[0]/2;d=b*d[1]/2;b=Math.cos(c);var g=Math.sin(c);c=f*b;f*=g;b*=d;var h=d*g,l=a[0],m=a[1];a=l-c+h;d=l-c-h;g=l+c-h;c=l+c+h;var h=m-f-b,l=m-f+b,n=m+f+b,f=m+f-b;return Vb(Math.min(a,d,g,c),Math.min(h,l,n,f),Math.max(a,d,g,c),Math.max(h,l,n,f),e)}function kc(a){return a[3]-a[1]}function nc(a,b,c){c=c?c:Jb();oc(a,b)&&(c[0]=a[0]>b[0]?a[0]:b[0],c[1]=a[1]>b[1]?a[1]:b[1],c[2]=a[2]<b[2]?a[2]:b[2],c[3]=a[3]<b[3]?a[3]:b[3]);return c}function fc(a){return[a[0],a[3]]}
function ec(a){return[a[2],a[3]]}function jc(a){return a[2]-a[0]}function oc(a,b){return a[0]<=b[2]&&a[2]>=b[0]&&a[1]<=b[3]&&a[3]>=b[1]}function ic(a){return a[2]<a[0]||a[3]<a[1]}function pc(a,b){var c=(a[2]-a[0])/2*(b-1),d=(a[3]-a[1])/2*(b-1);a[0]-=c;a[2]+=c;a[1]-=d;a[3]+=d}
function qc(a,b,c){a=[a[0],a[1],a[0],a[3],a[2],a[1],a[2],a[3]];b(a,a,2);var d=[a[0],a[2],a[4],a[6]],e=[a[1],a[3],a[5],a[7]];b=Math.min.apply(null,d);a=Math.min.apply(null,e);d=Math.max.apply(null,d);e=Math.max.apply(null,e);return Vb(b,a,d,e,c)};function rc(){return!0}function sc(){return!1};/*
Latitude/longitude spherical geodesy formulae taken from
http://www.movable-type.co.uk/scripts/latlong.html
Licensed under CC-BY-3.0.
*/
function tc(a){this.radius=a}tc.prototype.a=function(a){for(var b=0,c=a.length,d=a[c-1][0],e=a[c-1][1],f=0;f<c;f++)var g=a[f][0],h=a[f][1],b=b+wa(g-d)*(2+Math.sin(wa(e))+Math.sin(wa(h))),d=g,e=h;return b*this.radius*this.radius/2};tc.prototype.b=function(a,b){var c=wa(a[1]),d=wa(b[1]),e=(d-c)/2,f=wa(b[0]-a[0])/2,c=Math.sin(e)*Math.sin(e)+Math.sin(f)*Math.sin(f)*Math.cos(c)*Math.cos(d);return 2*this.radius*Math.atan2(Math.sqrt(c),Math.sqrt(1-c))};
tc.prototype.offset=function(a,b,c){var d=wa(a[1]);b/=this.radius;var e=Math.asin(Math.sin(d)*Math.cos(b)+Math.cos(d)*Math.sin(b)*Math.cos(c));return[180*(wa(a[0])+Math.atan2(Math.sin(c)*Math.sin(b)*Math.cos(d),Math.cos(b)-Math.sin(d)*Math.sin(e)))/Math.PI,180*e/Math.PI]};var uc=new tc(6370997);var vc={};vc.degrees=2*Math.PI*uc.radius/360;vc.ft=.3048;vc.m=1;vc["us-ft"]=1200/3937;
function wc(a){this.eb=a.code;this.c=a.units;this.f=void 0!==a.extent?a.extent:null;this.i=void 0!==a.worldExtent?a.worldExtent:null;this.b=void 0!==a.axisOrientation?a.axisOrientation:"enu";this.g=void 0!==a.global?a.global:!1;this.a=!(!this.g||!this.f);this.o=void 0!==a.getPointResolution?a.getPointResolution:this.sk;this.l=null;this.j=a.metersPerUnit;var b=xc,c=a.code,d=yc||pa.proj4;if("function"==typeof d&&void 0===b[c]){var e=d.defs(c);if(void 0!==e){void 0!==e.axis&&void 0===a.axisOrientation&&
(this.b=e.axis);void 0===a.metersPerUnit&&(this.j=e.to_meter);void 0===a.units&&(this.c=e.units);for(var f in b)b=d.defs(f),void 0!==b&&(a=zc(f),b===e?Ac([a,this]):(b=d(f,c),Bc(a,this,b.forward,b.inverse)))}}}k=wc.prototype;k.Sj=function(){return this.eb};k.H=function(){return this.f};k.xb=function(){return this.c};k.ac=function(){return this.j||vc[this.c]};k.Ek=function(){return this.i};k.pl=function(){return this.g};k.ep=function(a){this.g=a;this.a=!(!a||!this.f)};
k.Mm=function(a){this.f=a;this.a=!(!this.g||!a)};k.mp=function(a){this.i=a};k.cp=function(a){this.o=a};k.sk=function(a,b){if("degrees"==this.xb())return a;var c=Cc(this,zc("EPSG:4326")),d=[b[0]-a/2,b[1],b[0]+a/2,b[1],b[0],b[1]-a/2,b[0],b[1]+a/2],d=c(d,d,2),c=uc.b(d.slice(0,2),d.slice(2,4)),d=uc.b(d.slice(4,6),d.slice(6,8)),d=(c+d)/2,c=this.ac();void 0!==c&&(d/=c);return d};k.getPointResolution=function(a,b){return this.o(a,b)};var xc={},Dc={},yc=null;
function Ac(a){Ec(a);a.forEach(function(b){a.forEach(function(a){b!==a&&Fc(b,a,Gc)})})}function Hc(){var a=Ic,b=Jc,c=Kc;Lc.forEach(function(d){a.forEach(function(a){Fc(d,a,b);Fc(a,d,c)})})}function Mc(a){xc[a.eb]=a;Fc(a,a,Gc)}function Ec(a){var b=[];a.forEach(function(a){b.push(Mc(a))})}function Nc(a){return a?"string"===typeof a?zc(a):a:zc("EPSG:3857")}function Fc(a,b,c){a=a.eb;b=b.eb;a in Dc||(Dc[a]={});Dc[a][b]=c}function Bc(a,b,c,d){a=zc(a);b=zc(b);Fc(a,b,Oc(c));Fc(b,a,Oc(d))}
function Oc(a){return function(b,c,d){var e=b.length;d=void 0!==d?d:2;c=void 0!==c?c:Array(e);var f,g;for(g=0;g<e;g+=d)for(f=a([b[g],b[g+1]]),c[g]=f[0],c[g+1]=f[1],f=d-1;2<=f;--f)c[g+f]=b[g+f];return c}}function zc(a){var b;if(a instanceof wc)b=a;else if("string"===typeof a){b=xc[a];var c=yc||pa.proj4;void 0===b&&"function"==typeof c&&void 0!==c.defs(a)&&(b=new wc({code:a}),Mc(b))}else b=null;return b}function Pc(a,b){if(a===b)return!0;var c=a.xb()===b.xb();return a.eb===b.eb?c:Cc(a,b)===Gc&&c}
function Qc(a,b){var c=zc(a),d=zc(b);return Cc(c,d)}function Cc(a,b){var c=a.eb,d=b.eb,e;c in Dc&&d in Dc[c]&&(e=Dc[c][d]);void 0===e&&(e=Rc);return e}function Rc(a,b){if(void 0!==b&&a!==b){for(var c=0,d=a.length;c<d;++c)b[c]=a[c];a=b}return a}function Gc(a,b){var c;if(void 0!==b){c=0;for(var d=a.length;c<d;++c)b[c]=a[c];c=b}else c=a.slice();return c}function Sc(a,b,c){return Qc(b,c)(a,void 0,a.length)}function Tc(a,b,c){b=Qc(b,c);return qc(a,b)};function Uc(){bb.call(this);this.v=Jb();this.A=-1;this.l={};this.s=this.o=0}x(Uc,bb);k=Uc.prototype;k.wb=function(a,b){var c=b?b:[NaN,NaN];this.tb(a[0],a[1],c,Infinity);return c};k.sg=function(a){return this.Bc(a[0],a[1])};k.Bc=sc;k.H=function(a){this.A!=this.g&&(this.v=this.Od(this.v),this.A=this.g);var b=this.v;a?(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3]):a=b;return a};k.Cb=function(a){return this.od(a*a)};k.kb=function(a,b){this.rc(Qc(a,b));return this};function Vc(a,b,c,d,e,f){for(var g=f?f:[],h=0;b<c;b+=d){var l=a[b],m=a[b+1];g[h++]=e[0]*l+e[2]*m+e[4];g[h++]=e[1]*l+e[3]*m+e[5]}f&&g.length!=h&&(g.length=h);return g};function Wc(){Uc.call(this);this.f="XY";this.a=2;this.B=null}x(Wc,Uc);function Xc(a){if("XY"==a)return 2;if("XYZ"==a||"XYM"==a)return 3;if("XYZM"==a)return 4}k=Wc.prototype;k.Bc=sc;k.Od=function(a){return Yb(this.B,0,this.B.length,this.a,a)};k.Ib=function(){return this.B.slice(0,this.a)};k.la=function(){return this.B};k.Jb=function(){return this.B.slice(this.B.length-this.a)};k.Kb=function(){return this.f};
k.od=function(a){this.s!=this.g&&(Da(this.l),this.o=0,this.s=this.g);if(0>a||0!==this.o&&a<=this.o)return this;var b=a.toString();if(this.l.hasOwnProperty(b))return this.l[b];var c=this.Nc(a);if(c.la().length<this.B.length)return this.l[b]=c;this.o=a;return this};k.Nc=function(){return this};k.va=function(){return this.a};function Yc(a,b,c){a.a=Xc(b);a.f=b;a.B=c}
function Zc(a,b,c,d){if(b)c=Xc(b);else{for(b=0;b<d;++b){if(0===c.length){a.f="XY";a.a=2;return}c=c[0]}c=c.length;b=2==c?"XY":3==c?"XYZ":4==c?"XYZM":void 0}a.f=b;a.a=c}k.rc=function(a){this.B&&(a(this.B,this.B,this.a),this.u())};k.rotate=function(a,b){var c=this.la();if(c){for(var d=c.length,e=this.va(),f=c?c:[],g=Math.cos(a),h=Math.sin(a),l=b[0],m=b[1],n=0,p=0;p<d;p+=e){var q=c[p]-l,r=c[p+1]-m;f[n++]=l+q*g-r*h;f[n++]=m+q*h+r*g;for(q=p+2;q<p+e;++q)f[n++]=c[q]}c&&f.length!=n&&(f.length=n);this.u()}};
k.Sc=function(a,b){var c=this.la();if(c){var d=c.length,e=this.va(),f=c?c:[],g=0,h,l;for(h=0;h<d;h+=e)for(f[g++]=c[h]+a,f[g++]=c[h+1]+b,l=h+2;l<h+e;++l)f[g++]=c[l];c&&f.length!=g&&(f.length=g);this.u()}};function $c(a,b,c,d){for(var e=0,f=a[c-d],g=a[c-d+1];b<c;b+=d)var h=a[b],l=a[b+1],e=e+(g*h-f*l),f=h,g=l;return e/2}function ad(a,b,c,d){var e=0,f,g;f=0;for(g=c.length;f<g;++f){var h=c[f],e=e+$c(a,b,h,d);b=h}return e};function bd(a,b,c,d,e,f,g){var h=a[b],l=a[b+1],m=a[c]-h,n=a[c+1]-l;if(0!==m||0!==n)if(f=((e-h)*m+(f-l)*n)/(m*m+n*n),1<f)b=c;else if(0<f){for(e=0;e<d;++e)g[e]=ya(a[b+e],a[c+e],f);g.length=d;return}for(e=0;e<d;++e)g[e]=a[b+e];g.length=d}function cd(a,b,c,d,e){var f=a[b],g=a[b+1];for(b+=d;b<c;b+=d){var h=a[b],l=a[b+1],f=va(f,g,h,l);f>e&&(e=f);f=h;g=l}return e}function dd(a,b,c,d,e){var f,g;f=0;for(g=c.length;f<g;++f){var h=c[f];e=cd(a,b,h,d,e);b=h}return e}
function ed(a,b,c,d,e,f,g,h,l,m,n){if(b==c)return m;var p;if(0===e){p=va(g,h,a[b],a[b+1]);if(p<m){for(n=0;n<d;++n)l[n]=a[b+n];l.length=d;return p}return m}for(var q=n?n:[NaN,NaN],r=b+d;r<c;)if(bd(a,r-d,r,d,g,h,q),p=va(g,h,q[0],q[1]),p<m){m=p;for(n=0;n<d;++n)l[n]=q[n];l.length=d;r+=d}else r+=d*Math.max((Math.sqrt(p)-Math.sqrt(m))/e|0,1);if(f&&(bd(a,c-d,b,d,g,h,q),p=va(g,h,q[0],q[1]),p<m)){m=p;for(n=0;n<d;++n)l[n]=q[n];l.length=d}return m}
function fd(a,b,c,d,e,f,g,h,l,m,n){n=n?n:[NaN,NaN];var p,q;p=0;for(q=c.length;p<q;++p){var r=c[p];m=ed(a,b,r,d,e,f,g,h,l,m,n);b=r}return m};function gd(a,b){var c=0,d,e;d=0;for(e=b.length;d<e;++d)a[c++]=b[d];return c}function hd(a,b,c,d){var e,f;e=0;for(f=c.length;e<f;++e){var g=c[e],h;for(h=0;h<d;++h)a[b++]=g[h]}return b}function id(a,b,c,d,e){e=e?e:[];var f=0,g,h;g=0;for(h=c.length;g<h;++g)b=hd(a,b,c[g],d),e[f++]=b;e.length=f;return e};function jd(a,b,c,d,e){e=void 0!==e?e:[];for(var f=0;b<c;b+=d)e[f++]=a.slice(b,b+d);e.length=f;return e}function kd(a,b,c,d,e){e=void 0!==e?e:[];var f=0,g,h;g=0;for(h=c.length;g<h;++g){var l=c[g];e[f++]=jd(a,b,l,d,e[f]);b=l}e.length=f;return e};function ld(a,b,c,d,e,f,g){var h=(c-b)/d;if(3>h){for(;b<c;b+=d)f[g++]=a[b],f[g++]=a[b+1];return g}var l=Array(h);l[0]=1;l[h-1]=1;c=[b,c-d];for(var m=0,n;0<c.length;){var p=c.pop(),q=c.pop(),r=0,v=a[q],y=a[q+1],w=a[p],G=a[p+1];for(n=q+d;n<p;n+=d){var z=ua(a[n],a[n+1],v,y,w,G);z>r&&(m=n,r=z)}r>e&&(l[(m-b)/d]=1,q+d<m&&c.push(q,m),m+d<p&&c.push(m,p))}for(n=0;n<h;++n)l[n]&&(f[g++]=a[b+n*d],f[g++]=a[b+n*d+1]);return g}
function md(a,b,c,d,e,f,g,h){var l,m;l=0;for(m=c.length;l<m;++l){var n=c[l];a:{var p=a,q=n,r=d,v=e,y=f;if(b!=q){var w=v*Math.round(p[b]/v),G=v*Math.round(p[b+1]/v);b+=r;y[g++]=w;y[g++]=G;var z,D;do if(z=v*Math.round(p[b]/v),D=v*Math.round(p[b+1]/v),b+=r,b==q){y[g++]=z;y[g++]=D;break a}while(z==w&&D==G);for(;b<q;){var H,ba;H=v*Math.round(p[b]/v);ba=v*Math.round(p[b+1]/v);b+=r;if(H!=z||ba!=D){var A=z-w,Fa=D-G,Ja=H-w,M=ba-G;A*M==Fa*Ja&&(0>A&&Ja<A||A==Ja||0<A&&Ja>A)&&(0>Fa&&M<Fa||Fa==M||0<Fa&&M>Fa)||
(y[g++]=z,y[g++]=D,w=z,G=D);z=H;D=ba}}y[g++]=z;y[g++]=D}}h.push(g);b=n}return g};function nd(a,b){Wc.call(this);this.i=this.j=-1;this.ra(a,b)}x(nd,Wc);k=nd.prototype;k.clone=function(){var a=new nd(null);od(a,this.f,this.B.slice());return a};k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;this.i!=this.g&&(this.j=Math.sqrt(cd(this.B,0,this.B.length,this.a,0)),this.i=this.g);return ed(this.B,0,this.B.length,this.a,this.j,!0,a,b,c,d)};k.nm=function(){return $c(this.B,0,this.B.length,this.a)};k.Z=function(){return jd(this.B,0,this.B.length,this.a)};
k.Nc=function(a){var b=[];b.length=ld(this.B,0,this.B.length,this.a,a,b,0);a=new nd(null);od(a,"XY",b);return a};k.Y=function(){return"LinearRing"};k.ra=function(a,b){a?(Zc(this,b,a,1),this.B||(this.B=[]),this.B.length=hd(this.B,0,a,this.a),this.u()):od(this,"XY",null)};function od(a,b,c){Yc(a,b,c);a.u()};function C(a,b){Wc.call(this);this.ra(a,b)}x(C,Wc);k=C.prototype;k.clone=function(){var a=new C(null);a.ba(this.f,this.B.slice());return a};k.tb=function(a,b,c,d){var e=this.B;a=va(a,b,e[0],e[1]);if(a<d){d=this.a;for(b=0;b<d;++b)c[b]=e[b];c.length=d;return a}return d};k.Z=function(){return this.B?this.B.slice():[]};k.Od=function(a){return Wb(this.B,a)};k.Y=function(){return"Point"};k.Ka=function(a){return Rb(a,this.B[0],this.B[1])};
k.ra=function(a,b){a?(Zc(this,b,a,0),this.B||(this.B=[]),this.B.length=gd(this.B,a),this.u()):this.ba("XY",null)};k.ba=function(a,b){Yc(this,a,b);this.u()};function pd(a,b,c,d,e){return!bc(e,function(e){return!qd(a,b,c,d,e[0],e[1])})}function qd(a,b,c,d,e,f){for(var g=!1,h=a[c-d],l=a[c-d+1];b<c;b+=d){var m=a[b],n=a[b+1];l>f!=n>f&&e<(m-h)*(f-l)/(n-l)+h&&(g=!g);h=m;l=n}return g}function rd(a,b,c,d,e,f){if(0===c.length||!qd(a,b,c[0],d,e,f))return!1;var g;b=1;for(g=c.length;b<g;++b)if(qd(a,c[b-1],c[b],d,e,f))return!1;return!0};function sd(a,b,c,d,e,f,g){var h,l,m,n,p,q=e[f+1],r=[],v=c[0];m=a[v-d];p=a[v-d+1];for(h=b;h<v;h+=d){n=a[h];l=a[h+1];if(q<=p&&l<=q||p<=q&&q<=l)m=(q-p)/(l-p)*(n-m)+m,r.push(m);m=n;p=l}v=NaN;p=-Infinity;r.sort(fb);m=r[0];h=1;for(l=r.length;h<l;++h){n=r[h];var y=Math.abs(n-m);y>p&&(m=(m+n)/2,rd(a,b,c,d,m,q)&&(v=m,p=y));m=n}isNaN(v)&&(v=e[f]);return g?(g.push(v,q),g):[v,q]};function td(a,b,c,d,e,f){for(var g=[a[b],a[b+1]],h=[],l;b+d<c;b+=d){h[0]=a[b+d];h[1]=a[b+d+1];if(l=e.call(f,g,h))return l;g[0]=h[0];g[1]=h[1]}return!1};function ud(a,b,c,d,e){var f=Zb(Jb(),a,b,c,d);return oc(e,f)?Sb(e,f)||f[0]>=e[0]&&f[2]<=e[2]||f[1]>=e[1]&&f[3]<=e[3]?!0:td(a,b,c,d,function(a,b){var c=!1,d=Tb(e,a),f=Tb(e,b);if(1===d||1===f)c=!0;else{var p=e[0],q=e[1],r=e[2],v=e[3],y=b[0],w=b[1],G=(w-a[1])/(y-a[0]);f&2&&!(d&2)&&(c=y-(w-v)/G,c=c>=p&&c<=r);c||!(f&4)||d&4||(c=w-(y-r)*G,c=c>=q&&c<=v);c||!(f&8)||d&8||(c=y-(w-q)/G,c=c>=p&&c<=r);c||!(f&16)||d&16||(c=w-(y-p)*G,c=c>=q&&c<=v)}return c}):!1}
function vd(a,b,c,d,e){var f=c[0];if(!(ud(a,b,f,d,e)||qd(a,b,f,d,e[0],e[1])||qd(a,b,f,d,e[0],e[3])||qd(a,b,f,d,e[2],e[1])||qd(a,b,f,d,e[2],e[3])))return!1;if(1===c.length)return!0;b=1;for(f=c.length;b<f;++b)if(pd(a,c[b-1],c[b],d,e))return!1;return!0};function wd(a,b,c,d){for(var e=0,f=a[c-d],g=a[c-d+1];b<c;b+=d)var h=a[b],l=a[b+1],e=e+(h-f)*(l+g),f=h,g=l;return 0<e}function xd(a,b,c,d){var e=0;d=void 0!==d?d:!1;var f,g;f=0;for(g=b.length;f<g;++f){var h=b[f],e=wd(a,e,h,c);if(0===f){if(d&&e||!d&&!e)return!1}else if(d&&!e||!d&&e)return!1;e=h}return!0}
function yd(a,b,c,d,e){e=void 0!==e?e:!1;var f,g;f=0;for(g=c.length;f<g;++f){var h=c[f],l=wd(a,b,h,d);if(0===f?e&&l||!e&&!l:e&&!l||!e&&l)for(var l=a,m=h,n=d;b<m-n;){var p;for(p=0;p<n;++p){var q=l[b+p];l[b+p]=l[m-n+p];l[m-n+p]=q}b+=n;m-=n}b=h}return b}function zd(a,b,c,d){var e=0,f,g;f=0;for(g=b.length;f<g;++f)e=yd(a,e,b[f],c,d);return e};function E(a,b){Wc.call(this);this.i=[];this.D=-1;this.C=null;this.T=this.S=this.P=-1;this.j=null;this.ra(a,b)}x(E,Wc);k=E.prototype;k.yj=function(a){this.B?jb(this.B,a.la()):this.B=a.la().slice();this.i.push(this.B.length);this.u()};k.clone=function(){var a=new E(null);a.ba(this.f,this.B.slice(),this.i.slice());return a};
k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;this.S!=this.g&&(this.P=Math.sqrt(dd(this.B,0,this.i,this.a,0)),this.S=this.g);return fd(this.B,0,this.i,this.a,this.P,!0,a,b,c,d)};k.Bc=function(a,b){return rd(this.Nb(),0,this.i,this.a,a,b)};k.qm=function(){return ad(this.Nb(),0,this.i,this.a)};k.Z=function(a){var b;void 0!==a?(b=this.Nb().slice(),yd(b,0,this.i,this.a,a)):b=this.B;return kd(b,0,this.i,this.a)};k.Eb=function(){return this.i};
function Ad(a){if(a.D!=a.g){var b=lc(a.H());a.C=sd(a.Nb(),0,a.i,a.a,b,0);a.D=a.g}return a.C}k.bk=function(){return new C(Ad(this))};k.gk=function(){return this.i.length};k.Hg=function(a){if(0>a||this.i.length<=a)return null;var b=new nd(null);od(b,this.f,this.B.slice(0===a?0:this.i[a-1],this.i[a]));return b};k.Vd=function(){var a=this.f,b=this.B,c=this.i,d=[],e=0,f,g;f=0;for(g=c.length;f<g;++f){var h=c[f],l=new nd(null);od(l,a,b.slice(e,h));d.push(l);e=h}return d};
k.Nb=function(){if(this.T!=this.g){var a=this.B;xd(a,this.i,this.a)?this.j=a:(this.j=a.slice(),this.j.length=yd(this.j,0,this.i,this.a));this.T=this.g}return this.j};k.Nc=function(a){var b=[],c=[];b.length=md(this.B,0,this.i,this.a,Math.sqrt(a),b,0,c);a=new E(null);a.ba("XY",b,c);return a};k.Y=function(){return"Polygon"};k.Ka=function(a){return vd(this.Nb(),0,this.i,this.a,a)};
k.ra=function(a,b){if(a){Zc(this,b,a,2);this.B||(this.B=[]);var c=id(this.B,0,a,this.a,this.i);this.B.length=0===c.length?0:c[c.length-1];this.u()}else this.ba("XY",null,this.i)};k.ba=function(a,b,c){Yc(this,a,b);this.i=c;this.u()};function Bd(a,b,c,d){var e=d?d:32;d=[];var f;for(f=0;f<e;++f)jb(d,a.offset(b,c,2*Math.PI*f/e));d.push(d[0],d[1]);a=new E(null);a.ba("XY",d,[d.length]);return a}
function Cd(a){var b=a[0],c=a[1],d=a[2];a=a[3];b=[b,c,b,a,d,a,d,c,b,c];c=new E(null);c.ba("XY",b,[b.length]);return c}function Dd(a,b,c){var d=b?b:32,e=a.va();b=a.f;for(var f=new E(null,b),d=e*(d+1),e=Array(d),g=0;g<d;g++)e[g]=0;f.ba(b,e,[e.length]);Ed(f,a.rd(),a.wf(),c);return f}function Ed(a,b,c,d){var e=a.la(),f=a.f,g=a.va(),h=a.Eb(),l=e.length/g-1;d=d?d:0;for(var m,n,p=0;p<=l;++p)n=p*g,m=d+2*xa(p,l)*Math.PI/l,e[n]=b[0]+c*Math.cos(m),e[n+1]=b[1]+c*Math.sin(m);a.ba(f,e,h)};function Fd(a){bb.call(this);a=a||{};this.f=[0,0];var b={};b.center=void 0!==a.center?a.center:null;this.l=Nc(a.projection);var c,d,e,f=void 0!==a.minZoom?a.minZoom:0;c=void 0!==a.maxZoom?a.maxZoom:28;var g=void 0!==a.zoomFactor?a.zoomFactor:2;if(void 0!==a.resolutions)c=a.resolutions,d=c[0],e=c[c.length-1],c=qb(c);else{d=Nc(a.projection);e=d.H();var h=(e?Math.max(jc(e),kc(e)):360*vc.degrees/d.ac())/256/Math.pow(2,0),l=h/Math.pow(2,28);d=a.maxResolution;void 0!==d?f=0:d=h/Math.pow(g,f);e=a.minResolution;
void 0===e&&(e=void 0!==a.maxZoom?void 0!==a.maxResolution?d/Math.pow(g,c):h/Math.pow(g,c):l);c=f+Math.floor(Math.log(d/e)/Math.log(g));e=d/Math.pow(g,c-f);c=rb(g,d,c-f)}this.a=d;this.c=e;this.j=a.resolutions;this.i=f;f=void 0!==a.extent?za(a.extent):Aa;(void 0!==a.enableRotation?a.enableRotation:1)?(d=a.constrainRotation,d=void 0===d||!0===d?vb():!1===d?tb:"number"===typeof d?ub(d):tb):d=sb;this.o=new Ba(f,c,d);void 0!==a.resolution?b.resolution=a.resolution:void 0!==a.zoom&&(b.resolution=this.constrainResolution(this.a,
a.zoom-this.i));b.rotation=void 0!==a.rotation?a.rotation:0;this.G(b)}x(Fd,bb);k=Fd.prototype;k.Pd=function(a){return this.o.center(a)};k.constrainResolution=function(a,b,c){return this.o.resolution(a,b||0,c||0)};k.constrainRotation=function(a,b){return this.o.rotation(a,b||0)};k.ab=function(){return this.get("center")};function Gd(a,b){return void 0!==b?(b[0]=a.f[0],b[1]=a.f[1],b):a.f.slice()}k.Kc=function(a){var b=this.ab(),c=this.$(),d=this.La();return mc(b,c,d,a)};k.Vl=function(){return this.a};
k.Wl=function(){return this.c};k.Xl=function(){return this.l};k.$=function(){return this.get("resolution")};k.Yl=function(){return this.j};function Hd(a,b){return Math.max(jc(a)/b[0],kc(a)/b[1])}function Id(a){var b=a.a,c=Math.log(b/a.c)/Math.log(2);return function(a){return b/Math.pow(2,a*c)}}k.La=function(){return this.get("rotation")};function Jd(a){var b=a.a,c=Math.log(b/a.c)/Math.log(2);return function(a){return Math.log(b/a)/Math.log(2)/c}}
k.V=function(){var a=this.ab(),b=this.l,c=this.$(),d=this.La();return{center:[Math.round(a[0]/c)*c,Math.round(a[1]/c)*c],projection:void 0!==b?b:null,resolution:c,rotation:d}};k.Fk=function(){var a,b=this.$();if(void 0!==b){var c,d=0;do{c=this.constrainResolution(this.a,d);if(c==b){a=d;break}++d}while(c>this.c)}return void 0!==a?this.i+a:a};
k.cf=function(a,b,c){a instanceof Wc||(a=Cd(a));var d=c||{};c=void 0!==d.padding?d.padding:[0,0,0,0];var e=void 0!==d.constrainResolution?d.constrainResolution:!0,f=void 0!==d.nearest?d.nearest:!1,g;void 0!==d.minResolution?g=d.minResolution:void 0!==d.maxZoom?g=this.constrainResolution(this.a,d.maxZoom-this.i,0):g=0;var h=a.la(),l=this.La(),d=Math.cos(-l),l=Math.sin(-l),m=Infinity,n=Infinity,p=-Infinity,q=-Infinity;a=a.va();for(var r=0,v=h.length;r<v;r+=a)var y=h[r]*d-h[r+1]*l,w=h[r]*l+h[r+1]*d,
m=Math.min(m,y),n=Math.min(n,w),p=Math.max(p,y),q=Math.max(q,w);b=Hd([m,n,p,q],[b[0]-c[1]-c[3],b[1]-c[0]-c[2]]);b=isNaN(b)?g:Math.max(b,g);e&&(g=this.constrainResolution(b,0,0),!f&&g<b&&(g=this.constrainResolution(g,-1,0)),b=g);this.Vb(b);l=-l;f=(m+p)/2+(c[1]-c[3])/2*b;c=(n+q)/2+(c[0]-c[2])/2*b;this.nb([f*d-c*l,c*d+f*l])};
k.Ej=function(a,b,c){var d=this.La(),e=Math.cos(-d),d=Math.sin(-d),f=a[0]*e-a[1]*d;a=a[1]*e+a[0]*d;var g=this.$(),f=f+(b[0]/2-c[0])*g;a+=(c[1]-b[1]/2)*g;d=-d;this.nb([f*e-a*d,a*e+f*d])};function Kd(a){return!!a.ab()&&void 0!==a.$()}k.rotate=function(a,b){if(void 0!==b){var c,d=this.ab();void 0!==d&&(c=[d[0]-b[0],d[1]-b[1]],Db(c,a-this.La()),yb(c,b));this.nb(c)}this.ie(a)};k.nb=function(a){this.set("center",a)};function Ld(a,b){a.f[1]+=b}k.Vb=function(a){this.set("resolution",a)};
k.ie=function(a){this.set("rotation",a)};k.np=function(a){a=this.constrainResolution(this.a,a-this.i,0);this.Vb(a)};function Md(a){return Math.pow(a,3)}function Nd(a){return 1-Md(1-a)}function Qd(a){return 3*a*a-2*a*a*a}function Rd(a){return a}function Sd(a){return.5>a?Qd(2*a):1-Qd(2*(a-.5))};function Td(a){var b=a.source,c=a.start?a.start:Date.now(),d=b[0],e=b[1],f=void 0!==a.duration?a.duration:1E3,g=a.easing?a.easing:Qd;return function(a,b){if(b.time<c)return b.animate=!0,b.viewHints[0]+=1,!0;if(b.time<c+f){var m=1-g((b.time-c)/f),n=d-b.viewState.center[0],p=e-b.viewState.center[1];b.animate=!0;b.viewState.center[0]+=m*n;b.viewState.center[1]+=m*p;b.viewHints[0]+=1;return!0}return!1}}
function Ud(a){var b=a.rotation?a.rotation:0,c=a.start?a.start:Date.now(),d=void 0!==a.duration?a.duration:1E3,e=a.easing?a.easing:Qd,f=a.anchor?a.anchor:null;return function(a,h){if(h.time<c)return h.animate=!0,h.viewHints[0]+=1,!0;if(h.time<c+d){var l=1-e((h.time-c)/d),l=(b-h.viewState.rotation)*l;h.animate=!0;h.viewState.rotation+=l;if(f){var m=h.viewState.center;m[0]-=f[0];m[1]-=f[1];Db(m,l);yb(m,f)}h.viewHints[0]+=1;return!0}return!1}}
function Vd(a){var b=a.resolution,c=a.start?a.start:Date.now(),d=void 0!==a.duration?a.duration:1E3,e=a.easing?a.easing:Qd;return function(a,g){if(g.time<c)return g.animate=!0,g.viewHints[0]+=1,!0;if(g.time<c+d){var h=1-e((g.time-c)/d),l=b-g.viewState.resolution;g.animate=!0;g.viewState.resolution+=h*l;g.viewHints[0]+=1;return!0}return!1}};function Wd(a,b,c,d){this.ca=a;this.ea=b;this.fa=c;this.ga=d}Wd.prototype.contains=function(a){return Xd(this,a[1],a[2])};function Xd(a,b,c){return a.ca<=b&&b<=a.ea&&a.fa<=c&&c<=a.ga}function Yd(a,b){return a.ca==b.ca&&a.fa==b.fa&&a.ea==b.ea&&a.ga==b.ga}function Zd(a,b){return a.ca<=b.ea&&a.ea>=b.ca&&a.fa<=b.ga&&a.ga>=b.fa};function $d(a){this.a=a.html;this.b=a.tileRanges?a.tileRanges:null}$d.prototype.g=function(){return this.a};function ae(a,b){Ua.call(this,a);this.element=b}x(ae,Ua);function be(a){bb.call(this);this.a=a?a:[];ce(this)}x(be,bb);k=be.prototype;k.clear=function(){for(;0<this.dc();)this.pop()};k.qf=function(a){var b,c;b=0;for(c=a.length;b<c;++b)this.push(a[b]);return this};k.forEach=function(a,b){this.a.forEach(a,b)};k.Gl=function(){return this.a};k.item=function(a){return this.a[a]};k.dc=function(){return this.get("length")};k.ee=function(a,b){this.a.splice(a,0,b);ce(this);this.b(new ae("add",b))};
k.pop=function(){return this.Rf(this.dc()-1)};k.push=function(a){var b=this.a.length;this.ee(b,a);return b};k.remove=function(a){var b=this.a,c,d;c=0;for(d=b.length;c<d;++c)if(b[c]===a)return this.Rf(c)};k.Rf=function(a){var b=this.a[a];this.a.splice(a,1);ce(this);this.b(new ae("remove",b));return b};k.Zo=function(a,b){var c=this.dc();if(a<c)c=this.a[a],this.a[a]=b,this.b(new ae("remove",c)),this.b(new ae("add",b));else{for(;c<a;++c)this.ee(c,void 0);this.ee(a,b)}};
function ce(a){a.set("length",a.a.length)};function de(a){return Array.prototype.concat.apply(Array.prototype,arguments)}function ee(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]}function fe(a,b,c){return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};var ge=/^#(?:[0-9a-f]{3}){1,2}$/i,he=/^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i,ie=/^(?:rgba)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|1|0\.\d{0,10})\)$/i;function je(a){return Array.isArray(a)?a:ke(a)}function le(a){if("string"!==typeof a){var b=a[0];b!=(b|0)&&(b=b+.5|0);var c=a[1];c!=(c|0)&&(c=c+.5|0);var d=a[2];d!=(d|0)&&(d=d+.5|0);a="rgba("+b+","+c+","+d+","+(void 0===a[3]?1:a[3])+")"}return a}
var ke=function(){var a={},b=0;return function(c){var d;if(a.hasOwnProperty(c))d=a[c];else{if(1024<=b){d=0;for(var e in a)0===(d++&3)&&(delete a[e],--b)}var f,g;ge.exec(c)?(g=3==c.length-1?1:2,d=parseInt(c.substr(1+0*g,g),16),e=parseInt(c.substr(1+1*g,g),16),f=parseInt(c.substr(1+2*g,g),16),1==g&&(d=(d<<4)+d,e=(e<<4)+e,f=(f<<4)+f),d=[d,e,f,1]):(g=ie.exec(c))?(d=Number(g[1]),e=Number(g[2]),f=Number(g[3]),g=Number(g[4]),d=[d,e,f,g],d=me(d,d)):(g=he.exec(c))?(d=Number(g[1]),e=Number(g[2]),f=Number(g[3]),
d=[d,e,f,1],d=me(d,d)):d=void 0;a[c]=d;++b}return d}}();function me(a,b){var c=b||[];c[0]=sa(a[0]+.5|0,0,255);c[1]=sa(a[1]+.5|0,0,255);c[2]=sa(a[2]+.5|0,0,255);c[3]=sa(a[3],0,1);return c};function ne(a){return"string"===typeof a||a instanceof CanvasPattern||a instanceof CanvasGradient?a:le(a)};var oe;a:{var pe=aa.navigator;if(pe){var qe=pe.userAgent;if(qe){oe=qe;break a}}oe=""}function re(a){return-1!=oe.indexOf(a)};var se=re("Opera"),te=re("Trident")||re("MSIE"),ue=re("Edge"),ve=re("Gecko")&&!(-1!=oe.toLowerCase().indexOf("webkit")&&!re("Edge"))&&!(re("Trident")||re("MSIE"))&&!re("Edge"),we=-1!=oe.toLowerCase().indexOf("webkit")&&!re("Edge"),xe;
a:{var ye="",ze=function(){var a=oe;if(ve)return/rv\:([^\);]+)(\)|;)/.exec(a);if(ue)return/Edge\/([\d\.]+)/.exec(a);if(te)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(we)return/WebKit\/(\S+)/.exec(a);if(se)return/(?:Version)[ \/]?(\S+)/.exec(a)}();ze&&(ye=ze?ze[1]:"");if(te){var Ae,Be=aa.document;Ae=Be?Be.documentMode:void 0;if(null!=Ae&&Ae>parseFloat(ye)){xe=String(Ae);break a}}xe=ye}var Ce={};function De(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function Ee(a,b){a[0]=b[0];a[1]=b[1];a[4]=b[2];a[5]=b[3];a[12]=b[4];a[13]=b[5];return a};var Fe=De();function Ge(a,b){var c=document.createElement("CANVAS");a&&(c.width=a);b&&(c.height=b);return c.getContext("2d")}
var He=function(){var a;return function(){if(void 0===a){var b=document.createElement("P"),c,d={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.appendChild(b);for(var e in d)e in b.style&&(b.style[e]="translate(1px,1px)",c=pa.getComputedStyle(b).getPropertyValue(d[e]));document.body.removeChild(b);a=c&&"none"!==c}return a}}(),Ie=function(){var a;return function(){if(void 0===a){var b=document.createElement("P"),
c,d={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.appendChild(b);for(var e in d)e in b.style&&(b.style[e]="translate3d(1px,1px,1px)",c=pa.getComputedStyle(b).getPropertyValue(d[e]));document.body.removeChild(b);a=c&&"none"!==c}return a}}();
function Je(a,b){var c=a.style;c.WebkitTransform=b;c.MozTransform=b;c.b=b;c.msTransform=b;c.transform=b;if((c=te)&&!(c=Ce["9.0"])){for(var c=0,d=qa(String(xe)).split("."),e=qa("9.0").split("."),f=Math.max(d.length,e.length),g=0;0==c&&g<f;g++){var h=d[g]||"",l=e[g]||"",m=RegExp("(\\d*)(\\D*)","g"),n=RegExp("(\\d*)(\\D*)","g");do{var p=m.exec(h)||["","",""],q=n.exec(l)||["","",""];if(0==p[0].length&&0==q[0].length)break;c=ra(0==p[1].length?0:parseInt(p[1],10),0==q[1].length?0:parseInt(q[1],10))||ra(0==
p[2].length,0==q[2].length)||ra(p[2],q[2])}while(0==c)}c=Ce["9.0"]=0<=c}c&&(a.style.transformOrigin="0 0")}function Ke(a,b){var c;if(Ie()){var d=Ee(Fe,b),e=Array(16);for(c=0;16>c;++c)e[c]=d[c].toFixed(6);Je(a,"matrix3d("+e.join(",")+")")}else if(He()){d=Array(6);for(c=0;6>c;++c)d[c]=b[c].toFixed(6);Je(a,"matrix("+d.join(",")+")")}else a.style.left=Math.round(b[4])+"px",a.style.top=Math.round(b[5])+"px"}function Le(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)}
function Me(a){a&&a.parentNode&&a.parentNode.removeChild(a)}function Ne(a){for(;a.lastChild;)a.removeChild(a.lastChild)};function Oe(a,b,c){Ua.call(this,a);this.map=b;this.frameState=void 0!==c?c:null}x(Oe,Ua);function Pe(a){bb.call(this);this.element=a.element?a.element:null;this.a=this.P=null;this.s=[];this.render=a.render?a.render:oa;a.target&&this.c(a.target)}x(Pe,bb);Pe.prototype.ka=function(){Me(this.element);bb.prototype.ka.call(this)};Pe.prototype.i=function(){return this.a};
Pe.prototype.setMap=function(a){this.a&&Me(this.element);for(var b=0,c=this.s.length;b<c;++b)Ka(this.s[b]);this.s.length=0;if(this.a=a)(this.P?this.P:a.v).appendChild(this.element),this.render!==oa&&this.s.push(B(a,"postrender",this.render,this)),a.render()};Pe.prototype.c=function(a){this.P="string"===typeof a?document.getElementById(a):a};function Qe(){this.g=0;this.f={};this.a=this.b=null}k=Qe.prototype;k.clear=function(){this.g=0;this.f={};this.a=this.b=null};function Re(a,b){return a.f.hasOwnProperty(b)}k.forEach=function(a,b){for(var c=this.b;c;)a.call(b,c.pc,c.Mb,this),c=c.zb};k.get=function(a){a=this.f[a];if(a===this.a)return a.pc;a===this.b?(this.b=this.b.zb,this.b.kc=null):(a.zb.kc=a.kc,a.kc.zb=a.zb);a.zb=null;a.kc=this.a;this.a=this.a.zb=a;return a.pc};k.wc=function(){return this.g};
k.N=function(){var a=Array(this.g),b=0,c;for(c=this.a;c;c=c.kc)a[b++]=c.Mb;return a};k.zc=function(){var a=Array(this.g),b=0,c;for(c=this.a;c;c=c.kc)a[b++]=c.pc;return a};k.pop=function(){var a=this.b;delete this.f[a.Mb];a.zb&&(a.zb.kc=null);this.b=a.zb;this.b||(this.a=null);--this.g;return a.pc};k.replace=function(a,b){this.get(a);this.f[a].pc=b};k.set=function(a,b){var c={Mb:a,zb:null,kc:this.a,pc:b};this.a?this.a.zb=c:this.b=c;this.a=c;this.f[a]=c;++this.g};function Se(a,b,c,d){return void 0!==d?(d[0]=a,d[1]=b,d[2]=c,d):[a,b,c]}function Te(a){var b=a[0],c=Array(b),d=1<<b-1,e,f;for(e=0;e<b;++e)f=48,a[1]&d&&(f+=1),a[2]&d&&(f+=2),c[e]=String.fromCharCode(f),d>>=1;return c.join("")};function Ue(a){Qe.call(this);this.c=void 0!==a?a:2048}x(Ue,Qe);function Ve(a){return a.wc()>a.c}Ue.prototype.Lc=function(a){for(var b,c;Ve(this)&&!(b=this.b.pc,c=b.ma[0].toString(),c in a&&a[c].contains(b.ma));)Ta(this.pop())};function We(a,b){Xa.call(this);this.ma=a;this.state=b;this.a=null;this.key=""}x(We,Xa);function Xe(a){a.b("change")}We.prototype.jb=function(){return t(this).toString()};We.prototype.i=function(){return this.ma};We.prototype.V=function(){return this.state};function Ye(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]+2*b;c[1]=a[1]+2*b;return c}function Ze(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]*b+.5|0;c[1]=a[1]*b+.5|0;return c}function $e(a,b){if(Array.isArray(a))return a;void 0===b?b=[a,a]:(b[0]=a,b[1]=a);return b};function af(a){bb.call(this);this.f=zc(a.projection);this.l=bf(a.attributions);this.S=a.logo;this.Ba=void 0!==a.state?a.state:"ready";this.C=void 0!==a.wrapX?a.wrapX:!1}x(af,bb);function bf(a){if("string"===typeof a)return[new $d({html:a})];if(a instanceof $d)return[a];if(Array.isArray(a)){for(var b=a.length,c=Array(b),d=0;d<b;d++){var e=a[d];c[d]="string"===typeof e?new $d({html:e}):e}return c}return null}k=af.prototype;k.sa=oa;k.wa=function(){return this.l};k.ua=function(){return this.S};k.xa=function(){return this.f};
k.V=function(){return this.Ba};k.ta=function(){this.u()};k.qa=function(a){this.l=bf(a);this.u()};function cf(a,b){a.Ba=b;a.u()};function df(a){this.minZoom=void 0!==a.minZoom?a.minZoom:0;this.b=a.resolutions;this.maxZoom=this.b.length-1;this.g=void 0!==a.origin?a.origin:null;this.c=null;void 0!==a.origins&&(this.c=a.origins);var b=a.extent;void 0===b||this.g||this.c||(this.g=fc(b));this.i=null;void 0!==a.tileSizes&&(this.i=a.tileSizes);this.o=void 0!==a.tileSize?a.tileSize:this.i?null:256;this.s=void 0!==b?b:null;this.a=null;this.f=[0,0];void 0!==a.sizes?this.a=a.sizes.map(function(a){return new Wd(Math.min(0,a[0]),Math.max(a[0]-
1,-1),Math.min(0,a[1]),Math.max(a[1]-1,-1))},this):b&&ef(this,b)}var ff=[0,0,0];k=df.prototype;k.yg=function(a,b,c){a=gf(this,a,b);for(var d=a.ca,e=a.ea;d<=e;++d)for(var f=a.fa,g=a.ga;f<=g;++f)c([b,d,f])};function hf(a,b,c,d,e){e=a.Ea(b,e);for(b=b[0]-1;b>=a.minZoom;){if(c.call(null,b,gf(a,e,b,d)))return!0;--b}return!1}k.H=function(){return this.s};k.Ig=function(){return this.maxZoom};k.Jg=function(){return this.minZoom};k.Ia=function(a){return this.g?this.g:this.c[a]};k.$=function(a){return this.b[a]};
k.Kh=function(){return this.b};function jf(a,b,c,d){return b[0]<a.maxZoom?(d=a.Ea(b,d),gf(a,d,b[0]+1,c)):null}function kf(a,b,c,d){lf(a,b[0],b[1],c,!1,ff);var e=ff[1],f=ff[2];lf(a,b[2],b[3],c,!0,ff);a=ff[1];b=ff[2];void 0!==d?(d.ca=e,d.ea=a,d.fa=f,d.ga=b):d=new Wd(e,a,f,b);return d}function gf(a,b,c,d){c=a.$(c);return kf(a,b,c,d)}function mf(a,b){var c=a.Ia(b[0]),d=a.$(b[0]),e=$e(a.Ja(b[0]),a.f);return[c[0]+(b[1]+.5)*e[0]*d,c[1]+(b[2]+.5)*e[1]*d]}
k.Ea=function(a,b){var c=this.Ia(a[0]),d=this.$(a[0]),e=$e(this.Ja(a[0]),this.f),f=c[0]+a[1]*e[0]*d,c=c[1]+a[2]*e[1]*d;return Vb(f,c,f+e[0]*d,c+e[1]*d,b)};k.Zd=function(a,b,c){return lf(this,a[0],a[1],b,!1,c)};function lf(a,b,c,d,e,f){var g=a.Lb(d),h=d/a.$(g),l=a.Ia(g);a=$e(a.Ja(g),a.f);b=h*Math.floor((b-l[0])/d+(e?.5:0))/a[0];c=h*Math.floor((c-l[1])/d+(e?0:.5))/a[1];e?(b=Math.ceil(b)-1,c=Math.ceil(c)-1):(b=Math.floor(b),c=Math.floor(c));return Se(g,b,c,f)}
k.qd=function(a,b,c){b=this.$(b);return lf(this,a[0],a[1],b,!1,c)};k.Ja=function(a){return this.o?this.o:this.i[a]};k.Lb=function(a,b){var c=hb(this.b,a,b||0);return sa(c,this.minZoom,this.maxZoom)};function ef(a,b){for(var c=a.b.length,d=Array(c),e=a.minZoom;e<c;++e)d[e]=gf(a,b,e);a.a=d}function nf(a){var b=a.l;if(!b){var b=of(a),c=pf(b,void 0,void 0),b=new df({extent:b,origin:fc(b),resolutions:c,tileSize:void 0});a.l=b}return b}
function qf(a){var b={};Ca(b,void 0!==a?a:{});void 0===b.extent&&(b.extent=zc("EPSG:3857").H());b.resolutions=pf(b.extent,b.maxZoom,b.tileSize);delete b.maxZoom;return new df(b)}function pf(a,b,c){b=void 0!==b?b:42;var d=kc(a);a=jc(a);c=$e(void 0!==c?c:256);c=Math.max(a/c[0],d/c[1]);b+=1;d=Array(b);for(a=0;a<b;++a)d[a]=c/Math.pow(2,a);return d}function of(a){a=zc(a);var b=a.H();b||(a=180*vc.degrees/a.ac(),b=Vb(-a,-a,a,a));return b};function rf(a){af.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state,wrapX:a.wrapX});this.ia=void 0!==a.opaque?a.opaque:!1;this.oa=void 0!==a.tilePixelRatio?a.tilePixelRatio:1;this.tileGrid=void 0!==a.tileGrid?a.tileGrid:null;this.a=new Ue(a.cacheSize);this.o=[0,0];this.Mb=""}x(rf,af);k=rf.prototype;k.Ah=function(){return Ve(this.a)};k.Lc=function(a,b){var c=this.pd(a);c&&c.Lc(b)};
function tf(a,b,c,d,e){b=a.pd(b);if(!b)return!1;for(var f=!0,g,h,l=d.ca;l<=d.ea;++l)for(var m=d.fa;m<=d.ga;++m)g=a.Fb(c,l,m),h=!1,Re(b,g)&&(g=b.get(g),(h=2===g.V())&&(h=!1!==e(g))),h||(f=!1);return f}k.Ud=function(){return 0};function uf(a,b){a.Mb!==b&&(a.Mb=b,a.u())}k.Fb=function(a,b,c){return a+"/"+b+"/"+c};k.jf=function(){return this.ia};k.Na=function(){return this.tileGrid};k.fb=function(a){return this.tileGrid?this.tileGrid:nf(a)};k.pd=function(a){var b=this.f;return b&&!Pc(b,a)?null:this.a};
k.cc=function(){return this.oa};k.$d=function(a,b,c){c=this.fb(c);b=this.cc(b);a=$e(c.Ja(a),this.o);return 1==b?a:Ze(a,b,this.o)};function vf(a,b,c){var d=void 0!==c?c:a.f;c=a.fb(d);if(a.C&&d.g){var e=b;b=e[0];a=mf(c,e);d=of(d);Qb(d,a)?b=e:(e=jc(d),a[0]+=e*Math.ceil((d[0]-a[0])/e),b=c.qd(a,b))}e=b[0];d=b[1];a=b[2];if(c.minZoom>e||e>c.maxZoom)c=!1;else{var f=c.H();c=(c=f?gf(c,f,e):c.a?c.a[e]:null)?Xd(c,d,a):!0}return c?b:null}k.ta=function(){this.a.clear();this.u()};k.Yf=oa;
function wf(a,b){Ua.call(this,a);this.tile=b}x(wf,Ua);function xf(a){a=a?a:{};this.S=document.createElement("UL");this.v=document.createElement("LI");this.S.appendChild(this.v);this.v.style.display="none";this.f=void 0!==a.collapsed?a.collapsed:!0;this.o=void 0!==a.collapsible?a.collapsible:!0;this.o||(this.f=!1);var b=void 0!==a.className?a.className:"ol-attribution",c=void 0!==a.tipLabel?a.tipLabel:"Attributions",d=void 0!==a.collapseLabel?a.collapseLabel:"\u00bb";"string"===typeof d?(this.A=document.createElement("span"),this.A.textContent=d):this.A=
d;d=void 0!==a.label?a.label:"i";"string"===typeof d?(this.D=document.createElement("span"),this.D.textContent=d):this.D=d;var e=this.o&&!this.f?this.A:this.D,d=document.createElement("button");d.setAttribute("type","button");d.title=c;d.appendChild(e);B(d,"click",this.am,this);c=document.createElement("div");c.className=b+" ol-unselectable ol-control"+(this.f&&this.o?" ol-collapsed":"")+(this.o?"":" ol-uncollapsible");c.appendChild(this.S);c.appendChild(d);Pe.call(this,{element:c,render:a.render?
a.render:yf,target:a.target});this.C=!0;this.j={};this.l={};this.T={}}x(xf,Pe);
function yf(a){if(a=a.frameState){var b,c,d,e,f,g,h,l,m,n,p,q=a.layerStatesArray,r=Ca({},a.attributions),v={},y=a.viewState.projection;c=0;for(b=q.length;c<b;c++)if(g=q[c].layer.ha())if(n=t(g).toString(),m=g.l)for(d=0,e=m.length;d<e;d++)if(h=m[d],l=t(h).toString(),!(l in r)){if(f=a.usedTiles[n]){var w=g.fb(y);a:{p=h;var G=y;if(p.b){var z,D,H,ba=void 0;for(ba in f)if(ba in p.b){H=f[ba];var A;z=0;for(D=p.b[ba].length;z<D;++z){A=p.b[ba][z];if(Zd(A,H)){p=!0;break a}var Fa=gf(w,of(G),parseInt(ba,10)),
Ja=Fa.ea-Fa.ca+1;if(H.ca<Fa.ca||H.ea>Fa.ea)if(Zd(A,new Wd(xa(H.ca,Ja),xa(H.ea,Ja),H.fa,H.ga))||H.ea-H.ca+1>Ja&&Zd(A,Fa)){p=!0;break a}}}p=!1}else p=!0}}else p=!1;p?(l in v&&delete v[l],r[l]=h):v[l]=h}b=[r,v];c=b[0];b=b[1];for(var M in this.j)M in c?(this.l[M]||(this.j[M].style.display="",this.l[M]=!0),delete c[M]):M in b?(this.l[M]&&(this.j[M].style.display="none",delete this.l[M]),delete b[M]):(Me(this.j[M]),delete this.j[M],delete this.l[M]);for(M in c)d=document.createElement("LI"),d.innerHTML=
c[M].a,this.S.appendChild(d),this.j[M]=d,this.l[M]=!0;for(M in b)d=document.createElement("LI"),d.innerHTML=b[M].a,d.style.display="none",this.S.appendChild(d),this.j[M]=d;M=!Ga(this.l)||!Ga(a.logos);this.C!=M&&(this.element.style.display=M?"":"none",this.C=M);M&&Ga(this.l)?this.element.classList.add("ol-logo-only"):this.element.classList.remove("ol-logo-only");var ma;a=a.logos;M=this.T;for(ma in M)ma in a||(Me(M[ma]),delete M[ma]);for(var Ub in a)b=a[Ub],b instanceof HTMLElement&&(this.v.appendChild(b),
M[Ub]=b),Ub in M||(ma=new Image,ma.src=Ub,""===b?c=ma:(c=document.createElement("a"),c.href=b,c.appendChild(ma)),this.v.appendChild(c),M[Ub]=c);this.v.style.display=Ga(a)?"none":""}else this.C&&(this.element.style.display="none",this.C=!1)}k=xf.prototype;k.am=function(a){a.preventDefault();zf(this)};function zf(a){a.element.classList.toggle("ol-collapsed");a.f?Le(a.A,a.D):Le(a.D,a.A);a.f=!a.f}k.$l=function(){return this.o};
k.cm=function(a){this.o!==a&&(this.o=a,this.element.classList.toggle("ol-uncollapsible"),!a&&this.f&&zf(this))};k.bm=function(a){this.o&&this.f!==a&&zf(this)};k.Zl=function(){return this.f};function Af(a){a=a?a:{};var b=void 0!==a.className?a.className:"ol-rotate",c=void 0!==a.label?a.label:"\u21e7";this.f=null;"string"===typeof c?(this.f=document.createElement("span"),this.f.className="ol-compass",this.f.textContent=c):(this.f=c,this.f.classList.add("ol-compass"));var d=a.tipLabel?a.tipLabel:"Reset rotation",c=document.createElement("button");c.className=b+"-reset";c.setAttribute("type","button");c.title=d;c.appendChild(this.f);B(c,"click",Af.prototype.A,this);d=document.createElement("div");
d.className=b+" ol-unselectable ol-control";d.appendChild(c);b=a.render?a.render:Bf;this.o=a.resetNorth?a.resetNorth:void 0;Pe.call(this,{element:d,render:b,target:a.target});this.j=void 0!==a.duration?a.duration:250;this.l=void 0!==a.autoHide?a.autoHide:!0;this.v=void 0;this.l&&this.element.classList.add("ol-hidden")}x(Af,Pe);
Af.prototype.A=function(a){a.preventDefault();if(void 0!==this.o)this.o();else{a=this.a;var b=a.aa();if(b){var c=b.La();void 0!==c&&(0<this.j&&(c%=2*Math.PI,c<-Math.PI&&(c+=2*Math.PI),c>Math.PI&&(c-=2*Math.PI),a.Wa(Ud({rotation:c,duration:this.j,easing:Nd}))),b.ie(0))}}};
function Bf(a){if(a=a.frameState){a=a.viewState.rotation;if(a!=this.v){var b="rotate("+a+"rad)";if(this.l){var c=this.element.classList.contains("ol-hidden");c||0!==a?c&&0!==a&&this.element.classList.remove("ol-hidden"):this.element.classList.add("ol-hidden")}this.f.style.msTransform=b;this.f.style.webkitTransform=b;this.f.style.transform=b}this.v=a}};function Cf(a){a=a?a:{};var b=void 0!==a.className?a.className:"ol-zoom",c=void 0!==a.delta?a.delta:1,d=void 0!==a.zoomInLabel?a.zoomInLabel:"+",e=void 0!==a.zoomOutLabel?a.zoomOutLabel:"\u2212",f=void 0!==a.zoomInTipLabel?a.zoomInTipLabel:"Zoom in",g=void 0!==a.zoomOutTipLabel?a.zoomOutTipLabel:"Zoom out",h=document.createElement("button");h.className=b+"-in";h.setAttribute("type","button");h.title=f;h.appendChild("string"===typeof d?document.createTextNode(d):d);B(h,"click",Cf.prototype.l.bind(this,
c));d=document.createElement("button");d.className=b+"-out";d.setAttribute("type","button");d.title=g;d.appendChild("string"===typeof e?document.createTextNode(e):e);B(d,"click",Cf.prototype.l.bind(this,-c));c=document.createElement("div");c.className=b+" ol-unselectable ol-control";c.appendChild(h);c.appendChild(d);Pe.call(this,{element:c,target:a.target});this.f=void 0!==a.duration?a.duration:250}x(Cf,Pe);
Cf.prototype.l=function(a,b){b.preventDefault();var c=this.a,d=c.aa();if(d){var e=d.$();e&&(0<this.f&&c.Wa(Vd({resolution:e,duration:this.f,easing:Nd})),c=d.constrainResolution(e,a),d.Vb(c))}};function Df(a){a=a?a:{};var b=new be;(void 0!==a.zoom?a.zoom:1)&&b.push(new Cf(a.zoomOptions));(void 0!==a.rotate?a.rotate:1)&&b.push(new Af(a.rotateOptions));(void 0!==a.attribution?a.attribution:1)&&b.push(new xf(a.attributionOptions));return b};function Ef(a){a=a?a:{};this.f=void 0!==a.className?a.className:"ol-full-screen";var b=void 0!==a.label?a.label:"\u2922";this.o="string"===typeof b?document.createTextNode(b):b;b=void 0!==a.labelActive?a.labelActive:"\u00d7";this.j="string"===typeof b?document.createTextNode(b):b;var c=a.tipLabel?a.tipLabel:"Toggle full-screen",b=document.createElement("button");b.className=this.f+"-"+Ff();b.setAttribute("type","button");b.title=c;b.appendChild(this.o);B(b,"click",this.D,this);c=document.createElement("div");
c.className=this.f+" ol-unselectable ol-control "+(Gf()?"":"ol-unsupported");c.appendChild(b);Pe.call(this,{element:c,target:a.target});this.A=void 0!==a.keys?a.keys:!1;this.l=a.source}x(Ef,Pe);
Ef.prototype.D=function(a){a.preventDefault();Gf()&&(a=this.a)&&(Ff()?document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():(a=this.l?"string"===typeof this.l?document.getElementById(this.l):this.l:a.yc(),this.A?a.mozRequestFullScreenWithKeys?a.mozRequestFullScreenWithKeys():a.webkitRequestFullscreen?a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):
Hf(a):Hf(a)))};Ef.prototype.v=function(){var a=this.element.firstElementChild,b=this.a;Ff()?(a.className=this.f+"-true",Le(this.j,this.o)):(a.className=this.f+"-false",Le(this.o,this.j));b&&b.Xc()};Ef.prototype.setMap=function(a){Pe.prototype.setMap.call(this,a);a&&this.s.push(B(pa.document,If(),this.v,this))};
function Gf(){var a=document.body;return!!(a.webkitRequestFullscreen||a.mozRequestFullScreen&&document.mozFullScreenEnabled||a.msRequestFullscreen&&document.msFullscreenEnabled||a.requestFullscreen&&document.fullscreenEnabled)}function Ff(){return!!(document.webkitIsFullScreen||document.mozFullScreen||document.msFullscreenElement||document.fullscreenElement)}
function Hf(a){a.requestFullscreen?a.requestFullscreen():a.msRequestFullscreen?a.msRequestFullscreen():a.mozRequestFullScreen?a.mozRequestFullScreen():a.webkitRequestFullscreen&&a.webkitRequestFullscreen()}var If=function(){var a;return function(){if(!a){var b=document.body;b.webkitRequestFullscreen?a="webkitfullscreenchange":b.mozRequestFullScreen?a="mozfullscreenchange":b.msRequestFullscreen?a="MSFullscreenChange":b.requestFullscreen&&(a="fullscreenchange")}return a}}();function Jf(a){a=a?a:{};var b=document.createElement("DIV");b.className=void 0!==a.className?a.className:"ol-mouse-position";Pe.call(this,{element:b,render:a.render?a.render:Kf,target:a.target});B(this,db("projection"),this.dm,this);a.coordinateFormat&&this.ei(a.coordinateFormat);a.projection&&this.ih(zc(a.projection));this.v=void 0!==a.undefinedHTML?a.undefinedHTML:"";this.j=b.innerHTML;this.o=this.l=this.f=null}x(Jf,Pe);
function Kf(a){a=a.frameState;a?this.f!=a.viewState.projection&&(this.f=a.viewState.projection,this.l=null):this.f=null;Lf(this,this.o)}k=Jf.prototype;k.dm=function(){this.l=null};k.Cg=function(){return this.get("coordinateFormat")};k.hh=function(){return this.get("projection")};k.Xk=function(a){this.o=this.a.Td(a);Lf(this,this.o)};k.Yk=function(){Lf(this,null);this.o=null};
k.setMap=function(a){Pe.prototype.setMap.call(this,a);a&&(a=a.a,this.s.push(B(a,"mousemove",this.Xk,this),B(a,"mouseout",this.Yk,this)))};k.ei=function(a){this.set("coordinateFormat",a)};k.ih=function(a){this.set("projection",a)};function Lf(a,b){var c=a.v;if(b&&a.f){if(!a.l){var d=a.hh();a.l=d?Cc(a.f,d):Rc}if(d=a.a.Ma(b))a.l(d,d),c=(c=a.Cg())?c(d):d.toString()}a.j&&c==a.j||(a.element.innerHTML=c,a.j=c)};function Mf(a,b){var c=a;b&&(c=ka(a,b));"function"!=da(aa.setImmediate)||aa.Window&&aa.Window.prototype&&!re("Edge")&&aa.Window.prototype.setImmediate==aa.setImmediate?(Nf||(Nf=Of()),Nf(c)):aa.setImmediate(c)}var Nf;
function Of(){var a=aa.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!re("Presto")&&(a=function(){var a=document.createElement("IFRAME");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow,a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host,a=ka(function(a){if(("*"==d||a.origin==d)&&a.data==
c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!re("Trident")&&!re("MSIE")){var b=new a,c={},d=c;b.port1.onmessage=function(){if(void 0!==c.next){c=c.next;var a=c.rg;c.rg=null;a()}};return function(a){d.next={rg:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in document.createElement("SCRIPT")?function(a){var b=document.createElement("SCRIPT");
b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){aa.setTimeout(a,0)}};function Pf(a,b,c){Ua.call(this,a);this.b=b;a=c?c:{};this.buttons=Qf(a);this.pressure=Rf(a,this.buttons);this.bubbles="bubbles"in a?a.bubbles:!1;this.cancelable="cancelable"in a?a.cancelable:!1;this.view="view"in a?a.view:null;this.detail="detail"in a?a.detail:null;this.screenX="screenX"in a?a.screenX:0;this.screenY="screenY"in a?a.screenY:0;this.clientX="clientX"in a?a.clientX:0;this.clientY="clientY"in a?a.clientY:0;this.button="button"in a?a.button:0;this.relatedTarget="relatedTarget"in a?a.relatedTarget:
null;this.pointerId="pointerId"in a?a.pointerId:0;this.width="width"in a?a.width:0;this.height="height"in a?a.height:0;this.pointerType="pointerType"in a?a.pointerType:"";this.isPrimary="isPrimary"in a?a.isPrimary:!1;b.preventDefault&&(this.preventDefault=function(){b.preventDefault()})}x(Pf,Ua);function Qf(a){if(a.buttons||Sf)a=a.buttons;else switch(a.which){case 1:a=1;break;case 2:a=4;break;case 3:a=2;break;default:a=0}return a}
function Rf(a,b){var c=0;a.pressure?c=a.pressure:c=b?.5:0;return c}var Sf=!1;try{Sf=1===(new MouseEvent("click",{buttons:1})).buttons}catch(a){};var Tf=["experimental-webgl","webgl","webkit-3d","moz-webgl"];function Uf(a,b){var c,d,e=Tf.length;for(d=0;d<e;++d)try{if(c=a.getContext(Tf[d],b))return c}catch(f){}return null};var Vf,Wf="undefined"!==typeof navigator?navigator.userAgent.toLowerCase():"",Xf=-1!==Wf.indexOf("firefox"),Yf=-1!==Wf.indexOf("safari")&&-1===Wf.indexOf("chrom"),Zf=-1!==Wf.indexOf("macintosh"),$f=pa.devicePixelRatio||1,ag=!1,bg=function(){if(!("HTMLCanvasElement"in pa))return!1;try{var a=Ge();return a?(a.setLineDash&&(ag=!0),!0):!1}catch(b){return!1}}(),cg="DeviceOrientationEvent"in pa,dg="geolocation"in pa.navigator,eg="ontouchstart"in pa,fg="PointerEvent"in pa,gg=!!pa.navigator.msPointerEnabled,
hg=!1,ig,jg=[];if("WebGLRenderingContext"in pa)try{var kg=Uf(document.createElement("CANVAS"),{failIfMajorPerformanceCaveat:!0});kg&&(hg=!0,ig=kg.getParameter(kg.MAX_TEXTURE_SIZE),jg=kg.getSupportedExtensions())}catch(a){}Vf=hg;na=jg;la=ig;function lg(a,b){this.b=a;this.c=b};function mg(a){lg.call(this,a,{mousedown:this.rl,mousemove:this.sl,mouseup:this.vl,mouseover:this.ul,mouseout:this.tl});this.a=a.g;this.g=[]}x(mg,lg);function ng(a,b){for(var c=a.g,d=b.clientX,e=b.clientY,f=0,g=c.length,h;f<g&&(h=c[f]);f++){var l=Math.abs(e-h[1]);if(25>=Math.abs(d-h[0])&&25>=l)return!0}return!1}function og(a){var b=pg(a,a),c=b.preventDefault;b.preventDefault=function(){a.preventDefault();c()};b.pointerId=1;b.isPrimary=!0;b.pointerType="mouse";return b}k=mg.prototype;
k.rl=function(a){if(!ng(this,a)){if((1).toString()in this.a){var b=og(a);qg(this.b,rg,b,a);delete this.a[(1).toString()]}b=og(a);this.a[(1).toString()]=a;qg(this.b,sg,b,a)}};k.sl=function(a){if(!ng(this,a)){var b=og(a);qg(this.b,tg,b,a)}};k.vl=function(a){if(!ng(this,a)){var b=this.a[(1).toString()];b&&b.button===a.button&&(b=og(a),qg(this.b,ug,b,a),delete this.a[(1).toString()])}};k.ul=function(a){if(!ng(this,a)){var b=og(a);vg(this.b,b,a)}};
k.tl=function(a){if(!ng(this,a)){var b=og(a);wg(this.b,b,a)}};function xg(a){lg.call(this,a,{MSPointerDown:this.Al,MSPointerMove:this.Bl,MSPointerUp:this.El,MSPointerOut:this.Cl,MSPointerOver:this.Dl,MSPointerCancel:this.zl,MSGotPointerCapture:this.xl,MSLostPointerCapture:this.yl});this.a=a.g;this.g=["","unavailable","touch","pen","mouse"]}x(xg,lg);function yg(a,b){var c=b;"number"===typeof b.pointerType&&(c=pg(b,b),c.pointerType=a.g[b.pointerType]);return c}k=xg.prototype;k.Al=function(a){this.a[a.pointerId.toString()]=a;var b=yg(this,a);qg(this.b,sg,b,a)};
k.Bl=function(a){var b=yg(this,a);qg(this.b,tg,b,a)};k.El=function(a){var b=yg(this,a);qg(this.b,ug,b,a);delete this.a[a.pointerId.toString()]};k.Cl=function(a){var b=yg(this,a);wg(this.b,b,a)};k.Dl=function(a){var b=yg(this,a);vg(this.b,b,a)};k.zl=function(a){var b=yg(this,a);qg(this.b,rg,b,a);delete this.a[a.pointerId.toString()]};k.yl=function(a){this.b.b(new Pf("lostpointercapture",a,a))};k.xl=function(a){this.b.b(new Pf("gotpointercapture",a,a))};function zg(a){lg.call(this,a,{pointerdown:this.lo,pointermove:this.mo,pointerup:this.po,pointerout:this.no,pointerover:this.oo,pointercancel:this.ko,gotpointercapture:this.Gk,lostpointercapture:this.ql})}x(zg,lg);k=zg.prototype;k.lo=function(a){Ag(this.b,a)};k.mo=function(a){Ag(this.b,a)};k.po=function(a){Ag(this.b,a)};k.no=function(a){Ag(this.b,a)};k.oo=function(a){Ag(this.b,a)};k.ko=function(a){Ag(this.b,a)};k.ql=function(a){Ag(this.b,a)};k.Gk=function(a){Ag(this.b,a)};function Bg(a,b){lg.call(this,a,{touchstart:this.sp,touchmove:this.rp,touchend:this.qp,touchcancel:this.pp});this.a=a.g;this.l=b;this.g=void 0;this.i=0;this.f=void 0}x(Bg,lg);k=Bg.prototype;k.ci=function(){this.i=0;this.f=void 0};
function Cg(a,b,c){b=pg(b,c);b.pointerId=c.identifier+2;b.bubbles=!0;b.cancelable=!0;b.detail=a.i;b.button=0;b.buttons=1;b.width=c.webkitRadiusX||c.radiusX||0;b.height=c.webkitRadiusY||c.radiusY||0;b.pressure=c.webkitForce||c.force||.5;b.isPrimary=a.g===c.identifier;b.pointerType="touch";b.clientX=c.clientX;b.clientY=c.clientY;b.screenX=c.screenX;b.screenY=c.screenY;return b}
function Dg(a,b,c){function d(){b.preventDefault()}var e=Array.prototype.slice.call(b.changedTouches),f=e.length,g,h;for(g=0;g<f;++g)h=Cg(a,b,e[g]),h.preventDefault=d,c.call(a,b,h)}
k.sp=function(a){var b=a.touches,c=Object.keys(this.a),d=c.length;if(d>=b.length){var e=[],f,g,h;for(f=0;f<d;++f){g=c[f];h=this.a[g];var l;if(!(l=1==g))a:{l=b.length;for(var m,n=0;n<l;n++)if(m=b[n],m.identifier===g-2){l=!0;break a}l=!1}l||e.push(h.out)}for(f=0;f<e.length;++f)this.Ue(a,e[f])}b=a.changedTouches[0];c=Object.keys(this.a).length;if(0===c||1===c&&(1).toString()in this.a)this.g=b.identifier,void 0!==this.f&&pa.clearTimeout(this.f);Eg(this,a);this.i++;Dg(this,a,this.fo)};
k.fo=function(a,b){this.a[b.pointerId]={target:b.target,out:b,Lh:b.target};var c=this.b;b.bubbles=!0;qg(c,Fg,b,a);c=this.b;b.bubbles=!1;qg(c,Gg,b,a);qg(this.b,sg,b,a)};k.rp=function(a){a.preventDefault();Dg(this,a,this.wl)};k.wl=function(a,b){var c=this.a[b.pointerId];if(c){var d=c.out,e=c.Lh;qg(this.b,tg,b,a);d&&e!==b.target&&(d.relatedTarget=b.target,b.relatedTarget=e,d.target=e,b.target?(wg(this.b,d,a),vg(this.b,b,a)):(b.target=e,b.relatedTarget=null,this.Ue(a,b)));c.out=b;c.Lh=b.target}};
k.qp=function(a){Eg(this,a);Dg(this,a,this.tp)};k.tp=function(a,b){qg(this.b,ug,b,a);this.b.out(b,a);var c=this.b;b.bubbles=!1;qg(c,Hg,b,a);delete this.a[b.pointerId];b.isPrimary&&(this.g=void 0,this.f=pa.setTimeout(this.ci.bind(this),200))};k.pp=function(a){Dg(this,a,this.Ue)};k.Ue=function(a,b){qg(this.b,rg,b,a);this.b.out(b,a);var c=this.b;b.bubbles=!1;qg(c,Hg,b,a);delete this.a[b.pointerId];b.isPrimary&&(this.g=void 0,this.f=pa.setTimeout(this.ci.bind(this),200))};
function Eg(a,b){var c=a.l.g,d=b.changedTouches[0];if(a.g===d.identifier){var e=[d.clientX,d.clientY];c.push(e);pa.setTimeout(function(){kb(c,e)},2500)}};function Ig(a){Xa.call(this);this.i=a;this.g={};this.c={};this.a=[];fg?Jg(this,new zg(this)):gg?Jg(this,new xg(this)):(a=new mg(this),Jg(this,a),eg&&Jg(this,new Bg(this,a)));a=this.a.length;for(var b,c=0;c<a;c++)b=this.a[c],Kg(this,Object.keys(b.c))}x(Ig,Xa);function Jg(a,b){var c=Object.keys(b.c);c&&(c.forEach(function(a){var c=b.c[a];c&&(this.c[a]=c.bind(b))},a),a.a.push(b))}Ig.prototype.f=function(a){var b=this.c[a.type];b&&b(a)};
function Kg(a,b){b.forEach(function(a){B(this.i,a,this.f,this)},a)}function Lg(a,b){b.forEach(function(a){Qa(this.i,a,this.f,this)},a)}function pg(a,b){for(var c={},d,e=0,f=Mg.length;e<f;e++)d=Mg[e][0],c[d]=a[d]||b[d]||Mg[e][1];return c}Ig.prototype.out=function(a,b){a.bubbles=!0;qg(this,Ng,a,b)};function wg(a,b,c){a.out(b,c);var d=b.target,e=b.relatedTarget;d&&e&&d.contains(e)||(b.bubbles=!1,qg(a,Hg,b,c))}
function vg(a,b,c){b.bubbles=!0;qg(a,Fg,b,c);var d=b.target,e=b.relatedTarget;d&&e&&d.contains(e)||(b.bubbles=!1,qg(a,Gg,b,c))}function qg(a,b,c,d){a.b(new Pf(b,d,c))}function Ag(a,b){a.b(new Pf(b.type,b,b))}Ig.prototype.ka=function(){for(var a=this.a.length,b,c=0;c<a;c++)b=this.a[c],Lg(this,Object.keys(b.c));Xa.prototype.ka.call(this)};
var tg="pointermove",sg="pointerdown",ug="pointerup",Fg="pointerover",Ng="pointerout",Gg="pointerenter",Hg="pointerleave",rg="pointercancel",Mg=[["bubbles",!1],["cancelable",!1],["view",null],["detail",null],["screenX",0],["screenY",0],["clientX",0],["clientY",0],["ctrlKey",!1],["altKey",!1],["shiftKey",!1],["metaKey",!1],["button",0],["relatedTarget",null],["buttons",0],["pointerId",0],["width",0],["height",0],["pressure",0],["tiltX",0],["tiltY",0],["pointerType",""],["hwTimestamp",0],["isPrimary",
!1],["type",""],["target",null],["currentTarget",null],["which",0]];function Og(a,b,c,d,e){Oe.call(this,a,b,e);this.originalEvent=c;this.pixel=b.Td(c);this.coordinate=b.Ma(this.pixel);this.dragging=void 0!==d?d:!1}x(Og,Oe);Og.prototype.preventDefault=function(){Oe.prototype.preventDefault.call(this);this.originalEvent.preventDefault()};Og.prototype.stopPropagation=function(){Oe.prototype.stopPropagation.call(this);this.originalEvent.stopPropagation()};function Pg(a,b,c,d,e){Og.call(this,a,b,c.b,d,e);this.b=c}x(Pg,Og);
function Qg(a){Xa.call(this);this.f=a;this.l=0;this.o=!1;this.c=[];this.g=null;a=this.f.a;this.U=0;this.v={};this.i=new Ig(a);this.a=null;this.j=B(this.i,sg,this.$k,this);this.s=B(this.i,tg,this.No,this)}x(Qg,Xa);function Rg(a,b){var c;c=new Pg(Sg,a.f,b);a.b(c);0!==a.l?(pa.clearTimeout(a.l),a.l=0,c=new Pg(Tg,a.f,b),a.b(c)):a.l=pa.setTimeout(function(){this.l=0;var a=new Pg(Ug,this.f,b);this.b(a)}.bind(a),250)}
function Vg(a,b){b.type==Wg||b.type==Xg?delete a.v[b.pointerId]:b.type==Yg&&(a.v[b.pointerId]=!0);a.U=Object.keys(a.v).length}k=Qg.prototype;k.Qg=function(a){Vg(this,a);var b=new Pg(Wg,this.f,a);this.b(b);!this.o&&0===a.button&&Rg(this,this.g);0===this.U&&(this.c.forEach(Ka),this.c.length=0,this.o=!1,this.g=null,Ta(this.a),this.a=null)};
k.$k=function(a){Vg(this,a);var b=new Pg(Yg,this.f,a);this.b(b);this.g=a;0===this.c.length&&(this.a=new Ig(document),this.c.push(B(this.a,Zg,this.Sl,this),B(this.a,Wg,this.Qg,this),B(this.i,Xg,this.Qg,this)))};k.Sl=function(a){if(a.clientX!=this.g.clientX||a.clientY!=this.g.clientY){this.o=!0;var b=new Pg($g,this.f,a,this.o);this.b(b)}a.preventDefault()};k.No=function(a){this.b(new Pg(a.type,this.f,a,!(!this.g||a.clientX==this.g.clientX&&a.clientY==this.g.clientY)))};
k.ka=function(){this.s&&(Ka(this.s),this.s=null);this.j&&(Ka(this.j),this.j=null);this.c.forEach(Ka);this.c.length=0;this.a&&(Ta(this.a),this.a=null);this.i&&(Ta(this.i),this.i=null);Xa.prototype.ka.call(this)};var Ug="singleclick",Sg="click",Tg="dblclick",$g="pointerdrag",Zg="pointermove",Yg="pointerdown",Wg="pointerup",Xg="pointercancel",ah={Mp:Ug,Bp:Sg,Cp:Tg,Fp:$g,Ip:Zg,Ep:Yg,Lp:Wg,Kp:"pointerover",Jp:"pointerout",Gp:"pointerenter",Hp:"pointerleave",Dp:Xg};var bh=Array(6);function ch(){return[1,0,0,1,0,0]}function dh(a){return eh(a,1,0,0,1,0,0)}function fh(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],l=b[0],m=b[1],n=b[2],p=b[3],q=b[4],r=b[5];a[0]=c*l+e*m;a[1]=d*l+f*m;a[2]=c*n+e*p;a[3]=d*n+f*p;a[4]=c*q+e*r+g;a[5]=d*q+f*r+h;return a}function eh(a,b,c,d,e,f,g){a[0]=b;a[1]=c;a[2]=d;a[3]=e;a[4]=f;a[5]=g;return a}function gh(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];return a}
function hh(a,b){var c=b[0],d=b[1];b[0]=a[0]*c+a[2]*d+a[4];b[1]=a[1]*c+a[3]*d+a[5];return b}function ih(a,b){var c=Math.cos(b),d=Math.sin(b);fh(a,eh(bh,c,d,-d,c,0,0))}function jh(a,b,c){return fh(a,eh(bh,b,0,0,c,0,0))}function kh(a,b,c){fh(a,eh(bh,1,0,0,1,b,c))}function lh(a,b,c,d,e,f,g,h){var l=Math.sin(f);f=Math.cos(f);a[0]=d*f;a[1]=e*l;a[2]=-d*l;a[3]=e*f;a[4]=g*d*f-h*d*l+b;a[5]=g*e*l+h*e*f+c;return a}
function mh(a){var b=a[0]*a[3]-a[1]*a[2],c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5];a[0]=f/b;a[1]=-d/b;a[2]=-e/b;a[3]=c/b;a[4]=(e*h-f*g)/b;a[5]=-(c*h-d*g)/b;return a};function nh(a){bb.call(this);var b=Ca({},a);b.opacity=void 0!==a.opacity?a.opacity:1;b.visible=void 0!==a.visible?a.visible:!0;b.zIndex=void 0!==a.zIndex?a.zIndex:0;b.maxResolution=void 0!==a.maxResolution?a.maxResolution:Infinity;b.minResolution=void 0!==a.minResolution?a.minResolution:0;this.G(b)}x(nh,bb);
function oh(a){var b=a.Qb(),c=a.kf(),d=a.yb(),e=a.H(),f=a.Rb(),g=a.Ob(),h=a.Pb();return{layer:a,opacity:sa(b,0,1),S:c,visible:d,Qc:!0,extent:e,zIndex:f,maxResolution:g,minResolution:Math.max(h,0)}}k=nh.prototype;k.H=function(){return this.get("extent")};k.Ob=function(){return this.get("maxResolution")};k.Pb=function(){return this.get("minResolution")};k.Qb=function(){return this.get("opacity")};k.yb=function(){return this.get("visible")};k.Rb=function(){return this.get("zIndex")};
k.fc=function(a){this.set("extent",a)};k.nc=function(a){this.set("maxResolution",a)};k.oc=function(a){this.set("minResolution",a)};k.gc=function(a){this.set("opacity",a)};k.hc=function(a){this.set("visible",a)};k.ic=function(a){this.set("zIndex",a)};function ph(){};function qh(a,b,c,d,e){Ua.call(this,a);this.vectorContext=b;this.frameState=c;this.context=d;this.glContext=e}x(qh,Ua);function rh(a){var b=Ca({},a);delete b.source;nh.call(this,b);this.v=this.j=this.o=null;a.map&&this.setMap(a.map);B(this,db("source"),this.fl,this);this.Fc(a.source?a.source:null)}x(rh,nh);function sh(a,b){return a.visible&&b>=a.minResolution&&b<a.maxResolution}k=rh.prototype;k.hf=function(a){a=a?a:[];a.push(oh(this));return a};k.ha=function(){return this.get("source")||null};k.kf=function(){var a=this.ha();return a?a.V():"undefined"};k.Lm=function(){this.u()};
k.fl=function(){this.v&&(Ka(this.v),this.v=null);var a=this.ha();a&&(this.v=B(a,"change",this.Lm,this));this.u()};k.setMap=function(a){this.o&&(Ka(this.o),this.o=null);a||this.u();this.j&&(Ka(this.j),this.j=null);a&&(this.o=B(a,"precompose",function(a){var c=oh(this);c.Qc=!1;c.zIndex=Infinity;a.frameState.layerStatesArray.push(c);a.frameState.layerStates[t(this)]=c},this),this.j=B(this,"change",a.render,a),this.u())};k.Fc=function(a){this.set("source",a)};function th(a,b,c,d,e){Xa.call(this);this.l=e;this.extent=a;this.f=c;this.resolution=b;this.state=d}x(th,Xa);function uh(a){a.b("change")}th.prototype.H=function(){return this.extent};th.prototype.$=function(){return this.resolution};th.prototype.V=function(){return this.state};function vh(a){Za.call(this);this.a=a}x(vh,Za);k=vh.prototype;k.sa=oa;k.Cc=function(a,b,c,d){a=hh(b.pixelToCoordinateTransform,a.slice());if(this.sa(a,b,rc,this))return c.call(d,this.a)};k.le=sc;k.Qd=function(a,b,c){return function(d,e){return tf(a,b,d,e,function(a){c[d]||(c[d]={});c[d][a.ma.toString()]=a})}};k.Om=function(a){2===a.target.V()&&wh(this)};function xh(a,b){var c=b.V();2!=c&&3!=c&&B(b,"change",a.Om,a);0==c&&(b.load(),c=b.V());return 2==c}
function wh(a){var b=a.a;b.yb()&&"ready"==b.kf()&&a.u()}function yh(a,b){b.Ah()&&a.postRenderFunctions.push(function(a,b,e){b=t(a).toString();a.Lc(e.viewState.projection,e.usedTiles[b])}.bind(null,b))}function zh(a,b){if(b){var c,d,e;d=0;for(e=b.length;d<e;++d)c=b[d],a[t(c).toString()]=c}}function Ah(a,b){var c=b.S;void 0!==c&&("string"===typeof c?a.logos[c]="":fa(c)&&(a.logos[c.src]=c.href))}
function Bh(a,b,c,d){b=t(b).toString();c=c.toString();b in a?c in a[b]?(a=a[b][c],d.ca<a.ca&&(a.ca=d.ca),d.ea>a.ea&&(a.ea=d.ea),d.fa<a.fa&&(a.fa=d.fa),d.ga>a.ga&&(a.ga=d.ga)):a[b][c]=d:(a[b]={},a[b][c]=d)}function Ch(a,b,c){return[b*(Math.round(a[0]/b)+c[0]%2/2),b*(Math.round(a[1]/b)+c[1]%2/2)]}
function Dh(a,b,c,d,e,f,g,h,l,m){var n=t(b).toString();n in a.wantedTiles||(a.wantedTiles[n]={});var p=a.wantedTiles[n];a=a.tileQueue;var q=c.minZoom,r,v,y,w,G,z;for(z=g;z>=q;--z)for(v=gf(c,f,z,v),y=c.$(z),w=v.ca;w<=v.ea;++w)for(G=v.fa;G<=v.ga;++G)g-z<=h?(r=b.bc(z,w,G,d,e),0==r.V()&&(p[r.ma.toString()]=!0,r.jb()in a.g||a.f([r,n,mf(c,r.ma),y])),void 0!==l&&l.call(m,r)):b.Yf(z,w,G,e)};function Eh(a){this.v=a.opacity;this.U=a.rotateWithView;this.j=a.rotation;this.i=a.scale;this.D=a.snapToPixel}k=Eh.prototype;k.qe=function(){return this.v};k.Xd=function(){return this.U};k.re=function(){return this.j};k.se=function(){return this.i};k.Yd=function(){return this.D};k.te=function(a){this.v=a};k.ue=function(a){this.j=a};k.ve=function(a){this.i=a};function Fh(a){a=a||{};this.c=void 0!==a.anchor?a.anchor:[.5,.5];this.f=null;this.a=void 0!==a.anchorOrigin?a.anchorOrigin:"top-left";this.o=void 0!==a.anchorXUnits?a.anchorXUnits:"fraction";this.s=void 0!==a.anchorYUnits?a.anchorYUnits:"fraction";var b=void 0!==a.crossOrigin?a.crossOrigin:null,c=void 0!==a.img?a.img:null,d=void 0!==a.imgSize?a.imgSize:null,e=a.src;void 0!==e&&0!==e.length||!c||(e=c.src||t(c).toString());var f=void 0!==a.src?0:2,g=void 0!==a.color?je(a.color):null,h=Gh.$b(),l=h.get(e,
b,g);l||(l=new Hh(c,e,d,b,f,g),h.set(e,b,g,l));this.b=l;this.C=void 0!==a.offset?a.offset:[0,0];this.g=void 0!==a.offsetOrigin?a.offsetOrigin:"top-left";this.l=null;this.A=void 0!==a.size?a.size:null;Eh.call(this,{opacity:void 0!==a.opacity?a.opacity:1,rotation:void 0!==a.rotation?a.rotation:0,scale:void 0!==a.scale?a.scale:1,snapToPixel:void 0!==a.snapToPixel?a.snapToPixel:!0,rotateWithView:void 0!==a.rotateWithView?a.rotateWithView:!1})}x(Fh,Eh);k=Fh.prototype;
k.Zb=function(){if(this.f)return this.f;var a=this.c,b=this.Gb();if("fraction"==this.o||"fraction"==this.s){if(!b)return null;a=this.c.slice();"fraction"==this.o&&(a[0]*=b[0]);"fraction"==this.s&&(a[1]*=b[1])}if("top-left"!=this.a){if(!b)return null;a===this.c&&(a=this.c.slice());if("top-right"==this.a||"bottom-right"==this.a)a[0]=-a[0]+b[0];if("bottom-left"==this.a||"bottom-right"==this.a)a[1]=-a[1]+b[1]}return this.f=a};k.jc=function(){var a=this.b;return a.c?a.c:a.a};k.ld=function(){return this.b.g};
k.td=function(){return this.b.f};k.pe=function(){var a=this.b;if(!a.o)if(a.s){var b=a.g[0],c=a.g[1],d=Ge(b,c);d.fillRect(0,0,b,c);a.o=d.canvas}else a.o=a.a;return a.o};k.Ia=function(){if(this.l)return this.l;var a=this.C;if("top-left"!=this.g){var b=this.Gb(),c=this.b.g;if(!b||!c)return null;a=a.slice();if("top-right"==this.g||"bottom-right"==this.g)a[0]=c[0]-b[0]-a[0];if("bottom-left"==this.g||"bottom-right"==this.g)a[1]=c[1]-b[1]-a[1]}return this.l=a};k.En=function(){return this.b.j};
k.Gb=function(){return this.A?this.A:this.b.g};k.pf=function(a,b){return B(this.b,"change",a,b)};k.load=function(){this.b.load()};k.Xf=function(a,b){Qa(this.b,"change",a,b)};function Hh(a,b,c,d,e,f){Xa.call(this);this.o=null;this.a=a?a:new Image;null!==d&&(this.a.crossOrigin=d);this.c=f?document.createElement("CANVAS"):null;this.l=f;this.i=null;this.f=e;this.g=c;this.j=b;this.s=!1;2==this.f&&Ih(this)}x(Hh,Xa);
function Ih(a){var b=Ge(1,1);try{b.drawImage(a.a,0,0),b.getImageData(0,0,1,1)}catch(c){a.s=!0}}Hh.prototype.v=function(){this.f=3;this.i.forEach(Ka);this.i=null;this.b("change")};
Hh.prototype.U=function(){this.f=2;this.g&&(this.a.width=this.g[0],this.a.height=this.g[1]);this.g=[this.a.width,this.a.height];this.i.forEach(Ka);this.i=null;Ih(this);if(!this.s&&null!==this.l){this.c.width=this.a.width;this.c.height=this.a.height;var a=this.c.getContext("2d");a.drawImage(this.a,0,0);for(var b=a.getImageData(0,0,this.a.width,this.a.height),c=b.data,d=this.l[0]/255,e=this.l[1]/255,f=this.l[2]/255,g=0,h=c.length;g<h;g+=4)c[g]*=d,c[g+1]*=e,c[g+2]*=f;a.putImageData(b,0,0)}this.b("change")};
Hh.prototype.load=function(){if(0==this.f){this.f=1;this.i=[Pa(this.a,"error",this.v,this),Pa(this.a,"load",this.U,this)];try{this.a.src=this.j}catch(a){this.v()}}};function Gh(){this.b={};this.a=0}ca(Gh);Gh.prototype.clear=function(){this.b={};this.a=0};Gh.prototype.get=function(a,b,c){a=b+":"+a+":"+(c?le(c):"null");return a in this.b?this.b[a]:null};Gh.prototype.set=function(a,b,c,d){this.b[b+":"+a+":"+(c?le(c):"null")]=d;++this.a};function Jh(a,b){this.i=b;this.g={};this.s={}}x(Jh,Sa);function Kh(a){var b=a.viewState,c=a.coordinateToPixelTransform,d=a.pixelToCoordinateTransform;lh(c,a.size[0]/2,a.size[1]/2,1/b.resolution,-1/b.resolution,-b.rotation,-b.center[0],-b.center[1]);mh(gh(d,c))}k=Jh.prototype;k.ka=function(){for(var a in this.g)Ta(this.g[a])};function Lh(){var a=Gh.$b();if(32<a.a){var b=0,c,d;for(c in a.b)d=a.b[c],0!==(b++&3)||Ya(d)||(delete a.b[c],--a.a)}}
k.sa=function(a,b,c,d,e,f){function g(a,e){var f=t(a).toString(),g=b.layerStates[t(e)].Qc;if(!(f in b.skippedFeatureUids)||g)return c.call(d,a,g?e:null)}var h,l=b.viewState,m=l.resolution,n=l.projection,l=a;if(n.a){var n=n.H(),p=jc(n),q=a[0];if(q<n[0]||q>n[2])l=[q+p*Math.ceil((n[0]-q)/p),a[1]]}n=b.layerStatesArray;for(p=n.length-1;0<=p;--p){var r=n[p],q=r.layer;if(sh(r,m)&&e.call(f,q)&&(r=Mh(this,q),q.ha()&&(h=r.sa(q.ha().C?l:a,b,g,d)),h))return h}};
k.rh=function(a,b,c,d,e,f){var g,h=b.viewState.resolution,l=b.layerStatesArray,m;for(m=l.length-1;0<=m;--m){g=l[m];var n=g.layer;if(sh(g,h)&&e.call(f,n)&&(g=Mh(this,n).Cc(a,b,c,d)))return g}};k.sh=function(a,b,c,d){return void 0!==this.sa(a,b,rc,this,c,d)};function Mh(a,b){var c=t(b).toString();if(c in a.g)return a.g[c];var d=a.Xe(b);a.g[c]=d;a.s[c]=B(d,"change",a.Rk,a);return d}k.Rk=function(){this.i.render()};k.Ce=oa;
k.To=function(a,b){for(var c in this.g)if(!(b&&c in b.layerStates)){var d=c,e=this.g[d];delete this.g[d];Ka(this.s[d]);delete this.s[d];Ta(e)}};function Nh(a,b){for(var c in a.g)if(!(c in b.layerStates)){b.postRenderFunctions.push(a.To.bind(a));break}}function ob(a,b){return a.zIndex-b.zIndex};function Oh(a,b){this.j=a;this.l=b;this.b=[];this.a=[];this.g={}}Oh.prototype.clear=function(){this.b.length=0;this.a.length=0;Da(this.g)};function Ph(a){var b=a.b,c=a.a,d=b[0];1==b.length?(b.length=0,c.length=0):(b[0]=b.pop(),c[0]=c.pop(),Qh(a,0));b=a.l(d);delete a.g[b];return d}Oh.prototype.f=function(a){var b=this.j(a);return Infinity!=b?(this.b.push(a),this.a.push(b),this.g[this.l(a)]=!0,Rh(this,0,this.b.length-1),!0):!1};Oh.prototype.wc=function(){return this.b.length};
Oh.prototype.Ya=function(){return 0===this.b.length};function Qh(a,b){for(var c=a.b,d=a.a,e=c.length,f=c[b],g=d[b],h=b;b<e>>1;){var l=2*b+1,m=2*b+2,l=m<e&&d[m]<d[l]?m:l;c[b]=c[l];d[b]=d[l];b=l}c[b]=f;d[b]=g;Rh(a,h,b)}function Rh(a,b,c){var d=a.b;a=a.a;for(var e=d[c],f=a[c];c>b;){var g=c-1>>1;if(a[g]>f)d[c]=d[g],a[c]=a[g],c=g;else break}d[c]=e;a[c]=f}
function Sh(a){var b=a.j,c=a.b,d=a.a,e=0,f=c.length,g,h,l;for(h=0;h<f;++h)g=c[h],l=b(g),Infinity==l?delete a.g[a.l(g)]:(d[e]=l,c[e++]=g);c.length=e;d.length=e;for(b=(a.b.length>>1)-1;0<=b;b--)Qh(a,b)};function Th(a,b){Oh.call(this,function(b){return a.apply(null,b)},function(a){return a[0].jb()});this.s=b;this.i=0;this.c={}}x(Th,Oh);Th.prototype.f=function(a){var b=Oh.prototype.f.call(this,a);b&&B(a[0],"change",this.o,this);return b};Th.prototype.o=function(a){a=a.target;var b=a.V();if(2===b||3===b||4===b||5===b)Qa(a,"change",this.o,this),a=a.jb(),a in this.c&&(delete this.c[a],--this.i),this.s()};
function Uh(a,b,c){for(var d=0,e,f;a.i<b&&d<c&&0<a.wc();)e=Ph(a)[0],f=e.jb(),0!==e.V()||f in a.c||(a.c[f]=!0,++a.i,++d,e.load())};function Vh(a,b,c){this.f=a;this.g=b;this.i=c;this.b=[];this.a=this.c=0}function Wh(a,b){var c=a.f,d=a.a,e=a.g-d,f=Math.log(a.g/a.a)/a.f;return Td({source:b,duration:f,easing:function(a){return d*(Math.exp(c*a*f)-1)/e}})};function Xh(a){bb.call(this);this.v=null;this.i(!0);this.handleEvent=a.handleEvent}x(Xh,bb);Xh.prototype.f=function(){return this.get("active")};Xh.prototype.l=function(){return this.v};Xh.prototype.i=function(a){this.set("active",a)};Xh.prototype.setMap=function(a){this.v=a};function Yh(a,b,c,d,e){if(void 0!==c){var f=b.La(),g=b.ab();void 0!==f&&g&&e&&0<e&&(a.Wa(Ud({rotation:f,duration:e,easing:Nd})),d&&a.Wa(Td({source:g,duration:e,easing:Nd})));b.rotate(c,d)}}
function Zh(a,b,c,d,e){var f=b.$();c=b.constrainResolution(f,c,0);$h(a,b,c,d,e)}function $h(a,b,c,d,e){if(c){var f=b.$(),g=b.ab();void 0!==f&&g&&c!==f&&e&&0<e&&(a.Wa(Vd({resolution:f,duration:e,easing:Nd})),d&&a.Wa(Td({source:g,duration:e,easing:Nd})));if(d){var h;a=b.ab();e=b.$();void 0!==a&&void 0!==e&&(h=[d[0]-c*(d[0]-a[0])/e,d[1]-c*(d[1]-a[1])/e]);b.nb(h)}b.Vb(c)}};function ai(a){a=a?a:{};this.a=a.delta?a.delta:1;Xh.call(this,{handleEvent:bi});this.c=void 0!==a.duration?a.duration:250}x(ai,Xh);function bi(a){var b=!1,c=a.originalEvent;if(a.type==Tg){var b=a.map,d=a.coordinate,c=c.shiftKey?-this.a:this.a,e=b.aa();Zh(b,e,c,d,this.c);a.preventDefault();b=!0}return!b};function ci(a){a=a.originalEvent;return a.altKey&&!(a.metaKey||a.ctrlKey)&&a.shiftKey}function di(a){a=a.originalEvent;return 0==a.button&&!(we&&Zf&&a.ctrlKey)}function ei(a){return"pointermove"==a.type}function fi(a){return a.type==Ug}function gi(a){a=a.originalEvent;return!a.altKey&&!(a.metaKey||a.ctrlKey)&&!a.shiftKey}function hi(a){a=a.originalEvent;return!a.altKey&&!(a.metaKey||a.ctrlKey)&&a.shiftKey}
function ii(a){a=a.originalEvent.target.tagName;return"INPUT"!==a&&"SELECT"!==a&&"TEXTAREA"!==a}function ji(a){return"mouse"==a.b.pointerType}function ki(a){a=a.b;return a.isPrimary&&0===a.button};function li(a){a=a?a:{};Xh.call(this,{handleEvent:a.handleEvent?a.handleEvent:mi});this.Oe=a.handleDownEvent?a.handleDownEvent:sc;this.Pe=a.handleDragEvent?a.handleDragEvent:oa;this.Mi=a.handleMoveEvent?a.handleMoveEvent:oa;this.tj=a.handleUpEvent?a.handleUpEvent:sc;this.D=!1;this.ia={};this.o=[]}x(li,Xh);function ni(a){for(var b=a.length,c=0,d=0,e=0;e<b;e++)c+=a[e].clientX,d+=a[e].clientY;return[c/b,d/b]}
function mi(a){if(!(a instanceof Pg))return!0;var b=!1,c=a.type;if(c===Yg||c===$g||c===Wg)c=a.b,a.type==Wg?delete this.ia[c.pointerId]:a.type==Yg?this.ia[c.pointerId]=c:c.pointerId in this.ia&&(this.ia[c.pointerId]=c),this.o=Ea(this.ia);this.D&&(a.type==$g?this.Pe(a):a.type==Wg&&(this.D=this.tj(a)));a.type==Yg?(this.D=a=this.Oe(a),b=this.Gc(a)):a.type==Zg&&this.Mi(a);return!b}li.prototype.Gc=function(a){return a};function oi(a){li.call(this,{handleDownEvent:pi,handleDragEvent:qi,handleUpEvent:ri});a=a?a:{};this.a=a.kinetic;this.c=this.j=null;this.A=a.condition?a.condition:gi;this.s=!1}x(oi,li);function qi(a){var b=ni(this.o);this.a&&this.a.b.push(b[0],b[1],Date.now());if(this.c){var c=this.c[0]-b[0],d=b[1]-this.c[1];a=a.map;var e=a.aa(),f=e.V(),d=c=[c,d],g=f.resolution;d[0]*=g;d[1]*=g;Db(c,f.rotation);yb(c,f.center);c=e.Pd(c);a.render();e.nb(c)}this.c=b}
function ri(a){a=a.map;var b=a.aa();if(0===this.o.length){var c;if(c=!this.s&&this.a)if(c=this.a,6>c.b.length)c=!1;else{var d=Date.now()-c.i,e=c.b.length-3;if(c.b[e+2]<d)c=!1;else{for(var f=e-3;0<f&&c.b[f+2]>d;)f-=3;var d=c.b[e+2]-c.b[f+2],g=c.b[e]-c.b[f],e=c.b[e+1]-c.b[f+1];c.c=Math.atan2(e,g);c.a=Math.sqrt(g*g+e*e)/d;c=c.a>c.g}}c&&(c=this.a,c=(c.g-c.a)/c.f,e=this.a.c,f=b.ab(),this.j=Wh(this.a,f),a.Wa(this.j),f=a.Ga(f),c=a.Ma([f[0]-c*Math.cos(e),f[1]-c*Math.sin(e)]),c=b.Pd(c),b.nb(c));Ld(b,-1);a.render();
return!1}this.c=null;return!0}function pi(a){if(0<this.o.length&&this.A(a)){var b=a.map,c=b.aa();this.c=null;this.D||Ld(c,1);b.render();this.j&&kb(b.S,this.j)&&(c.nb(a.frameState.viewState.center),this.j=null);this.a&&(a=this.a,a.b.length=0,a.c=0,a.a=0);this.s=1<this.o.length;return!0}return!1}oi.prototype.Gc=sc;function si(a){a=a?a:{};li.call(this,{handleDownEvent:ti,handleDragEvent:ui,handleUpEvent:vi});this.c=a.condition?a.condition:ci;this.a=void 0;this.j=void 0!==a.duration?a.duration:250}x(si,li);function ui(a){if(ji(a)){var b=a.map,c=b.Za();a=a.pixel;c=Math.atan2(c[1]/2-a[1],a[0]-c[0]/2);if(void 0!==this.a){a=c-this.a;var d=b.aa(),e=d.La();b.render();Yh(b,d,e-a)}this.a=c}}
function vi(a){if(!ji(a))return!0;a=a.map;var b=a.aa();Ld(b,-1);var c=b.La(),d=this.j,c=b.constrainRotation(c,0);Yh(a,b,c,void 0,d);return!1}function ti(a){return ji(a)&&di(a)&&this.c(a)?(a=a.map,Ld(a.aa(),1),a.render(),this.a=void 0,!0):!1}si.prototype.Gc=sc;function wi(a){this.f=null;this.a=document.createElement("div");this.a.style.position="absolute";this.a.className="ol-box "+a;this.g=this.c=this.b=null}x(wi,Sa);wi.prototype.ka=function(){this.setMap(null)};function xi(a){var b=a.c,c=a.g;a=a.a.style;a.left=Math.min(b[0],c[0])+"px";a.top=Math.min(b[1],c[1])+"px";a.width=Math.abs(c[0]-b[0])+"px";a.height=Math.abs(c[1]-b[1])+"px"}
wi.prototype.setMap=function(a){if(this.b){this.b.A.removeChild(this.a);var b=this.a.style;b.left=b.top=b.width=b.height="inherit"}(this.b=a)&&this.b.A.appendChild(this.a)};function yi(a){var b=a.c,c=a.g,b=[b,[b[0],c[1]],c,[c[0],b[1]]].map(a.b.Ma,a.b);b[4]=b[0].slice();a.f?a.f.ra([b]):a.f=new E([b])}wi.prototype.X=function(){return this.f};function zi(a,b,c){Ua.call(this,a);this.coordinate=b;this.mapBrowserEvent=c}x(zi,Ua);function Ai(a){li.call(this,{handleDownEvent:Bi,handleDragEvent:Ci,handleUpEvent:Di});a=a?a:{};this.a=new wi(a.className||"ol-dragbox");this.c=null;this.C=a.condition?a.condition:rc;this.A=a.boxEndCondition?a.boxEndCondition:Ei}x(Ai,li);function Ei(a,b,c){a=c[0]-b[0];b=c[1]-b[1];return 64<=a*a+b*b}
function Ci(a){if(ji(a)){var b=this.a,c=a.pixel;b.c=this.c;b.g=c;yi(b);xi(b);this.b(new zi("boxdrag",a.coordinate,a))}}Ai.prototype.X=function(){return this.a.X()};Ai.prototype.s=oa;function Di(a){if(!ji(a))return!0;this.a.setMap(null);this.A(a,this.c,a.pixel)&&(this.s(a),this.b(new zi("boxend",a.coordinate,a)));return!1}
function Bi(a){if(ji(a)&&di(a)&&this.C(a)){this.c=a.pixel;this.a.setMap(a.map);var b=this.a,c=this.c;b.c=this.c;b.g=c;yi(b);xi(b);this.b(new zi("boxstart",a.coordinate,a));return!0}return!1};function Fi(a){a=a?a:{};var b=a.condition?a.condition:hi;this.j=void 0!==a.duration?a.duration:200;this.S=void 0!==a.out?a.out:!1;Ai.call(this,{condition:b,className:a.className||"ol-dragzoom"})}x(Fi,Ai);
Fi.prototype.s=function(){var a=this.v,b=a.aa(),c=a.Za(),d=this.X().H();if(this.S){var e=b.Kc(c),d=[a.Ga(cc(d)),a.Ga(ec(d))],f=Vb(Infinity,Infinity,-Infinity,-Infinity,void 0),g,h;g=0;for(h=d.length;g<h;++g)Lb(f,d[g]);pc(e,1/Hd(f,c));d=e}c=b.constrainResolution(Hd(d,c));e=b.$();f=b.ab();a.Wa(Vd({resolution:e,duration:this.j,easing:Nd}));a.Wa(Td({source:f,duration:this.j,easing:Nd}));b.nb(lc(d));b.Vb(c)};function Gi(a){Xh.call(this,{handleEvent:Hi});a=a||{};this.a=function(a){return gi(a)&&ii(a)};this.c=void 0!==a.condition?a.condition:this.a;this.o=void 0!==a.duration?a.duration:100;this.j=void 0!==a.pixelDelta?a.pixelDelta:128}x(Gi,Xh);
function Hi(a){var b=!1;if("keydown"==a.type){var c=a.originalEvent.keyCode;if(this.c(a)&&(40==c||37==c||39==c||38==c)){var d=a.map,b=d.aa(),e=b.$()*this.j,f=0,g=0;40==c?g=-e:37==c?f=-e:39==c?f=e:g=e;c=[f,g];Db(c,b.La());e=this.o;if(f=b.ab())e&&0<e&&d.Wa(Td({source:f,duration:e,easing:Rd})),d=b.Pd([f[0]+c[0],f[1]+c[1]]),b.nb(d);a.preventDefault();b=!0}}return!b};function Ii(a){Xh.call(this,{handleEvent:Ji});a=a?a:{};this.c=a.condition?a.condition:ii;this.a=a.delta?a.delta:1;this.o=void 0!==a.duration?a.duration:100}x(Ii,Xh);function Ji(a){var b=!1;if("keydown"==a.type||"keypress"==a.type){var c=a.originalEvent.charCode;if(this.c(a)&&(43==c||45==c)){b=a.map;c=43==c?this.a:-this.a;b.render();var d=b.aa();Zh(b,d,c,void 0,this.o);a.preventDefault();b=!0}}return!b};function Ki(a){Xh.call(this,{handleEvent:Li});a=a||{};this.c=0;this.D=void 0!==a.duration?a.duration:250;this.s=void 0!==a.useAnchor?a.useAnchor:!0;this.a=null;this.j=this.o=void 0}x(Ki,Xh);
function Li(a){var b=!1;if("wheel"==a.type||"mousewheel"==a.type){var b=a.map,c=a.originalEvent;this.s&&(this.a=a.coordinate);var d;"wheel"==a.type?(d=c.deltaY,Xf&&c.deltaMode===pa.WheelEvent.DOM_DELTA_PIXEL&&(d/=$f),c.deltaMode===pa.WheelEvent.DOM_DELTA_LINE&&(d*=40)):"mousewheel"==a.type&&(d=-c.wheelDeltaY,Yf&&(d/=3));this.c+=d;void 0===this.o&&(this.o=Date.now());d=Math.max(80-(Date.now()-this.o),0);pa.clearTimeout(this.j);this.j=pa.setTimeout(this.A.bind(this,b),d);a.preventDefault();b=!0}return!b}
Ki.prototype.A=function(a){var b=sa(this.c,-1,1),c=a.aa();a.render();Zh(a,c,-b,this.a,this.D);this.c=0;this.a=null;this.j=this.o=void 0};Ki.prototype.C=function(a){this.s=a;a||(this.a=null)};function Mi(a){li.call(this,{handleDownEvent:Ni,handleDragEvent:Oi,handleUpEvent:Pi});a=a||{};this.c=null;this.j=void 0;this.a=!1;this.s=0;this.C=void 0!==a.threshold?a.threshold:.3;this.A=void 0!==a.duration?a.duration:250}x(Mi,li);
function Oi(a){var b=0,c=this.o[0],d=this.o[1],c=Math.atan2(d.clientY-c.clientY,d.clientX-c.clientX);void 0!==this.j&&(b=c-this.j,this.s+=b,!this.a&&Math.abs(this.s)>this.C&&(this.a=!0));this.j=c;a=a.map;c=a.a.getBoundingClientRect();d=ni(this.o);d[0]-=c.left;d[1]-=c.top;this.c=a.Ma(d);this.a&&(c=a.aa(),d=c.La(),a.render(),Yh(a,c,d+b,this.c))}
function Pi(a){if(2>this.o.length){a=a.map;var b=a.aa();Ld(b,-1);if(this.a){var c=b.La(),d=this.c,e=this.A,c=b.constrainRotation(c,0);Yh(a,b,c,d,e)}return!1}return!0}function Ni(a){return 2<=this.o.length?(a=a.map,this.c=null,this.j=void 0,this.a=!1,this.s=0,this.D||Ld(a.aa(),1),a.render(),!0):!1}Mi.prototype.Gc=sc;function Qi(a){li.call(this,{handleDownEvent:Ri,handleDragEvent:Si,handleUpEvent:Ti});a=a?a:{};this.c=null;this.s=void 0!==a.duration?a.duration:400;this.a=void 0;this.j=1}x(Qi,li);function Si(a){var b=1,c=this.o[0],d=this.o[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);void 0!==this.a&&(b=this.a/e);this.a=e;1!=b&&(this.j=b);a=a.map;var e=a.aa(),c=e.$(),d=a.a.getBoundingClientRect(),f=ni(this.o);f[0]-=d.left;f[1]-=d.top;this.c=a.Ma(f);a.render();$h(a,e,c*b,this.c)}
function Ti(a){if(2>this.o.length){a=a.map;var b=a.aa();Ld(b,-1);var c=b.$(),d=this.c,e=this.s,c=b.constrainResolution(c,0,this.j-1);$h(a,b,c,d,e);return!1}return!0}function Ri(a){return 2<=this.o.length?(a=a.map,this.c=null,this.a=void 0,this.j=1,this.D||Ld(a.aa(),1),a.render(),!0):!1}Qi.prototype.Gc=sc;function Ui(a){a=a?a:{};var b=new be,c=new Vh(-.005,.05,100);(void 0!==a.altShiftDragRotate?a.altShiftDragRotate:1)&&b.push(new si);(void 0!==a.doubleClickZoom?a.doubleClickZoom:1)&&b.push(new ai({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.dragPan?a.dragPan:1)&&b.push(new oi({kinetic:c}));(void 0!==a.pinchRotate?a.pinchRotate:1)&&b.push(new Mi);(void 0!==a.pinchZoom?a.pinchZoom:1)&&b.push(new Qi({duration:a.zoomDuration}));if(void 0!==a.keyboard?a.keyboard:1)b.push(new Gi),b.push(new Ii({delta:a.zoomDelta,
duration:a.zoomDuration}));(void 0!==a.mouseWheelZoom?a.mouseWheelZoom:1)&&b.push(new Ki({duration:a.zoomDuration}));(void 0!==a.shiftDragZoom?a.shiftDragZoom:1)&&b.push(new Fi({duration:a.zoomDuration}));return b};function Vi(a){var b=a||{};a=Ca({},b);delete a.layers;b=b.layers;nh.call(this,a);this.f=[];this.a={};B(this,db("layers"),this.Tk,this);b?Array.isArray(b)&&(b=new be(b.slice())):b=new be;this.oh(b)}x(Vi,nh);k=Vi.prototype;k.ce=function(){this.yb()&&this.u()};
k.Tk=function(){this.f.forEach(Ka);this.f.length=0;var a=this.Tc();this.f.push(B(a,"add",this.Sk,this),B(a,"remove",this.Uk,this));for(var b in this.a)this.a[b].forEach(Ka);Da(this.a);var a=a.a,c,d;b=0;for(c=a.length;b<c;b++)d=a[b],this.a[t(d).toString()]=[B(d,"propertychange",this.ce,this),B(d,"change",this.ce,this)];this.u()};k.Sk=function(a){a=a.element;var b=t(a).toString();this.a[b]=[B(a,"propertychange",this.ce,this),B(a,"change",this.ce,this)];this.u()};
k.Uk=function(a){a=t(a.element).toString();this.a[a].forEach(Ka);delete this.a[a];this.u()};k.Tc=function(){return this.get("layers")};k.oh=function(a){this.set("layers",a)};
k.hf=function(a){var b=void 0!==a?a:[],c=b.length;this.Tc().forEach(function(a){a.hf(b)});a=oh(this);var d,e;for(d=b.length;c<d;c++)e=b[c],e.opacity*=a.opacity,e.visible=e.visible&&a.visible,e.maxResolution=Math.min(e.maxResolution,a.maxResolution),e.minResolution=Math.max(e.minResolution,a.minResolution),void 0!==a.extent&&(e.extent=void 0!==e.extent?nc(e.extent,a.extent):a.extent);return b};k.kf=function(){return"ready"};function Wi(a){wc.call(this,{code:a,units:"m",extent:Xi,global:!0,worldExtent:Yi})}x(Wi,wc);Wi.prototype.getPointResolution=function(a,b){return a/ta(b[1]/6378137)};var Zi=6378137*Math.PI,Xi=[-Zi,-Zi,Zi,Zi],Yi=[-180,-85,180,85],Ic="EPSG:3857 EPSG:102100 EPSG:102113 EPSG:900913 urn:ogc:def:crs:EPSG:6.18:3:3857 urn:ogc:def:crs:EPSG::3857 http://www.opengis.net/gml/srs/epsg.xml#3857".split(" ").map(function(a){return new Wi(a)});
function Jc(a,b,c){var d=a.length;c=1<c?c:2;void 0===b&&(2<c?b=a.slice():b=Array(d));for(var e=0;e<d;e+=c)b[e]=6378137*Math.PI*a[e]/180,b[e+1]=6378137*Math.log(Math.tan(Math.PI*(a[e+1]+90)/360));return b}function Kc(a,b,c){var d=a.length;c=1<c?c:2;void 0===b&&(2<c?b=a.slice():b=Array(d));for(var e=0;e<d;e+=c)b[e]=180*a[e]/(6378137*Math.PI),b[e+1]=360*Math.atan(Math.exp(a[e+1]/6378137))/Math.PI-90;return b};var $i=new tc(6378137);function aj(a,b){wc.call(this,{code:a,units:"degrees",extent:bj,axisOrientation:b,global:!0,metersPerUnit:cj,worldExtent:bj})}x(aj,wc);aj.prototype.getPointResolution=function(a){return a};
var bj=[-180,-90,180,90],cj=Math.PI*$i.radius/180,Lc=[new aj("CRS:84"),new aj("EPSG:4326","neu"),new aj("urn:ogc:def:crs:EPSG::4326","neu"),new aj("urn:ogc:def:crs:EPSG:6.6:4326","neu"),new aj("urn:ogc:def:crs:OGC:1.3:CRS84"),new aj("urn:ogc:def:crs:OGC:2:84"),new aj("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new aj("urn:x-ogc:def:crs:EPSG:4326","neu")];function dj(){Ac(Ic);Ac(Lc);Hc()};function ej(a){rh.call(this,a?a:{})}x(ej,rh);function F(a){a=a?a:{};var b=Ca({},a);delete b.preload;delete b.useInterimTilesOnError;rh.call(this,b);this.l(void 0!==a.preload?a.preload:0);this.A(void 0!==a.useInterimTilesOnError?a.useInterimTilesOnError:!0)}x(F,rh);F.prototype.f=function(){return this.get("preload")};F.prototype.l=function(a){this.set("preload",a)};F.prototype.c=function(){return this.get("useInterimTilesOnError")};F.prototype.A=function(a){this.set("useInterimTilesOnError",a)};var fj=[0,0,0,1],gj=[],hj=[0,0,0,1];function ij(a,b,c,d){0!==b&&(a.translate(c,d),a.rotate(b),a.translate(-c,-d))};function jj(a){a=a||{};this.b=void 0!==a.color?a.color:null;this.a=void 0}jj.prototype.g=function(){return this.b};jj.prototype.f=function(a){this.b=a;this.a=void 0};function kj(a){void 0===a.a&&(a.a=a.b instanceof CanvasPattern||a.b instanceof CanvasGradient?t(a.b).toString():"f"+(a.b?le(a.b):"-"));return a.a};function lj(){this.a=-1};function mj(){this.a=64;this.b=Array(4);this.c=Array(this.a);this.b[0]=1732584193;this.b[1]=4023233417;this.b[2]=2562383102;this.b[3]=271733878;this.f=this.g=0}(function(){function a(){}a.prototype=lj.prototype;mj.a=lj.prototype;mj.prototype=new a;mj.prototype.constructor=mj;mj.b=function(a,c,d){for(var e=Array(arguments.length-2),f=2;f<arguments.length;f++)e[f-2]=arguments[f];return lj.prototype[c].apply(a,e)}})();
function nj(a,b,c){c||(c=0);var d=Array(16);if(ea(b))for(var e=0;16>e;++e)d[e]=b.charCodeAt(c++)|b.charCodeAt(c++)<<8|b.charCodeAt(c++)<<16|b.charCodeAt(c++)<<24;else for(e=0;16>e;++e)d[e]=b[c++]|b[c++]<<8|b[c++]<<16|b[c++]<<24;b=a.b[0];c=a.b[1];var e=a.b[2],f=a.b[3],g;g=b+(f^c&(e^f))+d[0]+3614090360&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[1]+3905402710&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[2]+606105819&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+
d[3]+3250441966&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[4]+4118548399&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[5]+1200080426&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[6]+2821735955&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[7]+4249261313&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[8]+1770035416&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[9]+2336552879&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&
(b^c))+d[10]+4294925233&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[11]+2304563134&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[12]+1804603682&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[13]+4254626195&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[14]+2792965006&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[15]+1236535329&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(e^f&(c^e))+d[1]+4129170786&4294967295;b=c+(g<<5&4294967295|g>>>
27);g=f+(c^e&(b^c))+d[6]+3225465664&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[11]+643717713&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[0]+3921069994&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[5]+3593408605&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[10]+38016083&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[15]+3634488961&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[4]+3889429448&4294967295;c=e+(g<<20&4294967295|
g>>>12);g=b+(e^f&(c^e))+d[9]+568446438&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[14]+3275163606&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[3]+4107603335&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[8]+1163531501&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[13]+2850285829&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[2]+4243563512&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[7]+1735328473&4294967295;e=f+(g<<14&4294967295|
g>>>18);g=c+(f^b&(e^f))+d[12]+2368359562&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(c^e^f)+d[5]+4294588738&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[8]+2272392833&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[11]+1839030562&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[14]+4259657740&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[1]+2763975236&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[4]+1272893353&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^
b^c)+d[7]+4139469664&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[10]+3200236656&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[13]+681279174&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[0]+3936430074&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[3]+3572445317&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[6]+76029189&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[9]+3654602809&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[12]+3873151461&4294967295;
f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[15]+530742520&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[2]+3299628645&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(e^(c|~f))+d[0]+4096336452&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[7]+1126891415&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[14]+2878612391&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[5]+4237533241&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[12]+1700485571&4294967295;b=c+
(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[3]+2399980690&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[10]+4293915773&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[1]+2240044497&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[8]+1873313359&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[15]+4264355552&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[6]+2734768916&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[13]+1309151649&4294967295;
c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[4]+4149444226&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[11]+3174756917&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[2]+718787259&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[9]+3951481745&4294967295;a.b[0]=a.b[0]+b&4294967295;a.b[1]=a.b[1]+(e+(g<<21&4294967295|g>>>11))&4294967295;a.b[2]=a.b[2]+e&4294967295;a.b[3]=a.b[3]+f&4294967295}
function oj(a,b){var c;void 0===c&&(c=b.length);for(var d=c-a.a,e=a.c,f=a.g,g=0;g<c;){if(0==f)for(;g<=d;)nj(a,b,g),g+=a.a;if(ea(b))for(;g<c;){if(e[f++]=b.charCodeAt(g++),f==a.a){nj(a,e);f=0;break}}else for(;g<c;)if(e[f++]=b[g++],f==a.a){nj(a,e);f=0;break}}a.g=f;a.f+=c};function pj(a){a=a||{};this.b=void 0!==a.color?a.color:null;this.f=a.lineCap;this.g=void 0!==a.lineDash?a.lineDash:null;this.c=a.lineJoin;this.i=a.miterLimit;this.a=a.width;this.l=void 0}k=pj.prototype;k.Kn=function(){return this.b};k.dk=function(){return this.f};k.Ln=function(){return this.g};k.ek=function(){return this.c};k.jk=function(){return this.i};k.Mn=function(){return this.a};k.Nn=function(a){this.b=a;this.l=void 0};k.fp=function(a){this.f=a;this.l=void 0};
k.On=function(a){this.g=a;this.l=void 0};k.gp=function(a){this.c=a;this.l=void 0};k.hp=function(a){this.i=a;this.l=void 0};k.lp=function(a){this.a=a;this.l=void 0};
function qj(a){if(void 0===a.l){var b="s"+(a.b?le(a.b):"-")+","+(void 0!==a.f?a.f.toString():"-")+","+(a.g?a.g.toString():"-")+","+(void 0!==a.c?a.c:"-")+","+(void 0!==a.i?a.i.toString():"-")+","+(void 0!==a.a?a.a.toString():"-"),c=new mj;oj(c,b);b=Array((56>c.g?c.a:2*c.a)-c.g);b[0]=128;for(var d=1;d<b.length-8;++d)b[d]=0;for(var e=8*c.f,d=b.length-8;d<b.length;++d)b[d]=e&255,e/=256;oj(c,b);b=Array(16);for(d=e=0;4>d;++d)for(var f=0;32>f;f+=8)b[e++]=c.b[d]>>>f&255;if(8192>=b.length)c=String.fromCharCode.apply(null,
b);else for(c="",d=0;d<b.length;d+=8192)e=fe(b,d,d+8192),c+=String.fromCharCode.apply(null,e);a.l=c}return a.l};function rj(a){a=a||{};this.l=this.f=this.c=null;this.g=void 0!==a.fill?a.fill:null;this.b=void 0!==a.stroke?a.stroke:null;this.a=a.radius;this.A=[0,0];this.s=this.C=this.o=null;var b=a.atlasManager,c,d=null,e,f=0;this.b&&(e=le(this.b.b),f=this.b.a,void 0===f&&(f=1),d=this.b.g,ag||(d=null));var g=2*(this.a+f)+1;e={strokeStyle:e,Bd:f,size:g,lineDash:d};if(void 0===b)b=Ge(g,g),this.f=b.canvas,c=g=this.f.width,this.Gh(e,b,0,0),this.g?this.l=this.f:(b=Ge(e.size,e.size),this.l=b.canvas,this.Fh(e,b,0,0));
else{g=Math.round(g);(d=!this.g)&&(c=this.Fh.bind(this,e));var f=this.b?qj(this.b):"-",h=this.g?kj(this.g):"-";this.c&&f==this.c[1]&&h==this.c[2]&&this.a==this.c[3]||(this.c=["c"+f+h+(void 0!==this.a?this.a.toString():"-"),f,h,this.a]);b=b.add(this.c[0],g,g,this.Gh.bind(this,e),c);this.f=b.image;this.A=[b.offsetX,b.offsetY];c=b.image.width;this.l=d?b.Sg:this.f}this.o=[g/2,g/2];this.C=[g,g];this.s=[c,c];Eh.call(this,{opacity:1,rotateWithView:!1,rotation:0,scale:1,snapToPixel:void 0!==a.snapToPixel?
a.snapToPixel:!0})}x(rj,Eh);k=rj.prototype;k.Zb=function(){return this.o};k.Bn=function(){return this.g};k.pe=function(){return this.l};k.jc=function(){return this.f};k.td=function(){return 2};k.ld=function(){return this.s};k.Ia=function(){return this.A};k.Cn=function(){return this.a};k.Gb=function(){return this.C};k.Dn=function(){return this.b};k.pf=oa;k.load=oa;k.Xf=oa;
k.Gh=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();b.arc(a.size/2,a.size/2,this.a,0,2*Math.PI,!0);this.g&&(b.fillStyle=ne(this.g.b),b.fill());this.b&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.Bd,a.lineDash&&b.setLineDash(a.lineDash),b.stroke());b.closePath()};
k.Fh=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();b.arc(a.size/2,a.size/2,this.a,0,2*Math.PI,!0);b.fillStyle=le(fj);b.fill();this.b&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.Bd,a.lineDash&&b.setLineDash(a.lineDash),b.stroke());b.closePath()};function sj(a){a=a||{};this.i=null;this.g=tj;void 0!==a.geometry&&this.Jh(a.geometry);this.c=void 0!==a.fill?a.fill:null;this.a=void 0!==a.image?a.image:null;this.f=void 0!==a.stroke?a.stroke:null;this.l=void 0!==a.text?a.text:null;this.b=a.zIndex}k=sj.prototype;k.X=function(){return this.i};k.Zj=function(){return this.g};k.Pn=function(){return this.c};k.Qn=function(){return this.a};k.Rn=function(){return this.f};k.Ha=function(){return this.l};k.Sn=function(){return this.b};
k.Jh=function(a){"function"===typeof a?this.g=a:"string"===typeof a?this.g=function(b){return b.get(a)}:a?a&&(this.g=function(){return a}):this.g=tj;this.i=a};k.Tn=function(a){this.b=a};function uj(a){if("function"!==typeof a){var b;b=Array.isArray(a)?a:[a];a=function(){return b}}return a}var vj=null;function wj(){if(!vj){var a=new jj({color:"rgba(255,255,255,0.4)"}),b=new pj({color:"#3399CC",width:1.25});vj=[new sj({image:new rj({fill:a,stroke:b,radius:5}),fill:a,stroke:b})]}return vj}
function xj(){var a={},b=[255,255,255,1],c=[0,153,255,1];a.Polygon=[new sj({fill:new jj({color:[255,255,255,.5]})})];a.MultiPolygon=a.Polygon;a.LineString=[new sj({stroke:new pj({color:b,width:5})}),new sj({stroke:new pj({color:c,width:3})})];a.MultiLineString=a.LineString;a.Circle=a.Polygon.concat(a.LineString);a.Point=[new sj({image:new rj({radius:6,fill:new jj({color:c}),stroke:new pj({color:b,width:1.5})}),zIndex:Infinity})];a.MultiPoint=a.Point;a.GeometryCollection=a.Polygon.concat(a.LineString,
a.Point);return a}function tj(a){return a.X()};function I(a){a=a?a:{};var b=Ca({},a);delete b.style;delete b.renderBuffer;delete b.updateWhileAnimating;delete b.updateWhileInteracting;rh.call(this,b);this.a=void 0!==a.renderBuffer?a.renderBuffer:100;this.A=null;this.i=void 0;this.l(a.style);this.P=void 0!==a.updateWhileAnimating?a.updateWhileAnimating:!1;this.T=void 0!==a.updateWhileInteracting?a.updateWhileInteracting:!1}x(I,rh);function yj(a){return a.get("renderOrder")}I.prototype.D=function(){return this.A};I.prototype.C=function(){return this.i};
I.prototype.l=function(a){this.A=void 0!==a?a:wj;this.i=null===a?void 0:uj(this.A);this.u()};function J(a){a=a?a:{};var b=Ca({},a);delete b.preload;delete b.useInterimTilesOnError;I.call(this,b);this.W(a.preload?a.preload:0);this.ia(a.useInterimTilesOnError?a.useInterimTilesOnError:!0);this.s=a.renderMode||"hybrid"}x(J,I);J.prototype.f=function(){return this.get("preload")};J.prototype.c=function(){return this.get("useInterimTilesOnError")};J.prototype.W=function(a){this.set("preload",a)};J.prototype.ia=function(a){this.set("useInterimTilesOnError",a)};function zj(a,b,c,d,e){this.f=a;this.A=b;this.c=c;this.C=d;this.Hc=e;this.i=this.b=this.a=this.ia=this.Ra=this.W=null;this.Ba=this.na=this.v=this.Aa=this.ya=this.S=0;this.Hb=!1;this.l=this.oa=0;this.za=!1;this.P=0;this.g="";this.j=this.D=this.cb=this.Sa=0;this.T=this.s=this.o=null;this.U=[];this.rb=ch()}x(zj,ph);
function Aj(a,b,c){if(a.i){b=Vc(b,0,c,2,a.C,a.U);c=a.f;var d=a.rb,e=c.globalAlpha;1!=a.v&&(c.globalAlpha=e*a.v);var f=a.oa;a.Hb&&(f+=a.Hc);var g,h;g=0;for(h=b.length;g<h;g+=2){var l=b[g]-a.S,m=b[g+1]-a.ya;a.za&&(l=Math.round(l),m=Math.round(m));if(0!==f||1!=a.l){var n=l+a.S,p=m+a.ya;lh(d,n,p,a.l,a.l,f,-n,-p);c.setTransform.apply(c,d)}c.drawImage(a.i,a.na,a.Ba,a.P,a.Aa,l,m,a.P,a.Aa)}0===f&&1==a.l||c.setTransform(1,0,0,1,0,0);1!=a.v&&(c.globalAlpha=e)}}
function Bj(a,b,c,d){var e=0;if(a.T&&""!==a.g){a.o&&Cj(a,a.o);a.s&&Dj(a,a.s);var f=a.T,g=a.f,h=a.ia;h?(h.font!=f.font&&(h.font=g.font=f.font),h.textAlign!=f.textAlign&&(h.textAlign=g.textAlign=f.textAlign),h.textBaseline!=f.textBaseline&&(h.textBaseline=g.textBaseline=f.textBaseline)):(g.font=f.font,g.textAlign=f.textAlign,g.textBaseline=f.textBaseline,a.ia={font:f.font,textAlign:f.textAlign,textBaseline:f.textBaseline});b=Vc(b,e,c,d,a.C,a.U);for(f=a.f;e<c;e+=d){g=b[e]+a.Sa;h=b[e+1]+a.cb;if(0!==a.D||
1!=a.j){var l=lh(a.rb,g,h,a.j,a.j,a.D,-g,-h);f.setTransform.apply(f,l)}a.s&&f.strokeText(a.g,g,h);a.o&&f.fillText(a.g,g,h)}0===a.D&&1==a.j||f.setTransform(1,0,0,1,0,0)}}function Ej(a,b,c,d,e,f){var g=a.f;a=Vc(b,c,d,e,a.C,a.U);g.moveTo(a[0],a[1]);b=a.length;f&&(b-=2);for(c=2;c<b;c+=2)g.lineTo(a[c],a[c+1]);f&&g.closePath();return d}function Fj(a,b,c,d,e){var f,g;f=0;for(g=d.length;f<g;++f)c=Ej(a,b,c,d[f],e,!0);return c}k=zj.prototype;
k.Rd=function(a){if(oc(this.c,a.H())){if(this.a||this.b){this.a&&Cj(this,this.a);this.b&&Dj(this,this.b);var b;b=this.C;var c=this.U,d=a.la();b=d?Vc(d,0,d.length,a.va(),b,c):null;c=b[2]-b[0];d=b[3]-b[1];c=Math.sqrt(c*c+d*d);d=this.f;d.beginPath();d.arc(b[0],b[1],c,0,2*Math.PI);this.a&&d.fill();this.b&&d.stroke()}""!==this.g&&Bj(this,a.rd(),2,2)}};k.sd=function(a){this.Tb(a.c,a.f);this.Ub(a.a);this.Wb(a.Ha())};
k.sc=function(a){switch(a.Y()){case "Point":this.uc(a);break;case "LineString":this.hd(a);break;case "Polygon":this.bf(a);break;case "MultiPoint":this.tc(a);break;case "MultiLineString":this.$e(a);break;case "MultiPolygon":this.af(a);break;case "GeometryCollection":this.Ze(a);break;case "Circle":this.Rd(a)}};k.Ye=function(a,b){var c=(0,b.g)(a);c&&oc(this.c,c.H())&&(this.sd(b),this.sc(c))};k.Ze=function(a){a=a.c;var b,c;b=0;for(c=a.length;b<c;++b)this.sc(a[b])};
k.uc=function(a){var b=a.la();a=a.va();this.i&&Aj(this,b,b.length);""!==this.g&&Bj(this,b,b.length,a)};k.tc=function(a){var b=a.la();a=a.va();this.i&&Aj(this,b,b.length);""!==this.g&&Bj(this,b,b.length,a)};k.hd=function(a){if(oc(this.c,a.H())){if(this.b){Dj(this,this.b);var b=this.f,c=a.la();b.beginPath();Ej(this,c,0,c.length,a.va(),!1);b.stroke()}""!==this.g&&(a=Gj(a),Bj(this,a,2,2))}};
k.$e=function(a){var b=a.H();if(oc(this.c,b)){if(this.b){Dj(this,this.b);var b=this.f,c=a.la(),d=0,e=a.Eb(),f=a.va();b.beginPath();var g,h;g=0;for(h=e.length;g<h;++g)d=Ej(this,c,d,e[g],f,!1);b.stroke()}""!==this.g&&(a=Hj(a),Bj(this,a,a.length,2))}};k.bf=function(a){if(oc(this.c,a.H())){if(this.b||this.a){this.a&&Cj(this,this.a);this.b&&Dj(this,this.b);var b=this.f;b.beginPath();Fj(this,a.Nb(),0,a.Eb(),a.va());this.a&&b.fill();this.b&&b.stroke()}""!==this.g&&(a=Ad(a),Bj(this,a,2,2))}};
k.af=function(a){if(oc(this.c,a.H())){if(this.b||this.a){this.a&&Cj(this,this.a);this.b&&Dj(this,this.b);var b=this.f,c=Ij(a),d=0,e=a.i,f=a.va(),g,h;g=0;for(h=e.length;g<h;++g){var l=e[g];b.beginPath();d=Fj(this,c,d,l,f);this.a&&b.fill();this.b&&b.stroke()}}""!==this.g&&(a=Jj(a),Bj(this,a,a.length,2))}};function Cj(a,b){var c=a.f,d=a.W;d?d.fillStyle!=b.fillStyle&&(d.fillStyle=c.fillStyle=b.fillStyle):(c.fillStyle=b.fillStyle,a.W={fillStyle:b.fillStyle})}
function Dj(a,b){var c=a.f,d=a.Ra;d?(d.lineCap!=b.lineCap&&(d.lineCap=c.lineCap=b.lineCap),ag&&!mb(d.lineDash,b.lineDash)&&c.setLineDash(d.lineDash=b.lineDash),d.lineJoin!=b.lineJoin&&(d.lineJoin=c.lineJoin=b.lineJoin),d.lineWidth!=b.lineWidth&&(d.lineWidth=c.lineWidth=b.lineWidth),d.miterLimit!=b.miterLimit&&(d.miterLimit=c.miterLimit=b.miterLimit),d.strokeStyle!=b.strokeStyle&&(d.strokeStyle=c.strokeStyle=b.strokeStyle)):(c.lineCap=b.lineCap,ag&&c.setLineDash(b.lineDash),c.lineJoin=b.lineJoin,c.lineWidth=
b.lineWidth,c.miterLimit=b.miterLimit,c.strokeStyle=b.strokeStyle,a.Ra={lineCap:b.lineCap,lineDash:b.lineDash,lineJoin:b.lineJoin,lineWidth:b.lineWidth,miterLimit:b.miterLimit,strokeStyle:b.strokeStyle})}
k.Tb=function(a,b){if(a){var c=a.b;this.a={fillStyle:ne(c?c:fj)}}else this.a=null;if(b){var c=b.b,d=b.f,e=b.g,f=b.c,g=b.a,h=b.i;this.b={lineCap:void 0!==d?d:"round",lineDash:e?e:gj,lineJoin:void 0!==f?f:"round",lineWidth:this.A*(void 0!==g?g:1),miterLimit:void 0!==h?h:10,strokeStyle:le(c?c:hj)}}else this.b=null};
k.Ub=function(a){if(a){var b=a.Zb(),c=a.jc(1),d=a.Ia(),e=a.Gb();this.S=b[0];this.ya=b[1];this.Aa=e[1];this.i=c;this.v=a.v;this.na=d[0];this.Ba=d[1];this.Hb=a.U;this.oa=a.j;this.l=a.i;this.za=a.D;this.P=e[0]}else this.i=null};
k.Wb=function(a){if(a){var b=a.b;b?(b=b.b,this.o={fillStyle:ne(b?b:fj)}):this.o=null;var c=a.l;if(c){var b=c.b,d=c.f,e=c.g,f=c.c,g=c.a,c=c.i;this.s={lineCap:void 0!==d?d:"round",lineDash:e?e:gj,lineJoin:void 0!==f?f:"round",lineWidth:void 0!==g?g:1,miterLimit:void 0!==c?c:10,strokeStyle:le(b?b:hj)}}else this.s=null;var b=a.g,d=a.f,e=a.c,f=a.i,g=a.a,c=a.Ha(),h=a.o;a=a.j;this.T={font:void 0!==b?b:"10px sans-serif",textAlign:void 0!==h?h:"center",textBaseline:void 0!==a?a:"middle"};this.g=void 0!==c?
c:"";this.Sa=void 0!==d?this.A*d:0;this.cb=void 0!==e?this.A*e:0;this.D=void 0!==f?f:0;this.j=this.A*(void 0!==g?g:1)}else this.g=""};function Kj(a){vh.call(this,a);this.S=ch()}x(Kj,vh);
Kj.prototype.i=function(a,b,c){Lj(this,"precompose",c,a,void 0);var d=this.f?this.f.a():null;if(d){var e=b.extent,f=void 0!==e;if(f){var g=a.pixelRatio,h=a.size[0]*g,l=a.size[1]*g,m=a.viewState.rotation,n=fc(e),p=ec(e),q=dc(e),e=cc(e);hh(a.coordinateToPixelTransform,n);hh(a.coordinateToPixelTransform,p);hh(a.coordinateToPixelTransform,q);hh(a.coordinateToPixelTransform,e);c.save();ij(c,-m,h/2,l/2);c.beginPath();c.moveTo(n[0]*g,n[1]*g);c.lineTo(p[0]*g,p[1]*g);c.lineTo(q[0]*g,q[1]*g);c.lineTo(e[0]*
g,e[1]*g);c.clip();ij(c,m,h/2,l/2)}g=this.s;h=c.globalAlpha;c.globalAlpha=b.opacity;c.drawImage(d,0,0,+d.width,+d.height,Math.round(g[4]),Math.round(g[5]),Math.round(d.width*g[0]),Math.round(d.height*g[3]));c.globalAlpha=h;f&&c.restore()}Mj(this,c,a)};
function Lj(a,b,c,d,e){var f=a.a;if(Ya(f,b)){var g=d.size[0]*d.pixelRatio,h=d.size[1]*d.pixelRatio,l=d.viewState.rotation;ij(c,-l,g/2,h/2);a=void 0!==e?e:Nj(a,d,0);f.b(new qh(b,new zj(c,d.pixelRatio,d.extent,a,d.viewState.rotation),d,c,null));ij(c,l,g/2,h/2)}}function Mj(a,b,c,d){Lj(a,"postcompose",b,c,d)}function Nj(a,b,c){var d=b.viewState,e=b.pixelRatio,f=e/d.resolution;return lh(a.S,e*b.size[0]/2,e*b.size[1]/2,f,-f,-d.rotation,-d.center[0]+c,-d.center[1])};var Oj=["Polygon","LineString","Image","Text"];function Pj(a,b,c,d){this.Ba=a;this.T=b;this.overlaps=d;this.f=null;this.c=0;this.resolution=c;this.Aa=this.ya=null;this.a=[];this.coordinates=[];this.Ra=ch();this.b=[];this.W=[];this.ia=ch();this.na=ch()}x(Pj,ph);
function Qj(a,b,c,d,e,f){var g=a.coordinates.length,h=a.df(),l=[b[c],b[c+1]],m=[NaN,NaN],n=!0,p,q,r;for(p=c+e;p<d;p+=e)m[0]=b[p],m[1]=b[p+1],r=Tb(h,m),r!==q?(n&&(a.coordinates[g++]=l[0],a.coordinates[g++]=l[1]),a.coordinates[g++]=m[0],a.coordinates[g++]=m[1],n=!1):1===r?(a.coordinates[g++]=m[0],a.coordinates[g++]=m[1],n=!1):n=!0,l[0]=m[0],l[1]=m[1],q=r;p===c+e&&(a.coordinates[g++]=l[0],a.coordinates[g++]=l[1]);f&&(a.coordinates[g++]=b[c],a.coordinates[g++]=b[c+1]);return g}
function Rj(a,b){a.ya=[0,b,0];a.a.push(a.ya);a.Aa=[0,b,0];a.b.push(a.Aa)}
function Sj(a,b,c,d,e,f,g,h,l){var m;mb(d,a.Ra)?m=a.W:(m=Vc(a.coordinates,0,a.coordinates.length,2,d,a.W),gh(a.Ra,d));d=!Ga(f);var n=0,p=g.length,q,r,v=a.ia,y=a.na,w,G,z,D,H=0,ba=0;for(a=a.a!=g||a.overlaps?0:200;n<p;){var A=g[n],Fa,Ja,M,ma;switch(A[0]){case 0:q=A[1];d&&f[t(q).toString()]||!q.X()?n=A[2]:void 0===l||oc(l,q.X().H())?++n:n=A[2];break;case 1:H>a&&(b.fill(),H=0);ba>a&&(b.stroke(),ba=0);H||ba||b.beginPath();++n;break;case 2:q=A[1];r=m[q];A=m[q+1];z=m[q+2];q=m[q+3];D=z-r;ma=q-A;D=Math.sqrt(D*
D+ma*ma);b.moveTo(z,q);b.arc(r,A,D,0,2*Math.PI,!0);++n;break;case 3:b.closePath();++n;break;case 4:q=A[1];r=A[2];Fa=A[3];M=A[4]*c;var Ub=A[5]*c,Kb=A[6];Ja=A[7];var Hb=A[8],Xb=A[9];z=A[11];D=A[12];var gc=A[13],Nb=A[14];for(A[10]&&(z+=e);q<r;q+=2){A=m[q]-M;ma=m[q+1]-Ub;gc&&(A=Math.round(A),ma=Math.round(ma));if(1!=D||0!==z){var Od=A+M,sf=ma+Ub;lh(v,Od,sf,D,D,z,-Od,-sf);b.transform.apply(b,v)}Od=b.globalAlpha;1!=Ja&&(b.globalAlpha=Od*Ja);var sf=Nb+Hb>Fa.width?Fa.width-Hb:Nb,Pd=Kb+Xb>Fa.height?Fa.height-
Xb:Kb;b.drawImage(Fa,Hb,Xb,sf,Pd,A,ma,sf*c,Pd*c);1!=Ja&&(b.globalAlpha=Od);if(1!=D||0!==z)mh(gh(y,v)),b.transform.apply(b,y)}++n;break;case 5:q=A[1];r=A[2];M=A[3];Ub=A[4]*c;Kb=A[5]*c;z=A[6];D=A[7]*c;Fa=A[8];for(Ja=A[9];q<r;q+=2){A=m[q]+Ub;ma=m[q+1]+Kb;if(1!=D||0!==z)lh(v,A,ma,D,D,z,-A,-ma),b.transform.apply(b,v);Hb=M.split("\n");Xb=Hb.length;1<Xb?(gc=Math.round(1.5*b.measureText("M").width),ma-=(Xb-1)/2*gc):gc=0;for(Nb=0;Nb<Xb;Nb++)Od=Hb[Nb],Ja&&b.strokeText(Od,A,ma),Fa&&b.fillText(Od,A,ma),ma+=gc;
if(1!=D||0!==z)mh(gh(y,v)),b.transform.apply(b,y)}++n;break;case 6:if(void 0!==h&&(q=A[1],q=h(q)))return q;++n;break;case 7:a?H++:b.fill();++n;break;case 8:q=A[1];r=A[2];A=m[q];ma=m[q+1];z=A+.5|0;D=ma+.5|0;if(z!==w||D!==G)b.moveTo(A,ma),w=z,G=D;for(q+=2;q<r;q+=2)if(A=m[q],ma=m[q+1],z=A+.5|0,D=ma+.5|0,q==r-2||z!==w||D!==G)b.lineTo(A,ma),w=z,G=D;++n;break;case 9:H&&(b.fill(),H=0);b.fillStyle=A[1];++n;break;case 10:w=void 0!==A[7]?A[7]:!0;G=A[2];ba&&(b.stroke(),ba=0);b.strokeStyle=A[1];b.lineWidth=w?
G*c:G;b.lineCap=A[3];b.lineJoin=A[4];b.miterLimit=A[5];ag&&b.setLineDash(A[6]);G=w=NaN;++n;break;case 11:b.font=A[1];b.textAlign=A[2];b.textBaseline=A[3];++n;break;case 12:a?ba++:b.stroke();++n;break;default:++n}}H&&b.fill();ba&&b.stroke()}Pj.prototype.Pa=function(a,b,c,d,e){Sj(this,a,b,c,d,e,this.a,void 0,void 0)};
function Tj(a){var b=a.b;b.reverse();var c,d=b.length,e,f,g=-1;for(c=0;c<d;++c)if(e=b[c],f=e[0],6==f)g=c;else if(0==f){e[2]=c;e=a.b;for(f=c;g<f;){var h=e[g];e[g]=e[f];e[f]=h;++g;--f}g=-1}}function Uj(a,b){a.ya[2]=a.a.length;a.ya=null;a.Aa[2]=a.b.length;a.Aa=null;var c=[6,b];a.a.push(c);a.b.push(c)}Pj.prototype.ke=oa;Pj.prototype.df=function(){return this.T};
function Vj(a,b,c,d){Pj.call(this,a,b,c,d);this.o=this.P=null;this.S=this.C=this.D=this.A=this.U=this.v=this.s=this.j=this.l=this.i=this.g=void 0}x(Vj,Pj);Vj.prototype.uc=function(a,b){if(this.o){Rj(this,b);var c=a.la(),d=this.coordinates.length,c=Qj(this,c,0,c.length,a.va(),!1);this.a.push([4,d,c,this.o,this.g,this.i,this.l,this.j,this.s,this.v,this.U,this.A,this.D,this.C,this.S]);this.b.push([4,d,c,this.P,this.g,this.i,this.l,this.j,this.s,this.v,this.U,this.A,this.D,this.C,this.S]);Uj(this,b)}};
Vj.prototype.tc=function(a,b){if(this.o){Rj(this,b);var c=a.la(),d=this.coordinates.length,c=Qj(this,c,0,c.length,a.va(),!1);this.a.push([4,d,c,this.o,this.g,this.i,this.l,this.j,this.s,this.v,this.U,this.A,this.D,this.C,this.S]);this.b.push([4,d,c,this.P,this.g,this.i,this.l,this.j,this.s,this.v,this.U,this.A,this.D,this.C,this.S]);Uj(this,b)}};Vj.prototype.ke=function(){Tj(this);this.i=this.g=void 0;this.o=this.P=null;this.S=this.C=this.A=this.U=this.v=this.s=this.j=this.D=this.l=void 0};
Vj.prototype.Ub=function(a){var b=a.Zb(),c=a.Gb(),d=a.pe(1),e=a.jc(1),f=a.Ia();this.g=b[0];this.i=b[1];this.P=d;this.o=e;this.l=c[1];this.j=a.v;this.s=f[0];this.v=f[1];this.U=a.U;this.A=a.j;this.D=a.i;this.C=a.D;this.S=c[0]};function Wj(a,b,c,d){Pj.call(this,a,b,c,d);this.g={fd:void 0,ad:void 0,bd:null,cd:void 0,dd:void 0,ed:void 0,nf:0,strokeStyle:void 0,lineCap:void 0,lineDash:null,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0}}x(Wj,Pj);
function Xj(a,b,c,d,e){var f=a.coordinates.length;b=Qj(a,b,c,d,e,!1);f=[8,f,b];a.a.push(f);a.b.push(f);return d}k=Wj.prototype;k.df=function(){this.f||(this.f=Ob(this.T),0<this.c&&Mb(this.f,this.resolution*(this.c+1)/2,this.f));return this.f};
function Yj(a){var b=a.g,c=b.strokeStyle,d=b.lineCap,e=b.lineDash,f=b.lineJoin,g=b.lineWidth,h=b.miterLimit;b.fd==c&&b.ad==d&&mb(b.bd,e)&&b.cd==f&&b.dd==g&&b.ed==h||(b.nf!=a.coordinates.length&&(a.a.push([12]),b.nf=a.coordinates.length),a.a.push([10,c,g,d,f,h,e],[1]),b.fd=c,b.ad=d,b.bd=e,b.cd=f,b.dd=g,b.ed=h)}
k.hd=function(a,b){var c=this.g,d=c.lineWidth;void 0!==c.strokeStyle&&void 0!==d&&(Yj(this),Rj(this,b),this.b.push([10,c.strokeStyle,c.lineWidth,c.lineCap,c.lineJoin,c.miterLimit,c.lineDash],[1]),c=a.la(),Xj(this,c,0,c.length,a.va()),this.b.push([12]),Uj(this,b))};
k.$e=function(a,b){var c=this.g,d=c.lineWidth;if(void 0!==c.strokeStyle&&void 0!==d){Yj(this);Rj(this,b);this.b.push([10,c.strokeStyle,c.lineWidth,c.lineCap,c.lineJoin,c.miterLimit,c.lineDash],[1]);var c=a.Eb(),d=a.la(),e=a.va(),f=0,g,h;g=0;for(h=c.length;g<h;++g)f=Xj(this,d,f,c[g],e);this.b.push([12]);Uj(this,b)}};k.ke=function(){this.g.nf!=this.coordinates.length&&this.a.push([12]);Tj(this);this.g=null};
k.Tb=function(a,b){var c=b.b;this.g.strokeStyle=le(c?c:hj);c=b.f;this.g.lineCap=void 0!==c?c:"round";c=b.g;this.g.lineDash=c?c:gj;c=b.c;this.g.lineJoin=void 0!==c?c:"round";c=b.a;this.g.lineWidth=void 0!==c?c:1;c=b.i;this.g.miterLimit=void 0!==c?c:10;this.g.lineWidth>this.c&&(this.c=this.g.lineWidth,this.f=null)};
function Zj(a,b,c,d){Pj.call(this,a,b,c,d);this.g={ug:void 0,fd:void 0,ad:void 0,bd:null,cd:void 0,dd:void 0,ed:void 0,fillStyle:void 0,strokeStyle:void 0,lineCap:void 0,lineDash:null,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0}}x(Zj,Pj);
function ak(a,b,c,d,e){var f=a.g,g=[1];a.a.push(g);a.b.push(g);var h,g=0;for(h=d.length;g<h;++g){var l=d[g],m=a.coordinates.length;c=Qj(a,b,c,l,e,!0);c=[8,m,c];m=[3];a.a.push(c,m);a.b.push(c,m);c=l}b=[7];a.b.push(b);void 0!==f.fillStyle&&a.a.push(b);void 0!==f.strokeStyle&&(f=[12],a.a.push(f),a.b.push(f));return c}k=Zj.prototype;
k.Rd=function(a,b){var c=this.g,d=c.strokeStyle;if(void 0!==c.fillStyle||void 0!==d){bk(this);Rj(this,b);this.b.push([9,le(fj)]);void 0!==c.strokeStyle&&this.b.push([10,c.strokeStyle,c.lineWidth,c.lineCap,c.lineJoin,c.miterLimit,c.lineDash]);var e=a.la(),d=this.coordinates.length;Qj(this,e,0,e.length,a.va(),!1);e=[1];d=[2,d];this.a.push(e,d);this.b.push(e,d);d=[7];this.b.push(d);void 0!==c.fillStyle&&this.a.push(d);void 0!==c.strokeStyle&&(c=[12],this.a.push(c),this.b.push(c));Uj(this,b)}};
k.bf=function(a,b){var c=this.g,d=c.strokeStyle;if(void 0!==c.fillStyle||void 0!==d)bk(this),Rj(this,b),this.b.push([9,le(fj)]),void 0!==c.strokeStyle&&this.b.push([10,c.strokeStyle,c.lineWidth,c.lineCap,c.lineJoin,c.miterLimit,c.lineDash]),c=a.Eb(),d=a.Nb(),ak(this,d,0,c,a.va()),Uj(this,b)};
k.af=function(a,b){var c=this.g,d=c.strokeStyle;if(void 0!==c.fillStyle||void 0!==d){bk(this);Rj(this,b);this.b.push([9,le(fj)]);void 0!==c.strokeStyle&&this.b.push([10,c.strokeStyle,c.lineWidth,c.lineCap,c.lineJoin,c.miterLimit,c.lineDash]);var c=a.i,d=Ij(a),e=a.va(),f=0,g,h;g=0;for(h=c.length;g<h;++g)f=ak(this,d,f,c[g],e);Uj(this,b)}};k.ke=function(){Tj(this);this.g=null;var a=this.Ba;if(0!==a){var b=this.coordinates,c,d;c=0;for(d=b.length;c<d;++c)b[c]=a*Math.round(b[c]/a)}};
k.df=function(){this.f||(this.f=Ob(this.T),0<this.c&&Mb(this.f,this.resolution*(this.c+1)/2,this.f));return this.f};
k.Tb=function(a,b){var c=this.g;if(a){var d=a.b;c.fillStyle=ne(d?d:fj)}else c.fillStyle=void 0;b?(d=b.b,c.strokeStyle=le(d?d:hj),d=b.f,c.lineCap=void 0!==d?d:"round",d=b.g,c.lineDash=d?d.slice():gj,d=b.c,c.lineJoin=void 0!==d?d:"round",d=b.a,c.lineWidth=void 0!==d?d:1,d=b.i,c.miterLimit=void 0!==d?d:10,c.lineWidth>this.c&&(this.c=c.lineWidth,this.f=null)):(c.strokeStyle=void 0,c.lineCap=void 0,c.lineDash=null,c.lineJoin=void 0,c.lineWidth=void 0,c.miterLimit=void 0)};
function bk(a){var b=a.g,c=b.fillStyle,d=b.strokeStyle,e=b.lineCap,f=b.lineDash,g=b.lineJoin,h=b.lineWidth,l=b.miterLimit;void 0!==c&&b.ug!=c&&(a.a.push([9,c]),b.ug=b.fillStyle);void 0===d||b.fd==d&&b.ad==e&&b.bd==f&&b.cd==g&&b.dd==h&&b.ed==l||(a.a.push([10,d,h,e,g,l,f]),b.fd=d,b.ad=e,b.bd=f,b.cd=g,b.dd=h,b.ed=l)}function ck(a,b,c,d){Pj.call(this,a,b,c,d);this.C=this.D=this.A=null;this.o="";this.U=this.v=this.s=this.j=0;this.l=this.i=this.g=null}x(ck,Pj);
function dk(a,b,c,d,e){if(""!==a.o&&a.l&&(a.g||a.i)){if(a.g){var f=a.g,g=a.A;if(!g||g.fillStyle!=f.fillStyle){var h=[9,f.fillStyle];a.a.push(h);a.b.push(h);g?g.fillStyle=f.fillStyle:a.A={fillStyle:f.fillStyle}}}a.i&&(f=a.i,g=a.D,g&&g.lineCap==f.lineCap&&g.lineDash==f.lineDash&&g.lineJoin==f.lineJoin&&g.lineWidth==f.lineWidth&&g.miterLimit==f.miterLimit&&g.strokeStyle==f.strokeStyle||(h=[10,f.strokeStyle,f.lineWidth,f.lineCap,f.lineJoin,f.miterLimit,f.lineDash,!1],a.a.push(h),a.b.push(h),g?(g.lineCap=
f.lineCap,g.lineDash=f.lineDash,g.lineJoin=f.lineJoin,g.lineWidth=f.lineWidth,g.miterLimit=f.miterLimit,g.strokeStyle=f.strokeStyle):a.D={lineCap:f.lineCap,lineDash:f.lineDash,lineJoin:f.lineJoin,lineWidth:f.lineWidth,miterLimit:f.miterLimit,strokeStyle:f.strokeStyle}));f=a.l;g=a.C;g&&g.font==f.font&&g.textAlign==f.textAlign&&g.textBaseline==f.textBaseline||(h=[11,f.font,f.textAlign,f.textBaseline],a.a.push(h),a.b.push(h),g?(g.font=f.font,g.textAlign=f.textAlign,g.textBaseline=f.textBaseline):a.C=
{font:f.font,textAlign:f.textAlign,textBaseline:f.textBaseline});Rj(a,e);f=a.coordinates.length;b=Qj(a,b,0,c,d,!1);b=[5,f,b,a.o,a.j,a.s,a.v,a.U,!!a.g,!!a.i];a.a.push(b);a.b.push(b);Uj(a,e)}}
ck.prototype.Wb=function(a){if(a){var b=a.b;b?(b=b.b,b=ne(b?b:fj),this.g?this.g.fillStyle=b:this.g={fillStyle:b}):this.g=null;var c=a.l;if(c){var b=c.b,d=c.f,e=c.g,f=c.c,g=c.a,c=c.i,d=void 0!==d?d:"round",e=e?e.slice():gj,f=void 0!==f?f:"round",g=void 0!==g?g:1,c=void 0!==c?c:10,b=le(b?b:hj);if(this.i){var h=this.i;h.lineCap=d;h.lineDash=e;h.lineJoin=f;h.lineWidth=g;h.miterLimit=c;h.strokeStyle=b}else this.i={lineCap:d,lineDash:e,lineJoin:f,lineWidth:g,miterLimit:c,strokeStyle:b}}else this.i=null;
var l=a.g,b=a.f,d=a.c,e=a.i,g=a.a,c=a.Ha(),f=a.o,h=a.j;a=void 0!==l?l:"10px sans-serif";f=void 0!==f?f:"center";h=void 0!==h?h:"middle";this.l?(l=this.l,l.font=a,l.textAlign=f,l.textBaseline=h):this.l={font:a,textAlign:f,textBaseline:h};this.o=void 0!==c?c:"";this.j=void 0!==b?b:0;this.s=void 0!==d?d:0;this.v=void 0!==e?e:0;this.U=void 0!==g?g:1}else this.o=""};function ek(a,b,c,d,e){this.j=a;this.g=b;this.l=d;this.o=c;this.f=e;this.a={};this.c=Ge(1,1);this.i=ch()}
function fk(a){for(var b in a.a){var c=a.a[b],d;for(d in c)c[d].ke()}}ek.prototype.sa=function(a,b,c,d,e){var f=lh(this.i,.5,.5,1/b,-1/b,-c,-a[0],-a[1]),g=this.c;g.clearRect(0,0,1,1);var h;void 0!==this.f&&(h=Jb(),Lb(h,a),Mb(h,b*this.f,h));return gk(this,g,f,c,d,function(a){if(0<g.getImageData(0,0,1,1).data[3]){if(a=e(a))return a;g.clearRect(0,0,1,1)}},h)};
ek.prototype.b=function(a,b){var c=void 0!==a?a.toString():"0",d=this.a[c];void 0===d&&(d={},this.a[c]=d);c=d[b];void 0===c&&(c=new hk[b](this.j,this.g,this.o,this.l),d[b]=c);return c};ek.prototype.Ya=function(){return Ga(this.a)};
ek.prototype.Pa=function(a,b,c,d,e,f){var g=Object.keys(this.a).map(Number);g.sort(fb);var h=this.g,l=h[0],m=h[1],n=h[2],h=h[3],l=[l,m,l,h,n,h,n,m];Vc(l,0,8,2,c,l);a.save();a.beginPath();a.moveTo(l[0],l[1]);a.lineTo(l[2],l[3]);a.lineTo(l[4],l[5]);a.lineTo(l[6],l[7]);a.closePath();a.clip();f=f?f:Oj;for(var p,q,l=0,m=g.length;l<m;++l)for(p=this.a[g[l].toString()],n=0,h=f.length;n<h;++n)q=p[f[n]],void 0!==q&&q.Pa(a,b,c,d,e);a.restore()};
function gk(a,b,c,d,e,f,g){var h=Object.keys(a.a).map(Number);h.sort(function(a,b){return b-a});var l,m,n,p,q;l=0;for(m=h.length;l<m;++l)for(p=a.a[h[l].toString()],n=Oj.length-1;0<=n;--n)if(q=p[Oj[n]],void 0!==q&&(q=Sj(q,b,1,c,d,e,q.b,f,g)))return q}var hk={Image:Vj,LineString:Wj,Polygon:Zj,Text:ck};function ik(a,b,c,d){this.g=a;this.b=b;this.c=c;this.f=d}k=ik.prototype;k.get=function(a){return this.f[a]};k.Eb=function(){return this.c};k.H=function(){this.a||(this.a="Point"===this.g?Wb(this.b):Yb(this.b,0,this.b.length,2));return this.a};k.Nb=function(){return this.b};k.la=ik.prototype.Nb;k.X=function(){return this};k.Nm=function(){return this.f};k.od=ik.prototype.X;k.va=function(){return 2};k.ec=oa;k.Y=function(){return this.g};function jk(a,b){return t(a)-t(b)}function kk(a,b){var c=.5*a/b;return c*c}function lk(a,b,c,d,e,f){var g=!1,h,l;if(h=c.a)l=h.td(),2==l||3==l?h.Xf(e,f):(0==l&&h.load(),h.pf(e,f),g=!0);if(e=(0,c.g)(b))d=e.od(d),(0,mk[d.Y()])(a,d,c,b);return g}
var mk={Point:function(a,b,c,d){var e=c.a;if(e){if(2!=e.td())return;var f=a.b(c.b,"Image");f.Ub(e);f.uc(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),dk(a,b.la(),2,2,d)},LineString:function(a,b,c,d){var e=c.f;if(e){var f=a.b(c.b,"LineString");f.Tb(null,e);f.hd(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),dk(a,Gj(b),2,2,d)},Polygon:function(a,b,c,d){var e=c.c,f=c.f;if(e||f){var g=a.b(c.b,"Polygon");g.Tb(e,f);g.bf(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),dk(a,Ad(b),2,2,d)},MultiPoint:function(a,b,c,d){var e=
c.a;if(e){if(2!=e.td())return;var f=a.b(c.b,"Image");f.Ub(e);f.tc(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),c=b.la(),dk(a,c,c.length,b.va(),d)},MultiLineString:function(a,b,c,d){var e=c.f;if(e){var f=a.b(c.b,"LineString");f.Tb(null,e);f.$e(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),b=Hj(b),dk(a,b,b.length,2,d)},MultiPolygon:function(a,b,c,d){var e=c.c,f=c.f;if(f||e){var g=a.b(c.b,"Polygon");g.Tb(e,f);g.af(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),b=Jj(b),dk(a,b,b.length,2,d)},GeometryCollection:function(a,
b,c,d){b=b.c;var e,f;e=0;for(f=b.length;e<f;++e)(0,mk[b[e].Y()])(a,b[e],c,d)},Circle:function(a,b,c,d){var e=c.c,f=c.f;if(e||f){var g=a.b(c.b,"Polygon");g.Tb(e,f);g.Rd(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),dk(a,b.rd(),2,2,d)}};function nk(a,b,c,d,e,f){this.c=void 0!==f?f:null;th.call(this,a,b,c,void 0!==f?0:2,d);this.g=e}x(nk,th);nk.prototype.i=function(a){this.state=a?3:2;uh(this)};nk.prototype.load=function(){0==this.state&&(this.state=1,uh(this),this.c(this.i.bind(this)))};nk.prototype.a=function(){return this.g};var ok,pk=pa.navigator,qk=pa.chrome,rk=-1<pk.userAgent.indexOf("OPR"),sk=-1<pk.userAgent.indexOf("Edge");ok=!(!pk.userAgent.match("CriOS")&&null!==qk&&void 0!==qk&&"Google Inc."===pk.vendor&&0==rk&&0==sk);function tk(a,b,c,d){var e=Sc(c,b,a);c=b.getPointResolution(d,c);b=b.ac();void 0!==b&&(c*=b);b=a.ac();void 0!==b&&(c/=b);a=a.getPointResolution(c,e)/c;isFinite(a)&&0<a&&(c/=a);return c}function uk(a,b,c,d){a=c-a;b=d-b;var e=Math.sqrt(a*a+b*b);return[Math.round(c+a/e),Math.round(d+b/e)]}
function vk(a,b,c,d,e,f,g,h,l,m,n){var p=Ge(Math.round(c*a),Math.round(c*b));if(0===l.length)return p.canvas;p.scale(c,c);var q=Jb();l.forEach(function(a){ac(q,a.extent)});var r=Ge(Math.round(c*jc(q)/d),Math.round(c*kc(q)/d)),v=c/d;l.forEach(function(a){r.drawImage(a.image,m,m,a.image.width-2*m,a.image.height-2*m,(a.extent[0]-q[0])*v,-(a.extent[3]-q[3])*v,jc(a.extent)*v,kc(a.extent)*v)});var y=fc(g);h.f.forEach(function(a){var b=a.source,e=a.target,g=b[1][0],h=b[1][1],l=b[2][0],m=b[2][1];a=(e[0][0]-
y[0])/f;var n=-(e[0][1]-y[1])/f,v=(e[1][0]-y[0])/f,M=-(e[1][1]-y[1])/f,ma=(e[2][0]-y[0])/f,Ub=-(e[2][1]-y[1])/f,e=b[0][0],b=b[0][1],g=g-e,h=h-b,l=l-e,m=m-b;a:{g=[[g,h,0,0,v-a],[l,m,0,0,ma-a],[0,0,g,h,M-n],[0,0,l,m,Ub-n]];h=g.length;for(l=0;l<h;l++){for(var m=l,Kb=Math.abs(g[l][l]),Hb=l+1;Hb<h;Hb++){var Xb=Math.abs(g[Hb][l]);Xb>Kb&&(Kb=Xb,m=Hb)}if(0===Kb){g=null;break a}Kb=g[m];g[m]=g[l];g[l]=Kb;for(m=l+1;m<h;m++)for(Kb=-g[m][l]/g[l][l],Hb=l;Hb<h+1;Hb++)g[m][Hb]=l==Hb?0:g[m][Hb]+Kb*g[l][Hb]}l=Array(h);
for(m=h-1;0<=m;m--)for(l[m]=g[m][h]/g[m][m],Kb=m-1;0<=Kb;Kb--)g[Kb][h]-=g[Kb][m]*l[m];g=l}g&&(p.save(),p.beginPath(),ok?(l=(a+v+ma)/3,m=(n+M+Ub)/3,h=uk(l,m,a,n),v=uk(l,m,v,M),ma=uk(l,m,ma,Ub),p.moveTo(h[0],h[1]),p.lineTo(v[0],v[1]),p.lineTo(ma[0],ma[1])):(p.moveTo(a,n),p.lineTo(v,M),p.lineTo(ma,Ub)),p.closePath(),p.clip(),p.transform(g[0],g[2],g[1],g[3],a,n),p.translate(q[0]-e,q[3]-b),p.scale(d/c,-d/c),p.drawImage(r.canvas,0,0),p.restore())});n&&(p.save(),p.strokeStyle="black",p.lineWidth=1,h.f.forEach(function(a){var b=
a.target;a=(b[0][0]-y[0])/f;var c=-(b[0][1]-y[1])/f,d=(b[1][0]-y[0])/f,e=-(b[1][1]-y[1])/f,g=(b[2][0]-y[0])/f,b=-(b[2][1]-y[1])/f;p.beginPath();p.moveTo(a,c);p.lineTo(d,e);p.lineTo(g,b);p.closePath();p.stroke()}),p.restore());return p.canvas};function wk(a,b,c,d,e){this.g=a;this.c=b;var f={},g=Qc(this.c,this.g);this.a=function(a){var b=a[0]+"/"+a[1];f[b]||(f[b]=g(a));return f[b]};this.i=d;this.s=e*e;this.f=[];this.o=!1;this.j=this.g.a&&!!d&&!!this.g.H()&&jc(d)==jc(this.g.H());this.b=this.g.H()?jc(this.g.H()):null;this.l=this.c.H()?jc(this.c.H()):null;a=fc(c);b=ec(c);d=dc(c);c=cc(c);e=this.a(a);var h=this.a(b),l=this.a(d),m=this.a(c);xk(this,a,b,d,c,e,h,l,m,10);if(this.o){var n=Infinity;this.f.forEach(function(a){n=Math.min(n,a.source[0][0],
a.source[1][0],a.source[2][0])});this.f.forEach(function(a){if(Math.max(a.source[0][0],a.source[1][0],a.source[2][0])-n>this.b/2){var b=[[a.source[0][0],a.source[0][1]],[a.source[1][0],a.source[1][1]],[a.source[2][0],a.source[2][1]]];b[0][0]-n>this.b/2&&(b[0][0]-=this.b);b[1][0]-n>this.b/2&&(b[1][0]-=this.b);b[2][0]-n>this.b/2&&(b[2][0]-=this.b);Math.max(b[0][0],b[1][0],b[2][0])-Math.min(b[0][0],b[1][0],b[2][0])<this.b/2&&(a.source=b)}},this)}f={}}
function xk(a,b,c,d,e,f,g,h,l,m){var n=Ib([f,g,h,l]),p=a.b?jc(n)/a.b:null,q=a.g.a&&.5<p&&1>p,r=!1;if(0<m){if(a.c.g&&a.l)var v=Ib([b,c,d,e]),r=r|.25<jc(v)/a.l;!q&&a.g.g&&p&&(r|=.25<p)}if(r||!a.i||oc(n,a.i)){if(!(r||isFinite(f[0])&&isFinite(f[1])&&isFinite(g[0])&&isFinite(g[1])&&isFinite(h[0])&&isFinite(h[1])&&isFinite(l[0])&&isFinite(l[1])))if(0<m)r=!0;else return;if(0<m&&(r||(p=a.a([(b[0]+d[0])/2,(b[1]+d[1])/2]),n=q?(xa(f[0],a.b)+xa(h[0],a.b))/2-xa(p[0],a.b):(f[0]+h[0])/2-p[0],p=(f[1]+h[1])/2-p[1],
r=n*n+p*p>a.s),r)){Math.abs(b[0]-d[0])<=Math.abs(b[1]-d[1])?(q=[(c[0]+d[0])/2,(c[1]+d[1])/2],n=a.a(q),p=[(e[0]+b[0])/2,(e[1]+b[1])/2],r=a.a(p),xk(a,b,c,q,p,f,g,n,r,m-1),xk(a,p,q,d,e,r,n,h,l,m-1)):(q=[(b[0]+c[0])/2,(b[1]+c[1])/2],n=a.a(q),p=[(d[0]+e[0])/2,(d[1]+e[1])/2],r=a.a(p),xk(a,b,q,p,e,f,n,r,l,m-1),xk(a,q,c,d,p,n,g,h,r,m-1));return}if(q){if(!a.j)return;a.o=!0}a.f.push({source:[f,h,l],target:[b,d,e]});a.f.push({source:[f,g,h],target:[b,c,d]})}}
function yk(a){var b=Jb();a.f.forEach(function(a){a=a.source;Lb(b,a[0]);Lb(b,a[1]);Lb(b,a[2])});return b};function zk(a,b,c,d,e,f){this.v=b;this.s=a.H();var g=b.H(),h=g?nc(c,g):c,g=tk(a,b,lc(h),d);this.o=new wk(a,b,h,this.s,.5*g);this.c=d;this.g=c;a=yk(this.o);this.j=(this.pb=f(a,g,e))?this.pb.f:1;this.Ad=this.i=null;e=2;f=[];this.pb&&(e=0,f=this.pb.l);th.call(this,c,d,this.j,e,f)}x(zk,th);zk.prototype.ka=function(){1==this.state&&(Ka(this.Ad),this.Ad=null);th.prototype.ka.call(this)};zk.prototype.a=function(){return this.i};
zk.prototype.zd=function(){var a=this.pb.V();2==a&&(this.i=vk(jc(this.g)/this.c,kc(this.g)/this.c,this.j,this.pb.$(),0,this.c,this.g,this.o,[{extent:this.pb.H(),image:this.pb.a()}],0));this.state=a;uh(this)};zk.prototype.load=function(){if(0==this.state){this.state=1;uh(this);var a=this.pb.V();2==a||3==a?this.zd():(this.Ad=B(this.pb,"change",function(){var a=this.pb.V();if(2==a||3==a)Ka(this.Ad),this.Ad=null,this.zd()},this),this.pb.load())}};function Ak(a){af.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state});this.D=void 0!==a.resolutions?a.resolutions:null;this.a=null;this.na=0}x(Ak,af);function Bk(a,b){if(a.D){var c=hb(a.D,b,0);b=a.D[c]}return b}
Ak.prototype.A=function(a,b,c,d){var e=this.f;if(e&&d&&!Pc(e,d)){if(this.a){if(this.na==this.g&&Pc(this.a.v,d)&&this.a.$()==b&&this.a.f==c&&$b(this.a.H(),a))return this.a;Ta(this.a);this.a=null}this.a=new zk(e,d,a,b,c,function(a,b,c){return this.Mc(a,b,c,e)}.bind(this));this.na=this.g;return this.a}e&&(d=e);return this.Mc(a,b,c,d)};Ak.prototype.o=function(a){a=a.target;switch(a.V()){case 1:this.b(new Ck(Dk,a));break;case 2:this.b(new Ck(Ek,a));break;case 3:this.b(new Ck(Fk,a))}};
function Gk(a,b){a.a().src=b}function Ck(a,b){Ua.call(this,a);this.image=b}x(Ck,Ua);var Dk="imageloadstart",Ek="imageloadend",Fk="imageloaderror";function Hk(a){Ak.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions,state:a.state});this.ia=a.canvasFunction;this.T=null;this.W=0;this.oa=void 0!==a.ratio?a.ratio:1.5}x(Hk,Ak);Hk.prototype.Mc=function(a,b,c,d){b=Bk(this,b);var e=this.T;if(e&&this.W==this.g&&e.$()==b&&e.f==c&&Sb(e.H(),a))return e;a=a.slice();pc(a,this.oa);(d=this.ia(a,b,c,[jc(a)/b*c,kc(a)/b*c],d))&&(e=new nk(a,b,c,this.l,d));this.T=e;this.W=this.g;return e};function Ik(a){bb.call(this);this.i=void 0;this.a="geometry";this.c=null;this.l=void 0;this.f=null;B(this,db(this.a),this.be,this);void 0!==a&&(a instanceof Uc||!a?this.Ua(a):this.G(a))}x(Ik,bb);k=Ik.prototype;k.clone=function(){var a=new Ik(this.O());a.Ec(this.a);var b=this.X();b&&a.Ua(b.clone());(b=this.c)&&a.sf(b);return a};k.X=function(){return this.get(this.a)};k.Xa=function(){return this.i};k.$j=function(){return this.a};k.Jl=function(){return this.c};k.ec=function(){return this.l};k.Kl=function(){this.u()};
k.be=function(){this.f&&(Ka(this.f),this.f=null);var a=this.X();a&&(this.f=B(a,"change",this.Kl,this));this.u()};k.Ua=function(a){this.set(this.a,a)};k.sf=function(a){this.l=(this.c=a)?Jk(a):void 0;this.u()};k.mc=function(a){this.i=a;this.u()};k.Ec=function(a){Qa(this,db(this.a),this.be,this);this.a=a;B(this,db(this.a),this.be,this);this.be()};function Jk(a){if("function"!==typeof a){var b;b=Array.isArray(a)?a:[a];a=function(){return b}}return a};function Kk(a,b,c,d,e){We.call(this,a,b);this.g=Ge();this.l=d;this.c=null;this.f={gd:!1,Tf:null,bi:-1,Uf:-1,yd:null,ui:[]};this.v=e;this.j=c}x(Kk,We);k=Kk.prototype;k.$a=function(){return-1==this.f.Uf?null:this.g.canvas};k.Ul=function(){return this.l};k.jb=function(){return this.j};k.load=function(){0==this.state&&(this.state=1,Xe(this),this.v(this,this.j),this.s(null,NaN,null))};k.gi=function(a){this.c=a;this.state=2;Xe(this)};k.vf=function(a){this.o=a};k.ki=function(a){this.s=a};var Lk=document.implementation.createDocument("","",null);function Mk(a,b){return Lk.createElementNS(a,b)}function Nk(a,b){return Ok(a,b,[]).join("")}function Ok(a,b,c){if(a.nodeType==Node.CDATA_SECTION_NODE||a.nodeType==Node.TEXT_NODE)b?c.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):c.push(a.nodeValue);else for(a=a.firstChild;a;a=a.nextSibling)Ok(a,b,c);return c}function Pk(a){return a instanceof Document}function Qk(a){return a instanceof Node}
function Rk(a){return(new DOMParser).parseFromString(a,"application/xml")}function Sk(a,b){return function(c,d){var e=a.call(b,c,d);void 0!==e&&jb(d[d.length-1],e)}}function Tk(a,b){return function(c,d){var e=a.call(void 0!==b?b:this,c,d);void 0!==e&&d[d.length-1].push(e)}}function Uk(a,b){return function(c,d){var e=a.call(void 0!==b?b:this,c,d);void 0!==e&&(d[d.length-1]=e)}}
function Vk(a){return function(b,c){var d=a.call(this,b,c);if(void 0!==d){var e=c[c.length-1],f=b.localName,g;f in e?g=e[f]:g=e[f]=[];g.push(d)}}}function K(a,b){return function(c,d){var e=a.call(this,c,d);void 0!==e&&(d[d.length-1][void 0!==b?b:c.localName]=e)}}function L(a,b){return function(c,d,e){a.call(void 0!==b?b:this,c,d,e);e[e.length-1].node.appendChild(c)}}
function Wk(a){var b,c;return function(d,e,f){if(!b){b={};var g={};g[d.localName]=a;b[d.namespaceURI]=g;c=Xk(d.localName)}Yk(b,c,e,f)}}function Xk(a,b){return function(c,d,e){c=d[d.length-1].node;d=a;void 0===d&&(d=e);e=b;void 0===b&&(e=c.namespaceURI);return Mk(e,d)}}var Zk=Xk();function $k(a,b){for(var c=b.length,d=Array(c),e=0;e<c;++e)d[e]=a[b[e]];return d}function N(a,b,c){c=void 0!==c?c:{};var d,e;d=0;for(e=a.length;d<e;++d)c[a[d]]=b;return c}
function al(a,b,c,d){for(b=b.firstElementChild;b;b=b.nextElementSibling){var e=a[b.namespaceURI];void 0!==e&&(e=e[b.localName])&&e.call(d,b,c)}}function O(a,b,c,d,e){d.push(a);al(b,c,d,e);return d.pop()}function Yk(a,b,c,d,e,f){for(var g=(void 0!==e?e:c).length,h,l,m=0;m<g;++m)h=c[m],void 0!==h&&(l=b.call(f,h,d,void 0!==e?e[m]:void 0),void 0!==l&&a[l.namespaceURI][l.localName].call(f,l,h,d))}function bl(a,b,c,d,e,f,g){e.push(a);Yk(b,c,d,e,f,g);e.pop()};function cl(a,b,c,d){return function(e,f,g){var h=new XMLHttpRequest;h.open("GET","function"===typeof a?a(e,f,g):a,!0);"arraybuffer"==b.Y()&&(h.responseType="arraybuffer");h.onload=function(){if(200<=h.status&&300>h.status){var a=b.Y(),e;"json"==a||"text"==a?e=h.responseText:"xml"==a?(e=h.responseXML)||(e=Rk(h.responseText)):"arraybuffer"==a&&(e=h.response);e&&c.call(this,b.Fa(e,{featureProjection:g}),b.Oa(e))}else d.call(this)}.bind(this);h.send()}}
function dl(a,b){return cl(a,b,function(a,b){this.vf(b);this.gi(a)},function(){this.state=3;Xe(this)})}function el(a,b){return cl(a,b,function(a){this.Jc(a)},oa)};function fl(){return[[-Infinity,-Infinity,Infinity,Infinity]]};var gl,hl,il,jl;
(function(){var a={},b={ja:a};(function(c){if("object"===typeof a&&"undefined"!==typeof b)b.ja=c();else{var d;"undefined"!==typeof window?d=window:"undefined"!==typeof global?d=global:"undefined"!==typeof self?d=self:d=this;d.Tp=c()}})(function(){return function d(a,b,g){function h(m,p){if(!b[m]){if(!a[m]){var q="function"==typeof require&&require;if(!p&&q)return q(m,!0);if(l)return l(m,!0);q=Error("Cannot find module '"+m+"'");throw q.code="MODULE_NOT_FOUND",q;}q=b[m]={ja:{}};a[m][0].call(q.ja,function(b){var d=
a[m][1][b];return h(d?d:b)},q,q.ja,d,a,b,g)}return b[m].ja}for(var l="function"==typeof require&&require,m=0;m<g.length;m++)h(g[m]);return h}({1:[function(a,b){function f(a,b,d,e,q){d=d||0;e=e||a.length-1;for(q=q||h;e>d;){if(600<e-d){var r=e-d+1,v=b-d+1,y=Math.log(r),w=.5*Math.exp(2*y/3),y=.5*Math.sqrt(y*w*(r-w)/r)*(0>v-r/2?-1:1);f(a,b,Math.max(d,Math.floor(b-v*w/r+y)),Math.min(e,Math.floor(b+(r-v)*w/r+y)),q)}r=a[b];v=d;w=e;g(a,d,b);for(0<q(a[e],r)&&g(a,d,e);v<w;){g(a,v,w);v++;for(w--;0>q(a[v],r);)v++;
for(;0<q(a[w],r);)w--}0===q(a[d],r)?g(a,d,w):(w++,g(a,w,e));w<=b&&(d=w+1);b<=w&&(e=w-1)}}function g(a,b,d){var e=a[b];a[b]=a[d];a[d]=e}function h(a,b){return a<b?-1:a>b?1:0}b.ja=f},{}],2:[function(a,b){function f(a,b){if(!(this instanceof f))return new f(a,b);this.Te=Math.max(4,a||9);this.hg=Math.max(2,Math.ceil(.4*this.Te));b&&this.mj(b);this.clear()}function g(a,b){h(a,0,a.children.length,b,a)}function h(a,b,d,e,f){f||(f=y(null));f.ca=Infinity;f.fa=Infinity;f.ea=-Infinity;f.ga=-Infinity;for(var g;b<
d;b++)g=a.children[b],l(f,a.Ta?e(g):g);return f}function l(a,b){a.ca=Math.min(a.ca,b.ca);a.fa=Math.min(a.fa,b.fa);a.ea=Math.max(a.ea,b.ea);a.ga=Math.max(a.ga,b.ga)}function m(a,b){return a.ca-b.ca}function n(a,b){return a.fa-b.fa}function p(a){return(a.ea-a.ca)*(a.ga-a.fa)}function q(a){return a.ea-a.ca+(a.ga-a.fa)}function r(a,b){return a.ca<=b.ca&&a.fa<=b.fa&&b.ea<=a.ea&&b.ga<=a.ga}function v(a,b){return b.ca<=a.ea&&b.fa<=a.ga&&b.ea>=a.ca&&b.ga>=a.fa}function y(a){return{children:a,height:1,Ta:!0,
ca:Infinity,fa:Infinity,ea:-Infinity,ga:-Infinity}}function w(a,b,d,e,f){for(var g=[b,d],h;g.length;)d=g.pop(),b=g.pop(),d-b<=e||(h=b+Math.ceil((d-b)/e/2)*e,G(a,h,b,d,f),g.push(b,h,h,d))}b.ja=f;var G=a("quickselect");f.prototype={all:function(){return this.cg(this.data,[])},search:function(a){var b=this.data,d=[],e=this.mb;if(!v(a,b))return d;for(var f=[],g,h,l,m;b;){g=0;for(h=b.children.length;g<h;g++)l=b.children[g],m=b.Ta?e(l):l,v(a,m)&&(b.Ta?d.push(l):r(a,m)?this.cg(l,d):f.push(l));b=f.pop()}return d},
load:function(a){if(!a||!a.length)return this;if(a.length<this.hg){for(var b=0,d=a.length;b<d;b++)this.Ca(a[b]);return this}a=this.eg(a.slice(),0,a.length-1,0);this.data.children.length?this.data.height===a.height?this.jg(this.data,a):(this.data.height<a.height&&(b=this.data,this.data=a,a=b),this.gg(a,this.data.height-a.height-1,!0)):this.data=a;return this},Ca:function(a){a&&this.gg(a,this.data.height-1);return this},clear:function(){this.data=y([]);return this},remove:function(a,b){if(!a)return this;
for(var d=this.data,e=this.mb(a),f=[],g=[],h,l,m,n;d||f.length;){d||(d=f.pop(),l=f[f.length-1],h=g.pop(),n=!0);if(d.Ta){a:{m=a;var p=d.children,q=b;if(q){for(var v=0;v<p.length;v++)if(q(m,p[v])){m=v;break a}m=-1}else m=p.indexOf(m)}if(-1!==m){d.children.splice(m,1);f.push(d);this.kj(f);break}}n||d.Ta||!r(d,e)?l?(h++,d=l.children[h],n=!1):d=null:(f.push(d),g.push(h),h=0,l=d,d=d.children[0])}return this},mb:function(a){return a},Ve:m,We:n,toJSON:function(){return this.data},cg:function(a,b){for(var d=
[];a;)a.Ta?b.push.apply(b,a.children):d.push.apply(d,a.children),a=d.pop();return b},eg:function(a,b,d,e){var f=d-b+1,h=this.Te,l;if(f<=h)return l=y(a.slice(b,d+1)),g(l,this.mb),l;e||(e=Math.ceil(Math.log(f)/Math.log(h)),h=Math.ceil(f/Math.pow(h,e-1)));l=y([]);l.Ta=!1;l.height=e;var f=Math.ceil(f/h),h=f*Math.ceil(Math.sqrt(h)),m,n,p;for(w(a,b,d,h,this.Ve);b<=d;b+=h)for(n=Math.min(b+h-1,d),w(a,b,n,f,this.We),m=b;m<=n;m+=f)p=Math.min(m+f-1,n),l.children.push(this.eg(a,m,p,e-1));g(l,this.mb);return l},
jj:function(a,b,d,e){for(var f,g,h,l,m,n,q,r;;){e.push(b);if(b.Ta||e.length-1===d)break;q=r=Infinity;f=0;for(g=b.children.length;f<g;f++)h=b.children[f],m=p(h),n=(Math.max(h.ea,a.ea)-Math.min(h.ca,a.ca))*(Math.max(h.ga,a.ga)-Math.min(h.fa,a.fa))-m,n<r?(r=n,q=m<q?m:q,l=h):n===r&&m<q&&(q=m,l=h);b=l||b.children[0]}return b},gg:function(a,b,d){var e=this.mb;d=d?a:e(a);var e=[],f=this.jj(d,this.data,b,e);f.children.push(a);for(l(f,d);0<=b;)if(e[b].children.length>this.Te)this.sj(e,b),b--;else break;this.gj(d,
e,b)},sj:function(a,b){var d=a[b],e=d.children.length,f=this.hg;this.hj(d,f,e);e=this.ij(d,f,e);e=y(d.children.splice(e,d.children.length-e));e.height=d.height;e.Ta=d.Ta;g(d,this.mb);g(e,this.mb);b?a[b-1].children.push(e):this.jg(d,e)},jg:function(a,b){this.data=y([a,b]);this.data.height=a.height+1;this.data.Ta=!1;g(this.data,this.mb)},ij:function(a,b,d){var e,f,g,l,m,n,q;m=n=Infinity;for(e=b;e<=d-b;e++)f=h(a,0,e,this.mb),g=h(a,e,d,this.mb),l=Math.max(0,Math.min(f.ea,g.ea)-Math.max(f.ca,g.ca))*Math.max(0,
Math.min(f.ga,g.ga)-Math.max(f.fa,g.fa)),f=p(f)+p(g),l<m?(m=l,q=e,n=f<n?f:n):l===m&&f<n&&(n=f,q=e);return q},hj:function(a,b,d){var e=a.Ta?this.Ve:m,f=a.Ta?this.We:n,g=this.dg(a,b,d,e);b=this.dg(a,b,d,f);g<b&&a.children.sort(e)},dg:function(a,b,d,e){a.children.sort(e);e=this.mb;var f=h(a,0,b,e),g=h(a,d-b,d,e),m=q(f)+q(g),n,p;for(n=b;n<d-b;n++)p=a.children[n],l(f,a.Ta?e(p):p),m+=q(f);for(n=d-b-1;n>=b;n--)p=a.children[n],l(g,a.Ta?e(p):p),m+=q(g);return m},gj:function(a,b,d){for(;0<=d;d--)l(b[d],a)},
kj:function(a){for(var b=a.length-1,d;0<=b;b--)0===a[b].children.length?0<b?(d=a[b-1].children,d.splice(d.indexOf(a[b]),1)):this.clear():g(a[b],this.mb)},mj:function(a){var b=["return a"," - b",";"];this.Ve=new Function("a","b",b.join(a[0]));this.We=new Function("a","b",b.join(a[1]));this.mb=new Function("a","return {minX: a"+a[0]+", minY: a"+a[1]+", maxX: a"+a[2]+", maxY: a"+a[3]+"};")}}},{quickselect:1}]},{},[2])(2)});gl=b.ja})();function kl(a){this.a=gl(a);this.b={}}k=kl.prototype;k.Ca=function(a,b){var c={ca:a[0],fa:a[1],ea:a[2],ga:a[3],value:b};this.a.Ca(c);this.b[t(b)]=c};k.load=function(a,b){for(var c=Array(b.length),d=0,e=b.length;d<e;d++){var f=a[d],g=b[d],f={ca:f[0],fa:f[1],ea:f[2],ga:f[3],value:g};c[d]=f;this.b[t(g)]=f}this.a.load(c)};k.remove=function(a){a=t(a);var b=this.b[a];delete this.b[a];return null!==this.a.remove(b)};
function ll(a,b,c){var d=t(c),d=a.b[d];$b([d.ca,d.fa,d.ea,d.ga],b)||(a.remove(c),a.Ca(b,c))}function ml(a){return a.a.all().map(function(a){return a.value})}function nl(a,b){return a.a.search({ca:b[0],fa:b[1],ea:b[2],ga:b[3]}).map(function(a){return a.value})}k.forEach=function(a,b){return pl(ml(this),a,b)};function ql(a,b,c,d){return pl(nl(a,b),c,d)}function pl(a,b,c){for(var d,e=0,f=a.length;e<f&&!(d=b.call(c,a[e]));e++);return d}k.Ya=function(){return Ga(this.b)};
k.clear=function(){this.a.clear();this.b={}};k.H=function(){var a=this.a.data;return[a.ca,a.fa,a.ea,a.ga]};function P(a){a=a||{};af.call(this,{attributions:a.attributions,logo:a.logo,projection:void 0,state:"ready",wrapX:void 0!==a.wrapX?a.wrapX:!0});this.P=oa;this.oa=a.format;this.T=a.overlaps||!0;this.W=a.url;void 0!==a.loader?this.P=a.loader:void 0!==this.W&&(this.P=el(this.W,this.oa));this.rb=void 0!==a.strategy?a.strategy:fl;var b=void 0!==a.useSpatialIndex?a.useSpatialIndex:!0;this.a=b?new kl:null;this.ia=new kl;this.i={};this.o={};this.j={};this.s={};this.c=null;var c,d;a.features instanceof be?
(c=a.features,d=c.a):Array.isArray(a.features)&&(d=a.features);b||void 0!==c||(c=new be(d));void 0!==d&&rl(this,d);void 0!==c&&sl(this,c)}x(P,af);k=P.prototype;k.sb=function(a){var b=t(a).toString();if(tl(this,b,a)){ul(this,b,a);var c=a.X();c?(b=c.H(),this.a&&this.a.Ca(b,a)):this.i[b]=a;this.b(new vl("addfeature",a))}this.u()};function ul(a,b,c){a.s[b]=[B(c,"change",a.Eh,a),B(c,"propertychange",a.Eh,a)]}
function tl(a,b,c){var d=!0,e=c.Xa();void 0!==e?e.toString()in a.o?d=!1:a.o[e.toString()]=c:a.j[b]=c;return d}k.Jc=function(a){rl(this,a);this.u()};function rl(a,b){var c,d,e,f,g=[],h=[],l=[];d=0;for(e=b.length;d<e;d++)f=b[d],c=t(f).toString(),tl(a,c,f)&&h.push(f);d=0;for(e=h.length;d<e;d++){f=h[d];c=t(f).toString();ul(a,c,f);var m=f.X();m?(c=m.H(),g.push(c),l.push(f)):a.i[c]=f}a.a&&a.a.load(g,l);d=0;for(e=h.length;d<e;d++)a.b(new vl("addfeature",h[d]))}
function sl(a,b){var c=!1;B(a,"addfeature",function(a){c||(c=!0,b.push(a.feature),c=!1)});B(a,"removefeature",function(a){c||(c=!0,b.remove(a.feature),c=!1)});B(b,"add",function(a){c||(a=a.element,c=!0,this.sb(a),c=!1)},a);B(b,"remove",function(a){c||(a=a.element,c=!0,this.ob(a),c=!1)},a);a.c=b}
k.clear=function(a){if(a){for(var b in this.s)this.s[b].forEach(Ka);this.c||(this.s={},this.o={},this.j={})}else if(this.a){this.a.forEach(this.Sf,this);for(var c in this.i)this.Sf(this.i[c])}this.c&&this.c.clear();this.a&&this.a.clear();this.ia.clear();this.i={};this.b(new vl("clear"));this.u()};k.wg=function(a,b){if(this.a)return this.a.forEach(a,b);if(this.c)return this.c.forEach(a,b)};function wl(a,b,c){a.vb([b[0],b[1],b[0],b[1]],function(a){if(a.X().sg(b))return c.call(void 0,a)})}
k.vb=function(a,b,c){if(this.a)return ql(this.a,a,b,c);if(this.c)return this.c.forEach(b,c)};k.xg=function(a,b,c){return this.vb(a,function(d){if(d.X().Ka(a)&&(d=b.call(c,d)))return d})};k.Fg=function(){return this.c};k.oe=function(){var a;this.c?a=this.c.a:this.a&&(a=ml(this.a),Ga(this.i)||jb(a,Ea(this.i)));return a};k.Eg=function(a){var b=[];wl(this,a,function(a){b.push(a)});return b};k.ef=function(a){return nl(this.a,a)};
k.Ag=function(a,b){var c=a[0],d=a[1],e=null,f=[NaN,NaN],g=Infinity,h=[-Infinity,-Infinity,Infinity,Infinity],l=b?b:rc;ql(this.a,h,function(a){if(l(a)){var b=a.X(),p=g;g=b.tb(c,d,f,g);g<p&&(e=a,a=Math.sqrt(g),h[0]=c-a,h[1]=d-a,h[2]=c+a,h[3]=d+a)}});return e};k.H=function(){return this.a.H()};k.Dg=function(a){a=this.o[a.toString()];return void 0!==a?a:null};k.Ch=function(){return this.oa};k.Dh=function(){return this.W};
k.Eh=function(a){a=a.target;var b=t(a).toString(),c=a.X();c?(c=c.H(),b in this.i?(delete this.i[b],this.a&&this.a.Ca(c,a)):this.a&&ll(this.a,c,a)):b in this.i||(this.a&&this.a.remove(a),this.i[b]=a);c=a.Xa();void 0!==c?(c=c.toString(),b in this.j?(delete this.j[b],this.o[c]=a):this.o[c]!==a&&(xl(this,a),this.o[c]=a)):b in this.j||(xl(this,a),this.j[b]=a);this.u();this.b(new vl("changefeature",a))};k.Ya=function(){return this.a.Ya()&&Ga(this.i)};
k.Pc=function(a,b,c){var d=this.ia;a=this.rb(a,b);var e,f;e=0;for(f=a.length;e<f;++e){var g=a[e];ql(d,g,function(a){return Sb(a.extent,g)})||(this.P.call(this,g,b,c),d.Ca(g,{extent:g.slice()}))}};k.ob=function(a){var b=t(a).toString();b in this.i?delete this.i[b]:this.a&&this.a.remove(a);this.Sf(a);this.u()};k.Sf=function(a){var b=t(a).toString();this.s[b].forEach(Ka);delete this.s[b];var c=a.Xa();void 0!==c?delete this.o[c.toString()]:delete this.j[b];this.b(new vl("removefeature",a))};
function xl(a,b){for(var c in a.o)if(a.o[c]===b){delete a.o[c];break}}function vl(a,b){Ua.call(this,a);this.feature=b}x(vl,Ua);function yl(a){this.c=a.source;this.za=ch();this.i=Ge();this.j=[0,0];this.v=null;Hk.call(this,{attributions:a.attributions,canvasFunction:this.Dj.bind(this),logo:a.logo,projection:a.projection,ratio:a.ratio,resolutions:a.resolutions,state:this.c.V()});this.P=null;this.s=void 0;this.xh(a.style);B(this.c,"change",this.en,this)}x(yl,Hk);k=yl.prototype;
k.Dj=function(a,b,c,d,e){var f=new ek(.5*b/c,a,b,this.c.T);this.c.Pc(a,b,e);var g=!1;this.c.vb(a,function(a){var d;if(!(d=g)){var e;(d=a.ec())?e=d.call(a,b):this.s&&(e=this.s(a,b));if(e){var n,p=!1;Array.isArray(e)||(e=[e]);d=0;for(n=e.length;d<n;++d)p=lk(f,a,e[d],kk(b,c),this.dn,this)||p;d=p}else d=!1}g=d},this);fk(f);if(g)return null;this.j[0]!=d[0]||this.j[1]!=d[1]?(this.i.canvas.width=d[0],this.i.canvas.height=d[1],this.j[0]=d[0],this.j[1]=d[1]):this.i.clearRect(0,0,d[0],d[1]);a=zl(this,lc(a),
b,c,d);f.Pa(this.i,c,a,0,{});this.v=f;return this.i.canvas};k.sa=function(a,b,c,d,e){if(this.v){var f={};return this.v.sa(a,b,0,d,function(a){var b=t(a).toString();if(!(b in f))return f[b]=!0,e(a)})}};k.an=function(){return this.c};k.bn=function(){return this.P};k.cn=function(){return this.s};function zl(a,b,c,d,e){c=d/c;return lh(a.za,e[0]/2,e[1]/2,c,-c,0,-b[0],-b[1])}k.dn=function(){this.u()};k.en=function(){cf(this,this.c.V())};
k.xh=function(a){this.P=void 0!==a?a:wj;this.s=a?uj(this.P):void 0;this.u()};function Al(a){Kj.call(this,a);this.f=null;this.s=ch();this.c=this.o=null}x(Al,Kj);Al.prototype.sa=function(a,b,c,d){var e=this.a;return e.ha().sa(a,b.viewState.resolution,b.viewState.rotation,b.skippedFeatureUids,function(a){return c.call(d,a,e)})};
Al.prototype.Cc=function(a,b,c,d){if(this.f&&this.f.a())if(this.a.ha()instanceof yl){if(a=hh(b.pixelToCoordinateTransform,a.slice()),this.sa(a,b,rc,this))return c.call(d,this.a)}else if(this.o||(this.o=mh(this.s.slice())),b=hh(this.o,a.slice()),this.c||(this.c=Ge(1,1)),this.c.clearRect(0,0,1,1),this.c.drawImage(this.f?this.f.a():null,b[0],b[1],1,1,0,0,1,1),0<this.c.getImageData(0,0,1,1).data[3])return c.call(d,this.a)};
Al.prototype.l=function(a,b){var c=a.pixelRatio,d=a.viewState,e=d.center,f=d.resolution,g=this.a.ha(),h=a.viewHints,l=a.extent;void 0!==b.extent&&(l=nc(l,b.extent));h[0]||h[1]||ic(l)||(d=g.A(l,f,c,d.projection))&&xh(this,d)&&(this.f=d);if(this.f){var d=this.f,h=d.H(),l=d.$(),m=d.f,f=c*l/(f*m),n=dh(this.s);kh(n,c*a.size[0]/2,c*a.size[1]/2);jh(n,f,f);kh(n,m*(h[0]-e[0])/l,m*(e[1]-h[3])/l);this.o=null;zh(a.attributions,d.l);Ah(a,g)}return!!this.f};function Bl(a){Kj.call(this,a);this.c=Ge();this.o=null;this.j=Jb();this.P=[0,0,0];this.C=ch();this.D=0}x(Bl,Kj);Bl.prototype.i=function(a,b,c){var d=Nj(this,a,0);Lj(this,"precompose",c,a,d);Cl(this,c,a,b);Mj(this,c,a,d)};
Bl.prototype.l=function(a,b){function c(a){a=a.V();return 2==a||4==a||3==a&&!r}var d=a.pixelRatio,e=a.viewState,f=e.projection,g=this.a,h=g.ha(),l=h.fb(f),m=l.Lb(e.resolution,this.D),n=l.$(m),p=e.center;n==e.resolution?(p=Ch(p,n,a.size),e=mc(p,n,e.rotation,a.size)):e=a.extent;void 0!==b.extent&&(e=nc(e,b.extent));if(ic(e))return!1;n=kf(l,e,n);p={};p[m]={};var q=this.Qd(h,f,p),r=g.c(),v=Jb(),y=new Wd(0,0,0,0),w,G,z,D;for(z=n.ca;z<=n.ea;++z)for(D=n.fa;D<=n.ga;++D)w=h.bc(m,z,D,d,f),!c(w)&&w.a&&(w=w.a),
c(w)?p[m][w.ma.toString()]=w:(G=hf(l,w.ma,q,y,v),G||(w=jf(l,w.ma,y,v))&&q(m+1,w));q=Object.keys(p).map(Number);q.sort(fb);var v=[],H,y=0;for(z=q.length;y<z;++y)for(H in w=q[y],D=p[w],D)w=D[H],2==w.V()&&v.push(w);this.o=v;Bh(a.usedTiles,h,m,n);Dh(a,h,l,d,f,e,m,g.f());yh(a,h);Ah(a,h);return!0};Bl.prototype.Cc=function(a,b,c,d){var e=this.c.canvas,f=b.size;e.width=f[0];e.height=f[1];this.i(b,oh(this.a),this.c);if(0<this.c.getImageData(a[0],a[1],1,1).data[3])return c.call(d,this.a)};
function Cl(a,b,c,d){var e=c.pixelRatio,f=c.viewState,g=f.center,h=f.projection,l=f.resolution,f=f.rotation,m=c.size,n=Math.round(e*m[0]/2),p=Math.round(e*m[1]/2),m=e/l,q=a.a,r=q.ha(),v=r.Ud(h),y=r.fb(h),q=Ya(q,"render"),w=b,G,z,D,H;if(f||q)w=a.c,G=w.canvas,H=y.Lb(l),D=r.$d(H,e,h),H=$e(y.Ja(H)),D=D[0]/H[0],l=b.canvas.width*D,z=b.canvas.height*D,H=Math.round(Math.sqrt(l*l+z*z)),G.width!=H?G.width=G.height=H:w.clearRect(0,0,H,H),G=(H-l)/2/D,z=(H-z)/2/D,m*=D,n=Math.round(D*(n+G)),p=Math.round(D*(p+z));
l=w.globalAlpha;w.globalAlpha=d.opacity;var ba=a.o,A,Fa=r.jf(h)&&1==d.opacity;Fa||(ba.reverse(),A=[]);var Ja=d.extent;if(d=void 0!==Ja){var M=fc(Ja),ma=ec(Ja),Ub=dc(Ja),Ja=cc(Ja);hh(c.coordinateToPixelTransform,M);hh(c.coordinateToPixelTransform,ma);hh(c.coordinateToPixelTransform,Ub);hh(c.coordinateToPixelTransform,Ja);var Kb=G||0,Hb=z||0;w.save();var Xb=w.canvas.width*e/2,gc=w.canvas.height*e/2;ij(w,-f,Xb,gc);w.beginPath();w.moveTo(M[0]*e+Kb,M[1]*e+Hb);w.lineTo(ma[0]*e+Kb,ma[1]*e+Hb);w.lineTo(Ub[0]*
e+Kb,Ub[1]*e+Hb);w.lineTo(Ja[0]*e+Kb,Ja[1]*e+Hb);w.clip();ij(w,f,Xb,gc)}M=0;for(ma=ba.length;M<ma;++M){var Ub=ba[M],Ja=Ub.ma,gc=y.Ea(Ja,a.j),Xb=Ja[0],Nb=cc(y.Ea(y.qd(g,Xb,a.P))),Ja=Math.round(jc(gc)*m),Kb=Math.round(kc(gc)*m),Hb=Math.round((gc[0]-Nb[0])*m/Ja)*Ja+n+Math.round((Nb[0]-g[0])*m),gc=Math.round((Nb[1]-gc[3])*m/Kb)*Kb+p+Math.round((g[1]-Nb[1])*m);if(!Fa){Nb=[Hb,gc,Hb+Ja,gc+Kb];w.save();for(var Od=0,sf=A.length;Od<sf;++Od){var Pd=A[Od];oc(Nb,Pd)&&(w.beginPath(),w.moveTo(Nb[0],Nb[1]),w.lineTo(Nb[0],
Nb[3]),w.lineTo(Nb[2],Nb[3]),w.lineTo(Nb[2],Nb[1]),w.moveTo(Pd[0],Pd[1]),w.lineTo(Pd[2],Pd[1]),w.lineTo(Pd[2],Pd[3]),w.lineTo(Pd[0],Pd[3]),w.closePath(),w.clip())}A.push(Nb)}Xb=r.$d(Xb,e,h);w.drawImage(Ub.$a(),v,v,Xb[0],Xb[1],Hb,gc,Ja,Kb);Fa||w.restore()}d&&w.restore();q&&(e=G-n/D+n,h=z-p/D+p,g=lh(a.C,H/2-e,H/2-h,m,-m,-f,-g[0]+e/m,-g[1]-h/m),Lj(a,"render",w,c,g));(f||q)&&b.drawImage(w.canvas,-Math.round(G),-Math.round(z),H/D,H/D);w.globalAlpha=l};function Dl(a){Kj.call(this,a);this.c=!1;this.D=-1;this.A=NaN;this.v=Jb();this.o=this.U=null;this.j=Ge()}x(Dl,Kj);
Dl.prototype.i=function(a,b,c){var d=a.extent,e=a.pixelRatio,f=b.Qc?a.skippedFeatureUids:{},g=a.viewState,h=g.projection,g=g.rotation,l=h.H(),m=this.a.ha(),n=Nj(this,a,0);Lj(this,"precompose",c,a,n);var p=this.o;if(p&&!p.Ya()){var q;Ya(this.a,"render")?(this.j.canvas.width=c.canvas.width,this.j.canvas.height=c.canvas.height,q=this.j):q=c;var r=q.globalAlpha;q.globalAlpha=b.opacity;b=a.size[0]*e;var v=a.size[1]*e;ij(q,-g,b/2,v/2);p.Pa(q,e,n,g,f);if(m.C&&h.a&&!Sb(l,d)){for(var h=d[0],m=jc(l),y=0;h<
l[0];)--y,n=m*y,n=Nj(this,a,n),p.Pa(q,e,n,g,f),h+=m;y=0;for(h=d[2];h>l[2];)++y,n=m*y,n=Nj(this,a,n),p.Pa(q,e,n,g,f),h-=m;n=Nj(this,a,0)}ij(q,g,b/2,v/2);q!=c&&(Lj(this,"render",q,a,n),c.drawImage(q.canvas,0,0));q.globalAlpha=r}Mj(this,c,a,n)};Dl.prototype.sa=function(a,b,c,d){if(this.o){var e=this.a,f={};return this.o.sa(a,b.viewState.resolution,b.viewState.rotation,{},function(a){var b=t(a).toString();if(!(b in f))return f[b]=!0,c.call(d,a,e)})}};Dl.prototype.C=function(){wh(this)};
Dl.prototype.l=function(a){function b(a){var b,d=a.ec();d?b=d.call(a,m):(d=c.i)&&(b=d(a,m));if(b){if(b){d=!1;if(Array.isArray(b))for(var e=0,f=b.length;e<f;++e)d=lk(q,a,b[e],kk(m,n),this.C,this)||d;else d=lk(q,a,b,kk(m,n),this.C,this)||d;a=d}else a=!1;this.c=this.c||a}}var c=this.a,d=c.ha();zh(a.attributions,d.l);Ah(a,d);var e=a.viewHints[0],f=a.viewHints[1],g=c.P,h=c.T;if(!this.c&&!g&&e||!h&&f)return!0;var l=a.extent,h=a.viewState,e=h.projection,m=h.resolution,n=a.pixelRatio,f=c.g,p=c.a,g=yj(c);
void 0===g&&(g=jk);l=Mb(l,p*m);p=h.projection.H();d.C&&h.projection.a&&!Sb(p,a.extent)&&(a=Math.max(jc(l)/2,jc(p)),l[0]=p[0]-a,l[2]=p[2]+a);if(!this.c&&this.A==m&&this.D==f&&this.U==g&&Sb(this.v,l))return!0;this.o=null;this.c=!1;var q=new ek(.5*m/n,l,m,d.T,c.a);d.Pc(l,m,e);if(g){var r=[];d.vb(l,function(a){r.push(a)},this);r.sort(g);r.forEach(b,this)}else d.vb(l,b,this);fk(q);this.A=m;this.D=f;this.U=g;this.v=l;this.o=q;return!0};function El(a,b){var c=/\{z\}/g,d=/\{x\}/g,e=/\{y\}/g,f=/\{-y\}/g;return function(g){if(g)return a.replace(c,g[0].toString()).replace(d,g[1].toString()).replace(e,function(){return(-g[2]-1).toString()}).replace(f,function(){var a=b.a?b.a[g[0]]:null;return(a.ga-a.fa+1+g[2]).toString()})}}function Fl(a,b){for(var c=a.length,d=Array(c),e=0;e<c;++e)d[e]=El(a[e],b);return Gl(d)}function Gl(a){return 1===a.length?a[0]:function(b,c,d){if(b)return a[xa((b[1]<<b[0])+b[2],a.length)](b,c,d)}}
function Hl(){}function Il(a){var b=[],c=/\{(\d)-(\d)\}/.exec(a)||/\{([a-z])-([a-z])\}/.exec(a);if(c){var d=c[2].charCodeAt(0),e;for(e=c[1].charCodeAt(0);e<=d;++e)b.push(a.replace(c[0],String.fromCharCode(e)))}else b.push(a);return b};function Jl(a){rf.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tilePixelRatio:a.tilePixelRatio,wrapX:a.wrapX});this.tileLoadFunction=a.tileLoadFunction;this.tileUrlFunction=this.vc?this.vc.bind(this):Hl;this.urls=null;a.urls?this.bb(a.urls):a.url&&this.Va(a.url);a.tileUrlFunction&&this.Qa(a.tileUrlFunction)}x(Jl,rf);k=Jl.prototype;k.gb=function(){return this.tileLoadFunction};
k.hb=function(){return this.tileUrlFunction};k.ib=function(){return this.urls};k.Bh=function(a){a=a.target;switch(a.V()){case 1:this.b(new wf("tileloadstart",a));break;case 2:this.b(new wf("tileloadend",a));break;case 3:this.b(new wf("tileloaderror",a))}};k.lb=function(a){this.a.clear();this.tileLoadFunction=a;this.u()};k.Qa=function(a,b){this.tileUrlFunction=a;"undefined"!==typeof b?uf(this,b):this.u()};
k.Va=function(a){var b=this.urls=Il(a);this.Qa(this.vc?this.vc.bind(this):Fl(b,this.tileGrid),a)};k.bb=function(a){this.urls=a;var b=a.join("\n");this.Qa(this.vc?this.vc.bind(this):Fl(a,this.tileGrid),b)};k.Yf=function(a,b,c){a=this.Fb(a,b,c);Re(this.a,a)&&this.a.get(a)};function Kl(a){Jl.call(this,{attributions:a.attributions,cacheSize:void 0!==a.cacheSize?a.cacheSize:128,extent:a.extent,logo:a.logo,opaque:!1,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction?a.tileLoadFunction:Ll,tileUrlFunction:a.tileUrlFunction,tilePixelRatio:a.tilePixelRatio,url:a.url,urls:a.urls,wrapX:void 0===a.wrapX?!0:a.wrapX});this.c=a.format?a.format:null;this.i=a.overlaps||!0;this.tileClass=a.tileClass?a.tileClass:Kk}x(Kl,Jl);
Kl.prototype.bc=function(a,b,c,d,e){var f=this.Fb(a,b,c);if(Re(this.a,f))return this.a.get(f);a=[a,b,c];d=(b=vf(this,a,e))?this.tileUrlFunction(b,d,e):void 0;d=new this.tileClass(a,void 0!==d?0:4,void 0!==d?d:"",this.c,this.tileLoadFunction);B(d,"change",this.Bh,this);this.a.set(f,d);return d};Kl.prototype.$d=function(a,b){var c=$e(this.tileGrid.Ja(a));return[c[0]*b,c[1]*b]};function Ll(a,b){a.ki(dl(b,a.l))};var Ml={image:Oj,hybrid:["Polygon","LineString"]},Nl={hybrid:["Image","Text"],vector:Oj};function Ol(a){Bl.call(this,a);this.U=!1;this.v=ch();this.D="vector"==a.s?1:0}x(Ol,Bl);
Ol.prototype.i=function(a,b,c){var d=Nj(this,a,0);Lj(this,"precompose",c,a,d);var e=this.a.s;"vector"!==e&&Cl(this,c,a,b);if("image"!==e){var f=this.a,e=Nl[f.s],g=a.pixelRatio,h=b.Qc?a.skippedFeatureUids:{},l=a.viewState,m=l.center,n=l.rotation,p=a.size,l=g/l.resolution,q=f.ha(),r=q.cc(g),v=Nj(this,a,0);Ya(f,"render")?(this.c.canvas.width=c.canvas.width,this.c.canvas.height=c.canvas.height,f=this.c):f=c;var y=f.globalAlpha;f.globalAlpha=b.opacity;b=this.o;var q=q.tileGrid,w,G,z,D,H,ba,A,Fa;G=0;for(z=
b.length;G<z;++G)D=b[G],A=D.f,H=q.Ea(D.ma,this.j),w=D.ma[0],ba="tile-pixels"==D.o.xb(),w=q.$(w),Fa=w/r,w=Math.round(g*p[0]/2),D=Math.round(g*p[1]/2),ba?(H=fc(H),dh(this.v),H=lh(this.v,w,D,l*Fa,l*Fa,n,(H[0]-m[0])/Fa,(m[1]-H[1])/Fa)):H=v,ij(f,-n,w,D),A.yd.Pa(f,g,H,n,h,e),ij(f,n,w,D);f!=c&&(Lj(this,"render",f,a,v),c.drawImage(f.canvas,0,0));f.globalAlpha=y}Mj(this,c,a,d)};
function Pl(a,b,c){function d(a){var b,c=a.ec();c?b=c.call(a,v):(c=e.i)&&(b=c(a,v));if(b){Array.isArray(b)||(b=[b]);var c=z,d=G;if(b){var f=!1;if(Array.isArray(b))for(var g=0,h=b.length;g<h;++g)f=lk(d,a,b[g],c,this.A,this)||f;else f=lk(d,a,b,c,this.A,this)||f;a=f}else a=!1;this.U=this.U||a;l.gd=l.gd||a}}var e=a.a,f=c.pixelRatio;c=c.viewState.projection;var g=e.g,h=yj(e)||null,l=b.f;if(l.gd||l.bi!=g||l.Tf!=h){l.yd=null;l.gd=!1;var m=e.ha(),n=m.tileGrid,p=b.ma,q=b.o,r="tile-pixels"==q.xb(),v=n.$(p[0]),
y;if(r)var w=r=m.cc(f),n=$e(n.Ja(p[0])),n=[0,0,n[0]*w,n[1]*w];else r=v,n=n.Ea(p),Pc(c,q)||(y=!0,b.vf(c));l.gd=!1;var G=new ek(0,n,r,m.i,e.a),z=kk(r,f);b=b.c;h&&h!==l.Tf&&b.sort(h);m=0;for(r=b.length;m<r;++m)f=b[m],y&&f.X().kb(q,c),d.call(a,f);fk(G);l.bi=g;l.Tf=h;l.yd=G;l.resolution=NaN}}
Ol.prototype.sa=function(a,b,c,d){var e=b.pixelRatio,f=b.viewState.resolution;b=b.viewState.rotation;var g=this.a,h={},l=this.o,m=g.ha(),n=m.tileGrid,p,q,r,v,y,w;r=0;for(v=l.length;r<v;++r)w=l[r],q=w.ma,y=m.tileGrid.Ea(q,this.j),Qb(y,a)&&("tile-pixels"===w.o.xb()?(y=fc(y),f=m.cc(e),q=n.$(q[0])/f,q=[(a[0]-y[0])/q,(y[1]-a[1])/q]):q=a,w=w.f.yd,p=p||w.sa(q,f,b,{},function(a){var b=t(a).toString();if(!(b in h))return h[b]=!0,c.call(d,a,g)}));return p};Ol.prototype.A=function(){wh(this)};
Ol.prototype.l=function(a,b){var c=Bl.prototype.l.call(this,a,b);if(c)for(var d=Object.keys(a.Ee||{}),e=0,f=this.o.length;e<f;++e){var g=this.o[e];Pl(this,g,a);var h=g,g=a,l=this.a,m=Ml[l.s];if(m){var n=g.pixelRatio,p=h.f,q=l.g;if(!mb(p.ui,d)||p.Uf!==q){p.ui=d;p.Uf=q;var q=h.g,r=l.ha(),v=r.tileGrid,y=h.ma[0],w=v.$(y),l=$e(v.Ja(y)),y=v.$(y),G=y/w,z=l[0]*n*G,D=l[1]*n*G;q.canvas.width=z/G+.5;q.canvas.height=D/G+.5;q.scale(1/G,1/G);q.translate(z/2,D/2);G="tile-pixels"==h.o.xb();w=n/w;r=r.cc(n);y/=r;v=
v.Ea(h.ma,this.j);h=dh(this.v);G?(jh(h,w*y,w*y),kh(h,-l[0]*r/2,-l[1]*r/2)):(l=lc(v),jh(h,w,-w),kh(h,-l[0],-l[1]));p.yd.Pa(q,n,h,0,g.skippedFeatureUids||{},m)}}}return c};function Ql(a,b){Jh.call(this,0,b);this.f=Ge();this.b=this.f.canvas;this.b.style.width="100%";this.b.style.height="100%";this.b.className="ol-unselectable";a.insertBefore(this.b,a.childNodes[0]||null);this.a=!0;this.c=ch()}x(Ql,Jh);Ql.prototype.Xe=function(a){return a instanceof ej?new Al(a):a instanceof F?new Bl(a):a instanceof J?new Ol(a):a instanceof I?new Dl(a):null};
function Rl(a,b,c){var d=a.i,e=a.f;if(Ya(d,b)){var f=c.extent,g=c.pixelRatio,h=c.viewState.rotation,l=c.viewState,m=c.pixelRatio/l.resolution;a=lh(a.c,a.b.width/2,a.b.height/2,m,-m,-l.rotation,-l.center[0],-l.center[1]);d.b(new qh(b,new zj(e,g,f,a,h),c,e,null))}}Ql.prototype.Y=function(){return"canvas"};
Ql.prototype.Ce=function(a){if(a){var b=this.f,c=a.pixelRatio,d=Math.round(a.size[0]*c),c=Math.round(a.size[1]*c);this.b.width!=d||this.b.height!=c?(this.b.width=d,this.b.height=c):b.clearRect(0,0,d,c);var e=a.viewState.rotation;Kh(a);Rl(this,"precompose",a);var f=a.layerStatesArray;nb(f);ij(b,e,d/2,c/2);var g=a.viewState.resolution,h,l,m,n;h=0;for(l=f.length;h<l;++h)n=f[h],m=n.layer,m=Mh(this,m),sh(n,g)&&"ready"==n.S&&m.l(a,n)&&m.i(a,n,b);ij(b,-e,d/2,c/2);Rl(this,"postcompose",a);this.a||(this.b.style.display=
"",this.a=!0);Nh(this,a);a.postRenderFunctions.push(Lh)}else this.a&&(this.b.style.display="none",this.a=!1)};function Sl(a,b){vh.call(this,a);this.target=b}x(Sl,vh);Sl.prototype.Nd=oa;Sl.prototype.th=oa;function Tl(a){var b=document.createElement("DIV");b.style.position="absolute";Sl.call(this,a,b);this.f=null;this.c=ch()}x(Tl,Sl);Tl.prototype.sa=function(a,b,c,d){var e=this.a;return e.ha().sa(a,b.viewState.resolution,b.viewState.rotation,b.skippedFeatureUids,function(a){return c.call(d,a,e)})};Tl.prototype.Nd=function(){Ne(this.target);this.f=null};
Tl.prototype.yf=function(a,b){var c=a.viewState,d=c.center,e=c.resolution,f=c.rotation,g=this.f,h=this.a.ha(),l=a.viewHints,m=a.extent;void 0!==b.extent&&(m=nc(m,b.extent));l[0]||l[1]||ic(m)||(c=h.A(m,e,a.pixelRatio,c.projection))&&xh(this,c)&&(g=c);g&&(l=g.H(),m=g.$(),c=ch(),lh(c,a.size[0]/2,a.size[1]/2,m/e,m/e,f,(l[0]-d[0])/m,(d[1]-l[3])/m),g!=this.f&&(d=g.a(this),d.style.maxWidth="none",d.style.position="absolute",Ne(this.target),this.target.appendChild(d),this.f=g),mb(c,this.c)||(Ke(this.target,
c),gh(this.c,c)),zh(a.attributions,g.l),Ah(a,h));return!0};function Ul(a){var b=document.createElement("DIV");b.style.position="absolute";Sl.call(this,a,b);this.c=!0;this.l=1;this.i=0;this.f={}}x(Ul,Sl);Ul.prototype.Nd=function(){Ne(this.target);this.i=0};
Ul.prototype.yf=function(a,b){if(!b.visible)return this.c&&(this.target.style.display="none",this.c=!1),!0;var c=a.pixelRatio,d=a.viewState,e=d.projection,f=this.a,g=f.ha(),h=g.fb(e),l=g.Ud(e),m=h.Lb(d.resolution),n=h.$(m),p=d.center,q;n==d.resolution?(p=Ch(p,n,a.size),q=mc(p,n,d.rotation,a.size)):q=a.extent;void 0!==b.extent&&(q=nc(q,b.extent));var n=kf(h,q,n),r={};r[m]={};var v=this.Qd(g,e,r),y=f.c(),w=Jb(),G=new Wd(0,0,0,0),z,D,H,ba;for(H=n.ca;H<=n.ea;++H)for(ba=n.fa;ba<=n.ga;++ba)z=g.bc(m,H,ba,
c,e),D=z.V(),D=2==D||4==D||3==D&&!y,!D&&z.a&&(z=z.a),D=z.V(),2==D?r[m][z.ma.toString()]=z:4==D||3==D&&!y||(D=hf(h,z.ma,v,G,w),D||(z=jf(h,z.ma,G,w))&&v(m+1,z));var A;if(this.i!=g.g){for(A in this.f)y=this.f[+A],Me(y.target);this.f={};this.i=g.g}w=Object.keys(r).map(Number);w.sort(fb);var v={},Fa;H=0;for(ba=w.length;H<ba;++H){A=w[H];A in this.f?y=this.f[A]:(y=h.qd(p,A),y=new Vl(h,y),v[A]=!0,this.f[A]=y);A=r[A];for(Fa in A){z=y;D=A[Fa];var Ja=l,M=D.ma,ma=M[0],Ub=M[1],Kb=M[2],M=M.toString();if(!(M in
z.a)){var ma=$e(z.c.Ja(ma),z.o),Hb=D.$a(z),Xb=Hb.style;Xb.maxWidth="none";var gc,Nb;0<Ja?(gc=document.createElement("DIV"),Nb=gc.style,Nb.overflow="hidden",Nb.width=ma[0]+"px",Nb.height=ma[1]+"px",Xb.position="absolute",Xb.left=-Ja+"px",Xb.top=-Ja+"px",Xb.width=ma[0]+2*Ja+"px",Xb.height=ma[1]+2*Ja+"px",gc.appendChild(Hb)):(Xb.width=ma[0]+"px",Xb.height=ma[1]+"px",gc=Hb,Nb=Xb);Nb.position="absolute";Nb.left=(Ub-z.g[1])*ma[0]+"px";Nb.top=(z.g[2]-Kb)*ma[1]+"px";z.b||(z.b=document.createDocumentFragment());
z.b.appendChild(gc);z.a[M]=D}}y.b&&(y.target.appendChild(y.b),y.b=null)}l=Object.keys(this.f).map(Number);l.sort(fb);H=ch();Fa=0;for(w=l.length;Fa<w;++Fa)if(A=l[Fa],y=this.f[A],A in r)if(z=y.$(),ba=y.Ia(),lh(H,a.size[0]/2,a.size[1]/2,z/d.resolution,z/d.resolution,d.rotation,(ba[0]-p[0])/z,(p[1]-ba[1])/z),y.setTransform(H),A in v){for(--A;0<=A;--A)if(A in this.f){this.f[A].target.parentNode&&this.f[A].target.parentNode.insertBefore(y.target,this.f[A].target.nextSibling);break}0>A&&this.target.insertBefore(y.target,
this.target.childNodes[0]||null)}else{if(!a.viewHints[0]&&!a.viewHints[1]){D=gf(y.c,q,y.g[0],G);A=[];z=void 0;for(z in y.a)ba=y.a[z],D.contains(ba.ma)||A.push(ba);D=0;for(Ja=A.length;D<Ja;++D)ba=A[D],z=ba.ma.toString(),Me(ba.$a(y)),delete y.a[z]}}else Me(y.target),delete this.f[A];b.opacity!=this.l&&(this.l=this.target.style.opacity=b.opacity);b.visible&&!this.c&&(this.target.style.display="",this.c=!0);Bh(a.usedTiles,g,m,n);Dh(a,g,h,c,e,q,m,f.f());yh(a,g);Ah(a,g);return!0};
function Vl(a,b){this.target=document.createElement("DIV");this.target.style.position="absolute";this.target.style.width="100%";this.target.style.height="100%";this.c=a;this.g=b;this.i=fc(a.Ea(b));this.l=a.$(b[0]);this.a={};this.b=null;this.f=ch();this.o=[0,0]}Vl.prototype.Ia=function(){return this.i};Vl.prototype.$=function(){return this.l};Vl.prototype.setTransform=function(a){mb(a,this.f)||(Ke(this.target,a),gh(this.f,a))};function Wl(a){this.i=Ge();var b=this.i.canvas;b.style.maxWidth="none";b.style.position="absolute";Sl.call(this,a,b);this.f=!1;this.l=-1;this.s=NaN;this.o=Jb();this.c=this.j=null;this.U=ch();this.v=ch()}x(Wl,Sl);k=Wl.prototype;k.Nd=function(){var a=this.i.canvas;a.width=a.width;this.l=0};
k.th=function(a,b){var c=a.viewState,d=c.center,e=c.rotation,f=c.resolution,c=a.pixelRatio,g=a.size[0],h=a.size[1],l=g*c,m=h*c,d=lh(this.U,c*g/2,c*h/2,c/f,-c/f,-e,-d[0],-d[1]),f=this.i;f.canvas.width=l;f.canvas.height=m;var n=dh(this.v);jh(n,1/c,1/c);kh(n,-(l-g)/2*c,-(m-h)/2*c);Ke(f.canvas,n);Xl(this,"precompose",a,d);(g=this.c)&&!g.Ya()&&(f.globalAlpha=b.opacity,g.Pa(f,c,d,e,b.Qc?a.skippedFeatureUids:{}),Xl(this,"render",a,d));Xl(this,"postcompose",a,d)};
function Xl(a,b,c,d){var e=a.i;a=a.a;Ya(a,b)&&a.b(new qh(b,new zj(e,c.pixelRatio,c.extent,d,c.viewState.rotation),c,e,null))}k.sa=function(a,b,c,d){if(this.c){var e=this.a,f={};return this.c.sa(a,b.viewState.resolution,b.viewState.rotation,{},function(a){var b=t(a).toString();if(!(b in f))return f[b]=!0,c.call(d,a,e)})}};k.uh=function(){wh(this)};
k.yf=function(a){function b(a){var b,d=a.ec();d?b=d.call(a,l):(d=c.i)&&(b=d(a,l));if(b){if(b){d=!1;if(Array.isArray(b))for(var e=0,f=b.length;e<f;++e)d=lk(n,a,b[e],kk(l,m),this.uh,this)||d;else d=lk(n,a,b,kk(l,m),this.uh,this)||d;a=d}else a=!1;this.f=this.f||a}}var c=this.a,d=c.ha();zh(a.attributions,d.l);Ah(a,d);var e=a.viewHints[0],f=a.viewHints[1],g=c.P,h=c.T;if(!this.f&&!g&&e||!h&&f)return!0;var f=a.extent,g=a.viewState,e=g.projection,l=g.resolution,m=a.pixelRatio;a=c.g;h=c.a;g=yj(c);void 0===
g&&(g=jk);f=Mb(f,h*l);if(!this.f&&this.s==l&&this.l==a&&this.j==g&&Sb(this.o,f))return!0;this.c=null;this.f=!1;var n=new ek(.5*l/m,f,l,d.T,c.a);d.Pc(f,l,e);if(g){var p=[];d.vb(f,function(a){p.push(a)},this);p.sort(g);p.forEach(b,this)}else d.vb(f,b,this);fk(n);this.s=l;this.l=a;this.j=g;this.o=f;this.c=n;return!0};function Yl(a,b){Jh.call(this,0,b);this.f=Ge();var c=this.f.canvas;c.style.position="absolute";c.style.width="100%";c.style.height="100%";c.className="ol-unselectable";a.insertBefore(c,a.childNodes[0]||null);this.c=ch();this.b=document.createElement("DIV");this.b.className="ol-unselectable";c=this.b.style;c.position="absolute";c.width="100%";c.height="100%";B(this.b,"touchstart",Wa);a.insertBefore(this.b,a.childNodes[0]||null);this.a=!0}x(Yl,Jh);Yl.prototype.ka=function(){Me(this.b);Jh.prototype.ka.call(this)};
Yl.prototype.Xe=function(a){if(a instanceof ej)a=new Tl(a);else if(a instanceof F)a=new Ul(a);else if(a instanceof I)a=new Wl(a);else return null;return a};function Zl(a,b,c){var d=a.i;if(Ya(d,b)){var e=c.extent,f=c.pixelRatio,g=c.viewState,h=g.rotation,l=a.f,m=l.canvas;a=lh(a.c,m.width/2,m.height/2,f/g.resolution,-f/g.resolution,-h,-g.center[0],-g.center[1]);d.b(new qh(b,new zj(l,f,e,a,h),c,l,null))}}Yl.prototype.Y=function(){return"dom"};
Yl.prototype.Ce=function(a){if(a){var b=this.i;if(Ya(b,"precompose")||Ya(b,"postcompose")){var b=this.f.canvas,c=a.pixelRatio;b.width=a.size[0]*c;b.height=a.size[1]*c}Zl(this,"precompose",a);b=a.layerStatesArray;nb(b);var c=a.viewState.resolution,d,e,f,g;d=0;for(e=b.length;d<e;++d)g=b[d],f=g.layer,f=Mh(this,f),this.b.insertBefore(f.target,this.b.childNodes[d]||null),sh(g,c)&&"ready"==g.S?f.yf(a,g)&&f.th(a,g):f.Nd();var b=a.layerStates,h;for(h in this.g)h in b||(f=this.g[h],Me(f.target));this.a||(this.b.style.display=
"",this.a=!0);Kh(a);Nh(this,a);a.postRenderFunctions.push(Lh);Zl(this,"postcompose",a)}else this.a&&(this.b.style.display="none",this.a=!1)};function $l(a){this.b=a}function am(a){this.b=a}x(am,$l);am.prototype.Y=function(){return 35632};function bm(a){this.b=a}x(bm,$l);bm.prototype.Y=function(){return 35633};function cm(){this.b="precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texColor=texture2D(l,a);gl_FragColor.rgb=texColor.rgb;float alpha=texColor.a*b*k;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}"}x(cm,am);ca(cm);
function dm(){this.b="varying vec2 a;varying float b;attribute vec2 c;attribute vec2 d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;void main(void){mat4 offsetMatrix=i;if(g==1.0){offsetMatrix=i*j;}vec4 offsets=offsetMatrix*vec4(e,0.,0.);gl_Position=h*vec4(c,0.,1.)+offsets;a=d;b=f;}"}x(dm,bm);ca(dm);
function em(a,b){this.o=a.getUniformLocation(b,"j");this.j=a.getUniformLocation(b,"i");this.i=a.getUniformLocation(b,"k");this.l=a.getUniformLocation(b,"h");this.b=a.getAttribLocation(b,"e");this.a=a.getAttribLocation(b,"f");this.f=a.getAttribLocation(b,"c");this.g=a.getAttribLocation(b,"g");this.c=a.getAttribLocation(b,"d")};function fm(a){this.b=void 0!==a?a:[]};function gm(a,b){this.l=a;this.b=b;this.a={};this.c={};this.f={};this.j=this.s=this.i=this.o=null;(this.g=gb(na,"OES_element_index_uint"))&&b.getExtension("OES_element_index_uint");B(this.l,"webglcontextlost",this.ao,this);B(this.l,"webglcontextrestored",this.bo,this)}x(gm,Sa);
function hm(a,b,c){var d=a.b,e=c.b,f=String(t(c));if(f in a.a)d.bindBuffer(b,a.a[f].buffer);else{var g=d.createBuffer();d.bindBuffer(b,g);var h;34962==b?h=new Float32Array(e):34963==b&&(h=a.g?new Uint32Array(e):new Uint16Array(e));d.bufferData(b,h,35044);a.a[f]={Db:c,buffer:g}}}function im(a,b){var c=a.b,d=String(t(b)),e=a.a[d];c.isContextLost()||c.deleteBuffer(e.buffer);delete a.a[d]}k=gm.prototype;
k.ka=function(){Ra(this.l);var a=this.b;if(!a.isContextLost()){for(var b in this.a)a.deleteBuffer(this.a[b].buffer);for(b in this.f)a.deleteProgram(this.f[b]);for(b in this.c)a.deleteShader(this.c[b]);a.deleteFramebuffer(this.i);a.deleteRenderbuffer(this.j);a.deleteTexture(this.s)}};k.$n=function(){return this.b};
function jm(a){if(!a.i){var b=a.b,c=b.createFramebuffer();b.bindFramebuffer(b.FRAMEBUFFER,c);var d=km(b,1,1),e=b.createRenderbuffer();b.bindRenderbuffer(b.RENDERBUFFER,e);b.renderbufferStorage(b.RENDERBUFFER,b.DEPTH_COMPONENT16,1,1);b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,d,0);b.framebufferRenderbuffer(b.FRAMEBUFFER,b.DEPTH_ATTACHMENT,b.RENDERBUFFER,e);b.bindTexture(b.TEXTURE_2D,null);b.bindRenderbuffer(b.RENDERBUFFER,null);b.bindFramebuffer(b.FRAMEBUFFER,null);a.i=c;
a.s=d;a.j=e}return a.i}function lm(a,b){var c=String(t(b));if(c in a.c)return a.c[c];var d=a.b,e=d.createShader(b.Y());d.shaderSource(e,b.b);d.compileShader(e);return a.c[c]=e}function mm(a,b,c){var d=t(b)+"/"+t(c);if(d in a.f)return a.f[d];var e=a.b,f=e.createProgram();e.attachShader(f,lm(a,b));e.attachShader(f,lm(a,c));e.linkProgram(f);return a.f[d]=f}k.ao=function(){Da(this.a);Da(this.c);Da(this.f);this.j=this.s=this.i=this.o=null};k.bo=function(){};
k.we=function(a){if(a==this.o)return!1;this.b.useProgram(a);this.o=a;return!0};function nm(a,b,c){var d=a.createTexture();a.bindTexture(a.TEXTURE_2D,d);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);void 0!==b&&a.texParameteri(3553,10242,b);void 0!==c&&a.texParameteri(3553,10243,c);return d}function km(a,b,c){var d=nm(a,void 0,void 0);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,b,c,0,a.RGBA,a.UNSIGNED_BYTE,null);return d}
function om(a,b){var c=nm(a,33071,33071);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,b);return c};function pm(a,b){this.D=this.A=void 0;this.j=lc(b);this.U=[];this.i=[];this.S=void 0;this.c=[];this.f=[];this.Aa=this.ya=void 0;this.a=[];this.C=this.o=null;this.P=void 0;this.za=ch();this.Sa=ch();this.W=this.T=void 0;this.cb=ch();this.Ba=De();this.na=this.ia=this.Ra=void 0;this.oa=[];this.l=[];this.b=[];this.v=null;this.g=[];this.s=[];this.Hb=void 0}x(pm,ph);
function qm(a,b){var c=a.v,d=a.o,e=a.oa,f=a.l,g=b.b;return function(){if(!g.isContextLost()){var a,l;a=0;for(l=e.length;a<l;++a)g.deleteTexture(e[a]);a=0;for(l=f.length;a<l;++a)g.deleteTexture(f[a])}im(b,c);im(b,d)}}
function rm(a,b,c,d){var e=a.A,f=a.D,g=a.S,h=a.ya,l=a.Aa,m=a.P,n=a.T,p=a.W,q=a.Ra?1:0,r=a.ia,v=a.na,y=a.Hb,w=Math.cos(r),r=Math.sin(r),G=a.a.length,z=a.b.length,D,H,ba,A,Fa,Ja;for(D=0;D<c;D+=d)Fa=b[D]-a.j[0],Ja=b[D+1]-a.j[1],H=z/8,ba=-v*e,A=-v*(g-f),a.b[z++]=Fa,a.b[z++]=Ja,a.b[z++]=ba*w-A*r,a.b[z++]=ba*r+A*w,a.b[z++]=n/l,a.b[z++]=(p+g)/h,a.b[z++]=m,a.b[z++]=q,ba=v*(y-e),A=-v*(g-f),a.b[z++]=Fa,a.b[z++]=Ja,a.b[z++]=ba*w-A*r,a.b[z++]=ba*r+A*w,a.b[z++]=(n+y)/l,a.b[z++]=(p+g)/h,a.b[z++]=m,a.b[z++]=q,ba=
v*(y-e),A=v*f,a.b[z++]=Fa,a.b[z++]=Ja,a.b[z++]=ba*w-A*r,a.b[z++]=ba*r+A*w,a.b[z++]=(n+y)/l,a.b[z++]=p/h,a.b[z++]=m,a.b[z++]=q,ba=-v*e,A=v*f,a.b[z++]=Fa,a.b[z++]=Ja,a.b[z++]=ba*w-A*r,a.b[z++]=ba*r+A*w,a.b[z++]=n/l,a.b[z++]=p/h,a.b[z++]=m,a.b[z++]=q,a.a[G++]=H,a.a[G++]=H+1,a.a[G++]=H+2,a.a[G++]=H,a.a[G++]=H+2,a.a[G++]=H+3}pm.prototype.tc=function(a,b){this.g.push(this.a.length);this.s.push(b);var c=a.la();rm(this,c,c.length,a.va())};
pm.prototype.uc=function(a,b){this.g.push(this.a.length);this.s.push(b);var c=a.la();rm(this,c,c.length,a.va())};function sm(a,b){var c=b.b;a.U.push(a.a.length);a.i.push(a.a.length);a.v=new fm(a.b);hm(b,34962,a.v);a.o=new fm(a.a);hm(b,34963,a.o);var d={};tm(a.oa,a.c,d,c);tm(a.l,a.f,d,c);a.A=void 0;a.D=void 0;a.S=void 0;a.c=null;a.f=null;a.ya=void 0;a.Aa=void 0;a.a=null;a.P=void 0;a.T=void 0;a.W=void 0;a.Ra=void 0;a.ia=void 0;a.na=void 0;a.b=null;a.Hb=void 0}
function tm(a,b,c,d){var e,f,g,h=b.length;for(g=0;g<h;++g)e=b[g],f=t(e).toString(),f in c?e=c[f]:(e=om(d,e),c[f]=e),a[g]=e}
pm.prototype.Pa=function(a,b,c,d,e,f,g,h,l,m,n){f=a.b;hm(a,34962,this.v);hm(a,34963,this.o);var p=cm.$b(),q=dm.$b(),q=mm(a,p,q);this.C?p=this.C:this.C=p=new em(f,q);a.we(q);f.enableVertexAttribArray(p.f);f.vertexAttribPointer(p.f,2,5126,!1,32,0);f.enableVertexAttribArray(p.b);f.vertexAttribPointer(p.b,2,5126,!1,32,8);f.enableVertexAttribArray(p.c);f.vertexAttribPointer(p.c,2,5126,!1,32,16);f.enableVertexAttribArray(p.a);f.vertexAttribPointer(p.a,1,5126,!1,32,24);f.enableVertexAttribArray(p.g);f.vertexAttribPointer(p.g,
1,5126,!1,32,28);q=dh(this.cb);jh(q,2/(c*e[0]),2/(c*e[1]));ih(q,-d);kh(q,-(b[0]-this.j[0]),-(b[1]-this.j[1]));b=dh(this.Sa);jh(b,2/e[0],2/e[1]);e=dh(this.za);0!==d&&ih(e,-d);f.uniformMatrix4fv(p.l,!1,Ee(this.Ba,q));f.uniformMatrix4fv(p.j,!1,Ee(this.Ba,b));f.uniformMatrix4fv(p.o,!1,Ee(this.Ba,e));f.uniform1f(p.i,g);var r;if(void 0===l)um(this,f,a,h,this.oa,this.U);else{if(m)a:{d=a.g?5125:5123;a=a.g?4:2;e=this.g.length-1;for(g=this.l.length-1;0<=g;--g)for(f.bindTexture(3553,this.l[g]),m=0<g?this.i[g-
1]:0,b=this.i[g];0<=e&&this.g[e]>=m;){r=this.g[e];c=this.s[e];q=t(c).toString();if(void 0===h[q]&&c.X()&&(void 0===n||oc(n,c.X().H()))&&(f.clear(f.COLOR_BUFFER_BIT|f.DEPTH_BUFFER_BIT),f.drawElements(4,b-r,d,r*a),b=l(c))){h=b;break a}b=r;e--}h=void 0}else f.clear(f.COLOR_BUFFER_BIT|f.DEPTH_BUFFER_BIT),um(this,f,a,h,this.l,this.i),h=(h=l(null))?h:void 0;r=h}f.disableVertexAttribArray(p.f);f.disableVertexAttribArray(p.b);f.disableVertexAttribArray(p.c);f.disableVertexAttribArray(p.a);f.disableVertexAttribArray(p.g);
return r};function um(a,b,c,d,e,f){var g=c.g?5125:5123;c=c.g?4:2;if(Ga(d)){var h;a=0;d=e.length;for(h=0;a<d;++a){b.bindTexture(3553,e[a]);var l=f[a];b.drawElements(4,l-h,g,h*c);h=l}}else{h=0;var m,l=0;for(m=e.length;l<m;++l){b.bindTexture(3553,e[l]);for(var n=0<l?f[l-1]:0,p=f[l],q=n;h<a.g.length&&a.g[h]<=p;){var r=t(a.s[h]).toString();void 0!==d[r]?(q!==n&&b.drawElements(4,n-q,g,q*c),n=q=h===a.g.length-1?p:a.g[h+1]):n=h===a.g.length-1?p:a.g[h+1];h++}q!==n&&b.drawElements(4,n-q,g,q*c)}}}
pm.prototype.Ub=function(a){var b=a.Zb(),c=a.jc(1),d=a.ld(),e=a.pe(1),f=a.v,g=a.Ia(),h=a.U,l=a.j,m=a.Gb();a=a.i;var n;0===this.c.length?this.c.push(c):(n=this.c[this.c.length-1],t(n)!=t(c)&&(this.U.push(this.a.length),this.c.push(c)));0===this.f.length?this.f.push(e):(n=this.f[this.f.length-1],t(n)!=t(e)&&(this.i.push(this.a.length),this.f.push(e)));this.A=b[0];this.D=b[1];this.S=m[1];this.ya=d[1];this.Aa=d[0];this.P=f;this.T=g[0];this.W=g[1];this.ia=l;this.Ra=h;this.na=a;this.Hb=m[0]};
function vm(a,b,c){this.f=b;this.c=a;this.g=c;this.a={}}function wm(a,b){var c=[],d;for(d in a.a)c.push(qm(a.a[d],b));return function(){for(var a=c.length,b,d=0;d<a;d++)b=c[d].apply(this,arguments);return b}}function xm(a,b){for(var c in a.a)sm(a.a[c],b)}vm.prototype.b=function(a,b){var c=this.a[b];void 0===c&&(c=new ym[b](this.c,this.f),this.a[b]=c);return c};vm.prototype.Ya=function(){return Ga(this.a)};
vm.prototype.Pa=function(a,b,c,d,e,f,g,h){var l,m,n;l=0;for(m=Oj.length;l<m;++l)n=this.a[Oj[l]],void 0!==n&&n.Pa(a,b,c,d,e,f,g,h,void 0,!1)};function zm(a,b,c,d,e,f,g,h,l,m,n){var p=Am,q,r;for(q=Oj.length-1;0<=q;--q)if(r=a.a[Oj[q]],void 0!==r&&(r=r.Pa(b,c,d,e,p,f,g,h,l,m,n)))return r}
vm.prototype.sa=function(a,b,c,d,e,f,g,h,l,m){var n=b.b;n.bindFramebuffer(n.FRAMEBUFFER,jm(b));var p;void 0!==this.g&&(p=Mb(Wb(a),d*this.g));return zm(this,b,a,d,e,g,h,l,function(a){var b=new Uint8Array(4);n.readPixels(0,0,1,1,n.RGBA,n.UNSIGNED_BYTE,b);if(0<b[3]&&(a=m(a)))return a},!0,p)};
function Bm(a,b,c,d,e,f,g,h){var l=c.b;l.bindFramebuffer(l.FRAMEBUFFER,jm(c));return void 0!==zm(a,c,b,d,e,f,g,h,function(){var a=new Uint8Array(4);l.readPixels(0,0,1,1,l.RGBA,l.UNSIGNED_BYTE,a);return 0<a[3]},!1)}var ym={Image:pm},Am=[1,1];function Cm(a,b,c,d,e,f,g){this.b=a;this.f=b;this.g=f;this.c=g;this.o=e;this.l=d;this.i=c;this.a=null}x(Cm,ph);k=Cm.prototype;k.sd=function(a){this.Ub(a.a)};k.sc=function(a){switch(a.Y()){case "Point":this.uc(a,null);break;case "MultiPoint":this.tc(a,null);break;case "GeometryCollection":this.Ze(a,null)}};k.Ye=function(a,b){var c=(0,b.g)(a);c&&oc(this.g,c.H())&&(this.sd(b),this.sc(c))};k.Ze=function(a){a=a.c;var b,c;b=0;for(c=a.length;b<c;++b)this.sc(a[b])};
k.uc=function(a,b){var c=this.b,d=(new vm(1,this.g)).b(0,"Image");d.Ub(this.a);d.uc(a,b);sm(d,c);d.Pa(this.b,this.f,this.i,this.l,this.o,this.c,1,{},void 0,!1);qm(d,c)()};k.tc=function(a,b){var c=this.b,d=(new vm(1,this.g)).b(0,"Image");d.Ub(this.a);d.tc(a,b);sm(d,c);d.Pa(this.b,this.f,this.i,this.l,this.o,this.c,1,{},void 0,!1);qm(d,c)()};k.Ub=function(a){this.a=a};function Dm(){this.b="precision mediump float;varying vec2 a;uniform float f;uniform sampler2D g;void main(void){vec4 texColor=texture2D(g,a);gl_FragColor.rgb=texColor.rgb;gl_FragColor.a=texColor.a*f;}"}x(Dm,am);ca(Dm);function Em(){this.b="varying vec2 a;attribute vec2 b;attribute vec2 c;uniform mat4 d;uniform mat4 e;void main(void){gl_Position=e*vec4(b,0.,1.);a=(d*vec4(c,0.,1.)).st;}"}x(Em,bm);ca(Em);
function Fm(a,b){this.g=a.getUniformLocation(b,"f");this.f=a.getUniformLocation(b,"e");this.i=a.getUniformLocation(b,"d");this.c=a.getUniformLocation(b,"g");this.b=a.getAttribLocation(b,"b");this.a=a.getAttribLocation(b,"c")};function Gm(a,b){vh.call(this,b);this.f=a;this.T=new fm([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]);this.i=this.qb=null;this.l=void 0;this.s=ch();this.U=ch();this.D=De();this.v=null}x(Gm,vh);
function Hm(a,b,c){var d=a.f.f;if(void 0===a.l||a.l!=c){b.postRenderFunctions.push(function(a,b,c){a.isContextLost()||(a.deleteFramebuffer(b),a.deleteTexture(c))}.bind(null,d,a.i,a.qb));b=km(d,c,c);var e=d.createFramebuffer();d.bindFramebuffer(36160,e);d.framebufferTexture2D(36160,36064,3553,b,0);a.qb=b;a.i=e;a.l=c}else d.bindFramebuffer(36160,a.i)}
Gm.prototype.vh=function(a,b,c){Im(this,"precompose",c,a);hm(c,34962,this.T);var d=c.b,e=Dm.$b(),f=Em.$b(),e=mm(c,e,f);this.v?f=this.v:this.v=f=new Fm(d,e);c.we(e)&&(d.enableVertexAttribArray(f.b),d.vertexAttribPointer(f.b,2,5126,!1,16,0),d.enableVertexAttribArray(f.a),d.vertexAttribPointer(f.a,2,5126,!1,16,8),d.uniform1i(f.c,0));d.uniformMatrix4fv(f.i,!1,Ee(this.D,this.s));d.uniformMatrix4fv(f.f,!1,Ee(this.D,this.U));d.uniform1f(f.g,b.opacity);d.bindTexture(3553,this.qb);d.drawArrays(5,0,4);Im(this,
"postcompose",c,a)};function Im(a,b,c,d){a=a.a;if(Ya(a,b)){var e=d.viewState;a.b(new qh(b,new Cm(c,e.center,e.resolution,e.rotation,d.size,d.extent,d.pixelRatio),d,null,c))}}Gm.prototype.zf=function(){this.i=this.qb=null;this.l=void 0};function Jm(a,b){Gm.call(this,a,b);this.j=this.o=this.c=null}x(Jm,Gm);function Km(a,b){var c=b.a();return om(a.f.f,c)}Jm.prototype.sa=function(a,b,c,d){var e=this.a;return e.ha().sa(a,b.viewState.resolution,b.viewState.rotation,b.skippedFeatureUids,function(a){return c.call(d,a,e)})};
Jm.prototype.Af=function(a,b){var c=this.f.f,d=a.pixelRatio,e=a.viewState,f=e.center,g=e.resolution,h=e.rotation,l=this.c,m=this.qb,n=this.a.ha(),p=a.viewHints,q=a.extent;void 0!==b.extent&&(q=nc(q,b.extent));p[0]||p[1]||ic(q)||(e=n.A(q,g,d,e.projection))&&xh(this,e)&&(l=e,m=Km(this,e),this.qb&&a.postRenderFunctions.push(function(a,b){a.isContextLost()||a.deleteTexture(b)}.bind(null,c,this.qb)));l&&(c=this.f.c.l,Lm(this,c.width,c.height,d,f,g,h,l.H()),this.j=null,d=this.s,dh(d),jh(d,1,-1),kh(d,0,
-1),this.c=l,this.qb=m,zh(a.attributions,l.l),Ah(a,n));return!0};function Lm(a,b,c,d,e,f,g,h){b*=f;c*=f;a=a.U;dh(a);jh(a,2*d/b,2*d/c);ih(a,-g);kh(a,h[0]-e[0],h[1]-e[1]);jh(a,(h[2]-h[0])/2,(h[3]-h[1])/2);kh(a,1,1)}Jm.prototype.le=function(a,b){return void 0!==this.sa(a,b,rc,this)};
Jm.prototype.Cc=function(a,b,c,d){if(this.c&&this.c.a())if(this.a.ha()instanceof yl){var e=hh(b.pixelToCoordinateTransform,a.slice());if(this.sa(e,b,rc,this))return c.call(d,this.a)}else{e=[this.c.a().width,this.c.a().height];if(!this.j){var f=b.size;b=ch();kh(b,-1,-1);jh(b,2/f[0],2/f[1]);kh(b,0,f[1]);jh(b,1,-1);var f=mh(this.U.slice()),g=ch();kh(g,0,e[1]);jh(g,1,-1);jh(g,e[0]/2,e[1]/2);kh(g,1,1);fh(g,f);fh(g,b);this.j=g}a=hh(this.j,a.slice());if(!(0>a[0]||a[0]>e[0]||0>a[1]||a[1]>e[1])&&(this.o||
(this.o=Ge(1,1)),this.o.clearRect(0,0,1,1),this.o.drawImage(this.c.a(),a[0],a[1],1,1,0,0,1,1),0<this.o.getImageData(0,0,1,1).data[3]))return c.call(d,this.a)}};function Mm(){this.b="precision mediump float;varying vec2 a;uniform sampler2D e;void main(void){gl_FragColor=texture2D(e,a);}"}x(Mm,am);ca(Mm);function Nm(){this.b="varying vec2 a;attribute vec2 b;attribute vec2 c;uniform vec4 d;void main(void){gl_Position=vec4(b*d.xy+d.zw,0.,1.);a=c;}"}x(Nm,bm);ca(Nm);function Om(a,b){this.g=a.getUniformLocation(b,"e");this.f=a.getUniformLocation(b,"d");this.b=a.getAttribLocation(b,"b");this.a=a.getAttribLocation(b,"c")};function Pm(a,b){Gm.call(this,a,b);this.S=Mm.$b();this.W=Nm.$b();this.c=null;this.C=new fm([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]);this.A=this.o=null;this.j=-1;this.P=[0,0]}x(Pm,Gm);k=Pm.prototype;k.ka=function(){im(this.f.c,this.C);Gm.prototype.ka.call(this)};k.Qd=function(a,b,c){var d=this.f;return function(e,f){return tf(a,b,e,f,function(a){var b=Re(d.a,a.jb());b&&(c[e]||(c[e]={}),c[e][a.ma.toString()]=a);return b})}};k.zf=function(){Gm.prototype.zf.call(this);this.c=null};
k.Af=function(a,b,c){var d=this.f,e=c.b,f=a.viewState,g=f.projection,h=this.a,l=h.ha(),m=l.fb(g),n=m.Lb(f.resolution),p=m.$(n),q=l.$d(n,a.pixelRatio,g),r=q[0]/$e(m.Ja(n),this.P)[0],v=p/r,y=l.Ud(g),w=f.center,G;p==f.resolution?(w=Ch(w,p,a.size),G=mc(w,p,f.rotation,a.size)):G=a.extent;p=kf(m,G,p);if(this.o&&Yd(this.o,p)&&this.j==l.g)v=this.A;else{var z=[p.ea-p.ca+1,p.ga-p.fa+1],D=Math.pow(2,Math.ceil(Math.log(Math.max(z[0]*q[0],z[1]*q[1]))/Math.LN2)),z=v*D,H=m.Ia(n),ba=H[0]+p.ca*q[0]*v,v=H[1]+p.fa*
q[1]*v,v=[ba,v,ba+z,v+z];Hm(this,a,D);e.viewport(0,0,D,D);e.clearColor(0,0,0,0);e.clear(16384);e.disable(3042);D=mm(c,this.S,this.W);c.we(D);this.c||(this.c=new Om(e,D));hm(c,34962,this.C);e.enableVertexAttribArray(this.c.b);e.vertexAttribPointer(this.c.b,2,5126,!1,16,0);e.enableVertexAttribArray(this.c.a);e.vertexAttribPointer(this.c.a,2,5126,!1,16,8);e.uniform1i(this.c.g,0);c={};c[n]={};var A=this.Qd(l,g,c),Fa=h.c(),D=!0,ba=Jb(),Ja=new Wd(0,0,0,0),M,ma,Ub;for(ma=p.ca;ma<=p.ea;++ma)for(Ub=p.fa;Ub<=
p.ga;++Ub){H=l.bc(n,ma,Ub,r,g);if(void 0!==b.extent&&(M=m.Ea(H.ma,ba),!oc(M,b.extent)))continue;M=H.V();M=2==M||4==M||3==M&&!Fa;!M&&H.a&&(H=H.a);M=H.V();if(2==M){if(Re(d.a,H.jb())){c[n][H.ma.toString()]=H;continue}}else if(4==M||3==M&&!Fa)continue;D=!1;M=hf(m,H.ma,A,Ja,ba);M||(H=jf(m,H.ma,Ja,ba))&&A(n+1,H)}b=Object.keys(c).map(Number);b.sort(fb);for(var A=new Float32Array(4),Kb,Fa=0,Ja=b.length;Fa<Ja;++Fa)for(Kb in ma=c[b[Fa]],ma)H=ma[Kb],M=m.Ea(H.ma,ba),A[0]=2*(M[2]-M[0])/z,A[1]=2*(M[3]-M[1])/z,
A[2]=2*(M[0]-v[0])/z-1,A[3]=2*(M[1]-v[1])/z-1,e.uniform4fv(this.c.f,A),Qm(d,H,q,y*r),e.drawArrays(5,0,4);D?(this.o=p,this.A=v,this.j=l.g):(this.A=this.o=null,this.j=-1,a.animate=!0)}Bh(a.usedTiles,l,n,p);var Hb=d.o;Dh(a,l,m,r,g,G,n,h.f(),function(a){var b;(b=2!=a.V()||Re(d.a,a.jb()))||(b=a.jb()in Hb.g);b||Hb.f([a,mf(m,a.ma),m.$(a.ma[0]),q,y*r])},this);yh(a,l);Ah(a,l);e=this.s;dh(e);kh(e,(w[0]-v[0])/(v[2]-v[0]),(w[1]-v[1])/(v[3]-v[1]));0!==f.rotation&&ih(e,f.rotation);jh(e,a.size[0]*f.resolution/(v[2]-
v[0]),a.size[1]*f.resolution/(v[3]-v[1]));kh(e,-.5,-.5);return!0};k.Cc=function(a,b,c,d){if(this.i){a=hh(this.s,[a[0]/b.size[0],(b.size[1]-a[1])/b.size[1]].slice());a=[a[0]*this.l,a[1]*this.l];b=this.f.c.b;b.bindFramebuffer(b.FRAMEBUFFER,this.i);var e=new Uint8Array(4);b.readPixels(a[0],a[1],1,1,b.RGBA,b.UNSIGNED_BYTE,e);if(0<e[3])return c.call(d,this.a)}};function Rm(a,b){Gm.call(this,a,b);this.j=!1;this.P=-1;this.S=NaN;this.A=Jb();this.o=this.c=this.C=null}x(Rm,Gm);k=Rm.prototype;k.vh=function(a,b,c){this.o=b;var d=a.viewState,e=this.c;e&&!e.Ya()&&e.Pa(c,d.center,d.resolution,d.rotation,a.size,a.pixelRatio,b.opacity,b.Qc?a.skippedFeatureUids:{})};k.ka=function(){var a=this.c;a&&(wm(a,this.f.c)(),this.c=null);Gm.prototype.ka.call(this)};
k.sa=function(a,b,c,d){if(this.c&&this.o){var e=b.viewState,f=this.a,g={};return this.c.sa(a,this.f.c,e.center,e.resolution,e.rotation,b.size,b.pixelRatio,this.o.opacity,{},function(a){var b=t(a).toString();if(!(b in g))return g[b]=!0,c.call(d,a,f)})}};k.le=function(a,b){if(this.c&&this.o){var c=b.viewState;return Bm(this.c,a,this.f.c,c.resolution,c.rotation,b.pixelRatio,this.o.opacity,b.skippedFeatureUids)}return!1};
k.Cc=function(a,b,c,d){a=hh(b.pixelToCoordinateTransform,a.slice());if(this.le(a,b))return c.call(d,this.a)};k.wh=function(){wh(this)};
k.Af=function(a,b,c){function d(a){var b,c=a.ec();c?b=c.call(a,m):(c=e.i)&&(b=c(a,m));if(b){if(b){c=!1;if(Array.isArray(b))for(var d=0,f=b.length;d<f;++d)c=lk(q,a,b[d],kk(m,n),this.wh,this)||c;else c=lk(q,a,b,kk(m,n),this.wh,this)||c;a=c}else a=!1;this.j=this.j||a}}var e=this.a;b=e.ha();zh(a.attributions,b.l);Ah(a,b);var f=a.viewHints[0],g=a.viewHints[1],h=e.P,l=e.T;if(!this.j&&!h&&f||!l&&g)return!0;var g=a.extent,h=a.viewState,f=h.projection,m=h.resolution,n=a.pixelRatio,h=e.g,p=e.a,l=yj(e);void 0===
l&&(l=jk);g=Mb(g,p*m);if(!this.j&&this.S==m&&this.P==h&&this.C==l&&Sb(this.A,g))return!0;this.c&&a.postRenderFunctions.push(wm(this.c,c));this.j=!1;var q=new vm(.5*m/n,g,e.a);b.Pc(g,m,f);if(l){var r=[];b.vb(g,function(a){r.push(a)},this);r.sort(l);r.forEach(d,this)}else b.vb(g,d,this);xm(q,c);this.S=m;this.P=h;this.C=l;this.A=g;this.c=q;return!0};function Sm(a,b){Jh.call(this,0,b);this.b=document.createElement("CANVAS");this.b.style.width="100%";this.b.style.height="100%";this.b.className="ol-unselectable";a.insertBefore(this.b,a.childNodes[0]||null);this.U=this.A=0;this.D=Ge();this.j=!0;this.f=Uf(this.b,{antialias:!0,depth:!1,failIfMajorPerformanceCaveat:!0,preserveDrawingBuffer:!1,stencil:!0});this.c=new gm(this.b,this.f);B(this.b,"webglcontextlost",this.Pm,this);B(this.b,"webglcontextrestored",this.Qm,this);this.a=new Qe;this.v=null;this.o=
new Oh(function(a){var b=a[1];a=a[2];var e=b[0]-this.v[0],b=b[1]-this.v[1];return 65536*Math.log(a)+Math.sqrt(e*e+b*b)/a}.bind(this),function(a){return a[0].jb()});this.C=function(){if(!this.o.Ya()){Sh(this.o);var a=Ph(this.o);Qm(this,a[0],a[3],a[4])}return!1}.bind(this);this.l=0;Tm(this)}x(Sm,Jh);
function Qm(a,b,c,d){var e=a.f,f=b.jb();if(Re(a.a,f))a=a.a.get(f),e.bindTexture(3553,a.qb),9729!=a.Wg&&(e.texParameteri(3553,10240,9729),a.Wg=9729),9729!=a.Yg&&(e.texParameteri(3553,10241,9729),a.Yg=9729);else{var g=e.createTexture();e.bindTexture(3553,g);if(0<d){var h=a.D.canvas,l=a.D;a.A!==c[0]||a.U!==c[1]?(h.width=c[0],h.height=c[1],a.A=c[0],a.U=c[1]):l.clearRect(0,0,c[0],c[1]);l.drawImage(b.$a(),d,d,c[0],c[1],0,0,c[0],c[1]);e.texImage2D(3553,0,6408,6408,5121,h)}else e.texImage2D(3553,0,6408,6408,
5121,b.$a());e.texParameteri(3553,10240,9729);e.texParameteri(3553,10241,9729);e.texParameteri(3553,10242,33071);e.texParameteri(3553,10243,33071);a.a.set(f,{qb:g,Wg:9729,Yg:9729})}}k=Sm.prototype;k.Xe=function(a){return a instanceof ej?new Jm(this,a):a instanceof F?new Pm(this,a):a instanceof I?new Rm(this,a):null};function Um(a,b,c){var d=a.i;if(Ya(d,b)){a=a.c;var e=c.viewState;d.b(new qh(b,new Cm(a,e.center,e.resolution,e.rotation,c.size,c.extent,c.pixelRatio),c,null,a))}}
k.ka=function(){var a=this.f;a.isContextLost()||this.a.forEach(function(b){b&&a.deleteTexture(b.qb)});Ta(this.c);Jh.prototype.ka.call(this)};k.Gj=function(a,b){for(var c=this.f,d;1024<this.a.wc()-this.l;){if(d=this.a.b.pc)c.deleteTexture(d.qb);else if(+this.a.b.Mb==b.index)break;else--this.l;this.a.pop()}};k.Y=function(){return"webgl"};k.Pm=function(a){a.preventDefault();this.a.clear();this.l=0;a=this.g;for(var b in a)a[b].zf()};k.Qm=function(){Tm(this);this.i.render()};
function Tm(a){a=a.f;a.activeTexture(33984);a.blendFuncSeparate(770,771,1,771);a.disable(2884);a.disable(2929);a.disable(3089);a.disable(2960)}
k.Ce=function(a){var b=this.c,c=this.f;if(c.isContextLost())return!1;if(!a)return this.j&&(this.b.style.display="none",this.j=!1),!1;this.v=a.focus;this.a.set((-a.index).toString(),null);++this.l;Um(this,"precompose",a);var d=[],e=a.layerStatesArray;nb(e);var f=a.viewState.resolution,g,h,l,m;g=0;for(h=e.length;g<h;++g)m=e[g],sh(m,f)&&"ready"==m.S&&(l=Mh(this,m.layer),l.Af(a,m,b)&&d.push(m));e=a.size[0]*a.pixelRatio;f=a.size[1]*a.pixelRatio;if(this.b.width!=e||this.b.height!=f)this.b.width=e,this.b.height=
f;c.bindFramebuffer(36160,null);c.clearColor(0,0,0,0);c.clear(16384);c.enable(3042);c.viewport(0,0,this.b.width,this.b.height);g=0;for(h=d.length;g<h;++g)m=d[g],l=Mh(this,m.layer),l.vh(a,m,b);this.j||(this.b.style.display="",this.j=!0);Kh(a);1024<this.a.wc()-this.l&&a.postRenderFunctions.push(this.Gj.bind(this));this.o.Ya()||(a.postRenderFunctions.push(this.C),a.animate=!0);Um(this,"postcompose",a);Nh(this,a);a.postRenderFunctions.push(Lh)};
k.sa=function(a,b,c,d,e,f){var g;if(this.f.isContextLost())return!1;var h=b.viewState,l=b.layerStatesArray,m;for(m=l.length-1;0<=m;--m){g=l[m];var n=g.layer;if(sh(g,h.resolution)&&e.call(f,n)&&(g=Mh(this,n).sa(a,b,c,d)))return g}};k.sh=function(a,b,c,d){var e=!1;if(this.f.isContextLost())return!1;var f=b.viewState,g=b.layerStatesArray,h;for(h=g.length-1;0<=h;--h){var l=g[h],m=l.layer;if(sh(l,f.resolution)&&c.call(d,m)&&(e=Mh(this,m).le(a,b)))return!0}return e};
k.rh=function(a,b,c,d,e){if(this.f.isContextLost())return!1;var f=b.viewState,g,h=b.layerStatesArray,l;for(l=h.length-1;0<=l;--l){g=h[l];var m=g.layer;if(sh(g,f.resolution)&&e.call(d,m)&&(g=Mh(this,m).Cc(a,b,c,d)))return g}};var Vm=["canvas","webgl","dom"];
function Q(a){bb.call(this);var b=Wm(a);this.rb=void 0!==a.loadTilesWhileAnimating?a.loadTilesWhileAnimating:!1;this.Hc=void 0!==a.loadTilesWhileInteracting?a.loadTilesWhileInteracting:!1;this.Oe=void 0!==a.pixelRatio?a.pixelRatio:$f;this.Ne=b.logos;this.W=function(){this.i=void 0;this.Uo.call(this,Date.now())}.bind(this);this.Sa=ch();this.Pe=ch();this.cb=0;this.f=null;this.za=Jb();this.C=this.P=null;this.a=document.createElement("DIV");this.a.className="ol-viewport"+(eg?" ol-touch":"");this.a.style.position=
"relative";this.a.style.overflow="hidden";this.a.style.width="100%";this.a.style.height="100%";this.a.style.msTouchAction="none";this.a.style.touchAction="none";this.A=document.createElement("DIV");this.A.className="ol-overlaycontainer";this.a.appendChild(this.A);this.v=document.createElement("DIV");this.v.className="ol-overlaycontainer-stopevent";a=["click","dblclick","mousedown","touchstart","mspointerdown",Yg,"mousewheel","wheel"];for(var c=0,d=a.length;c<d;++c)B(this.v,a[c],Va);this.a.appendChild(this.v);
this.na=new Qg(this);for(var e in ah)B(this.na,ah[e],this.Pg,this);this.ia=b.keyboardEventTarget;this.s=null;B(this.a,"wheel",this.Oc,this);B(this.a,"mousewheel",this.Oc,this);this.o=b.controls;this.l=b.interactions;this.j=b.overlays;this.Cf={};this.D=new b.Wo(this.a,this);this.T=null;this.S=[];this.oa=[];this.Ba=new Th(this.Bk.bind(this),this.hl.bind(this));this.Ee={};B(this,db("layergroup"),this.Ok,this);B(this,db("view"),this.il,this);B(this,db("size"),this.el,this);B(this,db("target"),this.gl,
this);this.G(b.values);this.o.forEach(function(a){a.setMap(this)},this);B(this.o,"add",function(a){a.element.setMap(this)},this);B(this.o,"remove",function(a){a.element.setMap(null)},this);this.l.forEach(function(a){a.setMap(this)},this);B(this.l,"add",function(a){a.element.setMap(this)},this);B(this.l,"remove",function(a){a.element.setMap(null)},this);this.j.forEach(this.mg,this);B(this.j,"add",function(a){this.mg(a.element)},this);B(this.j,"remove",function(a){var b=a.element.Xa();void 0!==b&&delete this.Cf[b.toString()];
a.element.setMap(null)},this)}x(Q,bb);k=Q.prototype;k.uj=function(a){this.o.push(a)};k.vj=function(a){this.l.push(a)};k.kg=function(a){this.xc().Tc().push(a)};k.lg=function(a){this.j.push(a)};k.mg=function(a){var b=a.Xa();void 0!==b&&(this.Cf[b.toString()]=a);a.setMap(this)};k.Wa=function(a){this.render();Array.prototype.push.apply(this.S,arguments)};
k.ka=function(){Ta(this.na);Ta(this.D);Qa(this.a,"wheel",this.Oc,this);Qa(this.a,"mousewheel",this.Oc,this);void 0!==this.c&&(pa.removeEventListener("resize",this.c,!1),this.c=void 0);this.i&&(pa.cancelAnimationFrame(this.i),this.i=void 0);this.fh(null);bb.prototype.ka.call(this)};k.kd=function(a,b,c,d,e){if(this.f)return a=this.Ma(a),this.D.sa(a,this.f,b,void 0!==c?c:null,void 0!==d?d:rc,void 0!==e?e:null)};
k.Tl=function(a,b,c,d,e){if(this.f)return this.D.rh(a,this.f,b,void 0!==c?c:null,void 0!==d?d:rc,void 0!==e?e:null)};k.kl=function(a,b,c){if(!this.f)return!1;a=this.Ma(a);return this.D.sh(a,this.f,void 0!==b?b:rc,void 0!==c?c:null)};k.Wj=function(a){return this.Ma(this.Td(a))};k.Td=function(a){var b=this.a.getBoundingClientRect();a=a.changedTouches?a.changedTouches[0]:a;return[a.clientX-b.left,a.clientY-b.top]};k.tf=function(){return this.get("target")};
k.yc=function(){var a=this.tf();return void 0!==a?"string"===typeof a?document.getElementById(a):a:null};k.Ma=function(a){var b=this.f;return b?hh(b.pixelToCoordinateTransform,a.slice()):null};k.Uj=function(){return this.o};k.nk=function(){return this.j};k.mk=function(a){a=this.Cf[a.toString()];return void 0!==a?a:null};k.ak=function(){return this.l};k.xc=function(){return this.get("layergroup")};k.eh=function(){return this.xc().Tc()};
k.Ga=function(a){var b=this.f;return b?hh(b.coordinateToPixelTransform,a.slice(0,2)):null};k.Za=function(){return this.get("size")};k.aa=function(){return this.get("view")};k.Dk=function(){return this.a};k.Bk=function(a,b,c,d){var e=this.f;if(!(e&&b in e.wantedTiles&&e.wantedTiles[b][a.ma.toString()]))return Infinity;a=c[0]-e.focus[0];c=c[1]-e.focus[1];return 65536*Math.log(d)+Math.sqrt(a*a+c*c)/d};k.Oc=function(a,b){var c=new Og(b||a.type,this,a);this.Pg(c)};
k.Pg=function(a){if(this.f){this.T=a.coordinate;a.frameState=this.f;var b=this.l.a,c;if(!1!==this.b(a))for(c=b.length-1;0<=c;c--){var d=b[c];if(d.f()&&!d.handleEvent(a))break}}};k.cl=function(){var a=this.f,b=this.Ba;if(!b.Ya()){var c=16,d=c;if(a){var e=a.viewHints;e[0]&&(c=this.rb?8:0,d=2);e[1]&&(c=this.Hc?8:0,d=2)}b.i<c&&(Sh(b),Uh(b,c,d))}b=this.oa;c=0;for(d=b.length;c<d;++c)b[c](this,a);b.length=0};k.el=function(){this.render()};
k.gl=function(){var a;this.tf()&&(a=this.yc());if(this.s){for(var b=0,c=this.s.length;b<c;++b)Ka(this.s[b]);this.s=null}a?(a.appendChild(this.a),a=this.ia?this.ia:a,this.s=[B(a,"keydown",this.Oc,this),B(a,"keypress",this.Oc,this)],this.c||(this.c=this.Xc.bind(this),pa.addEventListener("resize",this.c,!1))):(Me(this.a),void 0!==this.c&&(pa.removeEventListener("resize",this.c,!1),this.c=void 0));this.Xc()};k.hl=function(){this.render()};k.jl=function(){this.render()};
k.il=function(){this.P&&(Ka(this.P),this.P=null);var a=this.aa();a&&(this.P=B(a,"propertychange",this.jl,this));this.render()};k.Pk=function(){this.render()};k.Qk=function(){this.render()};k.Ok=function(){this.C&&(this.C.forEach(Ka),this.C=null);var a=this.xc();a&&(this.C=[B(a,"propertychange",this.Qk,this),B(a,"change",this.Pk,this)]);this.render()};k.Vo=function(){this.i&&pa.cancelAnimationFrame(this.i);this.W()};k.render=function(){void 0===this.i&&(this.i=pa.requestAnimationFrame(this.W))};
k.Oo=function(a){return this.o.remove(a)};k.Po=function(a){return this.l.remove(a)};k.Ro=function(a){return this.xc().Tc().remove(a)};k.So=function(a){return this.j.remove(a)};
k.Uo=function(a){var b,c,d,e=this.Za(),f=this.aa(),g=Jb(),h=null;if(void 0!==e&&0<e[0]&&0<e[1]&&f&&Kd(f)){var h=Gd(f,this.f?this.f.viewHints:void 0),l=this.xc().hf(),m={};b=0;for(c=l.length;b<c;++b)m[t(l[b].layer)]=l[b];d=f.V();h={animate:!1,attributions:{},coordinateToPixelTransform:this.Sa,extent:g,focus:this.T?this.T:d.center,index:this.cb++,layerStates:m,layerStatesArray:l,logos:Ca({},this.Ne),pixelRatio:this.Oe,pixelToCoordinateTransform:this.Pe,postRenderFunctions:[],size:e,skippedFeatureUids:this.Ee,
tileQueue:this.Ba,time:a,usedTiles:{},viewState:d,viewHints:h,wantedTiles:{}}}if(h){a=this.S;b=e=0;for(c=a.length;b<c;++b)f=a[b],f(this,h)&&(a[e++]=f);a.length=e;h.extent=mc(d.center,d.resolution,d.rotation,h.size,g)}this.f=h;this.D.Ce(h);h&&(h.animate&&this.render(),Array.prototype.push.apply(this.oa,h.postRenderFunctions),0!==this.S.length||h.viewHints[0]||h.viewHints[1]||$b(h.extent,this.za)||(this.b(new Oe("moveend",this,h)),Ob(h.extent,this.za)));this.b(new Oe("postrender",this,h));Mf(this.cl,
this)};k.ji=function(a){this.set("layergroup",a)};k.Wf=function(a){this.set("size",a)};k.fh=function(a){this.set("target",a)};k.kp=function(a){this.set("view",a)};k.ti=function(a){a=t(a).toString();this.Ee[a]=!0;this.render()};
k.Xc=function(){var a=this.yc();if(a){var b=pa.getComputedStyle(a);this.Wf([a.offsetWidth-parseFloat(b.borderLeftWidth)-parseFloat(b.paddingLeft)-parseFloat(b.paddingRight)-parseFloat(b.borderRightWidth),a.offsetHeight-parseFloat(b.borderTopWidth)-parseFloat(b.paddingTop)-parseFloat(b.paddingBottom)-parseFloat(b.borderBottomWidth)])}else this.Wf(void 0)};k.wi=function(a){a=t(a).toString();delete this.Ee[a];this.render()};
function Wm(a){var b=null;void 0!==a.keyboardEventTarget&&(b="string"===typeof a.keyboardEventTarget?document.getElementById(a.keyboardEventTarget):a.keyboardEventTarget);var c={},d={};if(void 0===a.logo||"boolean"===typeof a.logo&&a.logo)d["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAHGAAABxgEXwfpGAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAhNQTFRF////AP//AICAgP//AFVVQECA////K1VVSbbbYL/fJ05idsTYJFtbbcjbJllmZszWWMTOIFhoHlNiZszTa9DdUcHNHlNlV8XRIVdiasrUHlZjIVZjaMnVH1RlIFRkH1RkH1ZlasvYasvXVsPQH1VkacnVa8vWIVZjIFRjVMPQa8rXIVVkXsXRsNveIFVkIFZlIVVj3eDeh6GmbMvXH1ZkIFRka8rWbMvXIFVkIFVjIFVkbMvWH1VjbMvWIFVlbcvWIFVla8vVIFVkbMvWbMvVH1VkbMvWIFVlbcvWIFVkbcvVbMvWjNPbIFVkU8LPwMzNIFVkbczWIFVkbsvWbMvXIFVkRnB8bcvW2+TkW8XRIFVkIlZlJVloJlpoKlxrLl9tMmJwOWd0Omh1RXF8TneCT3iDUHiDU8LPVMLPVcLPVcPQVsPPVsPQV8PQWMTQWsTQW8TQXMXSXsXRX4SNX8bSYMfTYcfTYsfTY8jUZcfSZsnUaIqTacrVasrVa8jTa8rWbI2VbMvWbcvWdJObdcvUdszUd8vVeJaee87Yfc3WgJyjhqGnitDYjaarldPZnrK2oNbborW5o9bbo9fbpLa6q9ndrL3ArtndscDDutzfu8fJwN7gwt7gxc/QyuHhy+HizeHi0NfX0+Pj19zb1+Tj2uXk29/e3uLg3+Lh3+bl4uXj4ufl4+fl5Ofl5ufl5ujm5+jmySDnBAAAAFp0Uk5TAAECAgMEBAYHCA0NDg4UGRogIiMmKSssLzU7PkJJT1JTVFliY2hrdHZ3foSFhYeJjY2QkpugqbG1tre5w8zQ09XY3uXn6+zx8vT09vf4+Pj5+fr6/P39/f3+gz7SsAAAAVVJREFUOMtjYKA7EBDnwCPLrObS1BRiLoJLnte6CQy8FLHLCzs2QUG4FjZ5GbcmBDDjxJBXDWxCBrb8aM4zbkIDzpLYnAcE9VXlJSWlZRU13koIeW57mGx5XjoMZEUqwxWYQaQbSzLSkYGfKFSe0QMsX5WbjgY0YS4MBplemI4BdGBW+DQ11eZiymfqQuXZIjqwyadPNoSZ4L+0FVM6e+oGI6g8a9iKNT3o8kVzNkzRg5lgl7p4wyRUL9Yt2jAxVh6mQCogae6GmflI8p0r13VFWTHBQ0rWPW7ahgWVcPm+9cuLoyy4kCJDzCm6d8PSFoh0zvQNC5OjDJhQopPPJqph1doJBUD5tnkbZiUEqaCnB3bTqLTFG1bPn71kw4b+GFdpLElKIzRxxgYgWNYc5SCENVHKeUaltHdXx0dZ8uBI1hJ2UUDgq82CM2MwKeibqAvSO7MCABq0wXEPiqWEAAAAAElFTkSuQmCC"]=
"http://openlayers.org/";else{var e=a.logo;"string"===typeof e?d[e]="":e instanceof HTMLElement?d[t(e).toString()]=e:fa(e)&&(d[e.src]=e.href)}e=a.layers instanceof Vi?a.layers:new Vi({layers:a.layers});c.layergroup=e;c.target=a.target;c.view=void 0!==a.view?a.view:new Fd;var e=Jh,f;void 0!==a.renderer?Array.isArray(a.renderer)?f=a.renderer:"string"===typeof a.renderer&&(f=[a.renderer]):f=Vm;var g,h;g=0;for(h=f.length;g<h;++g){var l=f[g];if("canvas"==l){if(bg){e=Ql;break}}else if("dom"==l){e=Yl;break}else if("webgl"==
l&&Vf){e=Sm;break}}var m;void 0!==a.controls?m=Array.isArray(a.controls)?new be(a.controls.slice()):a.controls:m=Df();var n;void 0!==a.interactions?n=Array.isArray(a.interactions)?new be(a.interactions.slice()):a.interactions:n=Ui();a=void 0!==a.overlays?Array.isArray(a.overlays)?new be(a.overlays.slice()):a.overlays:new be;return{controls:m,interactions:n,keyboardEventTarget:b,logos:d,overlays:a,Wo:e,values:c}}dj();function Xm(a){bb.call(this);this.j=a.id;this.o=void 0!==a.insertFirst?a.insertFirst:!0;this.s=void 0!==a.stopEvent?a.stopEvent:!0;this.f=document.createElement("DIV");this.f.className="ol-overlay-container";this.f.style.position="absolute";this.autoPan=void 0!==a.autoPan?a.autoPan:!1;this.i=void 0!==a.autoPanAnimation?a.autoPanAnimation:{};this.l=void 0!==a.autoPanMargin?a.autoPanMargin:20;this.a={Md:"",fe:"",De:"",Fe:"",visible:!0};this.c=null;B(this,db("element"),this.Jk,this);B(this,db("map"),
this.Vk,this);B(this,db("offset"),this.Zk,this);B(this,db("position"),this.al,this);B(this,db("positioning"),this.bl,this);void 0!==a.element&&this.fi(a.element);this.li(void 0!==a.offset?a.offset:[0,0]);this.oi(void 0!==a.positioning?a.positioning:"top-left");void 0!==a.position&&this.uf(a.position)}x(Xm,bb);k=Xm.prototype;k.Sd=function(){return this.get("element")};k.Xa=function(){return this.j};k.he=function(){return this.get("map")};k.Kg=function(){return this.get("offset")};k.gh=function(){return this.get("position")};
k.Lg=function(){return this.get("positioning")};k.Jk=function(){Ne(this.f);var a=this.Sd();a&&this.f.appendChild(a)};k.Vk=function(){this.c&&(Me(this.f),Ka(this.c),this.c=null);var a=this.he();a&&(this.c=B(a,"postrender",this.render,this),Ym(this),a=this.s?a.v:a.A,this.o?a.insertBefore(this.f,a.childNodes[0]||null):a.appendChild(this.f))};k.render=function(){Ym(this)};k.Zk=function(){Ym(this)};
k.al=function(){Ym(this);if(void 0!==this.get("position")&&this.autoPan){var a=this.he();if(void 0!==a&&a.yc()){var b=Zm(a.yc(),a.Za()),c=this.Sd(),d=c.offsetWidth,e=c.currentStyle||pa.getComputedStyle(c),d=d+(parseInt(e.marginLeft,10)+parseInt(e.marginRight,10)),e=c.offsetHeight,f=c.currentStyle||pa.getComputedStyle(c),e=e+(parseInt(f.marginTop,10)+parseInt(f.marginBottom,10)),g=Zm(c,[d,e]),c=this.l;Sb(b,g)||(d=g[0]-b[0],e=b[2]-g[2],f=g[1]-b[1],g=b[3]-g[3],b=[0,0],0>d?b[0]=d-c:0>e&&(b[0]=Math.abs(e)+
c),0>f?b[1]=f-c:0>g&&(b[1]=Math.abs(g)+c),0===b[0]&&0===b[1])||(c=a.aa().ab(),d=a.Ga(c),b=[d[0]+b[0],d[1]+b[1]],this.i&&(this.i.source=c,a.Wa(Td(this.i))),a.aa().nb(a.Ma(b)))}}};k.bl=function(){Ym(this)};k.fi=function(a){this.set("element",a)};k.setMap=function(a){this.set("map",a)};k.li=function(a){this.set("offset",a)};k.uf=function(a){this.set("position",a)};function Zm(a,b){var c=a.getBoundingClientRect(),d=c.left+pa.pageXOffset,c=c.top+pa.pageYOffset;return[d,c,d+b[0],c+b[1]]}
k.oi=function(a){this.set("positioning",a)};function $m(a,b){a.a.visible!==b&&(a.f.style.display=b?"":"none",a.a.visible=b)}
function Ym(a){var b=a.he(),c=a.gh();if(void 0!==b&&b.f&&void 0!==c){var c=b.Ga(c),d=b.Za(),b=a.f.style,e=a.Kg(),f=a.Lg(),g=e[0],e=e[1];if("bottom-right"==f||"center-right"==f||"top-right"==f)""!==a.a.fe&&(a.a.fe=b.left=""),g=Math.round(d[0]-c[0]-g)+"px",a.a.De!=g&&(a.a.De=b.right=g);else{""!==a.a.De&&(a.a.De=b.right="");if("bottom-center"==f||"center-center"==f||"top-center"==f)g-=a.f.offsetWidth/2;g=Math.round(c[0]+g)+"px";a.a.fe!=g&&(a.a.fe=b.left=g)}if("bottom-left"==f||"bottom-center"==f||"bottom-right"==
f)""!==a.a.Fe&&(a.a.Fe=b.top=""),c=Math.round(d[1]-c[1]-e)+"px",a.a.Md!=c&&(a.a.Md=b.bottom=c);else{""!==a.a.Md&&(a.a.Md=b.bottom="");if("center-left"==f||"center-center"==f||"center-right"==f)e-=a.f.offsetHeight/2;c=Math.round(c[1]+e)+"px";a.a.Fe!=c&&(a.a.Fe=b.top=c)}$m(a,!0)}else $m(a,!1)};function an(a){a=a?a:{};this.l=void 0!==a.collapsed?a.collapsed:!0;this.o=void 0!==a.collapsible?a.collapsible:!0;this.o||(this.l=!1);var b=void 0!==a.className?a.className:"ol-overviewmap",c=void 0!==a.tipLabel?a.tipLabel:"Overview map",d=void 0!==a.collapseLabel?a.collapseLabel:"\u00ab";"string"===typeof d?(this.j=document.createElement("span"),this.j.textContent=d):this.j=d;d=void 0!==a.label?a.label:"\u00bb";"string"===typeof d?(this.v=document.createElement("span"),this.v.textContent=d):this.v=
d;var e=this.o&&!this.l?this.j:this.v,d=document.createElement("button");d.setAttribute("type","button");d.title=c;d.appendChild(e);B(d,"click",this.gm,this);c=document.createElement("DIV");c.className="ol-overviewmap-map";var f=this.f=new Q({controls:new be,interactions:new be,target:c,view:a.view});a.layers&&a.layers.forEach(function(a){f.kg(a)},this);e=document.createElement("DIV");e.className="ol-overviewmap-box";e.style.boxSizing="border-box";this.A=new Xm({position:[0,0],positioning:"bottom-left",
element:e});this.f.lg(this.A);e=document.createElement("div");e.className=b+" ol-unselectable ol-control"+(this.l&&this.o?" ol-collapsed":"")+(this.o?"":" ol-uncollapsible");e.appendChild(c);e.appendChild(d);Pe.call(this,{element:e,render:a.render?a.render:bn,target:a.target})}x(an,Pe);k=an.prototype;
k.setMap=function(a){var b=this.a;a!==b&&(b&&(b=b.aa())&&Qa(b,db("rotation"),this.de,this),Pe.prototype.setMap.call(this,a),a&&(this.s.push(B(a,"propertychange",this.Wk,this)),0===this.f.eh().dc()&&this.f.ji(a.xc()),a=a.aa()))&&(B(a,db("rotation"),this.de,this),Kd(a)&&(this.f.Xc(),cn(this)))};k.Wk=function(a){"view"===a.key&&((a=a.oldValue)&&Qa(a,db("rotation"),this.de,this),a=this.a.aa(),B(a,db("rotation"),this.de,this))};k.de=function(){this.f.aa().ie(this.a.aa().La())};
function bn(){var a=this.a,b=this.f;if(a.f&&b.f){var c=a.Za(),a=a.aa().Kc(c),d=b.Za(),c=b.aa().Kc(d),e=b.Ga(fc(a)),f=b.Ga(dc(a)),b=Math.abs(e[0]-f[0]),e=Math.abs(e[1]-f[1]),f=d[0],d=d[1];b<.1*f||e<.1*d||b>.75*f||e>.75*d?cn(this):Sb(c,a)||(a=this.f,c=this.a.aa(),a.aa().nb(c.ab()))}dn(this)}function cn(a){var b=a.a;a=a.f;var c=b.Za(),b=b.aa().Kc(c),c=a.Za();a=a.aa();pc(b,1/(.1*Math.pow(2,Math.log(7.5)/Math.LN2/2)));a.cf(b,c)}
function dn(a){var b=a.a,c=a.f;if(b.f&&c.f){var d=b.Za(),e=b.aa(),f=c.aa();c.Za();var c=e.La(),b=a.A,g=a.A.Sd(),e=e.Kc(d),d=f.$(),f=cc(e),e=ec(e),h;if(a=a.a.aa().ab())h=[f[0]-a[0],f[1]-a[1]],Db(h,c),yb(h,a);b.uf(h);g&&(g.style.width=Math.abs((f[0]-e[0])/d)+"px",g.style.height=Math.abs((e[1]-f[1])/d)+"px")}}k.gm=function(a){a.preventDefault();en(this)};
function en(a){a.element.classList.toggle("ol-collapsed");a.l?Le(a.j,a.v):Le(a.v,a.j);a.l=!a.l;var b=a.f;a.l||b.f||(b.Xc(),cn(a),Pa(b,"postrender",function(){dn(this)},a))}k.fm=function(){return this.o};k.im=function(a){this.o!==a&&(this.o=a,this.element.classList.toggle("ol-uncollapsible"),!a&&this.l&&en(this))};k.hm=function(a){this.o&&this.l!==a&&en(this)};k.em=function(){return this.l};k.pk=function(){return this.f};function fn(a){a=a?a:{};var b=void 0!==a.className?a.className:"ol-scale-line";this.o=document.createElement("DIV");this.o.className=b+"-inner";this.f=document.createElement("DIV");this.f.className=b+" ol-unselectable";this.f.appendChild(this.o);this.v=null;this.j=void 0!==a.minWidth?a.minWidth:64;this.l=!1;this.D=void 0;this.A="";Pe.call(this,{element:this.f,render:a.render?a.render:gn,target:a.target});B(this,db("units"),this.S,this);this.C(a.units||"metric")}x(fn,Pe);var hn=[1,2,5];
fn.prototype.xb=function(){return this.get("units")};function gn(a){(a=a.frameState)?this.v=a.viewState:this.v=null;jn(this)}fn.prototype.S=function(){jn(this)};fn.prototype.C=function(a){this.set("units",a)};
function jn(a){var b=a.v;if(b){var c=b.projection,d=c.ac(),b=c.getPointResolution(b.resolution,b.center)*d,d=a.j*b,c="",e=a.xb();"degrees"==e?(c=vc.degrees,b/=c,d<c/60?(c="\u2033",b*=3600):d<c?(c="\u2032",b*=60):c="\u00b0"):"imperial"==e?.9144>d?(c="in",b/=.0254):1609.344>d?(c="ft",b/=.3048):(c="mi",b/=1609.344):"nautical"==e?(b/=1852,c="nm"):"metric"==e?1>d?(c="mm",b*=1E3):1E3>d?c="m":(c="km",b/=1E3):"us"==e&&(.9144>d?(c="in",b*=39.37):1609.344>d?(c="ft",b/=.30480061):(c="mi",b/=1609.3472));for(var e=
3*Math.floor(Math.log(a.j*b)/Math.log(10)),f;;){f=hn[(e%3+3)%3]*Math.pow(10,Math.floor(e/3));d=Math.round(f/b);if(isNaN(d)){a.f.style.display="none";a.l=!1;return}if(d>=a.j)break;++e}b=f+" "+c;a.A!=b&&(a.o.innerHTML=b,a.A=b);a.D!=d&&(a.o.style.width=d+"px",a.D=d);a.l||(a.f.style.display="",a.l=!0)}else a.l&&(a.f.style.display="none",a.l=!1)};function kn(a){a=a?a:{};this.f=void 0;this.l=ln;this.v=[];this.D=this.j=0;this.T=null;this.ia=!1;this.W=void 0!==a.duration?a.duration:200;var b=void 0!==a.className?a.className:"ol-zoomslider",c=document.createElement("button");c.setAttribute("type","button");c.className=b+"-thumb ol-unselectable";var d=document.createElement("div");d.className=b+" ol-unselectable ol-control";d.appendChild(c);this.o=new Ig(d);B(this.o,sg,this.Ik,this);B(this.o,tg,this.Ng,this);B(this.o,ug,this.Og,this);B(d,"click",
this.Hk,this);B(c,"click",Va);Pe.call(this,{element:d,render:a.render?a.render:mn})}x(kn,Pe);kn.prototype.ka=function(){Ta(this.o);Pe.prototype.ka.call(this)};var ln=0;k=kn.prototype;k.setMap=function(a){Pe.prototype.setMap.call(this,a);a&&a.render()};
function mn(a){if(a.frameState){if(!this.ia){var b=this.element,c=b.offsetWidth,d=b.offsetHeight,e=b.firstElementChild,f=pa.getComputedStyle(e),b=e.offsetWidth+parseFloat(f.marginRight)+parseFloat(f.marginLeft),e=e.offsetHeight+parseFloat(f.marginTop)+parseFloat(f.marginBottom);this.T=[b,e];c>d?(this.l=1,this.D=c-b):(this.l=ln,this.j=d-e);this.ia=!0}a=a.frameState.viewState.resolution;a!==this.f&&(this.f=a,nn(this,a))}}
k.Hk=function(a){var b=this.a,c=b.aa(),d=c.$();b.Wa(Vd({resolution:d,duration:this.W,easing:Nd}));a=on(this,sa(1===this.l?(a.offsetX-this.T[0]/2)/this.D:(a.offsetY-this.T[1]/2)/this.j,0,1));c.Vb(c.constrainResolution(a))};
k.Ik=function(a){if(!this.A&&a.b.target===this.element.firstElementChild&&(Ld(this.a.aa(),1),this.C=a.clientX,this.S=a.clientY,this.A=!0,0===this.v.length)){a=this.Ng;var b=this.Og;this.v.push(B(document,"mousemove",a,this),B(document,"touchmove",a,this),B(document,tg,a,this),B(document,"mouseup",b,this),B(document,"touchend",b,this),B(document,ug,b,this))}};
k.Ng=function(a){if(this.A){var b=this.element.firstElementChild;this.f=on(this,sa(1===this.l?(a.clientX-this.C+parseInt(b.style.left,10))/this.D:(a.clientY-this.S+parseInt(b.style.top,10))/this.j,0,1));this.a.aa().Vb(this.f);nn(this,this.f);this.C=a.clientX;this.S=a.clientY}};k.Og=function(){if(this.A){var a=this.a,b=a.aa();Ld(b,-1);a.Wa(Vd({resolution:this.f,duration:this.W,easing:Nd}));a=b.constrainResolution(this.f);b.Vb(a);this.A=!1;this.S=this.C=void 0;this.v.forEach(Ka);this.v.length=0}};
function nn(a,b){var c;c=1-Jd(a.a.aa())(b);var d=a.element.firstElementChild;1==a.l?d.style.left=a.D*c+"px":d.style.top=a.j*c+"px"}function on(a,b){return Id(a.a.aa())(1-b)};function pn(a){a=a?a:{};this.f=a.extent?a.extent:null;var b=void 0!==a.className?a.className:"ol-zoom-extent",c=void 0!==a.label?a.label:"E",d=void 0!==a.tipLabel?a.tipLabel:"Fit to extent",e=document.createElement("button");e.setAttribute("type","button");e.title=d;e.appendChild("string"===typeof c?document.createTextNode(c):c);B(e,"click",this.l,this);c=document.createElement("div");c.className=b+" ol-unselectable ol-control";c.appendChild(e);Pe.call(this,{element:c,target:a.target})}x(pn,Pe);
pn.prototype.l=function(a){a.preventDefault();var b=this.a;a=b.aa();var c=this.f?this.f:a.l.H(),b=b.Za();a.cf(c,b)};function qn(a){bb.call(this);a=a?a:{};this.a=null;B(this,db("tracking"),this.Il,this);this.rf(void 0!==a.tracking?a.tracking:!1)}x(qn,bb);k=qn.prototype;k.ka=function(){this.rf(!1);bb.prototype.ka.call(this)};
k.co=function(a){if(null!==a.alpha){var b=wa(a.alpha);this.set("alpha",b);"boolean"===typeof a.absolute&&a.absolute?this.set("heading",b):"number"===typeof a.webkitCompassHeading&&-1!=a.webkitCompassAccuracy&&this.set("heading",wa(a.webkitCompassHeading))}null!==a.beta&&this.set("beta",wa(a.beta));null!==a.gamma&&this.set("gamma",wa(a.gamma));this.u()};k.Oj=function(){return this.get("alpha")};k.Rj=function(){return this.get("beta")};k.Yj=function(){return this.get("gamma")};k.Hl=function(){return this.get("heading")};
k.$g=function(){return this.get("tracking")};k.Il=function(){if(cg){var a=this.$g();a&&!this.a?this.a=B(pa,"deviceorientation",this.co,this):a||null===this.a||(Ka(this.a),this.a=null)}};k.rf=function(a){this.set("tracking",a)};function rn(){this.defaultDataProjection=null}function sn(a,b,c){var d;c&&(d={dataProjection:c.dataProjection?c.dataProjection:a.Oa(b),featureProjection:c.featureProjection});return tn(a,d)}function tn(a,b){var c;b&&(c={featureProjection:b.featureProjection,dataProjection:b.dataProjection?b.dataProjection:a.defaultDataProjection,rightHanded:b.rightHanded},b.decimals&&(c.decimals=b.decimals));return c}
function un(a,b,c){var d=c?zc(c.featureProjection):null,e=c?zc(c.dataProjection):null,f;d&&e&&!Pc(d,e)?a instanceof Uc?f=(b?a.clone():a).kb(b?d:e,b?e:d):f=Tc(b?a.slice():a,b?d:e,b?e:d):f=a;if(b&&c&&c.decimals){var g=Math.pow(10,c.decimals);a=function(a){for(var b=0,c=a.length;b<c;++b)a[b]=Math.round(a[b]*g)/g;return a};Array.isArray(f)?a(f):f.rc(a)}return f};function vn(){this.defaultDataProjection=null}x(vn,rn);function wn(a){return fa(a)?a:"string"===typeof a?(a=JSON.parse(a))?a:null:null}k=vn.prototype;k.Y=function(){return"json"};k.Sb=function(a,b){return this.Uc(wn(a),sn(this,a,b))};k.Fa=function(a,b){return this.Jf(wn(a),sn(this,a,b))};k.Vc=function(a,b){return this.Rh(wn(a),sn(this,a,b))};k.Oa=function(a){return this.Yh(wn(a))};k.Dd=function(a,b){return JSON.stringify(this.Yc(a,b))};k.Yb=function(a,b){return JSON.stringify(this.Ie(a,b))};
k.Zc=function(a,b){return JSON.stringify(this.Ke(a,b))};function xn(a,b,c,d,e,f){var g=NaN,h=NaN,l=(c-b)/d;if(0!==l)if(1==l)g=a[b],h=a[b+1];else if(2==l)g=(1-e)*a[b]+e*a[b+d],h=(1-e)*a[b+1]+e*a[b+d+1];else{var h=a[b],l=a[b+1],m=0,g=[0],n;for(n=b+d;n<c;n+=d){var p=a[n],q=a[n+1],m=m+Math.sqrt((p-h)*(p-h)+(q-l)*(q-l));g.push(m);h=p;l=q}c=e*m;l=0;m=g.length;for(n=!1;l<m;)e=l+(m-l>>1),h=+fb(g[e],c),0>h?l=e+1:(m=e,n=!h);e=n?l:~l;0>e?(c=(c-g[-e-2])/(g[-e-1]-g[-e-2]),b+=(-e-2)*d,g=ya(a[b],a[b+d],c),h=ya(a[b+1],a[b+d+1],c)):(g=a[b+e*d],h=a[b+e*d+1])}return f?(f[0]=
g,f[1]=h,f):[g,h]}function yn(a,b,c,d,e,f){if(c==b)return null;if(e<a[b+d-1])return f?(c=a.slice(b,b+d),c[d-1]=e,c):null;if(a[c-1]<e)return f?(c=a.slice(c-d,c),c[d-1]=e,c):null;if(e==a[b+d-1])return a.slice(b,b+d);b/=d;for(c/=d;b<c;)f=b+c>>1,e<a[(f+1)*d-1]?c=f:b=f+1;c=a[b*d-1];if(e==c)return a.slice((b-1)*d,(b-1)*d+d);f=(e-c)/(a[(b+1)*d-1]-c);c=[];var g;for(g=0;g<d-1;++g)c.push(ya(a[(b-1)*d+g],a[b*d+g],f));c.push(e);return c}
function zn(a,b,c,d,e,f){var g=0;if(f)return yn(a,g,b[b.length-1],c,d,e);if(d<a[c-1])return e?(a=a.slice(0,c),a[c-1]=d,a):null;if(a[a.length-1]<d)return e?(a=a.slice(a.length-c),a[c-1]=d,a):null;e=0;for(f=b.length;e<f;++e){var h=b[e];if(g!=h){if(d<a[g+c-1])break;if(d<=a[h-1])return yn(a,g,h,c,d,!1);g=h}}return null};function R(a,b){Wc.call(this);this.i=null;this.D=this.C=this.j=-1;this.ra(a,b)}x(R,Wc);k=R.prototype;k.wj=function(a){this.B?jb(this.B,a):this.B=a.slice();this.u()};k.clone=function(){var a=new R(null);a.ba(this.f,this.B.slice());return a};k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;this.D!=this.g&&(this.C=Math.sqrt(cd(this.B,0,this.B.length,this.a,0)),this.D=this.g);return ed(this.B,0,this.B.length,this.a,this.C,!1,a,b,c,d)};
k.Lj=function(a,b){return td(this.B,0,this.B.length,this.a,a,b)};k.lm=function(a,b){return"XYM"!=this.f&&"XYZM"!=this.f?null:yn(this.B,0,this.B.length,this.a,a,void 0!==b?b:!1)};k.Z=function(){return jd(this.B,0,this.B.length,this.a)};k.Bg=function(a,b){return xn(this.B,0,this.B.length,this.a,a,b)};k.mm=function(){var a=this.B,b=this.a,c=a[0],d=a[1],e=0,f;for(f=0+b;f<this.B.length;f+=b)var g=a[f],h=a[f+1],e=e+Math.sqrt((g-c)*(g-c)+(h-d)*(h-d)),c=g,d=h;return e};
function Gj(a){a.j!=a.g&&(a.i=a.Bg(.5,a.i),a.j=a.g);return a.i}k.Nc=function(a){var b=[];b.length=ld(this.B,0,this.B.length,this.a,a,b,0);a=new R(null);a.ba("XY",b);return a};k.Y=function(){return"LineString"};k.Ka=function(a){return ud(this.B,0,this.B.length,this.a,a)};k.ra=function(a,b){a?(Zc(this,b,a,1),this.B||(this.B=[]),this.B.length=hd(this.B,0,a,this.a),this.u()):this.ba("XY",null)};k.ba=function(a,b){Yc(this,a,b);this.u()};function S(a,b){Wc.call(this);this.i=[];this.j=this.D=-1;this.ra(a,b)}x(S,Wc);k=S.prototype;k.xj=function(a){this.B?jb(this.B,a.la().slice()):this.B=a.la().slice();this.i.push(this.B.length);this.u()};k.clone=function(){var a=new S(null);a.ba(this.f,this.B.slice(),this.i.slice());return a};k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;this.j!=this.g&&(this.D=Math.sqrt(dd(this.B,0,this.i,this.a,0)),this.j=this.g);return fd(this.B,0,this.i,this.a,this.D,!1,a,b,c,d)};
k.om=function(a,b,c){return"XYM"!=this.f&&"XYZM"!=this.f||0===this.B.length?null:zn(this.B,this.i,this.a,a,void 0!==b?b:!1,void 0!==c?c:!1)};k.Z=function(){return kd(this.B,0,this.i,this.a)};k.Eb=function(){return this.i};k.fk=function(a){if(0>a||this.i.length<=a)return null;var b=new R(null);b.ba(this.f,this.B.slice(0===a?0:this.i[a-1],this.i[a]));return b};
k.md=function(){var a=this.B,b=this.i,c=this.f,d=[],e=0,f,g;f=0;for(g=b.length;f<g;++f){var h=b[f],l=new R(null);l.ba(c,a.slice(e,h));d.push(l);e=h}return d};function Hj(a){var b=[],c=a.B,d=0,e=a.i;a=a.a;var f,g;f=0;for(g=e.length;f<g;++f){var h=e[f],d=xn(c,d,h,a,.5);jb(b,d);d=h}return b}k.Nc=function(a){var b=[],c=[],d=this.B,e=this.i,f=this.a,g=0,h=0,l,m;l=0;for(m=e.length;l<m;++l){var n=e[l],h=ld(d,g,n,f,a,b,h);c.push(h);g=n}b.length=h;a=new S(null);a.ba("XY",b,c);return a};k.Y=function(){return"MultiLineString"};
k.Ka=function(a){a:{var b=this.B,c=this.i,d=this.a,e=0,f,g;f=0;for(g=c.length;f<g;++f){if(ud(b,e,c[f],d,a)){a=!0;break a}e=c[f]}a=!1}return a};k.ra=function(a,b){if(a){Zc(this,b,a,2);this.B||(this.B=[]);var c=id(this.B,0,a,this.a,this.i);this.B.length=0===c.length?0:c[c.length-1];this.u()}else this.ba("XY",null,this.i)};k.ba=function(a,b,c){Yc(this,a,b);this.i=c;this.u()};
function An(a,b){var c=a.f,d=[],e=[],f,g;f=0;for(g=b.length;f<g;++f){var h=b[f];0===f&&(c=h.f);jb(d,h.la());e.push(d.length)}a.ba(c,d,e)};function T(a,b){Wc.call(this);this.ra(a,b)}x(T,Wc);k=T.prototype;k.zj=function(a){this.B?jb(this.B,a.la()):this.B=a.la().slice();this.u()};k.clone=function(){var a=new T(null);a.ba(this.f,this.B.slice());return a};k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;var e=this.B,f=this.a,g,h,l;g=0;for(h=e.length;g<h;g+=f)if(l=va(a,b,e[g],e[g+1]),l<d){d=l;for(l=0;l<f;++l)c[l]=e[g+l];c.length=f}return d};k.Z=function(){return jd(this.B,0,this.B.length,this.a)};
k.rk=function(a){var b=this.B?this.B.length/this.a:0;if(0>a||b<=a)return null;b=new C(null);b.ba(this.f,this.B.slice(a*this.a,(a+1)*this.a));return b};k.je=function(){var a=this.B,b=this.f,c=this.a,d=[],e,f;e=0;for(f=a.length;e<f;e+=c){var g=new C(null);g.ba(b,a.slice(e,e+c));d.push(g)}return d};k.Y=function(){return"MultiPoint"};k.Ka=function(a){var b=this.B,c=this.a,d,e,f,g;d=0;for(e=b.length;d<e;d+=c)if(f=b[d],g=b[d+1],Rb(a,f,g))return!0;return!1};
k.ra=function(a,b){a?(Zc(this,b,a,1),this.B||(this.B=[]),this.B.length=hd(this.B,0,a,this.a),this.u()):this.ba("XY",null)};k.ba=function(a,b){Yc(this,a,b);this.u()};function U(a,b){Wc.call(this);this.i=[];this.D=-1;this.C=null;this.T=this.S=this.P=-1;this.j=null;this.ra(a,b)}x(U,Wc);k=U.prototype;k.Aj=function(a){if(this.B){var b=this.B.length;jb(this.B,a.la());a=a.Eb().slice();var c,d;c=0;for(d=a.length;c<d;++c)a[c]+=b}else this.B=a.la().slice(),a=a.Eb().slice(),this.i.push();this.i.push(a);this.u()};k.clone=function(){for(var a=new U(null),b=this.i.length,c=Array(b),d=0;d<b;++d)c[d]=this.i[d].slice();Bn(a,this.f,this.B.slice(),c);return a};
k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;if(this.S!=this.g){var e=this.i,f=0,g=0,h,l;h=0;for(l=e.length;h<l;++h)var m=e[h],g=dd(this.B,f,m,this.a,g),f=m[m.length-1];this.P=Math.sqrt(g);this.S=this.g}e=Ij(this);f=this.i;g=this.a;h=this.P;l=0;var m=[NaN,NaN],n,p;n=0;for(p=f.length;n<p;++n){var q=f[n];d=fd(e,l,q,g,h,!0,a,b,c,d,m);l=q[q.length-1]}return d};
k.Bc=function(a,b){var c;a:{c=Ij(this);var d=this.i,e=0;if(0!==d.length){var f,g;f=0;for(g=d.length;f<g;++f){var h=d[f];if(rd(c,e,h,this.a,a,b)){c=!0;break a}e=h[h.length-1]}}c=!1}return c};k.pm=function(){var a=Ij(this),b=this.i,c=0,d=0,e,f;e=0;for(f=b.length;e<f;++e)var g=b[e],d=d+ad(a,c,g,this.a),c=g[g.length-1];return d};
k.Z=function(a){var b;void 0!==a?(b=Ij(this).slice(),zd(b,this.i,this.a,a)):b=this.B;a=b;b=this.i;var c=this.a,d=0,e=[],f=0,g,h;g=0;for(h=b.length;g<h;++g){var l=b[g];e[f++]=kd(a,d,l,c,e[f]);d=l[l.length-1]}e.length=f;return e};
function Jj(a){if(a.D!=a.g){var b=a.B,c=a.i,d=a.a,e=0,f=[],g,h;g=0;for(h=c.length;g<h;++g){var l=c[g],e=Yb(b,e,l[0],d);f.push((e[0]+e[2])/2,(e[1]+e[3])/2);e=l[l.length-1]}b=Ij(a);c=a.i;d=a.a;g=0;h=[];l=0;for(e=c.length;l<e;++l){var m=c[l];h=sd(b,g,m,d,f,2*l,h);g=m[m.length-1]}a.C=h;a.D=a.g}return a.C}k.ck=function(){var a=new T(null);a.ba("XY",Jj(this).slice());return a};
function Ij(a){if(a.T!=a.g){var b=a.B,c;a:{c=a.i;var d,e;d=0;for(e=c.length;d<e;++d)if(!xd(b,c[d],a.a,void 0)){c=!1;break a}c=!0}c?a.j=b:(a.j=b.slice(),a.j.length=zd(a.j,a.i,a.a));a.T=a.g}return a.j}k.Nc=function(a){var b=[],c=[],d=this.B,e=this.i,f=this.a;a=Math.sqrt(a);var g=0,h=0,l,m;l=0;for(m=e.length;l<m;++l){var n=e[l],p=[],h=md(d,g,n,f,a,b,h,p);c.push(p);g=n[n.length-1]}b.length=h;d=new U(null);Bn(d,"XY",b,c);return d};
k.tk=function(a){if(0>a||this.i.length<=a)return null;var b;0===a?b=0:(b=this.i[a-1],b=b[b.length-1]);a=this.i[a].slice();var c=a[a.length-1];if(0!==b){var d,e;d=0;for(e=a.length;d<e;++d)a[d]-=b}d=new E(null);d.ba(this.f,this.B.slice(b,c),a);return d};k.Wd=function(){var a=this.f,b=this.B,c=this.i,d=[],e=0,f,g,h,l;f=0;for(g=c.length;f<g;++f){var m=c[f].slice(),n=m[m.length-1];if(0!==e)for(h=0,l=m.length;h<l;++h)m[h]-=e;h=new E(null);h.ba(a,b.slice(e,n),m);d.push(h);e=n}return d};k.Y=function(){return"MultiPolygon"};
k.Ka=function(a){a:{var b=Ij(this),c=this.i,d=this.a,e=0,f,g;f=0;for(g=c.length;f<g;++f){var h=c[f];if(vd(b,e,h,d,a)){a=!0;break a}e=h[h.length-1]}a=!1}return a};k.ra=function(a,b){if(a){Zc(this,b,a,3);this.B||(this.B=[]);var c=this.B,d=this.a,e=this.i,f=0,e=e?e:[],g=0,h,l;h=0;for(l=a.length;h<l;++h)f=id(c,f,a[h],d,e[g]),e[g++]=f,f=f[f.length-1];e.length=g;0===e.length?this.B.length=0:(c=e[e.length-1],this.B.length=0===c.length?0:c[c.length-1]);this.u()}else Bn(this,"XY",null,this.i)};
function Bn(a,b,c,d){Yc(a,b,c);a.i=d;a.u()}function Cn(a,b){var c=a.f,d=[],e=[],f,g,h;f=0;for(g=b.length;f<g;++f){var l=b[f];0===f&&(c=l.f);var m=d.length;h=l.Eb();var n,p;n=0;for(p=h.length;n<p;++n)h[n]+=m;jb(d,l.la());e.push(h)}Bn(a,c,d,e)};function Dn(a){a=a?a:{};this.defaultDataProjection=null;this.b=a.geometryName}x(Dn,vn);
function En(a,b){if(!a)return null;var c;if("number"===typeof a.x&&"number"===typeof a.y)c="Point";else if(a.points)c="MultiPoint";else if(a.paths)c=1===a.paths.length?"LineString":"MultiLineString";else if(a.rings){var d=a.rings,e=Fn(a),f=[];c=[];var g,h;g=0;for(h=d.length;g<h;++g){var l=ib(d[g]);wd(l,0,l.length,e.length)?f.push([d[g]]):c.push(d[g])}for(;c.length;){d=c.shift();e=!1;for(g=f.length-1;0<=g;g--)if(Sb((new nd(f[g][0])).H(),(new nd(d)).H())){f[g].push(d);e=!0;break}e||f.push([d.reverse()])}a=
Ca({},a);1===f.length?(c="Polygon",a.rings=f[0]):(c="MultiPolygon",a.rings=f)}return un((0,Gn[c])(a),!1,b)}function Fn(a){var b="XY";!0===a.hasZ&&!0===a.hasM?b="XYZM":!0===a.hasZ?b="XYZ":!0===a.hasM&&(b="XYM");return b}function Hn(a){a=a.f;return{hasZ:"XYZ"===a||"XYZM"===a,hasM:"XYM"===a||"XYZM"===a}}
var Gn={Point:function(a){return void 0!==a.m&&void 0!==a.z?new C([a.x,a.y,a.z,a.m],"XYZM"):void 0!==a.z?new C([a.x,a.y,a.z],"XYZ"):void 0!==a.m?new C([a.x,a.y,a.m],"XYM"):new C([a.x,a.y])},LineString:function(a){return new R(a.paths[0],Fn(a))},Polygon:function(a){return new E(a.rings,Fn(a))},MultiPoint:function(a){return new T(a.points,Fn(a))},MultiLineString:function(a){return new S(a.paths,Fn(a))},MultiPolygon:function(a){return new U(a.rings,Fn(a))}},In={Point:function(a){var b=a.Z();a=a.f;if("XYZ"===
a)return{x:b[0],y:b[1],z:b[2]};if("XYM"===a)return{x:b[0],y:b[1],m:b[2]};if("XYZM"===a)return{x:b[0],y:b[1],z:b[2],m:b[3]};if("XY"===a)return{x:b[0],y:b[1]}},LineString:function(a){var b=Hn(a);return{hasZ:b.hasZ,hasM:b.hasM,paths:[a.Z()]}},Polygon:function(a){var b=Hn(a);return{hasZ:b.hasZ,hasM:b.hasM,rings:a.Z(!1)}},MultiPoint:function(a){var b=Hn(a);return{hasZ:b.hasZ,hasM:b.hasM,points:a.Z()}},MultiLineString:function(a){var b=Hn(a);return{hasZ:b.hasZ,hasM:b.hasM,paths:a.Z()}},MultiPolygon:function(a){var b=
Hn(a);a=a.Z(!1);for(var c=[],d=0;d<a.length;d++)for(var e=a[d].length-1;0<=e;e--)c.push(a[d][e]);return{hasZ:b.hasZ,hasM:b.hasM,rings:c}}};k=Dn.prototype;k.Uc=function(a,b){var c=En(a.geometry,b),d=new Ik;this.b&&d.Ec(this.b);d.Ua(c);b&&b.mf&&a.attributes[b.mf]&&d.mc(a.attributes[b.mf]);a.attributes&&d.G(a.attributes);return d};
k.Jf=function(a,b){var c=b?b:{};if(a.features){var d=[],e=a.features,f,g;c.mf=a.objectIdFieldName;f=0;for(g=e.length;f<g;++f)d.push(this.Uc(e[f],c));return d}return[this.Uc(a,c)]};k.Rh=function(a,b){return En(a,b)};k.Yh=function(a){return a.spatialReference&&a.spatialReference.wkid?zc("EPSG:"+a.spatialReference.wkid):null};function Jn(a,b){return(0,In[a.Y()])(un(a,!0,b),b)}k.Ke=function(a,b){return Jn(a,tn(this,b))};
k.Yc=function(a,b){b=tn(this,b);var c={},d=a.X();d&&(c.geometry=Jn(d,b));d=a.O();delete d[a.a];c.attributes=Ga(d)?{}:d;b&&b.featureProjection&&(c.spatialReference={wkid:zc(b.featureProjection).eb.split(":").pop()});return c};k.Ie=function(a,b){b=tn(this,b);var c=[],d,e;d=0;for(e=a.length;d<e;++d)c.push(this.Yc(a[d],b));return{features:c}};function Kn(a){Uc.call(this);this.c=a?a:null;Ln(this)}x(Kn,Uc);function Mn(a){var b=[],c,d;c=0;for(d=a.length;c<d;++c)b.push(a[c].clone());return b}function Nn(a){var b,c;if(a.c)for(b=0,c=a.c.length;b<c;++b)Qa(a.c[b],"change",a.u,a)}function Ln(a){var b,c;if(a.c)for(b=0,c=a.c.length;b<c;++b)B(a.c[b],"change",a.u,a)}k=Kn.prototype;k.clone=function(){var a=new Kn(null);a.hi(this.c);return a};
k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;var e=this.c,f,g;f=0;for(g=e.length;f<g;++f)d=e[f].tb(a,b,c,d);return d};k.Bc=function(a,b){var c=this.c,d,e;d=0;for(e=c.length;d<e;++d)if(c[d].Bc(a,b))return!0;return!1};k.Od=function(a){Vb(Infinity,Infinity,-Infinity,-Infinity,a);for(var b=this.c,c=0,d=b.length;c<d;++c)ac(a,b[c].H());return a};k.ff=function(){return Mn(this.c)};
k.od=function(a){this.s!=this.g&&(Da(this.l),this.o=0,this.s=this.g);if(0>a||0!==this.o&&a<this.o)return this;var b=a.toString();if(this.l.hasOwnProperty(b))return this.l[b];var c=[],d=this.c,e=!1,f,g;f=0;for(g=d.length;f<g;++f){var h=d[f],l=h.od(a);c.push(l);l!==h&&(e=!0)}if(e)return a=new Kn(null),Nn(a),a.c=c,Ln(a),a.u(),this.l[b]=a;this.o=a;return this};k.Y=function(){return"GeometryCollection"};k.Ka=function(a){var b=this.c,c,d;c=0;for(d=b.length;c<d;++c)if(b[c].Ka(a))return!0;return!1};
k.Ya=function(){return 0===this.c.length};k.rotate=function(a,b){for(var c=this.c,d=0,e=c.length;d<e;++d)c[d].rotate(a,b);this.u()};k.hi=function(a){a=Mn(a);Nn(this);this.c=a;Ln(this);this.u()};k.rc=function(a){var b=this.c,c,d;c=0;for(d=b.length;c<d;++c)b[c].rc(a);this.u()};k.Sc=function(a,b){var c=this.c,d,e;d=0;for(e=c.length;d<e;++d)c[d].Sc(a,b);this.u()};k.ka=function(){Nn(this);Uc.prototype.ka.call(this)};function On(a){a=a?a:{};this.defaultDataProjection=null;this.defaultDataProjection=zc(a.defaultDataProjection?a.defaultDataProjection:"EPSG:4326");this.b=a.geometryName}x(On,vn);function Pn(a,b){return a?un((0,Qn[a.type])(a),!1,b):null}function Rn(a,b){return(0,Sn[a.Y()])(un(a,!0,b),b)}
var Qn={Point:function(a){return new C(a.coordinates)},LineString:function(a){return new R(a.coordinates)},Polygon:function(a){return new E(a.coordinates)},MultiPoint:function(a){return new T(a.coordinates)},MultiLineString:function(a){return new S(a.coordinates)},MultiPolygon:function(a){return new U(a.coordinates)},GeometryCollection:function(a,b){var c=a.geometries.map(function(a){return Pn(a,b)});return new Kn(c)}},Sn={Point:function(a){return{type:"Point",coordinates:a.Z()}},LineString:function(a){return{type:"LineString",
coordinates:a.Z()}},Polygon:function(a,b){var c;b&&(c=b.rightHanded);return{type:"Polygon",coordinates:a.Z(c)}},MultiPoint:function(a){return{type:"MultiPoint",coordinates:a.Z()}},MultiLineString:function(a){return{type:"MultiLineString",coordinates:a.Z()}},MultiPolygon:function(a,b){var c;b&&(c=b.rightHanded);return{type:"MultiPolygon",coordinates:a.Z(c)}},GeometryCollection:function(a,b){return{type:"GeometryCollection",geometries:a.c.map(function(a){var d=Ca({},b);delete d.featureProjection;return Rn(a,
d)})}},Circle:function(){return{type:"GeometryCollection",geometries:[]}}};k=On.prototype;k.Uc=function(a,b){var c=Pn(a.geometry,b),d=new Ik;this.b&&d.Ec(this.b);d.Ua(c);void 0!==a.id&&d.mc(a.id);a.properties&&d.G(a.properties);return d};k.Jf=function(a,b){if("Feature"==a.type)return[this.Uc(a,b)];if("FeatureCollection"==a.type){var c=[],d=a.features,e,f;e=0;for(f=d.length;e<f;++e)c.push(this.Uc(d[e],b));return c}return[]};k.Rh=function(a,b){return Pn(a,b)};
k.Yh=function(a){return(a=a.crs)?"name"==a.type?zc(a.properties.name):"EPSG"==a.type?zc("EPSG:"+a.properties.code):null:this.defaultDataProjection};k.Yc=function(a,b){b=tn(this,b);var c={type:"Feature"},d=a.Xa();void 0!==d&&(c.id=d);(d=a.X())?c.geometry=Rn(d,b):c.geometry=null;d=a.O();delete d[a.a];Ga(d)?c.properties=null:c.properties=d;return c};k.Ie=function(a,b){b=tn(this,b);var c=[],d,e;d=0;for(e=a.length;d<e;++d)c.push(this.Yc(a[d],b));return{type:"FeatureCollection",features:c}};
k.Ke=function(a,b){return Rn(a,tn(this,b))};function Tn(){this.f=new XMLSerializer;this.defaultDataProjection=null}x(Tn,rn);k=Tn.prototype;k.Y=function(){return"xml"};k.Sb=function(a,b){if(Pk(a))return Un(this,a,b);if(Qk(a))return this.Ph(a,b);if("string"===typeof a){var c=Rk(a);return Un(this,c,b)}return null};function Un(a,b,c){a=Vn(a,b,c);return 0<a.length?a[0]:null}k.Fa=function(a,b){if(Pk(a))return Vn(this,a,b);if(Qk(a))return this.lc(a,b);if("string"===typeof a){var c=Rk(a);return Vn(this,c,b)}return[]};
function Vn(a,b,c){var d=[];for(b=b.firstChild;b;b=b.nextSibling)b.nodeType==Node.ELEMENT_NODE&&jb(d,a.lc(b,c));return d}k.Vc=function(a,b){if(Pk(a))return this.v(a,b);if(Qk(a)){var c=this.ye(a,[sn(this,a,b?b:{})]);return c?c:null}return"string"===typeof a?(c=Rk(a),this.v(c,b)):null};k.Oa=function(a){return Pk(a)?this.Pf(a):Qk(a)?this.Be(a):"string"===typeof a?(a=Rk(a),this.Pf(a)):null};k.Pf=function(){return this.defaultDataProjection};k.Be=function(){return this.defaultDataProjection};
k.Dd=function(a,b){var c=this.A(a,b);return this.f.serializeToString(c)};k.Yb=function(a,b){var c=this.a(a,b);return this.f.serializeToString(c)};k.Zc=function(a,b){var c=this.s(a,b);return this.f.serializeToString(c)};function Wn(a){a=a?a:{};this.featureType=a.featureType;this.featureNS=a.featureNS;this.srsName=a.srsName;this.schemaLocation="";this.b={};this.b["http://www.opengis.net/gml"]={featureMember:Uk(Wn.prototype.vd),featureMembers:Uk(Wn.prototype.vd)};Tn.call(this)}x(Wn,Tn);var Xn=/^[\s\xa0]*$/;k=Wn.prototype;
k.vd=function(a,b){var c=a.localName,d=null;if("FeatureCollection"==c)"http://www.opengis.net/wfs"===a.namespaceURI?d=O([],this.b,a,b,this):d=O(null,this.b,a,b,this);else if("featureMembers"==c||"featureMember"==c){var e=b[0],f=e.featureType,g=e.featureNS,h,l;if(!f&&a.childNodes){f=[];g={};h=0;for(l=a.childNodes.length;h<l;++h){var m=a.childNodes[h];if(1===m.nodeType){var n=m.nodeName.split(":").pop();if(-1===f.indexOf(n)){var p="",q=0,m=m.namespaceURI,r;for(r in g){if(g[r]===m){p=r;break}++q}p||
(p="p"+q,g[p]=m);f.push(p+":"+n)}}}"featureMember"!=c&&(e.featureType=f,e.featureNS=g)}"string"===typeof g&&(h=g,g={},g.p0=h);var e={},f=Array.isArray(f)?f:[f],v;for(v in g){n={};h=0;for(l=f.length;h<l;++h)(-1===f[h].indexOf(":")?"p0":f[h].split(":")[0])===v&&(n[f[h].split(":").pop()]="featureMembers"==c?Tk(this.If,this):Uk(this.If,this));e[g[v]]=n}"featureMember"==c?d=O(void 0,e,a,b):d=O([],e,a,b)}null===d&&(d=[]);return d};
k.ye=function(a,b){var c=b[0];c.srsName=a.firstElementChild.getAttribute("srsName");var d=O(null,this.bg,a,b,this);if(d)return un(d,!1,c)};
k.If=function(a,b){var c,d;(d=a.getAttribute("fid"))||(d=a.getAttributeNS("http://www.opengis.net/gml","id")||"");var e={},f;for(c=a.firstElementChild;c;c=c.nextElementSibling){var g=c.localName;if(0===c.childNodes.length||1===c.childNodes.length&&(3===c.firstChild.nodeType||4===c.firstChild.nodeType)){var h=Nk(c,!1);Xn.test(h)&&(h=void 0);e[g]=h}else"boundedBy"!==g&&(f=g),e[g]=this.ye(c,b)}c=new Ik(e);f&&c.Ec(f);d&&c.mc(d);return c};
k.Xh=function(a,b){var c=this.xe(a,b);if(c){var d=new C(null);d.ba("XYZ",c);return d}};k.Vh=function(a,b){var c=O([],this.Ui,a,b,this);if(c)return new T(c)};k.Uh=function(a,b){var c=O([],this.Ti,a,b,this);if(c){var d=new S(null);An(d,c);return d}};k.Wh=function(a,b){var c=O([],this.Vi,a,b,this);if(c){var d=new U(null);Cn(d,c);return d}};k.Mh=function(a,b){al(this.Yi,a,b,this)};k.Ug=function(a,b){al(this.Ri,a,b,this)};k.Nh=function(a,b){al(this.Zi,a,b,this)};
k.ze=function(a,b){var c=this.xe(a,b);if(c){var d=new R(null);d.ba("XYZ",c);return d}};k.zo=function(a,b){var c=O(null,this.Fd,a,b,this);if(c)return c};k.Th=function(a,b){var c=this.xe(a,b);if(c){var d=new nd(null);od(d,"XYZ",c);return d}};k.Ae=function(a,b){var c=O([null],this.Me,a,b,this);if(c&&c[0]){var d=new E(null),e=c[0],f=[e.length],g,h;g=1;for(h=c.length;g<h;++g)jb(e,c[g]),f.push(e.length);d.ba("XYZ",e,f);return d}};k.xe=function(a,b){return O(null,this.Fd,a,b,this)};
k.Ui={"http://www.opengis.net/gml":{pointMember:Tk(Wn.prototype.Mh),pointMembers:Tk(Wn.prototype.Mh)}};k.Ti={"http://www.opengis.net/gml":{lineStringMember:Tk(Wn.prototype.Ug),lineStringMembers:Tk(Wn.prototype.Ug)}};k.Vi={"http://www.opengis.net/gml":{polygonMember:Tk(Wn.prototype.Nh),polygonMembers:Tk(Wn.prototype.Nh)}};k.Yi={"http://www.opengis.net/gml":{Point:Tk(Wn.prototype.xe)}};k.Ri={"http://www.opengis.net/gml":{LineString:Tk(Wn.prototype.ze)}};k.Zi={"http://www.opengis.net/gml":{Polygon:Tk(Wn.prototype.Ae)}};
k.Gd={"http://www.opengis.net/gml":{LinearRing:Uk(Wn.prototype.zo)}};k.lc=function(a,b){var c={featureType:this.featureType,featureNS:this.featureNS};b&&Ca(c,sn(this,a,b));return this.vd(a,[c])||[]};k.Be=function(a){return zc(this.srsName?this.srsName:a.firstElementChild.getAttribute("srsName"))};function Yn(a){a=Nk(a,!1);return Zn(a)}function Zn(a){if(a=/^\s*(true|1)|(false|0)\s*$/.exec(a))return void 0!==a[1]||!1}
function $n(a){a=Nk(a,!1);if(a=/^\s*(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(Z|(?:([+\-])(\d{2})(?::(\d{2}))?))\s*$/.exec(a)){var b=Date.UTC(parseInt(a[1],10),parseInt(a[2],10)-1,parseInt(a[3],10),parseInt(a[4],10),parseInt(a[5],10),parseInt(a[6],10))/1E3;if("Z"!=a[7]){var c="-"==a[8]?-1:1,b=b+60*c*parseInt(a[9],10);void 0!==a[10]&&(b+=3600*c*parseInt(a[10],10))}return b}}function ao(a){a=Nk(a,!1);return bo(a)}
function bo(a){if(a=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*$/i.exec(a))return parseFloat(a[1])}function co(a){a=Nk(a,!1);return eo(a)}function eo(a){if(a=/^\s*(\d+)\s*$/.exec(a))return parseInt(a[1],10)}function V(a){return Nk(a,!1).trim()}function fo(a,b){go(a,b?"1":"0")}function ho(a,b){a.appendChild(Lk.createTextNode(b.toPrecision()))}function io(a,b){a.appendChild(Lk.createTextNode(b.toString()))}function go(a,b){a.appendChild(Lk.createTextNode(b))};function jo(a){a=a?a:{};Wn.call(this,a);this.b["http://www.opengis.net/gml"].featureMember=Tk(Wn.prototype.vd);this.schemaLocation=a.schemaLocation?a.schemaLocation:"http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd"}x(jo,Wn);k=jo.prototype;
k.Qh=function(a,b){var c=Nk(a,!1).replace(/^\s*|\s*$/g,""),d=b[0].srsName,e=a.parentNode.getAttribute("srsDimension"),f="enu";d&&(d=zc(d))&&(f=d.b);c=c.split(/[\s,]+/);d=2;a.getAttribute("srsDimension")?d=eo(a.getAttribute("srsDimension")):a.getAttribute("dimension")?d=eo(a.getAttribute("dimension")):e&&(d=eo(e));for(var g,h,l=[],m=0,n=c.length;m<n;m+=d)e=parseFloat(c[m]),g=parseFloat(c[m+1]),h=3===d?parseFloat(c[m+2]):0,"en"===f.substr(0,2)?l.push(e,g,h):l.push(g,e,h);return l};
k.wo=function(a,b){var c=O([null],this.Ni,a,b,this);return Vb(c[1][0],c[1][1],c[1][3],c[1][4])};k.ml=function(a,b){var c=O(void 0,this.Gd,a,b,this);c&&b[b.length-1].push(c)};k.eo=function(a,b){var c=O(void 0,this.Gd,a,b,this);c&&(b[b.length-1][0]=c)};k.Fd={"http://www.opengis.net/gml":{coordinates:Uk(jo.prototype.Qh)}};k.Me={"http://www.opengis.net/gml":{innerBoundaryIs:jo.prototype.ml,outerBoundaryIs:jo.prototype.eo}};k.Ni={"http://www.opengis.net/gml":{coordinates:Tk(jo.prototype.Qh)}};
k.bg={"http://www.opengis.net/gml":{Point:Uk(Wn.prototype.Xh),MultiPoint:Uk(Wn.prototype.Vh),LineString:Uk(Wn.prototype.ze),MultiLineString:Uk(Wn.prototype.Uh),LinearRing:Uk(Wn.prototype.Th),Polygon:Uk(Wn.prototype.Ae),MultiPolygon:Uk(Wn.prototype.Wh),Box:Uk(jo.prototype.wo)}};function ko(a){a=a?a:{};Wn.call(this,a);this.j=void 0!==a.surface?a.surface:!1;this.i=void 0!==a.curve?a.curve:!1;this.l=void 0!==a.multiCurve?a.multiCurve:!0;this.o=void 0!==a.multiSurface?a.multiSurface:!0;this.schemaLocation=a.schemaLocation?a.schemaLocation:"http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd"}x(ko,Wn);k=ko.prototype;k.Do=function(a,b){var c=O([],this.Si,a,b,this);if(c){var d=new S(null);An(d,c);return d}};
k.Eo=function(a,b){var c=O([],this.Wi,a,b,this);if(c){var d=new U(null);Cn(d,c);return d}};k.vg=function(a,b){al(this.Oi,a,b,this)};k.vi=function(a,b){al(this.cj,a,b,this)};k.Ho=function(a,b){return O([null],this.Xi,a,b,this)};k.Jo=function(a,b){return O([null],this.bj,a,b,this)};k.Io=function(a,b){return O([null],this.Me,a,b,this)};k.Co=function(a,b){return O([null],this.Fd,a,b,this)};k.ol=function(a,b){var c=O(void 0,this.Gd,a,b,this);c&&b[b.length-1].push(c)};
k.Hj=function(a,b){var c=O(void 0,this.Gd,a,b,this);c&&(b[b.length-1][0]=c)};k.Zh=function(a,b){var c=O([null],this.dj,a,b,this);if(c&&c[0]){var d=new E(null),e=c[0],f=[e.length],g,h;g=1;for(h=c.length;g<h;++g)jb(e,c[g]),f.push(e.length);d.ba("XYZ",e,f);return d}};k.Oh=function(a,b){var c=O([null],this.Pi,a,b,this);if(c){var d=new R(null);d.ba("XYZ",c);return d}};k.yo=function(a,b){var c=O([null],this.Qi,a,b,this);return Vb(c[1][0],c[1][1],c[2][0],c[2][1])};
k.Ao=function(a,b){for(var c=Nk(a,!1),d=/^\s*([+\-]?\d*\.?\d+(?:[eE][+\-]?\d+)?)\s*/,e=[],f;f=d.exec(c);)e.push(parseFloat(f[1])),c=c.substr(f[0].length);if(""===c){c=b[0].srsName;d="enu";c&&(d=zc(c).b);if("neu"===d)for(c=0,d=e.length;c<d;c+=3)f=e[c],e[c]=e[c+1],e[c+1]=f;c=e.length;2==c&&e.push(0);return 0===c?void 0:e}};
k.Mf=function(a,b){var c=Nk(a,!1).replace(/^\s*|\s*$/g,""),d=b[0].srsName,e=a.parentNode.getAttribute("srsDimension"),f="enu";d&&(f=zc(d).b);c=c.split(/\s+/);d=2;a.getAttribute("srsDimension")?d=eo(a.getAttribute("srsDimension")):a.getAttribute("dimension")?d=eo(a.getAttribute("dimension")):e&&(d=eo(e));for(var g,h,l=[],m=0,n=c.length;m<n;m+=d)e=parseFloat(c[m]),g=parseFloat(c[m+1]),h=3===d?parseFloat(c[m+2]):0,"en"===f.substr(0,2)?l.push(e,g,h):l.push(g,e,h);return l};
k.Fd={"http://www.opengis.net/gml":{pos:Uk(ko.prototype.Ao),posList:Uk(ko.prototype.Mf)}};k.Me={"http://www.opengis.net/gml":{interior:ko.prototype.ol,exterior:ko.prototype.Hj}};
k.bg={"http://www.opengis.net/gml":{Point:Uk(Wn.prototype.Xh),MultiPoint:Uk(Wn.prototype.Vh),LineString:Uk(Wn.prototype.ze),MultiLineString:Uk(Wn.prototype.Uh),LinearRing:Uk(Wn.prototype.Th),Polygon:Uk(Wn.prototype.Ae),MultiPolygon:Uk(Wn.prototype.Wh),Surface:Uk(ko.prototype.Zh),MultiSurface:Uk(ko.prototype.Eo),Curve:Uk(ko.prototype.Oh),MultiCurve:Uk(ko.prototype.Do),Envelope:Uk(ko.prototype.yo)}};k.Si={"http://www.opengis.net/gml":{curveMember:Tk(ko.prototype.vg),curveMembers:Tk(ko.prototype.vg)}};
k.Wi={"http://www.opengis.net/gml":{surfaceMember:Tk(ko.prototype.vi),surfaceMembers:Tk(ko.prototype.vi)}};k.Oi={"http://www.opengis.net/gml":{LineString:Tk(Wn.prototype.ze),Curve:Tk(ko.prototype.Oh)}};k.cj={"http://www.opengis.net/gml":{Polygon:Tk(Wn.prototype.Ae),Surface:Tk(ko.prototype.Zh)}};k.dj={"http://www.opengis.net/gml":{patches:Uk(ko.prototype.Ho)}};k.Pi={"http://www.opengis.net/gml":{segments:Uk(ko.prototype.Jo)}};k.Qi={"http://www.opengis.net/gml":{lowerCorner:Tk(ko.prototype.Mf),upperCorner:Tk(ko.prototype.Mf)}};
k.Xi={"http://www.opengis.net/gml":{PolygonPatch:Uk(ko.prototype.Io)}};k.bj={"http://www.opengis.net/gml":{LineStringSegment:Uk(ko.prototype.Co)}};function lo(a,b,c){c=c[c.length-1].srsName;b=b.Z();for(var d=b.length,e=Array(d),f,g=0;g<d;++g){f=b[g];var h=g,l="enu";c&&(l=zc(c).b);e[h]="en"===l.substr(0,2)?f[0]+" "+f[1]:f[1]+" "+f[0]}go(a,e.join(" "))}
k.Ji=function(a,b,c){var d=c[c.length-1].srsName;d&&a.setAttribute("srsName",d);d=Mk(a.namespaceURI,"pos");a.appendChild(d);c=c[c.length-1].srsName;a="enu";c&&(a=zc(c).b);b=b.Z();go(d,"en"===a.substr(0,2)?b[0]+" "+b[1]:b[1]+" "+b[0])};var mo={"http://www.opengis.net/gml":{lowerCorner:L(go),upperCorner:L(go)}};k=ko.prototype;k.xp=function(a,b,c){var d=c[c.length-1].srsName;d&&a.setAttribute("srsName",d);bl({node:a},mo,Zk,[b[0]+" "+b[1],b[2]+" "+b[3]],c,["lowerCorner","upperCorner"],this)};
k.Gi=function(a,b,c){var d=c[c.length-1].srsName;d&&a.setAttribute("srsName",d);d=Mk(a.namespaceURI,"posList");a.appendChild(d);lo(d,b,c)};k.aj=function(a,b){var c=b[b.length-1],d=c.node,e=c.exteriorWritten;void 0===e&&(c.exteriorWritten=!0);return Mk(d.namespaceURI,void 0!==e?"interior":"exterior")};
k.Le=function(a,b,c){var d=c[c.length-1].srsName;"PolygonPatch"!==a.nodeName&&d&&a.setAttribute("srsName",d);"Polygon"===a.nodeName||"PolygonPatch"===a.nodeName?(b=b.Vd(),bl({node:a,srsName:d},no,this.aj,b,c,void 0,this)):"Surface"===a.nodeName&&(d=Mk(a.namespaceURI,"patches"),a.appendChild(d),a=Mk(d.namespaceURI,"PolygonPatch"),d.appendChild(a),this.Le(a,b,c))};
k.Ge=function(a,b,c){var d=c[c.length-1].srsName;"LineStringSegment"!==a.nodeName&&d&&a.setAttribute("srsName",d);"LineString"===a.nodeName||"LineStringSegment"===a.nodeName?(d=Mk(a.namespaceURI,"posList"),a.appendChild(d),lo(d,b,c)):"Curve"===a.nodeName&&(d=Mk(a.namespaceURI,"segments"),a.appendChild(d),a=Mk(d.namespaceURI,"LineStringSegment"),d.appendChild(a),this.Ge(a,b,c))};
k.Ii=function(a,b,c){var d=c[c.length-1],e=d.srsName,d=d.surface;e&&a.setAttribute("srsName",e);b=b.Wd();bl({node:a,srsName:e,surface:d},oo,this.c,b,c,void 0,this)};k.yp=function(a,b,c){var d=c[c.length-1].srsName;d&&a.setAttribute("srsName",d);b=b.je();bl({node:a,srsName:d},po,Xk("pointMember"),b,c,void 0,this)};k.Hi=function(a,b,c){var d=c[c.length-1],e=d.srsName,d=d.curve;e&&a.setAttribute("srsName",e);b=b.md();bl({node:a,srsName:e,curve:d},qo,this.c,b,c,void 0,this)};
k.Ki=function(a,b,c){var d=Mk(a.namespaceURI,"LinearRing");a.appendChild(d);this.Gi(d,b,c)};k.Li=function(a,b,c){var d=this.g(b,c);d&&(a.appendChild(d),this.Le(d,b,c))};k.zp=function(a,b,c){var d=Mk(a.namespaceURI,"Point");a.appendChild(d);this.Ji(d,b,c)};k.Fi=function(a,b,c){var d=this.g(b,c);d&&(a.appendChild(d),this.Ge(d,b,c))};
k.Je=function(a,b,c){var d=c[c.length-1],e=Ca({},d);e.node=a;var f;Array.isArray(b)?d.dataProjection?f=Tc(b,d.featureProjection,d.dataProjection):f=b:f=un(b,!0,d);bl(e,ro,this.g,[f],c,void 0,this)};
k.Bi=function(a,b,c){var d=b.Xa();d&&a.setAttribute("fid",d);var d=c[c.length-1],e=d.featureNS,f=b.a;d.Dc||(d.Dc={},d.Dc[e]={});var g=b.O();b=[];var h=[],l;for(l in g){var m=g[l];null!==m&&(b.push(l),h.push(m),l==f||m instanceof Uc?l in d.Dc[e]||(d.Dc[e][l]=L(this.Je,this)):l in d.Dc[e]||(d.Dc[e][l]=L(go)))}l=Ca({},d);l.node=a;bl(l,d.Dc,Xk(void 0,e),h,c,b)};
var oo={"http://www.opengis.net/gml":{surfaceMember:L(ko.prototype.Li),polygonMember:L(ko.prototype.Li)}},po={"http://www.opengis.net/gml":{pointMember:L(ko.prototype.zp)}},qo={"http://www.opengis.net/gml":{lineStringMember:L(ko.prototype.Fi),curveMember:L(ko.prototype.Fi)}},no={"http://www.opengis.net/gml":{exterior:L(ko.prototype.Ki),interior:L(ko.prototype.Ki)}},ro={"http://www.opengis.net/gml":{Curve:L(ko.prototype.Ge),MultiCurve:L(ko.prototype.Hi),Point:L(ko.prototype.Ji),MultiPoint:L(ko.prototype.yp),
LineString:L(ko.prototype.Ge),MultiLineString:L(ko.prototype.Hi),LinearRing:L(ko.prototype.Gi),Polygon:L(ko.prototype.Le),MultiPolygon:L(ko.prototype.Ii),Surface:L(ko.prototype.Le),MultiSurface:L(ko.prototype.Ii),Envelope:L(ko.prototype.xp)}},so={MultiLineString:"lineStringMember",MultiCurve:"curveMember",MultiPolygon:"polygonMember",MultiSurface:"surfaceMember"};ko.prototype.c=function(a,b){return Mk("http://www.opengis.net/gml",so[b[b.length-1].node.nodeName])};
ko.prototype.g=function(a,b){var c=b[b.length-1],d=c.multiSurface,e=c.surface,f=c.curve,c=c.multiCurve,g;Array.isArray(a)?g="Envelope":(g=a.Y(),"MultiPolygon"===g&&!0===d?g="MultiSurface":"Polygon"===g&&!0===e?g="Surface":"LineString"===g&&!0===f?g="Curve":"MultiLineString"===g&&!0===c&&(g="MultiCurve"));return Mk("http://www.opengis.net/gml",g)};
ko.prototype.s=function(a,b){b=tn(this,b);var c=Mk("http://www.opengis.net/gml","geom"),d={node:c,srsName:this.srsName,curve:this.i,surface:this.j,multiSurface:this.o,multiCurve:this.l};b&&Ca(d,b);this.Je(c,a,[d]);return c};
ko.prototype.a=function(a,b){b=tn(this,b);var c=Mk("http://www.opengis.net/gml","featureMembers");c.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.schemaLocation);var d={srsName:this.srsName,curve:this.i,surface:this.j,multiSurface:this.o,multiCurve:this.l,featureNS:this.featureNS,featureType:this.featureType};b&&Ca(d,b);var d=[d],e=d[d.length-1],f=e.featureType,g=e.featureNS,h={};h[g]={};h[g][f]=L(this.Bi,this);e=Ca({},e);e.node=c;bl(e,h,Xk(f,g),a,d);return c};function to(a){a=a?a:{};Tn.call(this);this.defaultDataProjection=zc("EPSG:4326");this.b=a.readExtensions}x(to,Tn);var uo=[null,"http://www.topografix.com/GPX/1/0","http://www.topografix.com/GPX/1/1"];function vo(a,b,c){a.push(parseFloat(b.getAttribute("lon")),parseFloat(b.getAttribute("lat")));"ele"in c?(a.push(c.ele),delete c.ele):a.push(0);"time"in c?(a.push(c.time),delete c.time):a.push(0);return a}function wo(a,b){var c=b[b.length-1],d=a.getAttribute("href");null!==d&&(c.link=d);al(xo,a,b)}
function yo(a,b){b[b.length-1].extensionsNode_=a}function zo(a,b){var c=b[0],d=O({flatCoordinates:[]},Ao,a,b);if(d){var e=d.flatCoordinates;delete d.flatCoordinates;var f=new R(null);f.ba("XYZM",e);un(f,!1,c);c=new Ik(f);c.G(d);return c}}function Bo(a,b){var c=b[0],d=O({flatCoordinates:[],ends:[]},Co,a,b);if(d){var e=d.flatCoordinates;delete d.flatCoordinates;var f=d.ends;delete d.ends;var g=new S(null);g.ba("XYZM",e,f);un(g,!1,c);c=new Ik(g);c.G(d);return c}}
function Do(a,b){var c=b[0],d=O({},Eo,a,b);if(d){var e=vo([],a,d),e=new C(e,"XYZM");un(e,!1,c);c=new Ik(e);c.G(d);return c}}
var Fo={rte:zo,trk:Bo,wpt:Do},Go=N(uo,{rte:Tk(zo),trk:Tk(Bo),wpt:Tk(Do)}),xo=N(uo,{text:K(V,"linkText"),type:K(V,"linkType")}),Ao=N(uo,{name:K(V),cmt:K(V),desc:K(V),src:K(V),link:wo,number:K(co),extensions:yo,type:K(V),rtept:function(a,b){var c=O({},Ho,a,b);c&&vo(b[b.length-1].flatCoordinates,a,c)}}),Ho=N(uo,{ele:K(ao),time:K($n)}),Co=N(uo,{name:K(V),cmt:K(V),desc:K(V),src:K(V),link:wo,number:K(co),type:K(V),extensions:yo,trkseg:function(a,b){var c=b[b.length-1];al(Io,a,b);c.ends.push(c.flatCoordinates.length)}}),
Io=N(uo,{trkpt:function(a,b){var c=O({},Jo,a,b);c&&vo(b[b.length-1].flatCoordinates,a,c)}}),Jo=N(uo,{ele:K(ao),time:K($n)}),Eo=N(uo,{ele:K(ao),time:K($n),magvar:K(ao),geoidheight:K(ao),name:K(V),cmt:K(V),desc:K(V),src:K(V),link:wo,sym:K(V),type:K(V),fix:K(V),sat:K(co),hdop:K(ao),vdop:K(ao),pdop:K(ao),ageofdgpsdata:K(ao),dgpsid:K(co),extensions:yo});
function Ko(a,b){b||(b=[]);for(var c=0,d=b.length;c<d;++c){var e=b[c];if(a.b){var f=e.get("extensionsNode_")||null;a.b(e,f)}e.set("extensionsNode_",void 0)}}to.prototype.Ph=function(a,b){if(!gb(uo,a.namespaceURI))return null;var c=Fo[a.localName];if(!c)return null;c=c(a,[sn(this,a,b)]);if(!c)return null;Ko(this,[c]);return c};to.prototype.lc=function(a,b){if(!gb(uo,a.namespaceURI))return[];if("gpx"==a.localName){var c=O([],Go,a,[sn(this,a,b)]);if(c)return Ko(this,c),c}return[]};
function Lo(a,b,c){a.setAttribute("href",b);b=c[c.length-1].properties;bl({node:a},Mo,Zk,[b.linkText,b.linkType],c,No)}function Oo(a,b,c){var d=c[c.length-1],e=d.node.namespaceURI,f=d.properties;a.setAttributeNS(null,"lat",b[1]);a.setAttributeNS(null,"lon",b[0]);switch(d.geometryLayout){case "XYZM":0!==b[3]&&(f.time=b[3]);case "XYZ":0!==b[2]&&(f.ele=b[2]);break;case "XYM":0!==b[2]&&(f.time=b[2])}b="rtept"==a.nodeName?Po[e]:Qo[e];d=$k(f,b);bl({node:a,properties:f},Ro,Zk,d,c,b)}
var No=["text","type"],Mo=N(uo,{text:L(go),type:L(go)}),So=N(uo,"name cmt desc src link number type rtept".split(" ")),To=N(uo,{name:L(go),cmt:L(go),desc:L(go),src:L(go),link:L(Lo),number:L(io),type:L(go),rtept:Wk(L(Oo))}),Po=N(uo,["ele","time"]),Uo=N(uo,"name cmt desc src link number type trkseg".split(" ")),Xo=N(uo,{name:L(go),cmt:L(go),desc:L(go),src:L(go),link:L(Lo),number:L(io),type:L(go),trkseg:Wk(L(function(a,b,c){bl({node:a,geometryLayout:b.f,properties:{}},Vo,Wo,b.Z(),c)}))}),Wo=Xk("trkpt"),
Vo=N(uo,{trkpt:L(Oo)}),Qo=N(uo,"ele time magvar geoidheight name cmt desc src link sym type fix sat hdop vdop pdop ageofdgpsdata dgpsid".split(" ")),Ro=N(uo,{ele:L(ho),time:L(function(a,b){var c=new Date(1E3*b);a.appendChild(Lk.createTextNode(c.getUTCFullYear()+"-"+wb(c.getUTCMonth()+1)+"-"+wb(c.getUTCDate())+"T"+wb(c.getUTCHours())+":"+wb(c.getUTCMinutes())+":"+wb(c.getUTCSeconds())+"Z"))}),magvar:L(ho),geoidheight:L(ho),name:L(go),cmt:L(go),desc:L(go),src:L(go),link:L(Lo),sym:L(go),type:L(go),fix:L(go),
sat:L(io),hdop:L(ho),vdop:L(ho),pdop:L(ho),ageofdgpsdata:L(ho),dgpsid:L(io)}),Yo={Point:"wpt",LineString:"rte",MultiLineString:"trk"};function Zo(a,b){var c=a.X();if(c&&(c=Yo[c.Y()]))return Mk(b[b.length-1].node.namespaceURI,c)}
var $o=N(uo,{rte:L(function(a,b,c){var d=c[0],e=b.O();a={node:a,properties:e};if(b=b.X())b=un(b,!0,d),a.geometryLayout=b.f,e.rtept=b.Z();d=So[c[c.length-1].node.namespaceURI];e=$k(e,d);bl(a,To,Zk,e,c,d)}),trk:L(function(a,b,c){var d=c[0],e=b.O();a={node:a,properties:e};if(b=b.X())b=un(b,!0,d),e.trkseg=b.md();d=Uo[c[c.length-1].node.namespaceURI];e=$k(e,d);bl(a,Xo,Zk,e,c,d)}),wpt:L(function(a,b,c){var d=c[0],e=c[c.length-1];e.properties=b.O();if(b=b.X())b=un(b,!0,d),e.geometryLayout=b.f,Oo(a,b.Z(),
c)})});to.prototype.a=function(a,b){b=tn(this,b);var c=Mk("http://www.topografix.com/GPX/1/1","gpx");c.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");c.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation","http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd");c.setAttribute("version","1.1");c.setAttribute("creator","OpenLayers 3");bl({node:c},$o,Zo,a,[b]);return c};function ap(){this.defaultDataProjection=null}x(ap,rn);function bp(a){return"string"===typeof a?a:""}k=ap.prototype;k.Y=function(){return"text"};k.Sb=function(a,b){return this.ud(bp(a),tn(this,b))};k.Fa=function(a,b){return this.Kf(bp(a),tn(this,b))};k.Vc=function(a,b){return this.wd(bp(a),tn(this,b))};k.Oa=function(a){bp(a);return this.defaultDataProjection};k.Dd=function(a,b){return this.He(a,tn(this,b))};k.Yb=function(a,b){return this.Ci(a,tn(this,b))};
k.Zc=function(a,b){return this.Ed(a,tn(this,b))};function cp(a){a=a?a:{};this.defaultDataProjection=null;this.defaultDataProjection=zc("EPSG:4326");this.b=a.altitudeMode?a.altitudeMode:"none"}x(cp,ap);var dp=/^B(\d{2})(\d{2})(\d{2})(\d{2})(\d{5})([NS])(\d{3})(\d{5})([EW])([AV])(\d{5})(\d{5})/,ep=/^H.([A-Z]{3}).*?:(.*)/,fp=/^HFDTE(\d{2})(\d{2})(\d{2})/,gp=/\r\n|\r|\n/;
cp.prototype.ud=function(a,b){var c=this.b,d=a.split(gp),e={},f=[],g=2E3,h=0,l=1,m=-1,n,p;n=0;for(p=d.length;n<p;++n){var q=d[n],r;if("B"==q.charAt(0)){if(r=dp.exec(q)){var q=parseInt(r[1],10),v=parseInt(r[2],10),y=parseInt(r[3],10),w=parseInt(r[4],10)+parseInt(r[5],10)/6E4;"S"==r[6]&&(w=-w);var G=parseInt(r[7],10)+parseInt(r[8],10)/6E4;"W"==r[9]&&(G=-G);f.push(G,w);"none"!=c&&f.push("gps"==c?parseInt(r[11],10):"barometric"==c?parseInt(r[12],10):0);r=Date.UTC(g,h,l,q,v,y);r<m&&(r=Date.UTC(g,h,l+1,
q,v,y));f.push(r/1E3);m=r}}else"H"==q.charAt(0)&&((r=fp.exec(q))?(l=parseInt(r[1],10),h=parseInt(r[2],10)-1,g=2E3+parseInt(r[3],10)):(r=ep.exec(q))&&(e[r[1]]=r[2].trim()))}if(0===f.length)return null;d=new R(null);d.ba("none"==c?"XYM":"XYZM",f);c=new Ik(un(d,!1,b));c.G(e);return c};cp.prototype.Kf=function(a,b){var c=this.ud(a,b);return c?[c]:[]};function hp(a,b){this.a={};this.b=[];this.g=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else if(a){var e;if(a instanceof hp)e=a.N(),d=a.zc();else{var c=[],f=0;for(e in a)c[f++]=e;e=c;c=[];f=0;for(d in a)c[f++]=a[d];d=c}for(c=0;c<e.length;c++)this.set(e[c],d[c])}}k=hp.prototype;k.wc=function(){return this.g};k.zc=function(){ip(this);for(var a=[],b=0;b<this.b.length;b++)a.push(this.a[this.b[b]]);return a};
k.N=function(){ip(this);return this.b.concat()};k.Ya=function(){return 0==this.g};k.clear=function(){this.a={};this.g=this.b.length=0};k.remove=function(a){return jp(this.a,a)?(delete this.a[a],this.g--,this.b.length>2*this.g&&ip(this),!0):!1};function ip(a){if(a.g!=a.b.length){for(var b=0,c=0;b<a.b.length;){var d=a.b[b];jp(a.a,d)&&(a.b[c++]=d);b++}a.b.length=c}if(a.g!=a.b.length){for(var e={},c=b=0;b<a.b.length;)d=a.b[b],jp(e,d)||(a.b[c++]=d,e[d]=1),b++;a.b.length=c}}
k.get=function(a,b){return jp(this.a,a)?this.a[a]:b};k.set=function(a,b){jp(this.a,a)||(this.g++,this.b.push(a));this.a[a]=b};k.forEach=function(a,b){for(var c=this.N(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};k.clone=function(){return new hp(this)};function jp(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var kp=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/;function lp(a,b){if(a)for(var c=a.split("&"),d=0;d<c.length;d++){var e=c[d].indexOf("="),f,g=null;0<=e?(f=c[d].substring(0,e),g=c[d].substring(e+1)):f=c[d];b(f,g?decodeURIComponent(g.replace(/\+/g," ")):"")}};function mp(a,b){this.a=this.l=this.g="";this.o=null;this.f=this.b="";this.c=!1;var c;a instanceof mp?(this.c=void 0!==b?b:a.c,np(this,a.g),this.l=a.l,this.a=a.a,op(this,a.o),this.b=a.b,pp(this,a.i.clone()),this.f=a.f):a&&(c=String(a).match(kp))?(this.c=!!b,np(this,c[1]||"",!0),this.l=qp(c[2]||""),this.a=qp(c[3]||"",!0),op(this,c[4]),this.b=qp(c[5]||"",!0),pp(this,c[6]||"",!0),this.f=qp(c[7]||"")):(this.c=!!b,this.i=new rp(null,0,this.c))}
mp.prototype.toString=function(){var a=[],b=this.g;b&&a.push(sp(b,tp,!0),":");var c=this.a;if(c||"file"==b)a.push("//"),(b=this.l)&&a.push(sp(b,tp,!0),"@"),a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),c=this.o,null!=c&&a.push(":",String(c));if(c=this.b)this.a&&"/"!=c.charAt(0)&&a.push("/"),a.push(sp(c,"/"==c.charAt(0)?up:vp,!0));(c=this.i.toString())&&a.push("?",c);(c=this.f)&&a.push("#",sp(c,wp));return a.join("")};mp.prototype.clone=function(){return new mp(this)};
function np(a,b,c){a.g=c?qp(b,!0):b;a.g&&(a.g=a.g.replace(/:$/,""))}function op(a,b){if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.o=b}else a.o=null}function pp(a,b,c){b instanceof rp?(a.i=b,xp(a.i,a.c)):(c||(b=sp(b,yp)),a.i=new rp(b,0,a.c))}function zp(a){return a instanceof mp?a.clone():new mp(a,void 0)}
function Ap(a,b){a instanceof mp||(a=zp(a));b instanceof mp||(b=zp(b));var c=a,d=b,e=c.clone(),f=!!d.g;f?np(e,d.g):f=!!d.l;f?e.l=d.l:f=!!d.a;f?e.a=d.a:f=null!=d.o;var g=d.b;if(f)op(e,d.o);else if(f=!!d.b)if("/"!=g.charAt(0)&&(c.a&&!c.b?g="/"+g:(c=e.b.lastIndexOf("/"),-1!=c&&(g=e.b.substr(0,c+1)+g))),c=g,".."==c||"."==c)g="";else if(-1!=c.indexOf("./")||-1!=c.indexOf("/.")){for(var g=0==c.lastIndexOf("/",0),c=c.split("/"),h=[],l=0;l<c.length;){var m=c[l++];"."==m?g&&l==c.length&&h.push(""):".."==m?
((1<h.length||1==h.length&&""!=h[0])&&h.pop(),g&&l==c.length&&h.push("")):(h.push(m),g=!0)}g=h.join("/")}else g=c;f?e.b=g:f=""!==d.i.toString();f?pp(e,qp(d.i.toString())):f=!!d.f;f&&(e.f=d.f);return e}function qp(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""}function sp(a,b,c){return ea(a)?(a=encodeURI(a).replace(b,Bp),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null}function Bp(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}
var tp=/[#\/\?@]/g,vp=/[\#\?:]/g,up=/[\#\?]/g,yp=/[\#\?@]/g,wp=/#/g;function rp(a,b,c){this.a=this.b=null;this.g=a||null;this.f=!!c}function Cp(a){a.b||(a.b=new hp,a.a=0,a.g&&lp(a.g,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))}k=rp.prototype;k.wc=function(){Cp(this);return this.a};k.add=function(a,b){Cp(this);this.g=null;a=Dp(this,a);var c=this.b.get(a);c||this.b.set(a,c=[]);c.push(b);this.a=this.a+1;return this};
k.remove=function(a){Cp(this);a=Dp(this,a);return jp(this.b.a,a)?(this.g=null,this.a=this.a-this.b.get(a).length,this.b.remove(a)):!1};k.clear=function(){this.b=this.g=null;this.a=0};k.Ya=function(){Cp(this);return 0==this.a};function Ep(a,b){Cp(a);b=Dp(a,b);return jp(a.b.a,b)}k.N=function(){Cp(this);for(var a=this.b.zc(),b=this.b.N(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};
k.zc=function(a){Cp(this);var b=[];if(ea(a))Ep(this,a)&&(b=de(b,this.b.get(Dp(this,a))));else{a=this.b.zc();for(var c=0;c<a.length;c++)b=de(b,a[c])}return b};k.set=function(a,b){Cp(this);this.g=null;a=Dp(this,a);Ep(this,a)&&(this.a=this.a-this.b.get(a).length);this.b.set(a,[b]);this.a=this.a+1;return this};k.get=function(a,b){var c=a?this.zc(a):[];return 0<c.length?String(c[0]):b};
k.toString=function(){if(this.g)return this.g;if(!this.b)return"";for(var a=[],b=this.b.N(),c=0;c<b.length;c++)for(var d=b[c],e=encodeURIComponent(String(d)),d=this.zc(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+encodeURIComponent(String(d[f])));a.push(g)}return this.g=a.join("&")};k.clone=function(){var a=new rp;a.g=this.g;this.b&&(a.b=this.b.clone(),a.a=this.a);return a};function Dp(a,b){var c=String(b);a.f&&(c=c.toLowerCase());return c}
function xp(a,b){b&&!a.f&&(Cp(a),a.g=null,a.b.forEach(function(a,b){var e=b.toLowerCase();b!=e&&(this.remove(b),this.remove(e),0<a.length&&(this.g=null,this.b.set(Dp(this,e),ee(a)),this.a=this.a+a.length))},a));a.f=b};function Fp(a){a=a||{};this.g=a.font;this.i=a.rotation;this.a=a.scale;this.s=a.text;this.o=a.textAlign;this.j=a.textBaseline;this.b=void 0!==a.fill?a.fill:new jj({color:"#333"});this.l=void 0!==a.stroke?a.stroke:null;this.f=void 0!==a.offsetX?a.offsetX:0;this.c=void 0!==a.offsetY?a.offsetY:0}k=Fp.prototype;k.Xj=function(){return this.g};k.kk=function(){return this.f};k.lk=function(){return this.c};k.Un=function(){return this.b};k.Vn=function(){return this.i};k.Wn=function(){return this.a};k.Xn=function(){return this.l};
k.Ha=function(){return this.s};k.yk=function(){return this.o};k.zk=function(){return this.j};k.bp=function(a){this.g=a};k.mi=function(a){this.f=a};k.ni=function(a){this.c=a};k.ap=function(a){this.b=a};k.Yn=function(a){this.i=a};k.Zn=function(a){this.a=a};k.ip=function(a){this.l=a};k.pi=function(a){this.s=a};k.ri=function(a){this.o=a};k.jp=function(a){this.j=a};function Gp(a){a=a?a:{};Tn.call(this);this.defaultDataProjection=zc("EPSG:4326");this.g=a.defaultStyle?a.defaultStyle:Hp;this.c=void 0!==a.extractStyles?a.extractStyles:!0;this.l=void 0!==a.writeStyles?a.writeStyles:!0;this.b={};this.i=void 0!==a.showPointNames?a.showPointNames:!0}x(Gp,Tn);
var Ip=["http://www.google.com/kml/ext/2.2"],Jp=[null,"http://earth.google.com/kml/2.0","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.2","http://www.opengis.net/kml/2.2"],Kp=[255,255,255,1],Lp=new jj({color:Kp}),Mp=[20,2],Np=[64,64],Op=new Fh({anchor:Mp,anchorOrigin:"bottom-left",anchorXUnits:"pixels",anchorYUnits:"pixels",crossOrigin:"anonymous",rotation:0,scale:.5,size:Np,src:"https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png"}),Pp=new pj({color:Kp,width:1}),Qp=new Fp({font:"bold 16px Helvetica",
fill:Lp,stroke:new pj({color:[51,51,51,1],width:2}),scale:.8}),Hp=[new sj({fill:Lp,image:Op,text:Qp,stroke:Pp,zIndex:0})],Rp={fraction:"fraction",pixels:"pixels"};function Sp(a,b){var c,d=[0,0],e="start";if(a.a){var f=a.a.ld();f&&2==f.length&&(d[0]=a.a.i*f[0]/2,d[1]=-a.a.i*f[1]/2,e="left")}if(Ga(a.Ha()))c=new Fp({text:b,offsetX:d[0],offsetY:d[1],textAlign:e});else{var f=a.Ha(),g={};for(c in f)g[c]=f[c];c=g;c.pi(b);c.ri(e);c.mi(d[0]);c.ni(d[1])}return new sj({text:c})}
function Tp(a,b,c,d,e){return function(){var f=e,g="";f&&this.X()&&(f="Point"===this.X().Y());f&&(g=this.get("name"),f=f&&g);if(a)return f?(f=Sp(a[0],g),a.concat(f)):a;if(b){var h=Up(b,c,d);return f?(f=Sp(h[0],g),h.concat(f)):h}return f?(f=Sp(c[0],g),c.concat(f)):c}}function Up(a,b,c){return Array.isArray(a)?a:"string"===typeof a?(!(a in c)&&"#"+a in c&&(a="#"+a),Up(c[a],b,c)):b}
function Vp(a){a=Nk(a,!1);if(a=/^\s*#?\s*([0-9A-Fa-f]{8})\s*$/.exec(a))return a=a[1],[parseInt(a.substr(6,2),16),parseInt(a.substr(4,2),16),parseInt(a.substr(2,2),16),parseInt(a.substr(0,2),16)/255]}function Wp(a){a=Nk(a,!1);for(var b=[],c=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*,\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s*,\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?))?\s*/i,d;d=c.exec(a);)b.push(parseFloat(d[1]),parseFloat(d[2]),d[3]?parseFloat(d[3]):0),a=a.substr(d[0].length);return""!==a?void 0:b}
function Xp(a){var b=Nk(a,!1);return a.baseURI?Ap(a.baseURI,b.trim()).toString():b.trim()}function Yp(a){a=ao(a);if(void 0!==a)return Math.sqrt(a)}function Zp(a,b){return O(null,$p,a,b)}function aq(a,b){var c=O({B:[],zi:[]},bq,a,b);if(c){var d=c.B,c=c.zi,e,f;e=0;for(f=Math.min(d.length,c.length);e<f;++e)d[4*e+3]=c[e];c=new R(null);c.ba("XYZM",d);return c}}function cq(a,b){var c=O({},dq,a,b),d=O(null,eq,a,b);if(d){var e=new R(null);e.ba("XYZ",d);e.G(c);return e}}
function fq(a,b){var c=O({},dq,a,b),d=O(null,eq,a,b);if(d){var e=new E(null);e.ba("XYZ",d,[d.length]);e.G(c);return e}}
function gq(a,b){var c=O([],hq,a,b);if(!c)return null;if(0===c.length)return new Kn(c);var d=!0,e=c[0].Y(),f,g,h;g=1;for(h=c.length;g<h;++g)if(f=c[g],f.Y()!=e){d=!1;break}if(d){if("Point"==e){f=c[0];d=f.f;e=f.la();g=1;for(h=c.length;g<h;++g)f=c[g],jb(e,f.la());f=new T(null);f.ba(d,e);iq(f,c);return f}return"LineString"==e?(f=new S(null),An(f,c),iq(f,c),f):"Polygon"==e?(f=new U(null),Cn(f,c),iq(f,c),f):"GeometryCollection"==e?new Kn(c):null}return new Kn(c)}
function jq(a,b){var c=O({},dq,a,b),d=O(null,eq,a,b);if(d){var e=new C(null);e.ba("XYZ",d);e.G(c);return e}}function kq(a,b){var c=O({},dq,a,b),d=O([null],lq,a,b);if(d&&d[0]){var e=new E(null),f=d[0],g=[f.length],h,l;h=1;for(l=d.length;h<l;++h)jb(f,d[h]),g.push(f.length);e.ba("XYZ",f,g);e.G(c);return e}}
function mq(a,b){var c=O({},nq,a,b);if(!c)return null;var d="fillStyle"in c?c.fillStyle:Lp,e=c.fill;void 0===e||e||(d=null);var e="imageStyle"in c?c.imageStyle:Op,f="textStyle"in c?c.textStyle:Qp,g="strokeStyle"in c?c.strokeStyle:Pp,c=c.outline;void 0===c||c||(g=null);return[new sj({fill:d,image:e,stroke:g,text:f,zIndex:void 0})]}
function iq(a,b){var c=b.length,d=Array(b.length),e=Array(b.length),f,g,h,l;h=l=!1;for(g=0;g<c;++g)f=b[g],d[g]=f.get("extrude"),e[g]=f.get("altitudeMode"),h=h||void 0!==d[g],l=l||e[g];h&&a.set("extrude",d);l&&a.set("altitudeMode",e)}function oq(a,b){al(pq,a,b)}
var qq=N(Jp,{value:Uk(V)}),pq=N(Jp,{Data:function(a,b){var c=a.getAttribute("name");if(null!==c){var d=O(void 0,qq,a,b);d&&(b[b.length-1][c]=d)}},SchemaData:function(a,b){al(rq,a,b)}}),dq=N(Jp,{extrude:K(Yn),altitudeMode:K(V)}),$p=N(Jp,{coordinates:Uk(Wp)}),lq=N(Jp,{innerBoundaryIs:function(a,b){var c=O(void 0,sq,a,b);c&&b[b.length-1].push(c)},outerBoundaryIs:function(a,b){var c=O(void 0,tq,a,b);c&&(b[b.length-1][0]=c)}}),bq=N(Jp,{when:function(a,b){var c=b[b.length-1].zi,d=Nk(a,!1);if(d=/^\s*(\d{4})($|-(\d{2})($|-(\d{2})($|T(\d{2}):(\d{2}):(\d{2})(Z|(?:([+\-])(\d{2})(?::(\d{2}))?)))))\s*$/.exec(d)){var e=
Date.UTC(parseInt(d[1],10),d[3]?parseInt(d[3],10)-1:0,d[5]?parseInt(d[5],10):1,d[7]?parseInt(d[7],10):0,d[8]?parseInt(d[8],10):0,d[9]?parseInt(d[9],10):0);if(d[10]&&"Z"!=d[10]){var f="-"==d[11]?-1:1,e=e+60*f*parseInt(d[12],10);d[13]&&(e+=3600*f*parseInt(d[13],10))}c.push(e)}else c.push(0)}},N(Ip,{coord:function(a,b){var c=b[b.length-1].B,d=Nk(a,!1);(d=/^\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s*$/i.exec(d))?c.push(parseFloat(d[1]),
parseFloat(d[2]),parseFloat(d[3]),0):c.push(0,0,0,0)}})),eq=N(Jp,{coordinates:Uk(Wp)}),uq=N(Jp,{href:K(Xp)},N(Ip,{x:K(ao),y:K(ao),w:K(ao),h:K(ao)})),vq=N(Jp,{Icon:K(function(a,b){var c=O({},uq,a,b);return c?c:null}),heading:K(ao),hotSpot:K(function(a){var b=a.getAttribute("xunits"),c=a.getAttribute("yunits");return{x:parseFloat(a.getAttribute("x")),$f:Rp[b],y:parseFloat(a.getAttribute("y")),ag:Rp[c]}}),scale:K(Yp)}),sq=N(Jp,{LinearRing:Uk(Zp)}),wq=N(Jp,{color:K(Vp),scale:K(Yp)}),xq=N(Jp,{color:K(Vp),
width:K(ao)}),hq=N(Jp,{LineString:Tk(cq),LinearRing:Tk(fq),MultiGeometry:Tk(gq),Point:Tk(jq),Polygon:Tk(kq)}),yq=N(Ip,{Track:Tk(aq)}),Aq=N(Jp,{ExtendedData:oq,Link:function(a,b){al(zq,a,b)},address:K(V),description:K(V),name:K(V),open:K(Yn),phoneNumber:K(V),visibility:K(Yn)}),zq=N(Jp,{href:K(Xp)}),tq=N(Jp,{LinearRing:Uk(Zp)}),Bq=N(Jp,{Style:K(mq),key:K(V),styleUrl:K(function(a){var b=Nk(a,!1).trim();return a.baseURI?Ap(a.baseURI,b).toString():b})}),Dq=N(Jp,{ExtendedData:oq,MultiGeometry:K(gq,"geometry"),
LineString:K(cq,"geometry"),LinearRing:K(fq,"geometry"),Point:K(jq,"geometry"),Polygon:K(kq,"geometry"),Style:K(mq),StyleMap:function(a,b){var c=O(void 0,Cq,a,b);if(c){var d=b[b.length-1];Array.isArray(c)?d.Style=c:"string"===typeof c&&(d.styleUrl=c)}},address:K(V),description:K(V),name:K(V),open:K(Yn),phoneNumber:K(V),styleUrl:K(Xp),visibility:K(Yn)},N(Ip,{MultiTrack:K(function(a,b){var c=O([],yq,a,b);if(c){var d=new S(null);An(d,c);return d}},"geometry"),Track:K(aq,"geometry")})),Eq=N(Jp,{color:K(Vp),
fill:K(Yn),outline:K(Yn)}),rq=N(Jp,{SimpleData:function(a,b){var c=a.getAttribute("name");if(null!==c){var d=V(a);b[b.length-1][c]=d}}}),nq=N(Jp,{IconStyle:function(a,b){var c=O({},vq,a,b);if(c){var d=b[b.length-1],e="Icon"in c?c.Icon:{},f;f=(f=e.href)?f:"https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png";var g,h,l,m=c.hotSpot;m?(g=[m.x,m.y],h=m.$f,l=m.ag):"https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png"===f?(g=Mp,l=h="pixels"):/^http:\/\/maps\.(?:google|gstatic)\.com\//.test(f)&&
(g=[.5,0],l=h="fraction");var n,m=e.x,p=e.y;void 0!==m&&void 0!==p&&(n=[m,p]);var q,m=e.w,e=e.h;void 0!==m&&void 0!==e&&(q=[m,e]);var r,e=c.heading;void 0!==e&&(r=wa(e));c=c.scale;"https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png"==f&&(q=Np,void 0===c&&(c=.5));g=new Fh({anchor:g,anchorOrigin:"bottom-left",anchorXUnits:h,anchorYUnits:l,crossOrigin:"anonymous",offset:n,offsetOrigin:"bottom-left",rotation:r,scale:c,size:q,src:f});d.imageStyle=g}},LabelStyle:function(a,b){var c=O({},wq,a,
b);c&&(b[b.length-1].textStyle=new Fp({fill:new jj({color:"color"in c?c.color:Kp}),scale:c.scale}))},LineStyle:function(a,b){var c=O({},xq,a,b);c&&(b[b.length-1].strokeStyle=new pj({color:"color"in c?c.color:Kp,width:"width"in c?c.width:1}))},PolyStyle:function(a,b){var c=O({},Eq,a,b);if(c){var d=b[b.length-1];d.fillStyle=new jj({color:"color"in c?c.color:Kp});var e=c.fill;void 0!==e&&(d.fill=e);c=c.outline;void 0!==c&&(d.outline=c)}}}),Cq=N(Jp,{Pair:function(a,b){var c=O({},Bq,a,b);if(c){var d=c.key;
d&&"normal"==d&&((d=c.styleUrl)&&(b[b.length-1]=d),(c=c.Style)&&(b[b.length-1]=c))}}});k=Gp.prototype;k.Gf=function(a,b){var c=N(Jp,{Document:Sk(this.Gf,this),Folder:Sk(this.Gf,this),Placemark:Tk(this.Of,this),Style:this.Lo.bind(this),StyleMap:this.Ko.bind(this)});if(c=O([],c,a,b,this))return c};
k.Of=function(a,b){var c=O({geometry:null},Dq,a,b);if(c){var d=new Ik,e=a.getAttribute("id");null!==e&&d.mc(e);var e=b[0],f=c.geometry;f&&un(f,!1,e);d.Ua(f);delete c.geometry;this.c&&d.sf(Tp(c.Style,c.styleUrl,this.g,this.b,this.i));delete c.Style;d.G(c);return d}};k.Lo=function(a,b){var c=a.getAttribute("id");if(null!==c){var d=mq(a,b);d&&(c=a.baseURI?Ap(a.baseURI,"#"+c).toString():"#"+c,this.b[c]=d)}};
k.Ko=function(a,b){var c=a.getAttribute("id");if(null!==c){var d=O(void 0,Cq,a,b);d&&(c=a.baseURI?Ap(a.baseURI,"#"+c).toString():"#"+c,this.b[c]=d)}};k.Ph=function(a,b){if(!gb(Jp,a.namespaceURI))return null;var c=this.Of(a,[sn(this,a,b)]);return c?c:null};
k.lc=function(a,b){if(!gb(Jp,a.namespaceURI))return[];var c;c=a.localName;if("Document"==c||"Folder"==c)return(c=this.Gf(a,[sn(this,a,b)]))?c:[];if("Placemark"==c)return(c=this.Of(a,[sn(this,a,b)]))?[c]:[];if("kml"==c){c=[];var d;for(d=a.firstElementChild;d;d=d.nextElementSibling){var e=this.lc(d,b);e&&jb(c,e)}return c}return[]};k.Fo=function(a){if(Pk(a))return Fq(this,a);if(Qk(a))return Gq(this,a);if("string"===typeof a)return a=Rk(a),Fq(this,a)};
function Fq(a,b){var c;for(c=b.firstChild;c;c=c.nextSibling)if(c.nodeType==Node.ELEMENT_NODE){var d=Gq(a,c);if(d)return d}}function Gq(a,b){var c;for(c=b.firstElementChild;c;c=c.nextElementSibling)if(gb(Jp,c.namespaceURI)&&"name"==c.localName)return V(c);for(c=b.firstElementChild;c;c=c.nextElementSibling){var d=c.localName;if(gb(Jp,c.namespaceURI)&&("Document"==d||"Folder"==d||"Placemark"==d||"kml"==d)&&(d=Gq(a,c)))return d}}
k.Go=function(a){var b=[];Pk(a)?jb(b,Hq(this,a)):Qk(a)?jb(b,Iq(this,a)):"string"===typeof a&&(a=Rk(a),jb(b,Hq(this,a)));return b};function Hq(a,b){var c,d=[];for(c=b.firstChild;c;c=c.nextSibling)c.nodeType==Node.ELEMENT_NODE&&jb(d,Iq(a,c));return d}
function Iq(a,b){var c,d=[];for(c=b.firstElementChild;c;c=c.nextElementSibling)if(gb(Jp,c.namespaceURI)&&"NetworkLink"==c.localName){var e=O({},Aq,c,[]);d.push(e)}for(c=b.firstElementChild;c;c=c.nextElementSibling)e=c.localName,!gb(Jp,c.namespaceURI)||"Document"!=e&&"Folder"!=e&&"kml"!=e||jb(d,Iq(a,c));return d}function Jq(a,b){var c=je(b),c=[255*(4==c.length?c[3]:1),c[2],c[1],c[0]],d;for(d=0;4>d;++d){var e=parseInt(c[d],10).toString(16);c[d]=1==e.length?"0"+e:e}go(a,c.join(""))}
function Kq(a,b,c){a={node:a};var d=b.Y(),e,f;"GeometryCollection"==d?(e=b.ff(),f=Lq):"MultiPoint"==d?(e=b.je(),f=Mq):"MultiLineString"==d?(e=b.md(),f=Nq):"MultiPolygon"==d&&(e=b.Wd(),f=Oq);bl(a,Pq,f,e,c)}function Qq(a,b,c){bl({node:a},Rq,Sq,[b],c)}
function Tq(a,b,c){var d={node:a};b.Xa()&&a.setAttribute("id",b.Xa());a=b.O();var e=b.ec();e&&(e=e.call(b,0))&&(e=Array.isArray(e)?e[0]:e,this.l&&(a.Style=e),(e=e.Ha())&&(a.name=e.Ha()));e=Uq[c[c.length-1].node.namespaceURI];a=$k(a,e);bl(d,Vq,Zk,a,c,e);a=c[0];(b=b.X())&&(b=un(b,!0,a));bl(d,Vq,Lq,[b],c)}function Wq(a,b,c){var d=b.la();a={node:a};a.layout=b.f;a.stride=b.va();bl(a,Xq,Yq,[d],c)}function Zq(a,b,c){b=b.Vd();var d=b.shift();a={node:a};bl(a,$q,ar,b,c);bl(a,$q,br,[d],c)}
function cr(a,b){ho(a,Math.round(b*b*1E6)/1E6)}
var dr=N(Jp,["Document","Placemark"]),gr=N(Jp,{Document:L(function(a,b,c){bl({node:a},er,fr,b,c,void 0,this)}),Placemark:L(Tq)}),er=N(Jp,{Placemark:L(Tq)}),hr={Point:"Point",LineString:"LineString",LinearRing:"LinearRing",Polygon:"Polygon",MultiPoint:"MultiGeometry",MultiLineString:"MultiGeometry",MultiPolygon:"MultiGeometry",GeometryCollection:"MultiGeometry"},ir=N(Jp,["href"],N(Ip,["x","y","w","h"])),jr=N(Jp,{href:L(go)},N(Ip,{x:L(ho),y:L(ho),w:L(ho),h:L(ho)})),kr=N(Jp,["scale","heading","Icon",
"hotSpot"]),mr=N(Jp,{Icon:L(function(a,b,c){a={node:a};var d=ir[c[c.length-1].node.namespaceURI],e=$k(b,d);bl(a,jr,Zk,e,c,d);d=ir[Ip[0]];e=$k(b,d);bl(a,jr,lr,e,c,d)}),heading:L(ho),hotSpot:L(function(a,b){a.setAttribute("x",b.x);a.setAttribute("y",b.y);a.setAttribute("xunits",b.$f);a.setAttribute("yunits",b.ag)}),scale:L(cr)}),nr=N(Jp,["color","scale"]),or=N(Jp,{color:L(Jq),scale:L(cr)}),pr=N(Jp,["color","width"]),qr=N(Jp,{color:L(Jq),width:L(ho)}),Rq=N(Jp,{LinearRing:L(Wq)}),Pq=N(Jp,{LineString:L(Wq),
Point:L(Wq),Polygon:L(Zq),GeometryCollection:L(Kq)}),Uq=N(Jp,"name open visibility address phoneNumber description styleUrl Style".split(" ")),Vq=N(Jp,{MultiGeometry:L(Kq),LineString:L(Wq),LinearRing:L(Wq),Point:L(Wq),Polygon:L(Zq),Style:L(function(a,b,c){a={node:a};var d={},e=b.c,f=b.f,g=b.a;b=b.Ha();g instanceof Fh&&(d.IconStyle=g);b&&(d.LabelStyle=b);f&&(d.LineStyle=f);e&&(d.PolyStyle=e);b=rr[c[c.length-1].node.namespaceURI];d=$k(d,b);bl(a,sr,Zk,d,c,b)}),address:L(go),description:L(go),name:L(go),
open:L(fo),phoneNumber:L(go),styleUrl:L(go),visibility:L(fo)}),Xq=N(Jp,{coordinates:L(function(a,b,c){c=c[c.length-1];var d=c.layout;c=c.stride;var e;"XY"==d||"XYM"==d?e=2:("XYZ"==d||"XYZM"==d)&&(e=3);var f,g=b.length,h="";if(0<g){h+=b[0];for(d=1;d<e;++d)h+=","+b[d];for(f=c;f<g;f+=c)for(h+=" "+b[f],d=1;d<e;++d)h+=","+b[f+d]}go(a,h)})}),$q=N(Jp,{outerBoundaryIs:L(Qq),innerBoundaryIs:L(Qq)}),tr=N(Jp,{color:L(Jq)}),rr=N(Jp,["IconStyle","LabelStyle","LineStyle","PolyStyle"]),sr=N(Jp,{IconStyle:L(function(a,
b,c){a={node:a};var d={},e=b.Gb(),f=b.ld(),g={href:b.b.j};if(e){g.w=e[0];g.h=e[1];var h=b.Zb(),l=b.Ia();l&&f&&0!==l[0]&&l[1]!==e[1]&&(g.x=l[0],g.y=f[1]-(l[1]+e[1]));h&&0!==h[0]&&h[1]!==e[1]&&(d.hotSpot={x:h[0],$f:"pixels",y:e[1]-h[1],ag:"pixels"})}d.Icon=g;e=b.i;1!==e&&(d.scale=e);b=b.j;0!==b&&(d.heading=b);b=kr[c[c.length-1].node.namespaceURI];d=$k(d,b);bl(a,mr,Zk,d,c,b)}),LabelStyle:L(function(a,b,c){a={node:a};var d={},e=b.b;e&&(d.color=e.b);(b=b.a)&&1!==b&&(d.scale=b);b=nr[c[c.length-1].node.namespaceURI];
d=$k(d,b);bl(a,or,Zk,d,c,b)}),LineStyle:L(function(a,b,c){a={node:a};var d=pr[c[c.length-1].node.namespaceURI];b=$k({color:b.b,width:b.a},d);bl(a,qr,Zk,b,c,d)}),PolyStyle:L(function(a,b,c){bl({node:a},tr,ur,[b.b],c)})});function lr(a,b,c){return Mk(Ip[0],"gx:"+c)}function fr(a,b){return Mk(b[b.length-1].node.namespaceURI,"Placemark")}function Lq(a,b){if(a)return Mk(b[b.length-1].node.namespaceURI,hr[a.Y()])}
var ur=Xk("color"),Yq=Xk("coordinates"),ar=Xk("innerBoundaryIs"),Mq=Xk("Point"),Nq=Xk("LineString"),Sq=Xk("LinearRing"),Oq=Xk("Polygon"),br=Xk("outerBoundaryIs");
Gp.prototype.a=function(a,b){b=tn(this,b);var c=Mk(Jp[4],"kml");c.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:gx",Ip[0]);c.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");c.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation","http://www.opengis.net/kml/2.2 https://developers.google.com/kml/schema/kml22gx.xsd");var d={node:c},e={};1<a.length?e.Document=a:1==a.length&&(e.Placemark=a[0]);var f=dr[c.namespaceURI],
e=$k(e,f);bl(d,gr,Zk,e,[b],f,this);return c};(function(){var a={},b={ja:a};(function(c){if("object"===typeof a&&"undefined"!==typeof b)b.ja=c();else{var d;"undefined"!==typeof window?d=window:"undefined"!==typeof global?d=global:"undefined"!==typeof self?d=self:d=this;d.Rp=c()}})(function(){return function d(a,b,g){function h(m,p){if(!b[m]){if(!a[m]){var q="function"==typeof require&&require;if(!p&&q)return q(m,!0);if(l)return l(m,!0);q=Error("Cannot find module '"+m+"'");throw q.code="MODULE_NOT_FOUND",q;}q=b[m]={ja:{}};a[m][0].call(q.ja,function(b){var d=
a[m][1][b];return h(d?d:b)},q,q.ja,d,a,b,g)}return b[m].ja}for(var l="function"==typeof require&&require,m=0;m<g.length;m++)h(g[m]);return h}({1:[function(a,b,f){f.read=function(a,b,d,e,f){var p;p=8*f-e-1;var q=(1<<p)-1,r=q>>1,v=-7;f=d?f-1:0;var y=d?-1:1,w=a[b+f];f+=y;d=w&(1<<-v)-1;w>>=-v;for(v+=p;0<v;d=256*d+a[b+f],f+=y,v-=8);p=d&(1<<-v)-1;d>>=-v;for(v+=e;0<v;p=256*p+a[b+f],f+=y,v-=8);if(0===d)d=1-r;else{if(d===q)return p?NaN:Infinity*(w?-1:1);p+=Math.pow(2,e);d-=r}return(w?-1:1)*p*Math.pow(2,d-
e)};f.write=function(a,b,d,e,f,p){var q,r=8*p-f-1,v=(1<<r)-1,y=v>>1,w=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;p=e?0:p-1;var G=e?1:-1,z=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,e=v):(e=Math.floor(Math.log(b)/Math.LN2),1>b*(q=Math.pow(2,-e))&&(e--,q*=2),b=1<=e+y?b+w/q:b+w*Math.pow(2,1-y),2<=b*q&&(e++,q/=2),e+y>=v?(b=0,e=v):1<=e+y?(b=(b*q-1)*Math.pow(2,f),e+=y):(b=b*Math.pow(2,y-1)*Math.pow(2,f),e=0));for(;8<=f;a[d+p]=b&255,p+=G,b/=256,f-=8);e=e<<f|b;for(r+=f;0<r;a[d+
p]=e&255,p+=G,e/=256,r-=8);a[d+p-G]|=128*z}},{}],2:[function(a,b){function f(a){var b;a&&a.length&&(b=a,a=b.length);a=new Uint8Array(a||0);b&&a.set(b);a.$h=l.$h;a.Zf=l.Zf;a.Sh=l.Sh;a.Ei=l.Ei;a.Nf=l.Nf;a.Di=l.Di;a.Hf=l.Hf;a.Ai=l.Ai;a.toString=l.toString;a.write=l.write;a.slice=l.slice;a.tg=l.tg;a.nj=!0;return a}function g(a){for(var b=a.length,d=[],e=0,f,g;e<b;e++){f=a.charCodeAt(e);if(55295<f&&57344>f)if(g)if(56320>f){d.push(239,191,189);g=f;continue}else f=g-55296<<10|f-56320|65536,g=null;else{56319<
f||e+1===b?d.push(239,191,189):g=f;continue}else g&&(d.push(239,191,189),g=null);128>f?d.push(f):2048>f?d.push(f>>6|192,f&63|128):65536>f?d.push(f>>12|224,f>>6&63|128,f&63|128):d.push(f>>18|240,f>>12&63|128,f>>6&63|128,f&63|128)}return d}b.ja=f;var h=a("ieee754"),l,m,n;l={$h:function(a){return(this[a]|this[a+1]<<8|this[a+2]<<16)+16777216*this[a+3]},Zf:function(a,b){this[b]=a;this[b+1]=a>>>8;this[b+2]=a>>>16;this[b+3]=a>>>24},Sh:function(a){return(this[a]|this[a+1]<<8|this[a+2]<<16)+(this[a+3]<<24)},
Nf:function(a){return h.read(this,a,!0,23,4)},Hf:function(a){return h.read(this,a,!0,52,8)},Di:function(a,b){return h.write(this,a,b,!0,23,4)},Ai:function(a,b){return h.write(this,a,b,!0,52,8)},toString:function(a,b,d){var e=a="";d=Math.min(this.length,d||this.length);for(b=b||0;b<d;b++){var f=this[b];127>=f?(a+=decodeURIComponent(e)+String.fromCharCode(f),e=""):e+="%"+f.toString(16)}return a+=decodeURIComponent(e)},write:function(a,b){for(var d=a===m?n:g(a),e=0;e<d.length;e++)this[b+e]=d[e]},slice:function(a,
b){return this.subarray(a,b)},tg:function(a,b){b=b||0;for(var d=0;d<this.length;d++)a[b+d]=this[d]}};l.Ei=l.Zf;f.byteLength=function(a){m=a;n=g(a);return n.length};f.isBuffer=function(a){return!(!a||!a.nj)}},{ieee754:1}],3:[function(a,b){(function(f){function g(a){this.Db=l.isBuffer(a)?a:new l(a||0);this.da=0;this.length=this.Db.length}function h(a,b){var d=b.Db,e;e=d[b.da++];a+=268435456*(e&127);if(128>e)return a;e=d[b.da++];a+=34359738368*(e&127);if(128>e)return a;e=d[b.da++];a+=4398046511104*(e&
127);if(128>e)return a;e=d[b.da++];a+=562949953421312*(e&127);if(128>e)return a;e=d[b.da++];a+=72057594037927936*(e&127);if(128>e)return a;e=d[b.da++];if(128>e)return a+0x7fffffffffffffff*(e&127);throw Error("Expected varint not more than 10 bytes");}b.ja=g;var l=f.Ap||a("./buffer");g.f=0;g.g=1;g.b=2;g.a=5;var m=Math.pow(2,63);g.prototype={Lf:function(a,b,d){for(d=d||this.length;this.da<d;){var e=this.Da(),f=this.da;a(e>>3,b,this);this.da===f&&this.op(e)}return b},Bo:function(){var a=this.Db.Nf(this.da);
this.da+=4;return a},xo:function(){var a=this.Db.Hf(this.da);this.da+=8;return a},Da:function(){var a=this.Db,b,d;d=a[this.da++];b=d&127;if(128>d)return b;d=a[this.da++];b|=(d&127)<<7;if(128>d)return b;d=a[this.da++];b|=(d&127)<<14;if(128>d)return b;d=a[this.da++];b|=(d&127)<<21;return 128>d?b:h(b,this)},Mo:function(){var a=this.da,b=this.Da();if(b<m)return b;for(var d=this.da-2;255===this.Db[d];)d--;d<a&&(d=a);for(var e=b=0;e<d-a+1;e++)var f=~this.Db[a+e]&127,b=b+(4>e?f<<7*e:f*Math.pow(2,7*e));return-b-
1},xd:function(){var a=this.Da();return 1===a%2?(a+1)/-2:a/2},vo:function(){return!!this.Da()},Qf:function(){var a=this.Da()+this.da,b=this.Db.toString("utf8",this.da,a);this.da=a;return b},op:function(a){a&=7;if(a===g.f)for(;127<this.Db[this.da++];);else if(a===g.b)this.da=this.Da()+this.da;else if(a===g.a)this.da+=4;else if(a===g.g)this.da+=8;else throw Error("Unimplemented type: "+a);}}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:
{})},{"./buffer":2}]},{},[3])(3)});hl=b.ja})();(function(){var a={},b={ja:a};(function(c){if("object"===typeof a&&"undefined"!==typeof b)b.ja=c();else{var d;"undefined"!==typeof window?d=window:"undefined"!==typeof global?d=global:"undefined"!==typeof self?d=self:d=this;d.Up=c()}})(function(){return function d(a,b,g){function h(m,p){if(!b[m]){if(!a[m]){var q="function"==typeof require&&require;if(!p&&q)return q(m,!0);if(l)return l(m,!0);q=Error("Cannot find module '"+m+"'");throw q.code="MODULE_NOT_FOUND",q;}q=b[m]={ja:{}};a[m][0].call(q.ja,function(b){var d=
a[m][1][b];return h(d?d:b)},q,q.ja,d,a,b,g)}return b[m].ja}for(var l="function"==typeof require&&require,m=0;m<g.length;m++)h(g[m]);return h}({1:[function(a,b){function f(a,b){this.x=a;this.y=b}b.ja=f;f.prototype={clone:function(){return new f(this.x,this.y)},add:function(a){return this.clone().fj(a)},rotate:function(a){return this.clone().qj(a)},round:function(){return this.clone().rj()},angle:function(){return Math.atan2(this.y,this.x)},fj:function(a){this.x+=a.x;this.y+=a.y;return this},qj:function(a){var b=
Math.cos(a);a=Math.sin(a);var d=a*this.x+b*this.y;this.x=b*this.x-a*this.y;this.y=d;return this},rj:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this}};f.b=function(a){return a instanceof f?a:Array.isArray(a)?new f(a[0],a[1]):a}},{}],2:[function(a,b){b.ja.ej=a("./lib/vectortile.js");b.ja.Np=a("./lib/vectortilefeature.js");b.ja.Op=a("./lib/vectortilelayer.js")},{"./lib/vectortile.js":3,"./lib/vectortilefeature.js":4,"./lib/vectortilelayer.js":5}],3:[function(a,b){function f(a,
b,d){3===a&&(a=new g(d,d.Da()+d.da),a.length&&(b[a.name]=a))}var g=a("./vectortilelayer");b.ja=function(a,b){this.layers=a.Lf(f,{},b)}},{"./vectortilelayer":5}],4:[function(a,b){function f(a,b,d,e,f){this.properties={};this.extent=d;this.type=0;this.qc=a;this.Qe=-1;this.Id=e;this.Kd=f;a.Lf(g,this,b)}function g(a,b,d){if(1==a)b.Qp=d.Da();else if(2==a)for(a=d.Da()+d.da;d.da<a;){var e=b.Id[d.Da()],f=b.Kd[d.Da()];b.properties[e]=f}else 3==a?b.type=d.Da():4==a&&(b.Qe=d.da)}var h=a("point-geometry");b.ja=
f;f.b=["Unknown","Point","LineString","Polygon"];f.prototype.Vg=function(){var a=this.qc;a.da=this.Qe;for(var b=a.Da()+a.da,d=1,e=0,f=0,g=0,v=[],y;a.da<b;)if(e||(e=a.Da(),d=e&7,e>>=3),e--,1===d||2===d)f+=a.xd(),g+=a.xd(),1===d&&(y&&v.push(y),y=[]),y.push(new h(f,g));else if(7===d)y&&y.push(y[0].clone());else throw Error("unknown command "+d);y&&v.push(y);return v};f.prototype.bbox=function(){var a=this.qc;a.da=this.Qe;for(var b=a.Da()+a.da,d=1,e=0,f=0,g=0,h=Infinity,y=-Infinity,w=Infinity,G=-Infinity;a.da<
b;)if(e||(e=a.Da(),d=e&7,e>>=3),e--,1===d||2===d)f+=a.xd(),g+=a.xd(),f<h&&(h=f),f>y&&(y=f),g<w&&(w=g),g>G&&(G=g);else if(7!==d)throw Error("unknown command "+d);return[h,w,y,G]}},{"point-geometry":1}],5:[function(a,b){function f(a,b){this.version=1;this.name=null;this.extent=4096;this.length=0;this.qc=a;this.Id=[];this.Kd=[];this.Hd=[];a.Lf(g,this,b);this.length=this.Hd.length}function g(a,b,d){15===a?b.version=d.Da():1===a?b.name=d.Qf():5===a?b.extent=d.Da():2===a?b.Hd.push(d.da):3===a?b.Id.push(d.Qf()):
4===a&&b.Kd.push(h(d))}function h(a){for(var b=null,d=a.Da()+a.da;a.da<d;)b=a.Da()>>3,b=1===b?a.Qf():2===b?a.Bo():3===b?a.xo():4===b?a.Mo():5===b?a.Da():6===b?a.xd():7===b?a.vo():null;return b}var l=a("./vectortilefeature.js");b.ja=f;f.prototype.feature=function(a){if(0>a||a>=this.Hd.length)throw Error("feature index out of bounds");this.qc.da=this.Hd[a];a=this.qc.Da()+this.qc.da;return new l(this.qc,a,this.extent,this.Id,this.Kd)}},{"./vectortilefeature.js":4}]},{},[2])(2)});il=b.ja})();function vr(a){this.defaultDataProjection=null;a=a?a:{};this.defaultDataProjection=new wc({code:"",units:"tile-pixels"});this.b=a.featureClass?a.featureClass:ik;this.g=a.geometryName?a.geometryName:"geometry";this.a=a.layerName?a.layerName:"layer";this.f=a.layers?a.layers:null}x(vr,rn);vr.prototype.Y=function(){return"arraybuffer"};
vr.prototype.Fa=function(a,b){var c=this.f,d=new hl(a),d=new il.ej(d),e=[],f=this.b,g,h,l;for(l in d.layers)if(!c||-1!=c.indexOf(l)){g=d.layers[l];for(var m=0,n=g.length;m<n;++m){if(f===ik){var p=g.feature(m);h=l;var q=p.Vg(),r=[],v=[];wr(q,v,r);var y=p.type,w=void 0;1===y?w=1===q.length?"Point":"MultiPoint":2===y?w=1===q.length?"LineString":"MultiLineString":3===y&&(w="Polygon");p=p.properties;p[this.a]=h;h=new this.b(w,v,r,p)}else{p=g.feature(m);w=l;v=b;h=new this.b;r=p.properties;r[this.a]=w;w=
p.type;if(0===w)w=null;else{p=p.Vg();q=[];y=[];wr(p,y,q);var G=void 0;1===w?G=1===p.length?new C(null):new T(null):2===w?1===p.length?G=new R(null):G=new S(null):3===w&&(G=new E(null));G.ba("XY",y,q);w=G}(v=un(w,!1,tn(this,v)))&&(r[this.g]=v);h.G(r);h.Ec(this.g)}e.push(h)}}return e};vr.prototype.Oa=function(){return this.defaultDataProjection};vr.prototype.c=function(a){this.f=a};
function wr(a,b,c){for(var d=0,e=0,f=a.length;e<f;++e){var g=a[e],h,l;h=0;for(l=g.length;h<l;++h){var m=g[h];b.push(m.x,m.y)}d+=2*h;c.push(d)}};function xr(a,b){return new yr(a,b)}function zr(a,b,c){return new Ar(a,b,c)}function Br(a){this.Xb=a}function Cr(a){this.Xb=a}x(Cr,Br);function Dr(a,b,c){this.Xb=a;this.b=b;this.a=c}x(Dr,Cr);function yr(a,b){Dr.call(this,"And",a,b)}x(yr,Dr);function Er(a,b){Dr.call(this,"Or",a,b)}x(Er,Dr);function Fr(a){this.Xb="Not";this.condition=a}x(Fr,Cr);function Ar(a,b,c){this.Xb="BBOX";this.geometryName=a;this.extent=b;this.srsName=c}x(Ar,Br);function Gr(a,b){this.Xb=a;this.b=b}x(Gr,Br);
function Hr(a,b,c,d){Gr.call(this,a,b);this.g=c;this.a=d}x(Hr,Gr);function Ir(a,b,c){Hr.call(this,"PropertyIsEqualTo",a,b,c)}x(Ir,Hr);function Jr(a,b,c){Hr.call(this,"PropertyIsNotEqualTo",a,b,c)}x(Jr,Hr);function Kr(a,b){Hr.call(this,"PropertyIsLessThan",a,b)}x(Kr,Hr);function Lr(a,b){Hr.call(this,"PropertyIsLessThanOrEqualTo",a,b)}x(Lr,Hr);function Mr(a,b){Hr.call(this,"PropertyIsGreaterThan",a,b)}x(Mr,Hr);function Nr(a,b){Hr.call(this,"PropertyIsGreaterThanOrEqualTo",a,b)}x(Nr,Hr);
function Or(a){Gr.call(this,"PropertyIsNull",a)}x(Or,Gr);function Pr(a,b,c){Gr.call(this,"PropertyIsBetween",a);this.a=b;this.g=c}x(Pr,Gr);function Qr(a,b,c,d,e,f){Gr.call(this,"PropertyIsLike",a);this.f=b;this.i=void 0!==c?c:"*";this.c=void 0!==d?d:".";this.g=void 0!==e?e:"!";this.a=f}x(Qr,Gr);function Rr(){Tn.call(this);this.defaultDataProjection=zc("EPSG:4326")}x(Rr,Tn);function Sr(a,b){b[b.length-1].Cd[a.getAttribute("k")]=a.getAttribute("v")}
var Tr=[null],Ur=N(Tr,{nd:function(a,b){b[b.length-1].Rc.push(a.getAttribute("ref"))},tag:Sr}),Wr=N(Tr,{node:function(a,b){var c=b[0],d=b[b.length-1],e=a.getAttribute("id"),f=[parseFloat(a.getAttribute("lon")),parseFloat(a.getAttribute("lat"))];d.Zg[e]=f;var g=O({Cd:{}},Vr,a,b);Ga(g.Cd)||(f=new C(f),un(f,!1,c),c=new Ik(f),c.mc(e),c.G(g.Cd),d.features.push(c))},way:function(a,b){for(var c=b[0],d=a.getAttribute("id"),e=O({Rc:[],Cd:{}},Ur,a,b),f=b[b.length-1],g=[],h=0,l=e.Rc.length;h<l;h++)jb(g,f.Zg[e.Rc[h]]);
e.Rc[0]==e.Rc[e.Rc.length-1]?(h=new E(null),h.ba("XY",g,[g.length])):(h=new R(null),h.ba("XY",g));un(h,!1,c);c=new Ik(h);c.mc(d);c.G(e.Cd);f.features.push(c)}}),Vr=N(Tr,{tag:Sr});Rr.prototype.lc=function(a,b){var c=sn(this,a,b);return"osm"==a.localName&&(c=O({Zg:{},features:[]},Wr,a,[c]),c.features)?c.features:[]};function Xr(a){return a.getAttributeNS("http://www.w3.org/1999/xlink","href")};function Yr(){}Yr.prototype.read=function(a){return Pk(a)?this.a(a):Qk(a)?this.b(a):"string"===typeof a?(a=Rk(a),this.a(a)):null};function Zr(){}x(Zr,Yr);Zr.prototype.a=function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==Node.ELEMENT_NODE)return this.b(a);return null};Zr.prototype.b=function(a){return(a=O({},$r,a,[]))?a:null};
var as=[null,"http://www.opengis.net/ows/1.1"],$r=N(as,{ServiceIdentification:K(function(a,b){return O({},bs,a,b)}),ServiceProvider:K(function(a,b){return O({},cs,a,b)}),OperationsMetadata:K(function(a,b){return O({},ds,a,b)})}),es=N(as,{DeliveryPoint:K(V),City:K(V),AdministrativeArea:K(V),PostalCode:K(V),Country:K(V),ElectronicMailAddress:K(V)}),fs=N(as,{Value:Vk(function(a){return V(a)})}),gs=N(as,{AllowedValues:K(function(a,b){return O({},fs,a,b)})}),is=N(as,{Phone:K(function(a,b){return O({},
hs,a,b)}),Address:K(function(a,b){return O({},es,a,b)})}),ks=N(as,{HTTP:K(function(a,b){return O({},js,a,b)})}),js=N(as,{Get:Vk(function(a,b){var c=Xr(a);return c?O({href:c},ls,a,b):void 0}),Post:void 0}),ms=N(as,{DCP:K(function(a,b){return O({},ks,a,b)})}),ds=N(as,{Operation:function(a,b){var c=a.getAttribute("name"),d=O({},ms,a,b);d&&(b[b.length-1][c]=d)}}),hs=N(as,{Voice:K(V),Facsimile:K(V)}),ls=N(as,{Constraint:Vk(function(a,b){var c=a.getAttribute("name");return c?O({name:c},gs,a,b):void 0})}),
ns=N(as,{IndividualName:K(V),PositionName:K(V),ContactInfo:K(function(a,b){return O({},is,a,b)})}),bs=N(as,{Title:K(V),ServiceTypeVersion:K(V),ServiceType:K(V)}),cs=N(as,{ProviderName:K(V),ProviderSite:K(Xr),ServiceContact:K(function(a,b){return O({},ns,a,b)})});function os(a,b,c,d){var e;void 0!==d?e=d:e=[];for(var f=d=0;f<b;){var g=a[f++];e[d++]=a[f++];e[d++]=g;for(g=2;g<c;++g)e[d++]=a[f++]}e.length=d};function ps(a){a=a?a:{};this.defaultDataProjection=null;this.defaultDataProjection=zc("EPSG:4326");this.b=a.factor?a.factor:1E5;this.a=a.geometryLayout?a.geometryLayout:"XY"}x(ps,ap);function qs(a,b,c){var d,e=Array(b);for(d=0;d<b;++d)e[d]=0;var f,g;f=0;for(g=a.length;f<g;)for(d=0;d<b;++d,++f){var h=a[f],l=h-e[d];e[d]=h;a[f]=l}return rs(a,c?c:1E5)}
function ss(a,b,c){var d,e=Array(b);for(d=0;d<b;++d)e[d]=0;a=ts(a,c?c:1E5);var f;c=0;for(f=a.length;c<f;)for(d=0;d<b;++d,++c)e[d]+=a[c],a[c]=e[d];return a}function rs(a,b){var c=b?b:1E5,d,e;d=0;for(e=a.length;d<e;++d)a[d]=Math.round(a[d]*c);c=0;for(d=a.length;c<d;++c)e=a[c],a[c]=0>e?~(e<<1):e<<1;c="";d=0;for(e=a.length;d<e;++d){for(var f=a[d],g,h="";32<=f;)g=(32|f&31)+63,h+=String.fromCharCode(g),f>>=5;h+=String.fromCharCode(f+63);c+=h}return c}
function ts(a,b){var c=b?b:1E5,d=[],e=0,f=0,g,h;g=0;for(h=a.length;g<h;++g){var l=a.charCodeAt(g)-63,e=e|(l&31)<<f;32>l?(d.push(e),f=e=0):f+=5}e=0;for(f=d.length;e<f;++e)g=d[e],d[e]=g&1?~(g>>1):g>>1;e=0;for(f=d.length;e<f;++e)d[e]/=c;return d}k=ps.prototype;k.ud=function(a,b){var c=this.wd(a,b);return new Ik(c)};k.Kf=function(a,b){return[this.ud(a,b)]};k.wd=function(a,b){var c=Xc(this.a),d=ss(a,c,this.b);os(d,d.length,c,d);c=jd(d,0,d.length,c);return un(new R(c,this.a),!1,tn(this,b))};
k.He=function(a,b){var c=a.X();return c?this.Ed(c,b):""};k.Ci=function(a,b){return this.He(a[0],b)};k.Ed=function(a,b){a=un(a,!0,tn(this,b));var c=a.la(),d=a.va();os(c,c.length,d,c);return qs(c,d,this.b)};function us(a){a=a?a:{};this.defaultDataProjection=null;this.defaultDataProjection=zc(a.defaultDataProjection?a.defaultDataProjection:"EPSG:4326")}x(us,vn);function vs(a,b){var c=[],d,e,f,g;f=0;for(g=a.length;f<g;++f)d=a[f],0<f&&c.pop(),0<=d?e=b[d]:e=b[~d].slice().reverse(),c.push.apply(c,e);d=0;for(e=c.length;d<e;++d)c[d]=c[d].slice();return c}function ws(a,b,c,d,e){a=a.geometries;var f=[],g,h;g=0;for(h=a.length;g<h;++g)f[g]=xs(a[g],b,c,d,e);return f}
function xs(a,b,c,d,e){var f=a.type,g=ys[f];b="Point"===f||"MultiPoint"===f?g(a,c,d):g(a,b);c=new Ik;c.Ua(un(b,!1,e));void 0!==a.id&&c.mc(a.id);a.properties&&c.G(a.properties);return c}
us.prototype.Jf=function(a,b){if("Topology"==a.type){var c,d=null,e=null;a.transform&&(c=a.transform,d=c.scale,e=c.translate);var f=a.arcs;if(c){c=d;var g=e,h,l;h=0;for(l=f.length;h<l;++h){var m=f[h],n=c,p=g,q=0,r=0,v,y,w;y=0;for(w=m.length;y<w;++y)v=m[y],q+=v[0],r+=v[1],v[0]=q,v[1]=r,zs(v,n,p)}}c=[];g=Ea(a.objects);h=0;for(l=g.length;h<l;++h)"GeometryCollection"===g[h].type?(m=g[h],c.push.apply(c,ws(m,f,d,e,b))):(m=g[h],c.push(xs(m,f,d,e,b)));return c}return[]};
function zs(a,b,c){a[0]=a[0]*b[0]+c[0];a[1]=a[1]*b[1]+c[1]}us.prototype.Oa=function(){return this.defaultDataProjection};
var ys={Point:function(a,b,c){a=a.coordinates;b&&c&&zs(a,b,c);return new C(a)},LineString:function(a,b){var c=vs(a.arcs,b);return new R(c)},Polygon:function(a,b){var c=[],d,e;d=0;for(e=a.arcs.length;d<e;++d)c[d]=vs(a.arcs[d],b);return new E(c)},MultiPoint:function(a,b,c){a=a.coordinates;var d,e;if(b&&c)for(d=0,e=a.length;d<e;++d)zs(a[d],b,c);return new T(a)},MultiLineString:function(a,b){var c=[],d,e;d=0;for(e=a.arcs.length;d<e;++d)c[d]=vs(a.arcs[d],b);return new S(c)},MultiPolygon:function(a,b){var c=
[],d,e,f,g,h,l;h=0;for(l=a.arcs.length;h<l;++h){d=a.arcs[h];e=[];f=0;for(g=d.length;f<g;++f)e[f]=vs(d[f],b);c[h]=e}return new U(c)}};function As(a){a=a?a:{};this.i=a.featureType;this.g=a.featureNS;this.b=a.gmlFormat?a.gmlFormat:new ko;this.c=a.schemaLocation?a.schemaLocation:"http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd";Tn.call(this)}x(As,Tn);As.prototype.lc=function(a,b){var c={featureType:this.i,featureNS:this.g};Ca(c,sn(this,a,b?b:{}));c=[c];this.b.b["http://www.opengis.net/gml"].featureMember=Tk(Wn.prototype.vd);(c=O([],this.b.b,a,c,this.b))||(c=[]);return c};
As.prototype.o=function(a){if(Pk(a))return Bs(a);if(Qk(a))return O({},Cs,a,[]);if("string"===typeof a)return a=Rk(a),Bs(a)};As.prototype.l=function(a){if(Pk(a))return Ds(this,a);if(Qk(a))return Es(this,a);if("string"===typeof a)return a=Rk(a),Ds(this,a)};function Ds(a,b){for(var c=b.firstChild;c;c=c.nextSibling)if(c.nodeType==Node.ELEMENT_NODE)return Es(a,c)}var Fs={"http://www.opengis.net/gml":{boundedBy:K(Wn.prototype.ye,"bounds")}};
function Es(a,b){var c={},d=eo(b.getAttribute("numberOfFeatures"));c.numberOfFeatures=d;return O(c,Fs,b,[],a.b)}
var Gs={"http://www.opengis.net/wfs":{totalInserted:K(co),totalUpdated:K(co),totalDeleted:K(co)}},Hs={"http://www.opengis.net/ogc":{FeatureId:Tk(function(a){return a.getAttribute("fid")})}},Is={"http://www.opengis.net/wfs":{Feature:function(a,b){al(Hs,a,b)}}},Cs={"http://www.opengis.net/wfs":{TransactionSummary:K(function(a,b){return O({},Gs,a,b)},"transactionSummary"),InsertResults:K(function(a,b){return O([],Is,a,b)},"insertIds")}};
function Bs(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==Node.ELEMENT_NODE)return O({},Cs,a,[])}var Js={"http://www.opengis.net/wfs":{PropertyName:L(go)}};function Ks(a,b){var c=Mk("http://www.opengis.net/ogc","Filter"),d=Mk("http://www.opengis.net/ogc","FeatureId");c.appendChild(d);d.setAttribute("fid",b);a.appendChild(c)}
var Ls={"http://www.opengis.net/wfs":{Insert:L(function(a,b,c){var d=c[c.length-1],d=Mk(d.featureNS,d.featureType);a.appendChild(d);ko.prototype.Bi(d,b,c)}),Update:L(function(a,b,c){var d=c[c.length-1],e=d.featureType,f=d.featurePrefix,f=f?f:"feature",g=d.featureNS;a.setAttribute("typeName",f+":"+e);a.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:"+f,g);e=b.Xa();if(void 0!==e){for(var f=b.N(),g=[],h=0,l=f.length;h<l;h++){var m=b.get(f[h]);void 0!==m&&g.push({name:f[h],value:m})}bl({node:a,
srsName:d.srsName},Ls,Xk("Property"),g,c);Ks(a,e)}}),Delete:L(function(a,b,c){var d=c[c.length-1];c=d.featureType;var e=d.featurePrefix,e=e?e:"feature",d=d.featureNS;a.setAttribute("typeName",e+":"+c);a.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:"+e,d);b=b.Xa();void 0!==b&&Ks(a,b)}),Property:L(function(a,b,c){var d=Mk("http://www.opengis.net/wfs","Name");a.appendChild(d);go(d,b.name);void 0!==b.value&&null!==b.value&&(d=Mk("http://www.opengis.net/wfs","Value"),a.appendChild(d),b.value instanceof
Uc?ko.prototype.Je(d,b.value,c):go(d,b.value))}),Native:L(function(a,b){b.wp&&a.setAttribute("vendorId",b.wp);void 0!==b.Yo&&a.setAttribute("safeToIgnore",b.Yo);void 0!==b.value&&go(a,b.value)})}};function Ms(a,b,c){a={node:a};var d=b.b;bl(a,Ns,Xk(d.Xb),[d],c);b=b.a;bl(a,Ns,Xk(b.Xb),[b],c)}function Os(a,b){void 0!==b.a&&a.setAttribute("matchCase",b.a.toString());Ps(a,b.b);Qs("Literal",a,""+b.g)}function Qs(a,b,c){a=Mk("http://www.opengis.net/ogc",a);go(a,c);b.appendChild(a)}
function Ps(a,b){Qs("PropertyName",a,b)}
var Ns={"http://www.opengis.net/wfs":{Query:L(function(a,b,c){var d=c[c.length-1],e=d.featurePrefix,f=d.featureNS,g=d.propertyNames,h=d.srsName;a.setAttribute("typeName",(e?e+":":"")+b);h&&a.setAttribute("srsName",h);f&&a.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:"+e,f);b=Ca({},d);b.node=a;bl(b,Js,Xk("PropertyName"),g,c);if(d=d.filter)g=Mk("http://www.opengis.net/ogc","Filter"),a.appendChild(g),bl({node:g},Ns,Xk(d.Xb),[d],c)})},"http://www.opengis.net/ogc":{And:L(Ms),Or:L(Ms),Not:L(function(a,
b,c){b=b.condition;bl({node:a},Ns,Xk(b.Xb),[b],c)}),BBOX:L(function(a,b,c){c[c.length-1].srsName=b.srsName;Ps(a,b.geometryName);ko.prototype.Je(a,b.extent,c)}),PropertyIsEqualTo:L(Os),PropertyIsNotEqualTo:L(Os),PropertyIsLessThan:L(Os),PropertyIsLessThanOrEqualTo:L(Os),PropertyIsGreaterThan:L(Os),PropertyIsGreaterThanOrEqualTo:L(Os),PropertyIsNull:L(function(a,b){Ps(a,b.b)}),PropertyIsBetween:L(function(a,b){Ps(a,b.b);Qs("LowerBoundary",a,""+b.a);Qs("UpperBoundary",a,""+b.g)}),PropertyIsLike:L(function(a,
b){a.setAttribute("wildCard",b.i);a.setAttribute("singleChar",b.c);a.setAttribute("escapeChar",b.g);void 0!==b.a&&a.setAttribute("matchCase",b.a.toString());Ps(a,b.b);Qs("Literal",a,""+b.f)})}};
As.prototype.j=function(a){var b=Mk("http://www.opengis.net/wfs","GetFeature");b.setAttribute("service","WFS");b.setAttribute("version","1.1.0");var c;if(a&&(a.handle&&b.setAttribute("handle",a.handle),a.outputFormat&&b.setAttribute("outputFormat",a.outputFormat),void 0!==a.maxFeatures&&b.setAttribute("maxFeatures",a.maxFeatures),a.resultType&&b.setAttribute("resultType",a.resultType),void 0!==a.startIndex&&b.setAttribute("startIndex",a.startIndex),void 0!==a.count&&b.setAttribute("count",a.count),
c=a.filter,a.bbox)){var d=zr(a.geometryName,a.bbox,a.srsName);c?c=xr(c,d):c=d}b.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.c);d=a.featureTypes;a=[{node:b,srsName:a.srsName,featureNS:a.featureNS?a.featureNS:this.g,featurePrefix:a.featurePrefix,geometryName:a.geometryName,filter:c,propertyNames:a.propertyNames?a.propertyNames:[]}];c=Ca({},a[a.length-1]);c.node=b;bl(c,Ns,Xk("Query"),d,a);return b};
As.prototype.U=function(a,b,c,d){var e=[],f=Mk("http://www.opengis.net/wfs","Transaction");f.setAttribute("service","WFS");f.setAttribute("version","1.1.0");var g,h;d&&(g=d.gmlOptions?d.gmlOptions:{},d.handle&&f.setAttribute("handle",d.handle));f.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.c);a&&(h={node:f,featureNS:d.featureNS,featureType:d.featureType,featurePrefix:d.featurePrefix,srsName:d.srsName},Ca(h,g),bl(h,Ls,Xk("Insert"),a,e));b&&(h={node:f,featureNS:d.featureNS,
featureType:d.featureType,featurePrefix:d.featurePrefix,srsName:d.srsName},Ca(h,g),bl(h,Ls,Xk("Update"),b,e));c&&bl({node:f,featureNS:d.featureNS,featureType:d.featureType,featurePrefix:d.featurePrefix,srsName:d.srsName},Ls,Xk("Delete"),c,e);d.nativeElements&&bl({node:f,featureNS:d.featureNS,featureType:d.featureType,featurePrefix:d.featurePrefix,srsName:d.srsName},Ls,Xk("Native"),d.nativeElements,e);return f};
As.prototype.Pf=function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==Node.ELEMENT_NODE)return this.Be(a);return null};As.prototype.Be=function(a){if(a.firstElementChild&&a.firstElementChild.firstElementChild)for(a=a.firstElementChild.firstElementChild,a=a.firstElementChild;a;a=a.nextElementSibling)if(0!==a.childNodes.length&&(1!==a.childNodes.length||3!==a.firstChild.nodeType)){var b=[{}];this.b.ye(a,b);return zc(b.pop().srsName)}return null};function Rs(a){a=a?a:{};this.defaultDataProjection=null;this.b=void 0!==a.splitCollection?a.splitCollection:!1}x(Rs,ap);function Ss(a){a=a.Z();return 0===a.length?"":a[0]+" "+a[1]}function Ts(a){a=a.Z();for(var b=[],c=0,d=a.length;c<d;++c)b.push(a[c][0]+" "+a[c][1]);return b.join(",")}function Us(a){var b=[];a=a.Vd();for(var c=0,d=a.length;c<d;++c)b.push("("+Ts(a[c])+")");return b.join(",")}function Vs(a){var b=a.Y();a=(0,Ws[b])(a);b=b.toUpperCase();return 0===a.length?b+" EMPTY":b+"("+a+")"}
var Ws={Point:Ss,LineString:Ts,Polygon:Us,MultiPoint:function(a){var b=[];a=a.je();for(var c=0,d=a.length;c<d;++c)b.push("("+Ss(a[c])+")");return b.join(",")},MultiLineString:function(a){var b=[];a=a.md();for(var c=0,d=a.length;c<d;++c)b.push("("+Ts(a[c])+")");return b.join(",")},MultiPolygon:function(a){var b=[];a=a.Wd();for(var c=0,d=a.length;c<d;++c)b.push("("+Us(a[c])+")");return b.join(",")},GeometryCollection:function(a){var b=[];a=a.ff();for(var c=0,d=a.length;c<d;++c)b.push(Vs(a[c]));return b.join(",")}};
k=Rs.prototype;k.ud=function(a,b){var c=this.wd(a,b);if(c){var d=new Ik;d.Ua(c);return d}return null};k.Kf=function(a,b){var c=[],d=this.wd(a,b);this.b&&"GeometryCollection"==d.Y()?c=d.c:c=[d];for(var e=[],f=0,g=c.length;f<g;++f)d=new Ik,d.Ua(c[f]),e.push(d);return e};k.wd=function(a,b){var c;c=new Xs(new Ys(a));c.b=Zs(c.a);return(c=$s(c))?un(c,!1,b):null};k.He=function(a,b){var c=a.X();return c?this.Ed(c,b):""};
k.Ci=function(a,b){if(1==a.length)return this.He(a[0],b);for(var c=[],d=0,e=a.length;d<e;++d)c.push(a[d].X());c=new Kn(c);return this.Ed(c,b)};k.Ed=function(a,b){return Vs(un(a,!0,b))};function Ys(a){this.a=a;this.b=-1}
function Zs(a){var b=a.a.charAt(++a.b),c={position:a.b,value:b};if("("==b)c.type=2;else if(","==b)c.type=5;else if(")"==b)c.type=3;else if("0"<=b&&"9">=b||"."==b||"-"==b){c.type=4;var d,b=a.b,e=!1,f=!1;do{if("."==d)e=!0;else if("e"==d||"E"==d)f=!0;d=a.a.charAt(++a.b)}while("0"<=d&&"9">=d||"."==d&&(void 0===e||!e)||!f&&("e"==d||"E"==d)||f&&("-"==d||"+"==d));a=parseFloat(a.a.substring(b,a.b--));c.value=a}else if("a"<=b&&"z">=b||"A"<=b&&"Z">=b){c.type=1;b=a.b;do d=a.a.charAt(++a.b);while("a"<=d&&"z">=
d||"A"<=d&&"Z">=d);a=a.a.substring(b,a.b--).toUpperCase();c.value=a}else{if(" "==b||"\t"==b||"\r"==b||"\n"==b)return Zs(a);if(""===b)c.type=6;else throw Error("Unexpected character: "+b);}return c}function Xs(a){this.a=a}k=Xs.prototype;k.match=function(a){if(a=this.b.type==a)this.b=Zs(this.a);return a};
function $s(a){var b=a.b;if(a.match(1)){var c=b.value;if("GEOMETRYCOLLECTION"==c){a:{if(a.match(2)){b=[];do b.push($s(a));while(a.match(5));if(a.match(3)){a=b;break a}}else if(at(a)){a=[];break a}throw Error(bt(a));}return new Kn(a)}var d=ct[c],b=dt[c];if(!d||!b)throw Error("Invalid geometry type: "+c);a=d.call(a);return new b(a)}throw Error(bt(a));}k.Ef=function(){if(this.match(2)){var a=et(this);if(this.match(3))return a}else if(at(this))return null;throw Error(bt(this));};
k.Df=function(){if(this.match(2)){var a=ft(this);if(this.match(3))return a}else if(at(this))return[];throw Error(bt(this));};k.Ff=function(){if(this.match(2)){var a=gt(this);if(this.match(3))return a}else if(at(this))return[];throw Error(bt(this));};k.io=function(){if(this.match(2)){var a;if(2==this.b.type)for(a=[this.Ef()];this.match(5);)a.push(this.Ef());else a=ft(this);if(this.match(3))return a}else if(at(this))return[];throw Error(bt(this));};
k.ho=function(){if(this.match(2)){var a=gt(this);if(this.match(3))return a}else if(at(this))return[];throw Error(bt(this));};k.jo=function(){if(this.match(2)){for(var a=[this.Ff()];this.match(5);)a.push(this.Ff());if(this.match(3))return a}else if(at(this))return[];throw Error(bt(this));};function et(a){for(var b=[],c=0;2>c;++c){var d=a.b;if(a.match(4))b.push(d.value);else break}if(2==b.length)return b;throw Error(bt(a));}function ft(a){for(var b=[et(a)];a.match(5);)b.push(et(a));return b}
function gt(a){for(var b=[a.Df()];a.match(5);)b.push(a.Df());return b}function at(a){var b=1==a.b.type&&"EMPTY"==a.b.value;b&&(a.b=Zs(a.a));return b}function bt(a){return"Unexpected `"+a.b.value+"` at position "+a.b.position+" in `"+a.a.a+"`"}var dt={POINT:C,LINESTRING:R,POLYGON:E,MULTIPOINT:T,MULTILINESTRING:S,MULTIPOLYGON:U},ct={POINT:Xs.prototype.Ef,LINESTRING:Xs.prototype.Df,POLYGON:Xs.prototype.Ff,MULTIPOINT:Xs.prototype.io,MULTILINESTRING:Xs.prototype.ho,MULTIPOLYGON:Xs.prototype.jo};function ht(){this.version=void 0}x(ht,Yr);ht.prototype.a=function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==Node.ELEMENT_NODE)return this.b(a);return null};ht.prototype.b=function(a){this.version=a.getAttribute("version").trim();return(a=O({version:this.version},it,a,[]))?a:null};function jt(a,b){return O({},kt,a,b)}function lt(a,b){return O({},mt,a,b)}function nt(a,b){var c=jt(a,b);if(c){var d=[eo(a.getAttribute("width")),eo(a.getAttribute("height"))];c.size=d;return c}}
function ot(a,b){return O([],pt,a,b)}
var qt=[null,"http://www.opengis.net/wms"],it=N(qt,{Service:K(function(a,b){return O({},rt,a,b)}),Capability:K(function(a,b){return O({},st,a,b)})}),st=N(qt,{Request:K(function(a,b){return O({},tt,a,b)}),Exception:K(function(a,b){return O([],ut,a,b)}),Layer:K(function(a,b){return O({},vt,a,b)})}),rt=N(qt,{Name:K(V),Title:K(V),Abstract:K(V),KeywordList:K(ot),OnlineResource:K(Xr),ContactInformation:K(function(a,b){return O({},wt,a,b)}),Fees:K(V),AccessConstraints:K(V),LayerLimit:K(co),MaxWidth:K(co),
MaxHeight:K(co)}),wt=N(qt,{ContactPersonPrimary:K(function(a,b){return O({},xt,a,b)}),ContactPosition:K(V),ContactAddress:K(function(a,b){return O({},yt,a,b)}),ContactVoiceTelephone:K(V),ContactFacsimileTelephone:K(V),ContactElectronicMailAddress:K(V)}),xt=N(qt,{ContactPerson:K(V),ContactOrganization:K(V)}),yt=N(qt,{AddressType:K(V),Address:K(V),City:K(V),StateOrProvince:K(V),PostCode:K(V),Country:K(V)}),ut=N(qt,{Format:Tk(V)}),vt=N(qt,{Name:K(V),Title:K(V),Abstract:K(V),KeywordList:K(ot),CRS:Vk(V),
EX_GeographicBoundingBox:K(function(a,b){var c=O({},zt,a,b);if(c){var d=c.westBoundLongitude,e=c.southBoundLatitude,f=c.eastBoundLongitude,c=c.northBoundLatitude;return void 0===d||void 0===e||void 0===f||void 0===c?void 0:[d,e,f,c]}}),BoundingBox:Vk(function(a){var b=[bo(a.getAttribute("minx")),bo(a.getAttribute("miny")),bo(a.getAttribute("maxx")),bo(a.getAttribute("maxy"))],c=[bo(a.getAttribute("resx")),bo(a.getAttribute("resy"))];return{crs:a.getAttribute("CRS"),extent:b,res:c}}),Dimension:Vk(function(a){return{name:a.getAttribute("name"),
units:a.getAttribute("units"),unitSymbol:a.getAttribute("unitSymbol"),"default":a.getAttribute("default"),multipleValues:Zn(a.getAttribute("multipleValues")),nearestValue:Zn(a.getAttribute("nearestValue")),current:Zn(a.getAttribute("current")),values:V(a)}}),Attribution:K(function(a,b){return O({},At,a,b)}),AuthorityURL:Vk(function(a,b){var c=jt(a,b);if(c)return c.name=a.getAttribute("name"),c}),Identifier:Vk(V),MetadataURL:Vk(function(a,b){var c=jt(a,b);if(c)return c.type=a.getAttribute("type"),
c}),DataURL:Vk(jt),FeatureListURL:Vk(jt),Style:Vk(function(a,b){return O({},Bt,a,b)}),MinScaleDenominator:K(ao),MaxScaleDenominator:K(ao),Layer:Vk(function(a,b){var c=b[b.length-1],d=O({},vt,a,b);if(d){var e=Zn(a.getAttribute("queryable"));void 0===e&&(e=c.queryable);d.queryable=void 0!==e?e:!1;e=eo(a.getAttribute("cascaded"));void 0===e&&(e=c.cascaded);d.cascaded=e;e=Zn(a.getAttribute("opaque"));void 0===e&&(e=c.opaque);d.opaque=void 0!==e?e:!1;e=Zn(a.getAttribute("noSubsets"));void 0===e&&(e=c.noSubsets);
d.noSubsets=void 0!==e?e:!1;(e=bo(a.getAttribute("fixedWidth")))||(e=c.fixedWidth);d.fixedWidth=e;(e=bo(a.getAttribute("fixedHeight")))||(e=c.fixedHeight);d.fixedHeight=e;["Style","CRS","AuthorityURL"].forEach(function(a){a in c&&(d[a]=(d[a]||[]).concat(c[a]))});"EX_GeographicBoundingBox BoundingBox Dimension Attribution MinScaleDenominator MaxScaleDenominator".split(" ").forEach(function(a){a in d||(d[a]=c[a])});return d}})}),At=N(qt,{Title:K(V),OnlineResource:K(Xr),LogoURL:K(nt)}),zt=N(qt,{westBoundLongitude:K(ao),
eastBoundLongitude:K(ao),southBoundLatitude:K(ao),northBoundLatitude:K(ao)}),tt=N(qt,{GetCapabilities:K(lt),GetMap:K(lt),GetFeatureInfo:K(lt)}),mt=N(qt,{Format:Vk(V),DCPType:Vk(function(a,b){return O({},Ct,a,b)})}),Ct=N(qt,{HTTP:K(function(a,b){return O({},Dt,a,b)})}),Dt=N(qt,{Get:K(jt),Post:K(jt)}),Bt=N(qt,{Name:K(V),Title:K(V),Abstract:K(V),LegendURL:Vk(nt),StyleSheetURL:K(jt),StyleURL:K(jt)}),kt=N(qt,{Format:K(V),OnlineResource:K(Xr)}),pt=N(qt,{Keyword:Tk(V)});function Et(a){a=a?a:{};this.g="http://mapserver.gis.umn.edu/mapserver";this.b=new jo;this.c=a.layers?a.layers:null;Tn.call(this)}x(Et,Tn);
Et.prototype.lc=function(a,b){var c={};b&&Ca(c,sn(this,a,b));var d=[c];a.setAttribute("namespaceURI",this.g);var e=a.localName,c=[];if(0!==a.childNodes.length){if("msGMLOutput"==e)for(var f=0,g=a.childNodes.length;f<g;f++){var h=a.childNodes[f];if(h.nodeType===Node.ELEMENT_NODE){var l=d[0],m=h.localName.replace("_layer","");if(!this.c||gb(this.c,m)){m+="_feature";l.featureType=m;l.featureNS=this.g;var n={};n[m]=Tk(this.b.If,this.b);l=N([l.featureNS,null],n);h.setAttribute("namespaceURI",this.g);(h=
O([],l,h,d,this.b))&&jb(c,h)}}}"FeatureCollection"==e&&(d=O([],this.b.b,a,[{}],this.b))&&(c=d)}return c};function Ft(){this.g=new Zr}x(Ft,Yr);Ft.prototype.a=function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==Node.ELEMENT_NODE)return this.b(a);return null};Ft.prototype.b=function(a){var b=a.getAttribute("version").trim(),c=this.g.b(a);if(!c)return null;c.version=b;return(c=O(c,Gt,a,[]))?c:null};function Ht(a){var b=V(a).split(" ");if(b&&2==b.length)return a=+b[0],b=+b[1],isNaN(a)||isNaN(b)?void 0:[a,b]}
var It=[null,"http://www.opengis.net/wmts/1.0"],Jt=[null,"http://www.opengis.net/ows/1.1"],Gt=N(It,{Contents:K(function(a,b){return O({},Kt,a,b)})}),Kt=N(It,{Layer:Vk(function(a,b){return O({},Lt,a,b)}),TileMatrixSet:Vk(function(a,b){return O({},Mt,a,b)})}),Lt=N(It,{Style:Vk(function(a,b){var c=O({},Nt,a,b);if(c){var d="true"===a.getAttribute("isDefault");c.isDefault=d;return c}}),Format:Vk(V),TileMatrixSetLink:Vk(function(a,b){return O({},Ot,a,b)}),Dimension:Vk(function(a,b){return O({},Pt,a,b)}),
ResourceURL:Vk(function(a){var b=a.getAttribute("format"),c=a.getAttribute("template");a=a.getAttribute("resourceType");var d={};b&&(d.format=b);c&&(d.template=c);a&&(d.resourceType=a);return d})},N(Jt,{Title:K(V),Abstract:K(V),WGS84BoundingBox:K(function(a,b){var c=O([],Qt,a,b);return 2!=c.length?void 0:Ib(c)}),Identifier:K(V)})),Nt=N(It,{LegendURL:Vk(function(a){var b={};b.format=a.getAttribute("format");b.href=Xr(a);return b})},N(Jt,{Title:K(V),Identifier:K(V)})),Ot=N(It,{TileMatrixSet:K(V)}),
Pt=N(It,{Default:K(V),Value:Vk(V)},N(Jt,{Identifier:K(V)})),Qt=N(Jt,{LowerCorner:Tk(Ht),UpperCorner:Tk(Ht)}),Mt=N(It,{WellKnownScaleSet:K(V),TileMatrix:Vk(function(a,b){return O({},Rt,a,b)})},N(Jt,{SupportedCRS:K(V),Identifier:K(V)})),Rt=N(It,{TopLeftCorner:K(Ht),ScaleDenominator:K(ao),TileWidth:K(co),TileHeight:K(co),MatrixWidth:K(co),MatrixHeight:K(co)},N(Jt,{Identifier:K(V)}));function St(a){bb.call(this);a=a||{};this.a=null;this.c=Rc;this.f=void 0;B(this,db("projection"),this.Nl,this);B(this,db("tracking"),this.Ol,this);void 0!==a.projection&&this.dh(zc(a.projection));void 0!==a.trackingOptions&&this.si(a.trackingOptions);this.ge(void 0!==a.tracking?a.tracking:!1)}x(St,bb);k=St.prototype;k.ka=function(){this.ge(!1);bb.prototype.ka.call(this)};k.Nl=function(){var a=this.ah();a&&(this.c=Cc(zc("EPSG:4326"),a),this.a&&this.set("position",this.c(this.a)))};
k.Ol=function(){if(dg){var a=this.bh();a&&void 0===this.f?this.f=pa.navigator.geolocation.watchPosition(this.qo.bind(this),this.ro.bind(this),this.Mg()):a||void 0===this.f||(pa.navigator.geolocation.clearWatch(this.f),this.f=void 0)}};
k.qo=function(a){a=a.coords;this.set("accuracy",a.accuracy);this.set("altitude",null===a.altitude?void 0:a.altitude);this.set("altitudeAccuracy",null===a.altitudeAccuracy?void 0:a.altitudeAccuracy);this.set("heading",null===a.heading?void 0:wa(a.heading));this.a?(this.a[0]=a.longitude,this.a[1]=a.latitude):this.a=[a.longitude,a.latitude];var b=this.c(this.a);this.set("position",b);this.set("speed",null===a.speed?void 0:a.speed);a=Bd($i,this.a,a.accuracy);a.rc(this.c);this.set("accuracyGeometry",a);
this.u()};k.ro=function(a){a.type="error";this.ge(!1);this.b(a)};k.Mj=function(){return this.get("accuracy")};k.Nj=function(){return this.get("accuracyGeometry")||null};k.Pj=function(){return this.get("altitude")};k.Qj=function(){return this.get("altitudeAccuracy")};k.Ll=function(){return this.get("heading")};k.Ml=function(){return this.get("position")};k.ah=function(){return this.get("projection")};k.wk=function(){return this.get("speed")};k.bh=function(){return this.get("tracking")};k.Mg=function(){return this.get("trackingOptions")};
k.dh=function(a){this.set("projection",a)};k.ge=function(a){this.set("tracking",a)};k.si=function(a){this.set("trackingOptions",a)};function Tt(a,b,c){Wc.call(this);this.Vf(a,b?b:0,c)}x(Tt,Wc);k=Tt.prototype;k.clone=function(){var a=new Tt(null),b=this.B.slice();Yc(a,this.f,b);a.u();return a};k.tb=function(a,b,c,d){var e=this.B;a-=e[0];var f=b-e[1];b=a*a+f*f;if(b<d){if(0===b)for(d=0;d<this.a;++d)c[d]=e[d];else for(d=this.wf()/Math.sqrt(b),c[0]=e[0]+d*a,c[1]=e[1]+d*f,d=2;d<this.a;++d)c[d]=e[d];c.length=this.a;return b}return d};k.Bc=function(a,b){var c=this.B,d=a-c[0],c=b-c[1];return d*d+c*c<=Ut(this)};
k.rd=function(){return this.B.slice(0,this.a)};k.Od=function(a){var b=this.B,c=b[this.a]-b[0];return Vb(b[0]-c,b[1]-c,b[0]+c,b[1]+c,a)};k.wf=function(){return Math.sqrt(Ut(this))};function Ut(a){var b=a.B[a.a]-a.B[0];a=a.B[a.a+1]-a.B[1];return b*b+a*a}k.Y=function(){return"Circle"};k.Ka=function(a){var b=this.H();return oc(a,b)?(b=this.rd(),a[0]<=b[0]&&a[2]>=b[0]||a[1]<=b[1]&&a[3]>=b[1]?!0:bc(a,this.sg,this)):!1};
k.jm=function(a){var b=this.a,c=this.B[b]-this.B[0],d=a.slice();d[b]=d[0]+c;for(c=1;c<b;++c)d[b+c]=a[c];Yc(this,this.f,d);this.u()};k.Vf=function(a,b,c){if(a){Zc(this,c,a,0);this.B||(this.B=[]);c=this.B;a=gd(c,a);c[a++]=c[0]+b;var d;b=1;for(d=this.a;b<d;++b)c[a++]=c[b];c.length=a}else Yc(this,"XY",null);this.u()};k.km=function(a){this.B[this.a]=this.B[0]+a;this.u()};function Vt(a,b,c){for(var d=[],e=a(0),f=a(1),g=b(e),h=b(f),l=[f,e],m=[h,g],n=[1,0],p={},q=1E5,r,v,y,w,G;0<--q&&0<n.length;)y=n.pop(),e=l.pop(),g=m.pop(),f=y.toString(),f in p||(d.push(g[0],g[1]),p[f]=!0),w=n.pop(),f=l.pop(),h=m.pop(),G=(y+w)/2,r=a(G),v=b(r),ua(v[0],v[1],g[0],g[1],h[0],h[1])<c?(d.push(h[0],h[1]),f=w.toString(),p[f]=!0):(n.push(w,G,G,y),m.push(h,v,v,g),l.push(f,r,r,e));return d}function Wt(a,b,c,d,e){var f=zc("EPSG:4326");return Vt(function(d){return[a,b+(c-b)*d]},Qc(f,d),e)}
function Xt(a,b,c,d,e){var f=zc("EPSG:4326");return Vt(function(d){return[b+(c-b)*d,a]},Qc(f,d),e)};function Yt(a){a=a||{};this.c=this.o=null;this.g=this.i=Infinity;this.f=this.l=-Infinity;this.A=this.U=Infinity;this.C=this.D=-Infinity;this.Aa=void 0!==a.targetSize?a.targetSize:100;this.S=void 0!==a.maxLines?a.maxLines:100;this.b=[];this.a=[];this.ya=void 0!==a.strokeStyle?a.strokeStyle:Zt;this.v=this.j=void 0;this.s=null;this.setMap(void 0!==a.map?a.map:null)}var Zt=new pj({color:"rgba(0,0,0,0.2)"}),$t=[90,45,30,20,10,5,2,1,.5,.2,.1,.05,.01,.005,.002,.001];
function au(a,b,c,d,e,f,g){var h=g;b=Wt(b,c,d,a.c,e);h=void 0!==a.b[h]?a.b[h]:new R(null);h.ba("XY",b);oc(h.H(),f)&&(a.b[g++]=h);return g}function bu(a,b,c,d,e){var f=e;b=Xt(b,a.f,a.g,a.c,c);f=void 0!==a.a[f]?a.a[f]:new R(null);f.ba("XY",b);oc(f.H(),d)&&(a.a[e++]=f);return e}k=Yt.prototype;k.Pl=function(){return this.o};k.ik=function(){return this.b};k.qk=function(){return this.a};
k.Rg=function(a){var b=a.vectorContext,c=a.frameState,d=c.extent;a=c.viewState;var e=a.center,f=a.projection,g=a.resolution;a=c.pixelRatio;a=g*g/(4*a*a);if(!this.c||!Pc(this.c,f)){var h=zc("EPSG:4326"),l=f.H(),m=f.i,n=Tc(m,h,f),p=m[2],q=m[1],r=m[0],v=n[3],y=n[2],w=n[1],n=n[0];this.i=m[3];this.g=p;this.l=q;this.f=r;this.U=v;this.A=y;this.D=w;this.C=n;this.j=Qc(h,f);this.v=Qc(f,h);this.s=this.v(lc(l));this.c=f}f.a&&(f=f.H(),h=jc(f),c=c.focus[0],c<f[0]||c>f[2])&&(c=h*Math.ceil((f[0]-c)/h),d=[d[0]+c,
d[1],d[2]+c,d[3]]);c=this.s[0];f=this.s[1];h=-1;m=Math.pow(this.Aa*g,2);p=[];q=[];g=0;for(l=$t.length;g<l;++g){r=$t[g]/2;p[0]=c-r;p[1]=f-r;q[0]=c+r;q[1]=f+r;this.j(p,p);this.j(q,q);r=Math.pow(q[0]-p[0],2)+Math.pow(q[1]-p[1],2);if(r<=m)break;h=$t[g]}g=h;if(-1==g)this.b.length=this.a.length=0;else{c=this.v(e);e=c[0];c=c[1];f=this.S;h=[Math.max(d[0],this.C),Math.max(d[1],this.D),Math.min(d[2],this.A),Math.min(d[3],this.U)];h=Tc(h,this.c,"EPSG:4326");m=h[3];q=h[1];e=Math.floor(e/g)*g;p=sa(e,this.f,this.g);
l=au(this,p,q,m,a,d,0);for(h=0;p!=this.f&&h++<f;)p=Math.max(p-g,this.f),l=au(this,p,q,m,a,d,l);p=sa(e,this.f,this.g);for(h=0;p!=this.g&&h++<f;)p=Math.min(p+g,this.g),l=au(this,p,q,m,a,d,l);this.b.length=l;c=Math.floor(c/g)*g;e=sa(c,this.l,this.i);l=bu(this,e,a,d,0);for(h=0;e!=this.l&&h++<f;)e=Math.max(e-g,this.l),l=bu(this,e,a,d,l);e=sa(c,this.l,this.i);for(h=0;e!=this.i&&h++<f;)e=Math.min(e+g,this.i),l=bu(this,e,a,d,l);this.a.length=l}b.Tb(null,this.ya);a=0;for(e=this.b.length;a<e;++a)g=this.b[a],
b.hd(g,null);a=0;for(e=this.a.length;a<e;++a)g=this.a[a],b.hd(g,null)};k.setMap=function(a){this.o&&(this.o.J("postcompose",this.Rg,this),this.o.render());a&&(a.I("postcompose",this.Rg,this),a.render());this.o=a};function cu(a,b,c,d,e,f,g){th.call(this,a,b,c,0,d);this.j=e;this.g=new Image;null!==f&&(this.g.crossOrigin=f);this.i={};this.c=null;this.state=0;this.o=g}x(cu,th);cu.prototype.a=function(a){if(void 0!==a){var b;a=t(a);if(a in this.i)return this.i[a];Ga(this.i)?b=this.g:b=this.g.cloneNode(!1);return this.i[a]=b}return this.g};cu.prototype.s=function(){this.state=3;this.c.forEach(Ka);this.c=null;uh(this)};
cu.prototype.v=function(){void 0===this.resolution&&(this.resolution=kc(this.extent)/this.g.height);this.state=2;this.c.forEach(Ka);this.c=null;uh(this)};cu.prototype.load=function(){if(0==this.state||3==this.state)this.state=1,uh(this),this.c=[Pa(this.g,"error",this.s,this),Pa(this.g,"load",this.v,this)],this.o(this,this.j)};function du(a,b,c,d,e){We.call(this,a,b);this.s=c;this.g=new Image;null!==d&&(this.g.crossOrigin=d);this.c={};this.j=null;this.v=e}x(du,We);k=du.prototype;k.ka=function(){1==this.state&&eu(this);this.a&&Ta(this.a);this.state=5;Xe(this);We.prototype.ka.call(this)};k.$a=function(a){if(void 0!==a){var b=t(a);if(b in this.c)return this.c[b];a=Ga(this.c)?this.g:this.g.cloneNode(!1);return this.c[b]=a}return this.g};k.jb=function(){return this.s};k.Ql=function(){this.state=3;eu(this);Xe(this)};
k.Rl=function(){this.state=this.g.naturalWidth&&this.g.naturalHeight?2:4;eu(this);Xe(this)};k.load=function(){if(0==this.state||3==this.state)this.state=1,Xe(this),this.j=[Pa(this.g,"error",this.Ql,this),Pa(this.g,"load",this.Rl,this)],this.v(this,this.s)};function eu(a){a.j.forEach(Ka);a.j=null};function fu(a){a=a?a:{};Xh.call(this,{handleEvent:rc});this.c=a.formatConstructors?a.formatConstructors:[];this.j=a.projection?zc(a.projection):null;this.a=null;this.target=a.target?a.target:null}x(fu,Xh);function gu(a){a=a.dataTransfer.files;var b,c,d;b=0;for(c=a.length;b<c;++b){d=a.item(b);var e=new FileReader;e.addEventListener("load",this.o.bind(this,d));e.readAsText(d)}}function hu(a){a.stopPropagation();a.preventDefault();a.dataTransfer.dropEffect="copy"}
fu.prototype.o=function(a,b){var c=b.target.result,d=this.v,e=this.j;e||(e=d.aa().l);var d=this.c,f=[],g,h;g=0;for(h=d.length;g<h;++g){var l=new d[g];var m={featureProjection:e};try{f=l.Fa(c,m)}catch(n){f=null}if(f&&0<f.length)break}this.b(new iu(ju,a,f,e))};fu.prototype.setMap=function(a){this.a&&(this.a.forEach(Ka),this.a=null);Xh.prototype.setMap.call(this,a);a&&(a=this.target?this.target:a.a,this.a=[B(a,"drop",gu,this),B(a,"dragenter",hu,this),B(a,"dragover",hu,this),B(a,"drop",hu,this)])};
var ju="addfeatures";function iu(a,b,c,d){Ua.call(this,a);this.features=c;this.file=b;this.projection=d}x(iu,Ua);function ku(a){a=a?a:{};li.call(this,{handleDownEvent:lu,handleDragEvent:mu,handleUpEvent:nu});this.s=a.condition?a.condition:hi;this.a=this.c=void 0;this.j=0;this.A=void 0!==a.duration?a.duration:400}x(ku,li);
function mu(a){if(ji(a)){var b=a.map,c=b.Za(),d=a.pixel;a=d[0]-c[0]/2;d=c[1]/2-d[1];c=Math.atan2(d,a);a=Math.sqrt(a*a+d*d);d=b.aa();b.render();if(void 0!==this.c){var e=c-this.c;Yh(b,d,d.La()-e)}this.c=c;void 0!==this.a&&(c=this.a*(d.$()/a),$h(b,d,c));void 0!==this.a&&(this.j=this.a/a);this.a=a}}
function nu(a){if(!ji(a))return!0;a=a.map;var b=a.aa();Ld(b,-1);var c=this.j-1,d=b.La(),d=b.constrainRotation(d,0);Yh(a,b,d,void 0,void 0);var d=b.$(),e=this.A,d=b.constrainResolution(d,0,c);$h(a,b,d,void 0,e);this.j=0;return!1}function lu(a){return ji(a)&&this.s(a)?(Ld(a.map.aa(),1),this.a=this.c=void 0,!0):!1};function ou(a,b){Ua.call(this,a);this.feature=b}x(ou,Ua);
function pu(a){li.call(this,{handleDownEvent:qu,handleEvent:ru,handleUpEvent:su});this.na=null;this.P=!1;this.Hc=a.source?a.source:null;this.cb=a.features?a.features:null;this.Cj=a.snapTolerance?a.snapTolerance:12;this.W=a.type;this.c=tu(this.W);this.Sa=a.minPoints?a.minPoints:this.c===uu?3:2;this.za=a.maxPoints?a.maxPoints:Infinity;this.Ne=a.finishCondition?a.finishCondition:rc;var b=a.geometryFunction;if(!b)if("Circle"===this.W)b=function(a,b){var c=b?b:new Tt([NaN,NaN]);c.Vf(a[0],Math.sqrt(Eb(a[0],
a[1])));return c};else{var c,b=this.c;b===vu?c=C:b===wu?c=R:b===uu&&(c=E);b=function(a,b){var f=b;f?f.ra(a):f=new c(a);return f}}this.C=b;this.T=this.A=this.a=this.S=this.j=this.s=null;this.Fj=a.clickTolerance?a.clickTolerance*a.clickTolerance:36;this.Ba=new I({source:new P({useSpatialIndex:!1,wrapX:a.wrapX?a.wrapX:!1}),style:a.style?a.style:xu()});this.rb=a.geometryName;this.Bj=a.condition?a.condition:gi;this.oa=a.freehandCondition?a.freehandCondition:hi;B(this,db("active"),this.yi,this)}x(pu,li);
function xu(){var a=xj();return function(b){return a[b.X().Y()]}}k=pu.prototype;k.setMap=function(a){li.prototype.setMap.call(this,a);this.yi()};function ru(a){this.c!==wu&&this.c!==uu||!this.oa(a)||(this.P=!0);var b=!this.P;this.P&&a.type===$g?(yu(this,a),b=!1):a.type===Zg?b=zu(this,a):a.type===Tg&&(b=!1);return mi.call(this,a)&&b}function qu(a){return this.Bj(a)?(this.na=a.pixel,!0):this.P?(this.na=a.pixel,this.s||Au(this,a),!0):!1}
function su(a){this.P=!1;var b=this.na,c=a.pixel,d=b[0]-c[0],b=b[1]-c[1],c=!0;d*d+b*b<=this.Fj&&(zu(this,a),this.s?this.c===Bu?this.jd():Cu(this,a)?this.Ne(a)&&this.jd():yu(this,a):(Au(this,a),this.c===vu&&this.jd()),c=!1);return c}
function zu(a,b){if(a.s){var c=b.coordinate,d=a.j.X(),e;a.c===vu?e=a.a:a.c===uu?(e=a.a[0],e=e[e.length-1],Cu(a,b)&&(c=a.s.slice())):(e=a.a,e=e[e.length-1]);e[0]=c[0];e[1]=c[1];a.C(a.a,d);a.S&&a.S.X().ra(c);d instanceof E&&a.c!==uu?(a.A||(a.A=new Ik(new R(null))),d=d.Hg(0),c=a.A.X(),c.ba(d.f,d.la())):a.T&&(c=a.A.X(),c.ra(a.T));Du(a)}else c=b.coordinate.slice(),a.S?a.S.X().ra(c):(a.S=new Ik(new C(c)),Du(a));return!0}
function Cu(a,b){var c=!1;if(a.j){var d=!1,e=[a.s];a.c===wu?d=a.a.length>a.Sa:a.c===uu&&(d=a.a[0].length>a.Sa,e=[a.a[0][0],a.a[0][a.a[0].length-2]]);if(d)for(var d=b.map,f=0,g=e.length;f<g;f++){var h=e[f],l=d.Ga(h),m=b.pixel,c=m[0]-l[0],l=m[1]-l[1],m=a.P&&a.oa(b)?1:a.Cj;if(c=Math.sqrt(c*c+l*l)<=m){a.s=h;break}}}return c}
function Au(a,b){var c=b.coordinate;a.s=c;a.c===vu?a.a=c.slice():a.c===uu?(a.a=[[c.slice(),c.slice()]],a.T=a.a[0]):(a.a=[c.slice(),c.slice()],a.c===Bu&&(a.T=a.a));a.T&&(a.A=new Ik(new R(a.T)));c=a.C(a.a);a.j=new Ik;a.rb&&a.j.Ec(a.rb);a.j.Ua(c);Du(a);a.b(new ou("drawstart",a.j))}
function yu(a,b){var c=b.coordinate,d=a.j.X(),e,f;if(a.c===wu)a.s=c.slice(),f=a.a,f.push(c.slice()),e=f.length>a.za,a.C(f,d);else if(a.c===uu){f=a.a[0];f.push(c.slice());if(e=f.length>a.za)a.s=f[0];a.C(a.a,d)}Du(a);e&&a.jd()}k.Qo=function(){var a=this.j.X(),b,c;this.c===wu?(b=this.a,b.splice(-2,1),this.C(b,a)):this.c===uu&&(b=this.a[0],b.splice(-2,1),c=this.A.X(),c.ra(b),this.C(this.a,a));0===b.length&&(this.s=null);Du(this)};
k.jd=function(){var a=Eu(this),b=this.a,c=a.X();this.c===wu?(b.pop(),this.C(b,c)):this.c===uu&&(b[0].pop(),b[0].push(b[0][0]),this.C(b,c));"MultiPoint"===this.W?a.Ua(new T([b])):"MultiLineString"===this.W?a.Ua(new S([b])):"MultiPolygon"===this.W&&a.Ua(new U([b]));this.b(new ou("drawend",a));this.cb&&this.cb.push(a);this.Hc&&this.Hc.sb(a)};function Eu(a){a.s=null;var b=a.j;b&&(a.j=null,a.S=null,a.A=null,a.Ba.ha().clear(!0));return b}
k.rm=function(a){var b=a.X();this.j=a;this.a=b.Z();a=this.a[this.a.length-1];this.s=a.slice();this.a.push(a.slice());Du(this);this.b(new ou("drawstart",this.j))};k.Gc=sc;function Du(a){var b=[];a.j&&b.push(a.j);a.A&&b.push(a.A);a.S&&b.push(a.S);a=a.Ba.ha();a.clear(!0);a.Jc(b)}k.yi=function(){var a=this.v,b=this.f();a&&b||Eu(this);this.Ba.setMap(b?a:null)};
function tu(a){var b;"Point"===a||"MultiPoint"===a?b=vu:"LineString"===a||"MultiLineString"===a?b=wu:"Polygon"===a||"MultiPolygon"===a?b=uu:"Circle"===a&&(b=Bu);return b}var vu="Point",wu="LineString",uu="Polygon",Bu="Circle";function Fu(a,b,c){Ua.call(this,a);this.features=b;this.mapBrowserEvent=c}x(Fu,Ua);
function Gu(a){li.call(this,{handleDownEvent:Hu,handleDragEvent:Iu,handleEvent:Ju,handleUpEvent:Ku});this.rb=a.condition?a.condition:ki;this.Sa=function(a){return gi(a)&&fi(a)};this.cb=a.deleteCondition?a.deleteCondition:this.Sa;this.za=this.c=null;this.Ba=[0,0];this.C=this.T=!1;this.a=new kl;this.S=void 0!==a.pixelTolerance?a.pixelTolerance:10;this.s=this.oa=!1;this.j=[];this.P=new I({source:new P({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.style?a.style:Lu(),updateWhileAnimating:!0,updateWhileInteracting:!0});
this.na={Point:this.ym,LineString:this.kh,LinearRing:this.kh,Polygon:this.zm,MultiPoint:this.wm,MultiLineString:this.vm,MultiPolygon:this.xm,GeometryCollection:this.um};this.A=a.features;this.A.forEach(this.xf,this);B(this.A,"add",this.sm,this);B(this.A,"remove",this.tm,this);this.W=null}x(Gu,li);k=Gu.prototype;k.xf=function(a){var b=a.X();b.Y()in this.na&&this.na[b.Y()].call(this,a,b);(b=this.v)&&Mu(this,this.Ba,b);B(a,"change",this.jh,this)};
function Nu(a,b){a.C||(a.C=!0,a.b(new Fu("modifystart",a.A,b)))}function Ou(a,b){Pu(a,b);a.c&&0===a.A.dc()&&(a.P.ha().ob(a.c),a.c=null);Qa(b,"change",a.jh,a)}function Pu(a,b){var c=a.a,d=[];c.forEach(function(a){b===a.feature&&d.push(a)});for(var e=d.length-1;0<=e;--e)c.remove(d[e])}k.setMap=function(a){this.P.setMap(a);li.prototype.setMap.call(this,a)};k.sm=function(a){this.xf(a.element)};k.jh=function(a){this.s||(a=a.target,Ou(this,a),this.xf(a))};k.tm=function(a){Ou(this,a.element)};
k.ym=function(a,b){var c=b.Z(),c={feature:a,geometry:b,pa:[c,c]};this.a.Ca(b.H(),c)};k.wm=function(a,b){var c=b.Z(),d,e,f;e=0;for(f=c.length;e<f;++e)d=c[e],d={feature:a,geometry:b,depth:[e],index:e,pa:[d,d]},this.a.Ca(b.H(),d)};k.kh=function(a,b){var c=b.Z(),d,e,f,g;d=0;for(e=c.length-1;d<e;++d)f=c.slice(d,d+2),g={feature:a,geometry:b,index:d,pa:f},this.a.Ca(Ib(f),g)};
k.vm=function(a,b){var c=b.Z(),d,e,f,g,h,l,m;g=0;for(h=c.length;g<h;++g)for(d=c[g],e=0,f=d.length-1;e<f;++e)l=d.slice(e,e+2),m={feature:a,geometry:b,depth:[g],index:e,pa:l},this.a.Ca(Ib(l),m)};k.zm=function(a,b){var c=b.Z(),d,e,f,g,h,l,m;g=0;for(h=c.length;g<h;++g)for(d=c[g],e=0,f=d.length-1;e<f;++e)l=d.slice(e,e+2),m={feature:a,geometry:b,depth:[g],index:e,pa:l},this.a.Ca(Ib(l),m)};
k.xm=function(a,b){var c=b.Z(),d,e,f,g,h,l,m,n,p,q;l=0;for(m=c.length;l<m;++l)for(n=c[l],g=0,h=n.length;g<h;++g)for(d=n[g],e=0,f=d.length-1;e<f;++e)p=d.slice(e,e+2),q={feature:a,geometry:b,depth:[g,l],index:e,pa:p},this.a.Ca(Ib(p),q)};k.um=function(a,b){var c,d=b.c;for(c=0;c<d.length;++c)this.na[d[c].Y()].call(this,a,d[c])};function Qu(a,b){var c=a.c;c?c.X().ra(b):(c=new Ik(new C(b)),a.c=c,a.P.ha().sb(c))}function Ru(a,b){return a.index-b.index}
function Hu(a){if(!this.rb(a))return!1;Mu(this,a.pixel,a.map);this.j.length=0;this.C=!1;var b=this.c;if(b){var c=[],b=b.X().Z(),d=Ib([b]),d=nl(this.a,d),e={};d.sort(Ru);for(var f=0,g=d.length;f<g;++f){var h=d[f],l=h.pa,m=t(h.feature),n=h.depth;n&&(m+="-"+n.join("-"));e[m]||(e[m]=Array(2));if(Cb(l[0],b)&&!e[m][0])this.j.push([h,0]),e[m][0]=h;else if(Cb(l[1],b)&&!e[m][1]){if("LineString"!==h.geometry.Y()&&"MultiLineString"!==h.geometry.Y()||!e[m][0]||0!==e[m][0].index)this.j.push([h,1]),e[m][1]=h}else t(l)in
this.za&&!e[m][0]&&!e[m][1]&&c.push([h,b])}c.length&&Nu(this,a);for(a=c.length-1;0<=a;--a)this.nl.apply(this,c[a])}return!!this.c}
function Iu(a){this.T=!1;Nu(this,a);a=a.coordinate;for(var b=0,c=this.j.length;b<c;++b){for(var d=this.j[b],e=d[0],f=e.depth,g=e.geometry,h=g.Z(),l=e.pa,d=d[1];a.length<g.va();)a.push(0);switch(g.Y()){case "Point":h=a;l[0]=l[1]=a;break;case "MultiPoint":h[e.index]=a;l[0]=l[1]=a;break;case "LineString":h[e.index+d]=a;l[d]=a;break;case "MultiLineString":h[f[0]][e.index+d]=a;l[d]=a;break;case "Polygon":h[f[0]][e.index+d]=a;l[d]=a;break;case "MultiPolygon":h[f[1]][f[0]][e.index+d]=a,l[d]=a}e=g;this.s=
!0;e.ra(h);this.s=!1}Qu(this,a)}function Ku(a){for(var b,c=this.j.length-1;0<=c;--c)b=this.j[c][0],ll(this.a,Ib(b.pa),b);this.C&&(this.b(new Fu("modifyend",this.A,a)),this.C=!1);return!1}function Ju(a){if(!(a instanceof Pg))return!0;this.W=a;var b;Gd(a.map.aa())[1]||a.type!=Zg||this.D||(this.Ba=a.pixel,Mu(this,a.pixel,a.map));this.c&&this.cb(a)&&(a.type==Ug&&this.T?b=!0:(this.c.X(),b=this.ai()));a.type==Ug&&(this.T=!1);return mi.call(this,a)&&!b}
function Mu(a,b,c){function d(a,b){return Fb(e,a.pa)-Fb(e,b.pa)}var e=c.Ma(b),f=c.Ma([b[0]-a.S,b[1]+a.S]),g=c.Ma([b[0]+a.S,b[1]-a.S]),f=Ib([f,g]),f=nl(a.a,f);if(0<f.length){f.sort(d);var g=f[0].pa,h=zb(e,g),l=c.Ga(h);if(Math.sqrt(Eb(b,l))<=a.S){b=c.Ga(g[0]);c=c.Ga(g[1]);b=Eb(l,b);c=Eb(l,c);a.oa=Math.sqrt(Math.min(b,c))<=a.S;a.oa&&(h=b>c?g[1]:g[0]);Qu(a,h);c={};c[t(g)]=!0;b=1;for(l=f.length;b<l;++b)if(h=f[b].pa,Cb(g[0],h[0])&&Cb(g[1],h[1])||Cb(g[0],h[1])&&Cb(g[1],h[0]))c[t(h)]=!0;else break;a.za=c;
return}}a.c&&(a.P.ha().ob(a.c),a.c=null)}
k.nl=function(a,b){for(var c=a.pa,d=a.feature,e=a.geometry,f=a.depth,g=a.index,h;b.length<e.va();)b.push(0);switch(e.Y()){case "MultiLineString":h=e.Z();h[f[0]].splice(g+1,0,b);break;case "Polygon":h=e.Z();h[f[0]].splice(g+1,0,b);break;case "MultiPolygon":h=e.Z();h[f[1]][f[0]].splice(g+1,0,b);break;case "LineString":h=e.Z();h.splice(g+1,0,b);break;default:return}this.s=!0;e.ra(h);this.s=!1;h=this.a;h.remove(a);Su(this,e,g,f,1);var l={pa:[c[0],b],feature:d,geometry:e,depth:f,index:g};h.Ca(Ib(l.pa),
l);this.j.push([l,1]);c={pa:[b,c[1]],feature:d,geometry:e,depth:f,index:g+1};h.Ca(Ib(c.pa),c);this.j.push([c,0]);this.T=!0};
k.ai=function(){var a=!1;if(this.W&&this.W.type!=$g){var b=this.W;Nu(this,b);var c=this.j,a={},d=!1,e,f,g,h,l,m,n,p;for(h=c.length-1;0<=h;--h)g=c[h],n=g[0],p=t(n.feature),n.depth&&(p+="-"+n.depth.join("-")),p in a||(a[p]={}),0===g[1]?(a[p].right=n,a[p].index=n.index):1==g[1]&&(a[p].left=n,a[p].index=n.index+1);for(p in a){m=a[p].right;h=a[p].left;g=a[p].index;l=g-1;n=void 0!==h?h:m;0>l&&(l=0);c=n.geometry;e=f=c.Z();d=!1;switch(c.Y()){case "MultiLineString":2<f[n.depth[0]].length&&(f[n.depth[0]].splice(g,
1),d=!0);break;case "LineString":2<f.length&&(f.splice(g,1),d=!0);break;case "MultiPolygon":e=e[n.depth[1]];case "Polygon":e=e[n.depth[0]],4<e.length&&(g==e.length-1&&(g=0),e.splice(g,1),d=!0,0===g&&(e.pop(),e.push(e[0]),l=e.length-1))}d&&(e=c,this.s=!0,e.ra(f),this.s=!1,f=[],void 0!==h&&(this.a.remove(h),f.push(h.pa[0])),void 0!==m&&(this.a.remove(m),f.push(m.pa[1])),void 0!==h&&void 0!==m&&(h={depth:n.depth,feature:n.feature,geometry:n.geometry,index:l,pa:f},this.a.Ca(Ib(h.pa),h)),Su(this,c,g,n.depth,
-1),this.c&&(this.P.ha().ob(this.c),this.c=null))}a=d;this.b(new Fu("modifyend",this.A,b));this.C=!1}return a};function Su(a,b,c,d,e){ql(a.a,b.H(),function(a){a.geometry===b&&(void 0===d||void 0===a.depth||mb(a.depth,d))&&a.index>c&&(a.index+=e)})}function Lu(){var a=xj();return function(){return a.Point}};function Tu(a,b,c,d){Ua.call(this,a);this.selected=b;this.deselected=c;this.mapBrowserEvent=d}x(Tu,Ua);
function Uu(a){Xh.call(this,{handleEvent:Vu});var b=a?a:{};this.D=b.condition?b.condition:fi;this.A=b.addCondition?b.addCondition:sc;this.C=b.removeCondition?b.removeCondition:sc;this.S=b.toggleCondition?b.toggleCondition:hi;this.j=b.multi?b.multi:!1;this.o=b.filter?b.filter:rc;this.c=new I({source:new P({useSpatialIndex:!1,features:b.features,wrapX:b.wrapX}),style:b.style?b.style:Wu(),updateWhileAnimating:!0,updateWhileInteracting:!0});if(b.layers)if("function"===typeof b.layers)a=function(a){return b.layers(a)};
else{var c=b.layers;a=function(a){return gb(c,a)}}else a=rc;this.s=a;this.a={};a=this.c.ha().c;B(a,"add",this.Am,this);B(a,"remove",this.Dm,this)}x(Uu,Xh);k=Uu.prototype;k.Bm=function(){return this.c.ha().c};k.Cm=function(a){a=t(a);return this.a[a]};
function Vu(a){if(!this.D(a))return!0;var b=this.A(a),c=this.C(a),d=this.S(a),e=!b&&!c&&!d,f=a.map,g=this.c.ha().c,h=[],l=[];if(e)Da(this.a),f.kd(a.pixel,function(a,b){if(this.o(a,b)){l.push(a);var c=t(a);this.a[c]=b;return!this.j}},this,this.s),0<l.length&&1==g.dc()&&g.item(0)==l[0]?l.length=0:(0!==g.dc()&&(h=Array.prototype.concat(g.a),g.clear()),g.qf(l));else{f.kd(a.pixel,function(a,e){if(this.o(a,e)){if(!b&&!d||gb(g.a,a))(c||d)&&gb(g.a,a)&&(h.push(a),f=t(a),delete this.a[f]);else{l.push(a);var f=
t(a);this.a[f]=e}return!this.j}},this,this.s);for(e=h.length-1;0<=e;--e)g.remove(h[e]);g.qf(l)}(0<l.length||0<h.length)&&this.b(new Tu("select",l,h,a));return ei(a)}k.setMap=function(a){var b=this.v,c=this.c.ha().c;b&&c.forEach(b.wi,b);Xh.prototype.setMap.call(this,a);this.c.setMap(a);a&&c.forEach(a.ti,a)};function Wu(){var a=xj();jb(a.Polygon,a.LineString);jb(a.GeometryCollection,a.LineString);return function(b){return a[b.X().Y()]}}k.Am=function(a){a=a.element;var b=this.v;b&&b.ti(a)};
k.Dm=function(a){a=a.element;var b=this.v;b&&b.wi(a)};function Xu(a){li.call(this,{handleEvent:Yu,handleDownEvent:rc,handleUpEvent:Zu});a=a?a:{};this.s=a.source?a.source:null;this.Ba=void 0!==a.vertex?a.vertex:!0;this.T=void 0!==a.edge?a.edge:!0;this.j=a.features?a.features:null;this.oa=[];this.C={};this.S={};this.W={};this.A={};this.P=null;this.c=void 0!==a.pixelTolerance?a.pixelTolerance:10;this.za=$u.bind(this);this.a=new kl;this.na={Point:this.Jm,LineString:this.nh,LinearRing:this.nh,Polygon:this.Km,MultiPoint:this.Hm,MultiLineString:this.Gm,MultiPolygon:this.Im,
GeometryCollection:this.Fm}}x(Xu,li);k=Xu.prototype;k.sb=function(a,b){var c=void 0!==b?b:!0,d=t(a),e=a.X();if(e){var f=this.na[e.Y()];f&&(this.W[d]=e.H(Jb()),f.call(this,a,e),c&&(this.S[d]=B(e,"change",this.Kk.bind(this,a),this)))}c&&(this.C[d]=B(a,db(a.a),this.Em,this))};k.Jj=function(a){this.sb(a)};k.Kj=function(a){this.ob(a)};k.lh=function(a){var b;a instanceof vl?b=a.feature:a instanceof ae&&(b=a.element);this.sb(b)};
k.mh=function(a){var b;a instanceof vl?b=a.feature:a instanceof ae&&(b=a.element);this.ob(b)};k.Em=function(a){a=a.target;this.ob(a,!0);this.sb(a,!0)};k.Kk=function(a){if(this.D){var b=t(a);b in this.A||(this.A[b]=a)}else this.xi(a)};k.ob=function(a,b){var c=void 0!==b?b:!0,d=t(a),e=this.W[d];if(e){var f=this.a,g=[];ql(f,e,function(b){a===b.feature&&g.push(b)});for(e=g.length-1;0<=e;--e)f.remove(g[e]);c&&($a(this.S[d]),delete this.S[d])}c&&($a(this.C[d]),delete this.C[d])};
k.setMap=function(a){var b=this.v,c=this.oa,d;this.j?d=this.j:this.s&&(d=this.s.oe());b&&(c.forEach($a),c.length=0,d.forEach(this.Kj,this));li.prototype.setMap.call(this,a);a&&(this.j?c.push(B(this.j,"add",this.lh,this),B(this.j,"remove",this.mh,this)):this.s&&c.push(B(this.s,"addfeature",this.lh,this),B(this.s,"removefeature",this.mh,this)),d.forEach(this.Jj,this))};k.Gc=sc;k.xi=function(a){this.ob(a,!1);this.sb(a,!1)};
k.Fm=function(a,b){var c,d=b.c;for(c=0;c<d.length;++c)this.na[d[c].Y()].call(this,a,d[c])};k.nh=function(a,b){var c=b.Z(),d,e,f,g;d=0;for(e=c.length-1;d<e;++d)f=c.slice(d,d+2),g={feature:a,pa:f},this.a.Ca(Ib(f),g)};k.Gm=function(a,b){var c=b.Z(),d,e,f,g,h,l,m;g=0;for(h=c.length;g<h;++g)for(d=c[g],e=0,f=d.length-1;e<f;++e)l=d.slice(e,e+2),m={feature:a,pa:l},this.a.Ca(Ib(l),m)};k.Hm=function(a,b){var c=b.Z(),d,e,f;e=0;for(f=c.length;e<f;++e)d=c[e],d={feature:a,pa:[d,d]},this.a.Ca(b.H(),d)};
k.Im=function(a,b){var c=b.Z(),d,e,f,g,h,l,m,n,p,q;l=0;for(m=c.length;l<m;++l)for(n=c[l],g=0,h=n.length;g<h;++g)for(d=n[g],e=0,f=d.length-1;e<f;++e)p=d.slice(e,e+2),q={feature:a,pa:p},this.a.Ca(Ib(p),q)};k.Jm=function(a,b){var c=b.Z(),c={feature:a,pa:[c,c]};this.a.Ca(b.H(),c)};k.Km=function(a,b){var c=b.Z(),d,e,f,g,h,l,m;g=0;for(h=c.length;g<h;++g)for(d=c[g],e=0,f=d.length-1;e<f;++e)l=d.slice(e,e+2),m={feature:a,pa:l},this.a.Ca(Ib(l),m)};
function Yu(a){var b,c,d=a.pixel,e=a.coordinate;b=a.map;var f=b.Ma([d[0]-this.c,d[1]+this.c]);c=b.Ma([d[0]+this.c,d[1]-this.c]);var f=Ib([f,c]),g=nl(this.a,f),h,f=!1,l=null;c=null;if(0<g.length){this.P=e;g.sort(this.za);g=g[0].pa;if(this.Ba&&!this.T){if(e=b.Ga(g[0]),h=b.Ga(g[1]),e=Eb(d,e),d=Eb(d,h),h=Math.sqrt(Math.min(e,d)),h=h<=this.c)f=!0,l=e>d?g[1]:g[0],c=b.Ga(l)}else this.T&&(l=zb(e,g),c=b.Ga(l),Math.sqrt(Eb(d,c))<=this.c&&(f=!0,this.Ba&&(e=b.Ga(g[0]),h=b.Ga(g[1]),e=Eb(c,e),d=Eb(c,h),h=Math.sqrt(Math.min(e,
d)),h=h<=this.c)))&&(l=e>d?g[1]:g[0],c=b.Ga(l));f&&(c=[Math.round(c[0]),Math.round(c[1])])}b=l;f&&(a.coordinate=b.slice(0,2),a.pixel=c);return mi.call(this,a)}function Zu(){var a=Ea(this.A);a.length&&(a.forEach(this.xi,this),this.A={});return!1}function $u(a,b){return Fb(this.P,a.pa)-Fb(this.P,b.pa)};function av(a,b,c){Ua.call(this,a);this.features=b;this.coordinate=c}x(av,Ua);function bv(a){li.call(this,{handleDownEvent:cv,handleDragEvent:dv,handleMoveEvent:ev,handleUpEvent:fv});this.s=void 0;this.a=null;this.c=void 0!==a.features?a.features:null;var b;if(a.layers)if("function"===typeof a.layers)b=function(b){return a.layers(b)};else{var c=a.layers;b=function(a){return gb(c,a)}}else b=rc;this.A=b;this.j=null}x(bv,li);
function cv(a){this.j=gv(this,a.pixel,a.map);return!this.a&&this.j?(this.a=a.coordinate,ev.call(this,a),this.b(new av("translatestart",this.c,a.coordinate)),!0):!1}function fv(a){return this.a?(this.a=null,ev.call(this,a),this.b(new av("translateend",this.c,a.coordinate)),!0):!1}
function dv(a){if(this.a){a=a.coordinate;var b=a[0]-this.a[0],c=a[1]-this.a[1];if(this.c)this.c.forEach(function(a){var d=a.X();d.Sc(b,c);a.Ua(d)});else if(this.j){var d=this.j.X();d.Sc(b,c);this.j.Ua(d)}this.a=a;this.b(new av("translating",this.c,a))}}
function ev(a){var b=a.map.yc();if(a=a.map.kd(a.pixel,function(a){return a})){var c=!1;this.c&&gb(this.c.a,a)&&(c=!0);this.s=b.style.cursor;b.style.cursor=this.a?"-webkit-grabbing":c?"-webkit-grab":"pointer";b.style.cursor=this.a?c?"grab":"pointer":"grabbing"}else b.style.cursor=void 0!==this.s?this.s:"",this.s=void 0}function gv(a,b,c){var d=null;b=c.kd(b,function(a){return a},a,a.A);a.c&&gb(a.c.a,b)&&(d=b);return d};function W(a){a=a?a:{};var b=Ca({},a);delete b.gradient;delete b.radius;delete b.blur;delete b.shadow;delete b.weight;I.call(this,b);this.f=null;this.ia=void 0!==a.shadow?a.shadow:250;this.W=void 0;this.c=null;B(this,db("gradient"),this.Lk,this);this.ii(a.gradient?a.gradient:hv);this.di(void 0!==a.blur?a.blur:15);this.qh(void 0!==a.radius?a.radius:8);B(this,db("blur"),this.lf,this);B(this,db("radius"),this.lf,this);this.lf();var c=a.weight?a.weight:"weight",d;"string"===typeof c?d=function(a){return a.get(c)}:
d=c;this.l(function(a){a=d(a);a=void 0!==a?sa(a,0,1):1;var b=255*a|0,c=this.c[b];c||(c=[new sj({image:new Fh({opacity:a,src:this.W})})],this.c[b]=c);return c}.bind(this));this.set("renderOrder",null);B(this,"render",this.dl,this)}x(W,I);var hv=["#00f","#0ff","#0f0","#ff0","#f00"];k=W.prototype;k.zg=function(){return this.get("blur")};k.Gg=function(){return this.get("gradient")};k.ph=function(){return this.get("radius")};
k.Lk=function(){for(var a=this.Gg(),b=Ge(1,256),c=b.createLinearGradient(0,0,1,256),d=1/(a.length-1),e=0,f=a.length;e<f;++e)c.addColorStop(e*d,a[e]);b.fillStyle=c;b.fillRect(0,0,1,256);this.f=b.getImageData(0,0,1,256).data};k.lf=function(){var a=this.ph(),b=this.zg(),c=a+b+1,d=2*c,d=Ge(d,d);d.shadowOffsetX=d.shadowOffsetY=this.ia;d.shadowBlur=b;d.shadowColor="#000";d.beginPath();b=c-this.ia;d.arc(b,b,a,0,2*Math.PI,!0);d.fill();this.W=d.canvas.toDataURL();this.c=Array(256);this.u()};
k.dl=function(a){a=a.context;var b=a.canvas,b=a.getImageData(0,0,b.width,b.height),c=b.data,d,e,f;d=0;for(e=c.length;d<e;d+=4)if(f=4*c[d+3])c[d]=this.f[f],c[d+1]=this.f[f+1],c[d+2]=this.f[f+2];a.putImageData(b,0,0)};k.di=function(a){this.set("blur",a)};k.ii=function(a){this.set("gradient",a)};k.qh=function(a){this.set("radius",a)};function iv(a,b,c,d){function e(){delete pa[g];f.parentNode.removeChild(f)}var f=pa.document.createElement("script"),g="olc_"+t(b);f.async=!0;f.src=a+(-1==a.indexOf("?")?"?":"&")+(d||"callback")+"="+g;var h=pa.setTimeout(function(){e();c&&c()},1E4);pa[g]=function(a){pa.clearTimeout(h);e();b(a)};pa.document.getElementsByTagName("head")[0].appendChild(f)};function jv(a,b,c,d,e,f,g,h,l,m,n){We.call(this,e,0);this.S=void 0!==n?n:!1;this.C=g;this.D=h;this.l=null;this.c={};this.j=b;this.v=d;this.U=f?f:e;this.g=[];this.Wc=null;this.s=0;f=d.Ea(this.U);h=this.v.H();e=this.j.H();f=h?nc(f,h):f;if(0===hc(f))this.state=4;else if((h=a.H())&&(e?e=nc(e,h):e=h),d=d.$(this.U[0]),d=tk(a,c,lc(f),d),!isFinite(d)||0>=d)this.state=4;else if(this.A=new wk(a,c,f,e,d*(void 0!==m?m:.5)),0===this.A.f.length)this.state=4;else if(this.s=b.Lb(d),c=yk(this.A),e&&(a.a?(c[1]=sa(c[1],
e[1],e[3]),c[3]=sa(c[3],e[1],e[3])):c=nc(c,e)),hc(c))if(a=gf(b,c,this.s),100>(a.ea-a.ca+1)*(a.ga-a.fa+1)){for(b=a.ca;b<=a.ea;b++)for(c=a.fa;c<=a.ga;c++)(m=l(this.s,b,c,g))&&this.g.push(m);0===this.g.length&&(this.state=4)}else this.state=3;else this.state=4}x(jv,We);jv.prototype.ka=function(){1==this.state&&(this.Wc.forEach(Ka),this.Wc=null);We.prototype.ka.call(this)};
jv.prototype.$a=function(a){if(void 0!==a){var b=t(a);if(b in this.c)return this.c[b];a=Ga(this.c)?this.l:this.l.cloneNode(!1);return this.c[b]=a}return this.l};
jv.prototype.zd=function(){var a=[];this.g.forEach(function(b){b&&2==b.V()&&a.push({extent:this.j.Ea(b.ma),image:b.$a()})},this);this.g.length=0;if(0===a.length)this.state=3;else{var b=this.U[0],c=this.v.Ja(b),d="number"===typeof c?c:c[0],c="number"===typeof c?c:c[1],b=this.v.$(b),e=this.j.$(this.s),f=this.v.Ea(this.U);this.l=vk(d,c,this.C,e,this.j.H(),b,f,this.A,a,this.D,this.S);this.state=2}Xe(this)};
jv.prototype.load=function(){if(0==this.state){this.state=1;Xe(this);var a=0;this.Wc=[];this.g.forEach(function(b){var c=b.V();if(0==c||1==c){a++;var d;d=B(b,"change",function(){var c=b.V();if(2==c||3==c||4==c)Ka(d),a--,0===a&&(this.Wc.forEach(Ka),this.Wc=null,this.zd())},this);this.Wc.push(d)}},this);this.g.forEach(function(a){0==a.V()&&a.load()});0===a&&pa.setTimeout(this.zd.bind(this),0)}};function X(a){Jl.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction?a.tileLoadFunction:kv,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,wrapX:a.wrapX});this.crossOrigin=void 0!==a.crossOrigin?a.crossOrigin:null;this.tileClass=void 0!==a.tileClass?a.tileClass:du;this.i={};this.s={};this.na=a.reprojectionErrorThreshold;
this.D=!1}x(X,Jl);k=X.prototype;k.Ah=function(){if(Ve(this.a))return!0;for(var a in this.i)if(Ve(this.i[a]))return!0;return!1};k.Lc=function(a,b){var c=this.pd(a);this.a.Lc(this.a==c?b:{});for(var d in this.i){var e=this.i[d];e.Lc(e==c?b:{})}};k.Ud=function(a){return this.f&&a&&!Pc(this.f,a)?0:this.gf()};k.gf=function(){return 0};k.jf=function(a){return this.f&&a&&!Pc(this.f,a)?!1:Jl.prototype.jf.call(this,a)};
k.fb=function(a){var b=this.f;return!this.tileGrid||b&&!Pc(b,a)?(b=t(a).toString(),b in this.s||(this.s[b]=nf(a)),this.s[b]):this.tileGrid};k.pd=function(a){var b=this.f;if(!b||Pc(b,a))return this.a;a=t(a).toString();a in this.i||(this.i[a]=new Ue);return this.i[a]};function lv(a,b,c,d,e,f,g){b=[b,c,d];e=(c=vf(a,b,f))?a.tileUrlFunction(c,e,f):void 0;e=new a.tileClass(b,void 0!==e?0:4,void 0!==e?e:"",a.crossOrigin,a.tileLoadFunction);e.key=g;B(e,"change",a.Bh,a);return e}
k.bc=function(a,b,c,d,e){if(this.f&&e&&!Pc(this.f,e)){var f=this.pd(e);c=[a,b,c];var g;a=this.Fb.apply(this,c);Re(f,a)&&(g=f.get(a));b=this.Mb;if(g&&g.key==b)return g;var h=this.f,l=this.fb(h),m=this.fb(e),n=vf(this,c,e);d=new jv(h,l,e,m,c,n,this.cc(d),this.gf(),function(a,b,c,d){return mv(this,a,b,c,d,h)}.bind(this),this.na,this.D);d.key=b;g?(d.a=g,f.replace(a,d)):f.set(a,d);return d}return mv(this,a,b,c,d,e)};
function mv(a,b,c,d,e,f){var g,h=a.Fb(b,c,d),l=a.Mb;if(Re(a.a,h)){if(g=a.a.get(h),g.key!=l){var m=g;g.a&&g.a.key==l?(g=g.a,2==m.V()&&(g.a=m)):(g=lv(a,b,c,d,e,f,l),2==m.V()?g.a=m:m.a&&2==m.a.V()&&(g.a=m.a,m.a=null));g.a&&(g.a.a=null);a.a.replace(h,g)}}else g=lv(a,b,c,d,e,f,l),a.a.set(h,g);return g}k.Ab=function(a){if(this.D!=a){this.D=a;for(var b in this.i)this.i[b].clear();this.u()}};k.Bb=function(a,b){var c=zc(a);c&&(c=t(c).toString(),c in this.s||(this.s[c]=b))};function kv(a,b){a.$a().src=b};function nv(a){X.call(this,{cacheSize:a.cacheSize,crossOrigin:"anonymous",opaque:!0,projection:zc("EPSG:3857"),reprojectionErrorThreshold:a.reprojectionErrorThreshold,state:"loading",tileLoadFunction:a.tileLoadFunction,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.j=void 0!==a.culture?a.culture:"en-us";this.c=void 0!==a.maxZoom?a.maxZoom:-1;iv("https://dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.imagerySet+"?uriScheme=https&include=ImageryProviders&key="+a.key,this.v.bind(this),void 0,"jsonp")}
x(nv,X);var ov=new $d({html:'<a class="ol-attribution-bing-tos" href="http://www.microsoft.com/maps/product/terms.html">Terms of Use</a>'});
nv.prototype.v=function(a){if(200!=a.statusCode||"OK"!=a.statusDescription||"ValidCredentials"!=a.authenticationResultCode||1!=a.resourceSets.length||1!=a.resourceSets[0].resources.length)cf(this,"error");else{var b=a.brandLogoUri;-1==b.indexOf("https")&&(b=b.replace("http","https"));var c=a.resourceSets[0].resources[0],d=-1==this.c?c.zoomMax:this.c;a=of(this.f);var e=qf({extent:a,minZoom:c.zoomMin,maxZoom:d,tileSize:c.imageWidth==c.imageHeight?c.imageWidth:[c.imageWidth,c.imageHeight]});this.tileGrid=
e;var f=this.j;this.tileUrlFunction=Gl(c.imageUrlSubdomains.map(function(a){var b=[0,0,0],d=c.imageUrl.replace("{subdomain}",a).replace("{culture}",f);return function(a){if(a)return Se(a[0],a[1],-a[2]-1,b),d.replace("{quadkey}",Te(b))}}));if(c.imageryProviders){var g=Cc(zc("EPSG:4326"),this.f);a=c.imageryProviders.map(function(a){var b=a.attribution,c={};a.coverageAreas.forEach(function(a){var b=a.zoomMin,f=Math.min(a.zoomMax,d);a=a.bbox;a=qc([a[1],a[0],a[3],a[2]],g);var h,l;for(h=b;h<=f;++h)l=h.toString(),
b=gf(e,a,h),l in c?c[l].push(b):c[l]=[b]});return new $d({html:b,tileRanges:c})});a.push(ov);this.qa(a)}this.S=b;cf(this,"ready")}};function pv(a){a=a||{};var b=void 0!==a.projection?a.projection:"EPSG:3857",c=void 0!==a.tileGrid?a.tileGrid:qf({extent:of(b),maxZoom:a.maxZoom,minZoom:a.minZoom,tileSize:a.tileSize});X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:a.opaque,projection:b,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:c,tileLoadFunction:a.tileLoadFunction,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,
wrapX:void 0!==a.wrapX?a.wrapX:!0})}x(pv,X);function qv(a){this.v=a.account;this.A=a.map||"";this.c=a.config||{};this.j={};pv.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,maxZoom:void 0!==a.maxZoom?a.maxZoom:18,minZoom:a.minZoom,projection:a.projection,state:"loading",wrapX:a.wrapX});rv(this)}x(qv,pv);k=qv.prototype;k.Tj=function(){return this.c};k.up=function(a){Ca(this.c,a);rv(this)};k.$o=function(a){this.c=a||{};rv(this)};
function rv(a){var b=JSON.stringify(a.c);if(a.j[b])sv(a,a.j[b]);else{var c="https://"+a.v+".cartodb.com/api/v1/map";a.A&&(c+="/named/"+a.A);var d=new XMLHttpRequest;d.addEventListener("load",a.Nk.bind(a,b));d.addEventListener("error",a.Mk.bind(a));d.open("POST",c);d.setRequestHeader("Content-type","application/json");d.send(JSON.stringify(a.c))}}
k.Nk=function(a,b){var c=b.target;if(200<=c.status&&300>c.status){var d;try{d=JSON.parse(c.responseText)}catch(e){cf(this,"error");return}sv(this,d);this.j[a]=d;cf(this,"ready")}else cf(this,"error")};k.Mk=function(){cf(this,"error")};function sv(a,b){a.Va("https://"+b.cdn_url.https+"/"+a.v+"/api/v1/map/"+b.layergroupid+"/{z}/{x}/{y}.png")};function Y(a){P.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,wrapX:a.wrapX});this.D=void 0;this.za=void 0!==a.distance?a.distance:20;this.A=[];this.na=a.geometryFunction||function(a){return a.X()};this.v=a.source;this.v.I("change",Y.prototype.cb,this)}x(Y,P);Y.prototype.Sa=function(){return this.v};Y.prototype.Pc=function(a,b,c){this.v.Pc(a,b,c);b!==this.D&&(this.clear(),this.D=b,tv(this),this.Jc(this.A))};
Y.prototype.cb=function(){this.clear();tv(this);this.Jc(this.A);this.u()};function tv(a){if(void 0!==a.D){a.A.length=0;for(var b=Jb(),c=a.za*a.D,d=a.v.oe(),e={},f=0,g=d.length;f<g;f++){var h=d[f];t(h).toString()in e||!(h=a.na(h))||(h=h.Z(),Wb(h,b),Mb(b,c,b),h=a.v.ef(b),h=h.filter(function(a){a=t(a).toString();return a in e?!1:e[a]=!0}),a.A.push(uv(a,h)))}}}
function uv(a,b){for(var c=[0,0],d=b.length-1;0<=d;--d){var e=a.na(b[d]);e?yb(c,e.Z()):b.splice(d,1)}d=1/b.length;c[0]*=d;c[1]*=d;c=new Ik(new C(c));c.set("features",b);return c};function vv(a,b){var c=Object.keys(b).map(function(a){return a+"="+encodeURIComponent(b[a])}).join("&");a=a.replace(/[?&]$/,"");a=-1===a.indexOf("?")?a+"?":a+"&";return a+c};function wv(a){a=a||{};Ak.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions});this.W=void 0!==a.crossOrigin?a.crossOrigin:null;this.i=a.url;this.j=void 0!==a.imageLoadFunction?a.imageLoadFunction:Gk;this.v=a.params||{};this.c=null;this.s=[0,0];this.T=0;this.P=void 0!==a.ratio?a.ratio:1.5}x(wv,Ak);k=wv.prototype;k.Sm=function(){return this.v};
k.Mc=function(a,b,c,d){if(void 0===this.i)return null;b=Bk(this,b);var e=this.c;if(e&&this.T==this.g&&e.$()==b&&e.f==c&&Sb(e.H(),a))return e;e={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};Ca(e,this.v);a=a.slice();var f=(a[0]+a[2])/2,g=(a[1]+a[3])/2;if(1!=this.P){var h=this.P*jc(a)/2,l=this.P*kc(a)/2;a[0]=f-h;a[1]=g-l;a[2]=f+h;a[3]=g+l}var h=b/c,l=Math.ceil(jc(a)/h),m=Math.ceil(kc(a)/h);a[0]=f-h*l/2;a[2]=f+h*l/2;a[1]=g-h*m/2;a[3]=g+h*m/2;this.s[0]=l;this.s[1]=m;f=a;g=this.s;d=d.eb.split(":").pop();e.SIZE=
g[0]+","+g[1];e.BBOX=f.join(",");e.BBOXSR=d;e.IMAGESR=d;e.DPI=90*c;d=this.i.replace(/MapServer\/?$/,"MapServer/export").replace(/ImageServer\/?$/,"ImageServer/exportImage");e=vv(d,e);this.c=new cu(a,b,c,this.l,e,this.W,this.j);this.T=this.g;B(this.c,"change",this.o,this);return this.c};k.Rm=function(){return this.j};k.Tm=function(){return this.i};k.Um=function(a){this.c=null;this.j=a;this.u()};k.Vm=function(a){a!=this.i&&(this.i=a,this.c=null,this.u())};k.Wm=function(a){Ca(this.v,a);this.c=null;this.u()};function xv(a){Ak.call(this,{projection:a.projection,resolutions:a.resolutions});this.W=void 0!==a.crossOrigin?a.crossOrigin:null;this.s=void 0!==a.displayDpi?a.displayDpi:96;this.j=a.params||{};this.T=a.url;this.c=void 0!==a.imageLoadFunction?a.imageLoadFunction:Gk;this.ia=void 0!==a.hidpi?a.hidpi:!0;this.oa=void 0!==a.metersPerUnit?a.metersPerUnit:1;this.v=void 0!==a.ratio?a.ratio:1;this.za=void 0!==a.useOverlay?a.useOverlay:!1;this.i=null;this.P=0}x(xv,Ak);k=xv.prototype;k.Ym=function(){return this.j};
k.Mc=function(a,b,c){b=Bk(this,b);c=this.ia?c:1;var d=this.i;if(d&&this.P==this.g&&d.$()==b&&d.f==c&&Sb(d.H(),a))return d;1!=this.v&&(a=a.slice(),pc(a,this.v));var e=[jc(a)/b*c,kc(a)/b*c];if(void 0!==this.T){var d=this.T,f=lc(a),g=this.oa,h=jc(a),l=kc(a),m=e[0],n=e[1],p=.0254/this.s,e={OPERATION:this.za?"GETDYNAMICMAPOVERLAYIMAGE":"GETMAPIMAGE",VERSION:"2.0.0",LOCALE:"en",CLIENTAGENT:"ol.source.ImageMapGuide source",CLIP:"1",SETDISPLAYDPI:this.s,SETDISPLAYWIDTH:Math.round(e[0]),SETDISPLAYHEIGHT:Math.round(e[1]),
SETVIEWSCALE:n*h>m*l?h*g/(m*p):l*g/(n*p),SETVIEWCENTERX:f[0],SETVIEWCENTERY:f[1]};Ca(e,this.j);d=vv(d,e);d=new cu(a,b,c,this.l,d,this.W,this.c);B(d,"change",this.o,this)}else d=null;this.i=d;this.P=this.g;return d};k.Xm=function(){return this.c};k.$m=function(a){Ca(this.j,a);this.u()};k.Zm=function(a){this.i=null;this.c=a;this.u()};function yv(a){var b=a.imageExtent,c=void 0!==a.crossOrigin?a.crossOrigin:null,d=void 0!==a.imageLoadFunction?a.imageLoadFunction:Gk;Ak.call(this,{attributions:a.attributions,logo:a.logo,projection:zc(a.projection)});this.c=new cu(b,void 0,1,this.l,a.url,c,d);this.i=a.imageSize?a.imageSize:null;B(this.c,"change",this.o,this)}x(yv,Ak);yv.prototype.Mc=function(a){return oc(a,this.c.H())?this.c:null};
yv.prototype.o=function(a){if(2==this.c.V()){var b=this.c.H(),c=this.c.a(),d,e;this.i?(d=this.i[0],e=this.i[1]):(d=c.width,e=c.height);b=Math.ceil(jc(b)/(kc(b)/e));if(b!=d){var b=Ge(b,e),f=b.canvas;b.drawImage(c,0,0,d,e,0,0,f.width,f.height);this.c.g=f}}Ak.prototype.o.call(this,a)};function zv(a){a=a||{};Ak.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions});this.oa=void 0!==a.crossOrigin?a.crossOrigin:null;this.j=a.url;this.P=void 0!==a.imageLoadFunction?a.imageLoadFunction:Gk;this.i=a.params||{};this.v=!0;Av(this);this.ia=a.serverType;this.za=void 0!==a.hidpi?a.hidpi:!0;this.c=null;this.T=[0,0];this.W=0;this.s=void 0!==a.ratio?a.ratio:1.5}x(zv,Ak);var Bv=[101,101];k=zv.prototype;
k.fn=function(a,b,c,d){if(void 0!==this.j){var e=mc(a,b,0,Bv),f={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetFeatureInfo",FORMAT:"image/png",TRANSPARENT:!0,QUERY_LAYERS:this.i.LAYERS};Ca(f,this.i,d);d=Math.floor((e[3]-a[1])/b);f[this.v?"I":"X"]=Math.floor((a[0]-e[0])/b);f[this.v?"J":"Y"]=d;return Cv(this,e,Bv,1,zc(c),f)}};k.hn=function(){return this.i};
k.Mc=function(a,b,c,d){if(void 0===this.j)return null;b=Bk(this,b);1==c||this.za&&void 0!==this.ia||(c=1);a=a.slice();var e=(a[0]+a[2])/2,f=(a[1]+a[3])/2,g=b/c,h=jc(a)/g,g=kc(a)/g,l=this.c;if(l&&this.W==this.g&&l.$()==b&&l.f==c&&Sb(l.H(),a))return l;if(1!=this.s){var l=this.s*jc(a)/2,m=this.s*kc(a)/2;a[0]=e-l;a[1]=f-m;a[2]=e+l;a[3]=f+m}e={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0};Ca(e,this.i);this.T[0]=Math.ceil(h*this.s);this.T[1]=Math.ceil(g*this.s);d=Cv(this,
a,this.T,c,d,e);this.c=new cu(a,b,c,this.l,d,this.oa,this.P);this.W=this.g;B(this.c,"change",this.o,this);return this.c};k.gn=function(){return this.P};
function Cv(a,b,c,d,e,f){f[a.v?"CRS":"SRS"]=e.eb;"STYLES"in a.i||(f.STYLES="");if(1!=d)switch(a.ia){case "geoserver":d=90*d+.5|0;f.FORMAT_OPTIONS="FORMAT_OPTIONS"in f?f.FORMAT_OPTIONS+(";dpi:"+d):"dpi:"+d;break;case "mapserver":f.MAP_RESOLUTION=90*d;break;case "carmentaserver":case "qgis":f.DPI=90*d}f.WIDTH=c[0];f.HEIGHT=c[1];c=e.b;var g;a.v&&"ne"==c.substr(0,2)?g=[b[1],b[0],b[3],b[2]]:g=b;f.BBOX=g.join(",");return vv(a.j,f)}k.jn=function(){return this.j};k.kn=function(a){this.c=null;this.P=a;this.u()};
k.ln=function(a){a!=this.j&&(this.j=a,this.c=null,this.u())};k.mn=function(a){Ca(this.i,a);Av(this);this.c=null;this.u()};function Av(a){a.v=0<=xb(a.i.VERSION||"1.3.0")};function Dv(a){a=a||{};var b;void 0!==a.attributions?b=a.attributions:b=[Ev];pv.call(this,{attributions:b,cacheSize:a.cacheSize,crossOrigin:void 0!==a.crossOrigin?a.crossOrigin:"anonymous",opaque:void 0!==a.opaque?a.opaque:!0,maxZoom:void 0!==a.maxZoom?a.maxZoom:19,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileLoadFunction:a.tileLoadFunction,url:void 0!==a.url?a.url:"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png",wrapX:a.wrapX})}x(Dv,pv);var Ev=new $d({html:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.'});(function(){var a={},b={ja:a};(function(c){if("object"===typeof a&&"undefined"!==typeof b)b.ja=c();else{var d;"undefined"!==typeof window?d=window:"undefined"!==typeof global?d=global:"undefined"!==typeof self?d=self:d=this;d.Sp=c()}})(function(){return function d(a,b,g){function h(m,p){if(!b[m]){if(!a[m]){var q="function"==typeof require&&require;if(!p&&q)return q(m,!0);if(l)return l(m,!0);q=Error("Cannot find module '"+m+"'");throw q.code="MODULE_NOT_FOUND",q;}q=b[m]={ja:{}};a[m][0].call(q.ja,function(b){var d=
a[m][1][b];return h(d?d:b)},q,q.ja,d,a,b,g)}return b[m].ja}for(var l="function"==typeof require&&require,m=0;m<g.length;m++)h(g[m]);return h}({1:[function(a,b,f){a=a("./processor");f.$i=a},{"./processor":2}],2:[function(a,b){function f(a){var b=!0;try{new ImageData(10,10)}catch(d){b=!1}return function(d){var e=d.buffers,f=d.meta,g=d.width,h=d.height,l=e.length,m=e[0].byteLength;if(d.imageOps){m=Array(l);for(d=0;d<l;++d){var D=m,H=d,ba;ba=new Uint8ClampedArray(e[d]);var A=g,Fa=h;ba=b?new ImageData(ba,
A,Fa):{data:ba,width:A,height:Fa};D[H]=ba}g=a(m,f).data}else{g=new Uint8ClampedArray(m);h=Array(l);D=Array(l);for(d=0;d<l;++d)h[d]=new Uint8ClampedArray(e[d]),D[d]=[0,0,0,0];for(e=0;e<m;e+=4){for(d=0;d<l;++d)H=h[d],D[d][0]=H[e],D[d][1]=H[e+1],D[d][2]=H[e+2],D[d][3]=H[e+3];d=a(D,f);g[e]=d[0];g[e+1]=d[1];g[e+2]=d[2];g[e+3]=d[3]}}return g.buffer}}function g(a,b){var d=Object.keys(a.lib||{}).map(function(b){return"var "+b+" = "+a.lib[b].toString()+";"}).concat(["var __minion__ = ("+f.toString()+")(",
a.operation.toString(),");",'self.addEventListener("message", function(event) {'," var buffer = __minion__(event.data);"," self.postMessage({buffer: buffer, meta: event.data.meta}, [buffer]);","});"]),d=URL.createObjectURL(new Blob(d,{type:"text/javascript"})),d=new Worker(d);d.addEventListener("message",b);return d}function h(a,b){var d=f(a.operation);return{postMessage:function(a){setTimeout(function(){b({data:{buffer:d(a),meta:a.meta}})},0)}}}function l(a){this.Re=!!a.ll;var b;0===a.threads?
b=0:this.Re?b=1:b=a.threads||1;var d=[];if(b)for(var e=0;e<b;++e)d[e]=g(a,this.ig.bind(this,e));else d[0]=h(a,this.ig.bind(this,0));this.Ld=d;this.$c=[];this.oj=a.uo||Infinity;this.Jd=0;this.Ic={};this.Se=null}var m=a("./util").Fl;l.prototype.so=function(a,b,d){this.lj({Ac:a,Xg:b,qg:d});this.fg()};l.prototype.lj=function(a){for(this.$c.push(a);this.$c.length>this.oj;)this.$c.shift().qg(null,null)};l.prototype.fg=function(){if(0===this.Jd&&0<this.$c.length){var a=this.Se=this.$c.shift(),b=a.Ac[0].width,
d=a.Ac[0].height,e=a.Ac.map(function(a){return a.data.buffer}),f=this.Ld.length;this.Jd=f;if(1===f)this.Ld[0].postMessage({buffers:e,meta:a.Xg,imageOps:this.Re,width:b,height:d},e);else for(var g=4*Math.ceil(a.Ac[0].data.length/4/f),h=0;h<f;++h){for(var l=h*g,m=[],D=0,H=e.length;D<H;++D)m.push(e[h].slice(l,l+g));this.Ld[h].postMessage({buffers:m,meta:a.Xg,imageOps:this.Re,width:b,height:d},m)}}};l.prototype.ig=function(a,b){this.Pp||(this.Ic[a]=b.data,--this.Jd,0===this.Jd&&this.pj())};l.prototype.pj=
function(){var a=this.Se,b=this.Ld.length,d,e;if(1===b)d=new Uint8ClampedArray(this.Ic[0].buffer),e=this.Ic[0].meta;else{var f=a.Ac[0].data.length;d=new Uint8ClampedArray(f);e=Array(f);for(var f=4*Math.ceil(f/4/b),g=0;g<b;++g){var h=g*f;d.set(new Uint8ClampedArray(this.Ic[g].buffer),h);e[g]=this.Ic[g].meta}}this.Se=null;this.Ic={};a.qg(null,m(d,a.Ac[0].width,a.Ac[0].height),e);this.fg()};b.ja=l},{"./util":3}],3:[function(a,b,f){var g=!0;try{new ImageData(10,10)}catch(l){g=!1}var h=document.createElement("canvas").getContext("2d");
f.Fl=function(a,b,d){if(g)return new ImageData(a,b,d);b=h.createImageData(b,d);b.data.set(a);return b}},{}]},{},[1])(1)});jl=b.ja})();function Fv(a){this.P=null;this.za=void 0!==a.operationType?a.operationType:"pixel";this.Sa=void 0!==a.threads?a.threads:1;this.c=Gv(a.sources);for(var b=0,c=this.c.length;b<c;++b)B(this.c[b],"change",this.u,this);this.i=Ge();this.ia=new Th(function(){return 1},this.u.bind(this));for(var b=Hv(this.c),c={},d=0,e=b.length;d<e;++d)c[t(b[d].layer)]=b[d];this.j=this.s=null;this.W={animate:!1,attributions:{},coordinateToPixelTransform:ch(),extent:null,focus:null,index:0,layerStates:c,layerStatesArray:b,
logos:{},pixelRatio:1,pixelToCoordinateTransform:ch(),postRenderFunctions:[],size:[0,0],skippedFeatureUids:{},tileQueue:this.ia,time:Date.now(),usedTiles:{},viewState:{rotation:0},viewHints:[],wantedTiles:{}};Ak.call(this,{});void 0!==a.operation&&this.v(a.operation,a.lib)}x(Fv,Ak);Fv.prototype.v=function(a,b){this.P=new jl.$i({operation:a,ll:"image"===this.za,uo:1,lib:b,threads:this.Sa});this.u()};function Iv(a,b,c){var d=a.s;return!d||a.g!==d.Xo||c!==d.resolution||!$b(b,d.extent)}
Fv.prototype.A=function(a,b,c,d){c=!0;for(var e,f=0,g=this.c.length;f<g;++f)if(e=this.c[f].a.ha(),"ready"!==e.V()){c=!1;break}if(!c)return null;a=a.slice();if(!Iv(this,a,b))return this.j;c=this.i.canvas;e=Math.round(jc(a)/b);f=Math.round(kc(a)/b);if(e!==c.width||f!==c.height)c.width=e,c.height=f;e=Ca({},this.W);e.viewState=Ca({},e.viewState);var f=lc(a),g=Math.round(jc(a)/b),h=Math.round(kc(a)/b);e.extent=a;e.focus=lc(a);e.size[0]=g;e.size[1]=h;g=e.viewState;g.center=f;g.projection=d;g.resolution=
b;this.j=d=new nk(a,b,1,this.l,c,this.T.bind(this,e));this.s={extent:a,resolution:b,Xo:this.g};return d};
Fv.prototype.T=function(a,b){for(var c=this.c.length,d=Array(c),e=0;e<c;++e){var f;f=this.c[e];var g=a,h=a.layerStatesArray[e];if(f.l(g,h)){var l=g.size[0],m=g.size[1];if(Jv){var n=Jv.canvas;n.width!==l||n.height!==m?Jv=Ge(l,m):Jv.clearRect(0,0,l,m)}else Jv=Ge(l,m);f.i(g,h,Jv);f=Jv.getImageData(0,0,l,m)}else f=null;if(f)d[e]=f;else return}c={};this.b(new Kv(Lv,a,c));this.P.so(d,c,this.oa.bind(this,a,b));Uh(a.tileQueue,16,16)};
Fv.prototype.oa=function(a,b,c,d,e){c?b(c):d&&(this.b(new Kv(Mv,a,e)),Iv(this,a.extent,a.viewState.resolution/a.pixelRatio)||this.i.putImageData(d,0,0),b(null))};var Jv=null;function Hv(a){return a.map(function(a){return oh(a.a)})}function Gv(a){for(var b=a.length,c=Array(b),d=0;d<b;++d){var e=d,f=a[d],g=null;f instanceof rf?(f=new F({source:f}),g=new Bl(f)):f instanceof Ak&&(f=new ej({source:f}),g=new Al(f));c[e]=g}return c}
function Kv(a,b,c){Ua.call(this,a);this.extent=b.extent;this.resolution=b.viewState.resolution/b.pixelRatio;this.data=c}x(Kv,Ua);var Lv="beforeoperations",Mv="afteroperations";var Nv={terrain:{ub:"jpg",opaque:!0},"terrain-background":{ub:"jpg",opaque:!0},"terrain-labels":{ub:"png",opaque:!1},"terrain-lines":{ub:"png",opaque:!1},"toner-background":{ub:"png",opaque:!0},toner:{ub:"png",opaque:!0},"toner-hybrid":{ub:"png",opaque:!1},"toner-labels":{ub:"png",opaque:!1},"toner-lines":{ub:"png",opaque:!1},"toner-lite":{ub:"png",opaque:!0},watercolor:{ub:"jpg",opaque:!0}},Ov={terrain:{minZoom:4,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:1,maxZoom:16}};
function Pv(a){var b=a.layer.indexOf("-"),b=-1==b?a.layer:a.layer.slice(0,b),b=Ov[b],c=Nv[a.layer];pv.call(this,{attributions:Qv,cacheSize:a.cacheSize,crossOrigin:"anonymous",maxZoom:void 0!=a.maxZoom?a.maxZoom:b.maxZoom,minZoom:void 0!=a.minZoom?a.minZoom:b.minZoom,opaque:c.opaque,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileLoadFunction:a.tileLoadFunction,url:void 0!==a.url?a.url:"https://stamen-tiles-{a-d}.a.ssl.fastly.net/"+a.layer+"/{z}/{x}/{y}."+c.ub})}x(Pv,pv);
var Qv=[new $d({html:'Map tiles by <a href="http://stamen.com/">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.'}),Ev];function Rv(a){a=a||{};X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.c=a.params||{};this.j=Jb()}x(Rv,X);Rv.prototype.v=function(){return this.c};Rv.prototype.cc=function(a){return a};
Rv.prototype.vc=function(a,b,c){var d=this.tileGrid;d||(d=this.fb(c));if(!(d.b.length<=a[0])){var e=d.Ea(a,this.j),f=$e(d.Ja(a[0]),this.o);1!=b&&(f=Ze(f,b,this.o));d={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};Ca(d,this.c);var g=this.urls;g?(c=c.eb.split(":").pop(),d.SIZE=f[0]+","+f[1],d.BBOX=e.join(","),d.BBOXSR=c,d.IMAGESR=c,d.DPI=Math.round(d.DPI?d.DPI*b:90*b),a=(1==g.length?g[0]:g[xa((a[1]<<a[0])+a[2],g.length)]).replace(/MapServer\/?$/,"MapServer/export").replace(/ImageServer\/?$/,"ImageServer/exportImage"),
a=vv(a,d)):a=void 0;return a}};Rv.prototype.A=function(a){Ca(this.c,a);this.u()};function Sv(a,b,c){We.call(this,a,2);this.l=b;this.c=c;this.g={}}x(Sv,We);Sv.prototype.$a=function(a){a=void 0!==a?t(a):-1;if(a in this.g)return this.g[a];var b=this.l,c=Ge(b[0],b[1]);c.strokeStyle="black";c.strokeRect(.5,.5,b[0]+.5,b[1]+.5);c.fillStyle="black";c.textAlign="center";c.textBaseline="middle";c.font="24px sans-serif";c.fillText(this.c,b[0]/2,b[1]/2);return this.g[a]=c.canvas};
function Tv(a){rf.call(this,{opaque:!1,projection:a.projection,tileGrid:a.tileGrid,wrapX:void 0!==a.wrapX?a.wrapX:!0})}x(Tv,rf);Tv.prototype.bc=function(a,b,c){var d=this.Fb(a,b,c);if(Re(this.a,d))return this.a.get(d);var e=$e(this.tileGrid.Ja(a));a=[a,b,c];b=(b=vf(this,a))?vf(this,b).toString():"";e=new Sv(a,e,b);this.a.set(d,e);return e};function Uv(a){this.c=null;X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,projection:zc("EPSG:3857"),reprojectionErrorThreshold:a.reprojectionErrorThreshold,state:"loading",tileLoadFunction:a.tileLoadFunction,wrapX:void 0!==a.wrapX?a.wrapX:!0});if(a.jsonp)iv(a.url,this.yh.bind(this),this.me.bind(this));else{var b=new XMLHttpRequest;b.addEventListener("load",this.pn.bind(this));b.addEventListener("error",this.nn.bind(this));b.open("GET",a.url);b.send()}}
x(Uv,X);k=Uv.prototype;k.pn=function(a){a=a.target;if(200<=a.status&&300>a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.me();return}this.yh(b)}else this.me()};k.nn=function(){this.me()};k.Ak=function(){return this.c};
k.yh=function(a){var b=zc("EPSG:4326"),c=this.f,d;void 0!==a.bounds&&(d=qc(a.bounds,Cc(b,c)));var e=a.minzoom||0,f=a.maxzoom||22;this.tileGrid=c=qf({extent:of(c),maxZoom:f,minZoom:e});this.tileUrlFunction=Fl(a.tiles,c);if(void 0!==a.attribution&&!this.l){b=void 0!==d?d:b.H();d={};for(var g;e<=f;++e)g=e.toString(),d[g]=[gf(c,b,e)];this.qa([new $d({html:a.attribution,tileRanges:d})])}this.c=a;cf(this,"ready")};k.me=function(){cf(this,"error")};function Vv(a){rf.call(this,{projection:zc("EPSG:3857"),state:"loading"});this.s=void 0!==a.preemptive?a.preemptive:!0;this.j=Hl;this.i=void 0;this.c=a.jsonp||!1;if(a.url)if(this.c)iv(a.url,this.Bf.bind(this),this.ne.bind(this));else{var b=new XMLHttpRequest;b.addEventListener("load",this.tn.bind(this));b.addEventListener("error",this.sn.bind(this));b.open("GET",a.url);b.send()}else a.tileJSON&&this.Bf(a.tileJSON)}x(Vv,rf);k=Vv.prototype;
k.tn=function(a){a=a.target;if(200<=a.status&&300>a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.ne();return}this.Bf(b)}else this.ne()};k.sn=function(){this.ne()};k.xk=function(){return this.i};k.Ij=function(a,b,c,d,e){this.tileGrid?(b=this.tileGrid.Zd(a,b),Wv(this.bc(b[0],b[1],b[2],1,this.f),a,c,d,e)):!0===e?Mf(function(){c.call(d,null)}):c.call(d,null)};k.ne=function(){cf(this,"error")};
k.Bf=function(a){var b=zc("EPSG:4326"),c=this.f,d;void 0!==a.bounds&&(d=qc(a.bounds,Cc(b,c)));var e=a.minzoom||0,f=a.maxzoom||22;this.tileGrid=c=qf({extent:of(c),maxZoom:f,minZoom:e});this.i=a.template;var g=a.grids;if(g){this.j=Fl(g,c);if(void 0!==a.attribution){b=void 0!==d?d:b.H();for(d={};e<=f;++e)g=e.toString(),d[g]=[gf(c,b,e)];this.qa([new $d({html:a.attribution,tileRanges:d})])}cf(this,"ready")}else cf(this,"error")};
k.bc=function(a,b,c,d,e){var f=this.Fb(a,b,c);if(Re(this.a,f))return this.a.get(f);a=[a,b,c];b=vf(this,a,e);d=this.j(b,d,e);d=new Xv(a,void 0!==d?0:4,void 0!==d?d:"",this.tileGrid.Ea(a),this.s,this.c);this.a.set(f,d);return d};k.Yf=function(a,b,c){a=this.Fb(a,b,c);Re(this.a,a)&&this.a.get(a)};function Xv(a,b,c,d,e,f){We.call(this,a,b);this.s=c;this.g=d;this.U=e;this.c=this.j=this.l=null;this.v=f}x(Xv,We);k=Xv.prototype;k.$a=function(){return null};
k.getData=function(a){if(!this.l||!this.j)return null;var b=this.l[Math.floor((1-(a[1]-this.g[1])/(this.g[3]-this.g[1]))*this.l.length)];if("string"!==typeof b)return null;b=b.charCodeAt(Math.floor((a[0]-this.g[0])/(this.g[2]-this.g[0])*b.length));93<=b&&b--;35<=b&&b--;b-=32;a=null;b in this.j&&(b=this.j[b],this.c&&b in this.c?a=this.c[b]:a=b);return a};
function Wv(a,b,c,d,e){0==a.state&&!0===e?(Pa(a,"change",function(){c.call(d,this.getData(b))},a),Yv(a)):!0===e?Mf(function(){c.call(d,this.getData(b))},a):c.call(d,a.getData(b))}k.jb=function(){return this.s};k.ae=function(){this.state=3;Xe(this)};k.zh=function(a){this.l=a.grid;this.j=a.keys;this.c=a.data;this.state=4;Xe(this)};
function Yv(a){if(0==a.state)if(a.state=1,a.v)iv(a.s,a.zh.bind(a),a.ae.bind(a));else{var b=new XMLHttpRequest;b.addEventListener("load",a.rn.bind(a));b.addEventListener("error",a.qn.bind(a));b.open("GET",a.s);b.send()}}k.rn=function(a){a=a.target;if(200<=a.status&&300>a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.ae();return}this.zh(b)}else this.ae()};k.qn=function(){this.ae()};k.load=function(){this.U&&Yv(this)};function Zv(a){a=a||{};var b=a.params||{};X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:!("TRANSPARENT"in b?b.TRANSPARENT:1),projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.v=void 0!==a.gutter?a.gutter:0;this.c=b;this.j=!0;this.A=a.serverType;this.T=void 0!==a.hidpi?a.hidpi:!0;this.P="";
$v(this);this.W=Jb();aw(this);uf(this,bw(this))}x(Zv,X);k=Zv.prototype;
k.vn=function(a,b,c,d){c=zc(c);var e=this.tileGrid;e||(e=this.fb(c));b=e.Zd(a,b);if(!(e.b.length<=b[0])){var f=e.$(b[0]),g=e.Ea(b,this.W),e=$e(e.Ja(b[0]),this.o),h=this.v;0!==h&&(e=Ye(e,h,this.o),g=Mb(g,f*h,g));h={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetFeatureInfo",FORMAT:"image/png",TRANSPARENT:!0,QUERY_LAYERS:this.c.LAYERS};Ca(h,this.c,d);d=Math.floor((g[3]-a[1])/f);h[this.j?"I":"X"]=Math.floor((a[0]-g[0])/f);h[this.j?"J":"Y"]=d;return cw(this,b,e,g,1,c,h)}};k.gf=function(){return this.v};
k.Fb=function(a,b,c){return this.P+X.prototype.Fb.call(this,a,b,c)};k.wn=function(){return this.c};
function cw(a,b,c,d,e,f,g){var h=a.urls;if(h){g.WIDTH=c[0];g.HEIGHT=c[1];g[a.j?"CRS":"SRS"]=f.eb;"STYLES"in a.c||(g.STYLES="");if(1!=e)switch(a.A){case "geoserver":c=90*e+.5|0;g.FORMAT_OPTIONS="FORMAT_OPTIONS"in g?g.FORMAT_OPTIONS+(";dpi:"+c):"dpi:"+c;break;case "mapserver":g.MAP_RESOLUTION=90*e;break;case "carmentaserver":case "qgis":g.DPI=90*e}f=f.b;a.j&&"ne"==f.substr(0,2)&&(a=d[0],d[0]=d[1],d[1]=a,a=d[2],d[2]=d[3],d[3]=a);g.BBOX=d.join(",");return vv(1==h.length?h[0]:h[xa((b[1]<<b[0])+b[2],h.length)],
g)}}k.cc=function(a){return this.T&&void 0!==this.A?a:1};function $v(a){var b=0,c=[];if(a.urls){var d,e;d=0;for(e=a.urls.length;d<e;++d)c[b++]=a.urls[d]}a.P=c.join("#")}function bw(a){var b=0,c=[],d;for(d in a.c)c[b++]=d+"-"+a.c[d];return c.join("/")}
k.vc=function(a,b,c){var d=this.tileGrid;d||(d=this.fb(c));if(!(d.b.length<=a[0])){1==b||this.T&&void 0!==this.A||(b=1);var e=d.$(a[0]),f=d.Ea(a,this.W),d=$e(d.Ja(a[0]),this.o),g=this.v;0!==g&&(d=Ye(d,g,this.o),f=Mb(f,e*g,f));1!=b&&(d=Ze(d,b,this.o));e={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0};Ca(e,this.c);return cw(this,a,d,f,b,c,e)}};k.xn=function(a){Ca(this.c,a);$v(this);aw(this);uf(this,bw(this))};function aw(a){a.j=0<=xb(a.c.VERSION||"1.3.0")};function dw(a){this.l=a.matrixIds;df.call(this,{extent:a.extent,origin:a.origin,origins:a.origins,resolutions:a.resolutions,tileSize:a.tileSize,tileSizes:a.tileSizes,sizes:a.sizes})}x(dw,df);dw.prototype.j=function(){return this.l};
function ew(a,b){var c=[],d=[],e=[],f=[],g=[],h;h=zc(a.SupportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3"));var l=h.ac(),m="ne"==h.b.substr(0,2);a.TileMatrix.sort(function(a,b){return b.ScaleDenominator-a.ScaleDenominator});a.TileMatrix.forEach(function(a){d.push(a.Identifier);var b=2.8E-4*a.ScaleDenominator/l,h=a.TileWidth,r=a.TileHeight;m?e.push([a.TopLeftCorner[1],a.TopLeftCorner[0]]):e.push(a.TopLeftCorner);c.push(b);f.push(h==r?h:[h,r]);g.push([a.MatrixWidth,-a.MatrixHeight])});
return new dw({extent:b,origins:e,resolutions:c,matrixIds:d,tileSizes:f,sizes:g})};function Z(a){function b(a){a="KVP"==d?vv(a,f):a.replace(/\{(\w+?)\}/g,function(a,b){return b.toLowerCase()in f?f[b.toLowerCase()]:a});return function(b){if(b){var c={TileMatrix:e.l[b[0]],TileCol:b[1],TileRow:-b[2]-1};Ca(c,g);b=a;return b="KVP"==d?vv(b,c):b.replace(/\{(\w+?)\}/g,function(a,b){return c[b]})}}}this.T=void 0!==a.version?a.version:"1.0.0";this.v=void 0!==a.format?a.format:"image/jpeg";this.c=void 0!==a.dimensions?a.dimensions:{};this.A=a.layer;this.j=a.matrixSet;this.P=a.style;var c=
a.urls;void 0===c&&void 0!==a.url&&(c=Il(a.url));var d=this.W=void 0!==a.requestEncoding?a.requestEncoding:"KVP",e=a.tileGrid,f={layer:this.A,style:this.P,tilematrixset:this.j};"KVP"==d&&Ca(f,{Service:"WMTS",Request:"GetTile",Version:this.T,Format:this.v});var g=this.c,h=c&&0<c.length?Gl(c.map(b)):Hl;X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileClass:a.tileClass,
tileGrid:e,tileLoadFunction:a.tileLoadFunction,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:h,urls:c,wrapX:void 0!==a.wrapX?a.wrapX:!1});uf(this,fw(this))}x(Z,X);k=Z.prototype;k.Vj=function(){return this.c};k.yn=function(){return this.v};k.zn=function(){return this.A};k.hk=function(){return this.j};k.vk=function(){return this.W};k.An=function(){return this.P};k.Ck=function(){return this.T};function fw(a){var b=0,c=[],d;for(d in a.c)c[b++]=d+"-"+a.c[d];return c.join("/")}
k.vp=function(a){Ca(this.c,a);uf(this,fw(this))};function gw(a){a=a||{};var b=a.size,c=b[0],d=b[1],e=[],f=256;switch(void 0!==a.tierSizeCalculation?a.tierSizeCalculation:"default"){case "default":for(;c>f||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),f+=f;break;case "truncated":for(;c>f||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),c>>=1,d>>=1}e.push([1,1]);e.reverse();for(var f=[1],g=[0],d=1,c=e.length;d<c;d++)f.push(1<<d),g.push(e[d-1][0]*e[d-1][1]+g[d-1]);f.reverse();var b=[0,-b[1],b[0],0],b=new df({extent:b,origin:fc(b),resolutions:f}),h=a.url;
X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileClass:hw,tileGrid:b,tileUrlFunction:function(a){if(a){var b=a[0],c=a[1];a=-a[2]-1;return h+"TileGroup"+((c+a*e[b][0]+g[b])/256|0)+"/"+b+"-"+c+"-"+a+".jpg"}}})}x(gw,X);function hw(a,b,c,d,e){du.call(this,a,b,c,d,e);this.l={}}x(hw,du);
hw.prototype.$a=function(a){var b=void 0!==a?t(a).toString():"";if(b in this.l)return this.l[b];a=du.prototype.$a.call(this,a);if(2==this.state){if(256==a.width&&256==a.height)return this.l[b]=a;var c=Ge(256,256);c.drawImage(a,0,0);return this.l[b]=c.canvas}return a};function iw(a){a=a||{};this.a=void 0!==a.initialSize?a.initialSize:256;this.g=void 0!==a.maxSize?a.maxSize:void 0!==la?la:2048;this.b=void 0!==a.space?a.space:1;this.c=[new jw(this.a,this.b)];this.f=this.a;this.i=[new jw(this.f,this.b)]}iw.prototype.add=function(a,b,c,d,e,f){if(b+this.b>this.g||c+this.b>this.g)return null;d=kw(this,!1,a,b,c,d,f);if(!d)return null;a=kw(this,!0,a,b,c,void 0!==e?e:oa,f);return{offsetX:d.offsetX,offsetY:d.offsetY,image:d.image,Sg:a.image}};
function kw(a,b,c,d,e,f,g){var h=b?a.i:a.c,l,m,n;m=0;for(n=h.length;m<n;++m){l=h[m];if(l=l.add(c,d,e,f,g))return l;l||m!==n-1||(b?(l=Math.min(2*a.f,a.g),a.f=l):(l=Math.min(2*a.a,a.g),a.a=l),l=new jw(l,a.b),h.push(l),++n)}}function jw(a,b){this.b=b;this.a=[{x:0,y:0,width:a,height:a}];this.f={};this.g=Ge(a,a);this.c=this.g.canvas}jw.prototype.get=function(a){return this.f[a]||null};
jw.prototype.add=function(a,b,c,d,e){var f,g,h;g=0;for(h=this.a.length;g<h;++g)if(f=this.a[g],f.width>=b+this.b&&f.height>=c+this.b)return h={offsetX:f.x+this.b,offsetY:f.y+this.b,image:this.c},this.f[a]=h,d.call(e,this.g,f.x+this.b,f.y+this.b),a=g,b+=this.b,d=c+this.b,f.width-b>f.height-d?(c={x:f.x+b,y:f.y,width:f.width-b,height:f.height},b={x:f.x,y:f.y+d,width:b,height:f.height-d},lw(this,a,c,b)):(c={x:f.x+b,y:f.y,width:f.width-b,height:d},b={x:f.x,y:f.y+d,width:f.width,height:f.height-d},lw(this,
a,c,b)),h;return null};function lw(a,b,c,d){b=[b,1];0<c.width&&0<c.height&&b.push(c);0<d.width&&0<d.height&&b.push(d);a.a.splice.apply(a.a,b)};function mw(a){this.A=this.s=this.f=null;this.o=void 0!==a.fill?a.fill:null;this.ya=[0,0];this.b=a.points;this.g=void 0!==a.radius?a.radius:a.radius1;this.c=void 0!==a.radius2?a.radius2:this.g;this.l=void 0!==a.angle?a.angle:0;this.a=void 0!==a.stroke?a.stroke:null;this.S=this.Aa=this.C=null;var b=a.atlasManager,c="",d="",e=0,f=null,g,h=0;this.a&&(g=le(this.a.b),h=this.a.a,void 0===h&&(h=1),f=this.a.g,ag||(f=null),d=this.a.c,void 0===d&&(d="round"),c=this.a.f,void 0===c&&(c="round"),e=this.a.i,void 0===
e&&(e=10));var l=2*(this.g+h)+1,c={strokeStyle:g,Bd:h,size:l,lineCap:c,lineDash:f,lineJoin:d,miterLimit:e};if(void 0===b){var m=Ge(l,l);this.s=m.canvas;b=l=this.s.width;this.Ih(c,m,0,0);this.o?this.A=this.s:(m=Ge(c.size,c.size),this.A=m.canvas,this.Hh(c,m,0,0))}else l=Math.round(l),(d=!this.o)&&(m=this.Hh.bind(this,c)),e=this.a?qj(this.a):"-",f=this.o?kj(this.o):"-",this.f&&e==this.f[1]&&f==this.f[2]&&this.g==this.f[3]&&this.c==this.f[4]&&this.l==this.f[5]&&this.b==this.f[6]||(this.f=["r"+e+f+(void 0!==
this.g?this.g.toString():"-")+(void 0!==this.c?this.c.toString():"-")+(void 0!==this.l?this.l.toString():"-")+(void 0!==this.b?this.b.toString():"-"),e,f,this.g,this.c,this.l,this.b]),m=b.add(this.f[0],l,l,this.Ih.bind(this,c),m),this.s=m.image,this.ya=[m.offsetX,m.offsetY],b=m.image.width,this.A=d?m.Sg:this.s;this.C=[l/2,l/2];this.Aa=[l,l];this.S=[b,b];Eh.call(this,{opacity:1,rotateWithView:void 0!==a.rotateWithView?a.rotateWithView:!1,rotation:void 0!==a.rotation?a.rotation:0,scale:1,snapToPixel:void 0!==
a.snapToPixel?a.snapToPixel:!0})}x(mw,Eh);k=mw.prototype;k.Zb=function(){return this.C};k.Fn=function(){return this.l};k.Gn=function(){return this.o};k.pe=function(){return this.A};k.jc=function(){return this.s};k.ld=function(){return this.S};k.td=function(){return 2};k.Ia=function(){return this.ya};k.Hn=function(){return this.b};k.In=function(){return this.g};k.uk=function(){return this.c};k.Gb=function(){return this.Aa};k.Jn=function(){return this.a};k.pf=oa;k.load=oa;k.Xf=oa;
k.Ih=function(a,b,c,d){var e;b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();this.c!==this.g&&(this.b*=2);for(c=0;c<=this.b;c++)d=2*c*Math.PI/this.b-Math.PI/2+this.l,e=0===c%2?this.g:this.c,b.lineTo(a.size/2+e*Math.cos(d),a.size/2+e*Math.sin(d));this.o&&(b.fillStyle=ne(this.o.b),b.fill());this.a&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.Bd,a.lineDash&&b.setLineDash(a.lineDash),b.lineCap=a.lineCap,b.lineJoin=a.lineJoin,b.miterLimit=a.miterLimit,b.stroke());b.closePath()};
k.Hh=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();this.c!==this.g&&(this.b*=2);var e;for(c=0;c<=this.b;c++)e=2*c*Math.PI/this.b-Math.PI/2+this.l,d=0===c%2?this.g:this.c,b.lineTo(a.size/2+d*Math.cos(e),a.size/2+d*Math.sin(e));b.fillStyle=fj;b.fill();this.a&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.Bd,a.lineDash&&b.setLineDash(a.lineDash),b.stroke());b.closePath()};u("ol.animation.bounce",function(a){var b=a.resolution,c=a.start?a.start:Date.now(),d=void 0!==a.duration?a.duration:1E3,e=a.easing?a.easing:Sd;return function(a,g){if(g.time<c)return g.animate=!0,g.viewHints[0]+=1,!0;if(g.time<c+d){var h=e((g.time-c)/d),l=b-g.viewState.resolution;g.animate=!0;g.viewState.resolution+=h*l;g.viewHints[0]+=1;return!0}return!1}});u("ol.animation.pan",Td);u("ol.animation.rotate",Ud);u("ol.animation.zoom",Vd);u("ol.Attribution",$d);$d.prototype.getHTML=$d.prototype.g;
ae.prototype.element=ae.prototype.element;u("ol.Collection",be);be.prototype.clear=be.prototype.clear;be.prototype.extend=be.prototype.qf;be.prototype.forEach=be.prototype.forEach;be.prototype.getArray=be.prototype.Gl;be.prototype.item=be.prototype.item;be.prototype.getLength=be.prototype.dc;be.prototype.insertAt=be.prototype.ee;be.prototype.pop=be.prototype.pop;be.prototype.push=be.prototype.push;be.prototype.remove=be.prototype.remove;be.prototype.removeAt=be.prototype.Rf;be.prototype.setAt=be.prototype.Zo;
u("ol.colorlike.asColorLike",ne);u("ol.coordinate.add",yb);u("ol.coordinate.createStringXY",function(a){return function(b){return Gb(b,a)}});u("ol.coordinate.format",Bb);u("ol.coordinate.rotate",Db);u("ol.coordinate.toStringHDMS",function(a,b){return a?Ab(a[1],"NS",b)+" "+Ab(a[0],"EW",b):""});u("ol.coordinate.toStringXY",Gb);u("ol.DeviceOrientation",qn);qn.prototype.getAlpha=qn.prototype.Oj;qn.prototype.getBeta=qn.prototype.Rj;qn.prototype.getGamma=qn.prototype.Yj;qn.prototype.getHeading=qn.prototype.Hl;
qn.prototype.getTracking=qn.prototype.$g;qn.prototype.setTracking=qn.prototype.rf;u("ol.easing.easeIn",Md);u("ol.easing.easeOut",Nd);u("ol.easing.inAndOut",Qd);u("ol.easing.linear",Rd);u("ol.easing.upAndDown",Sd);u("ol.extent.boundingExtent",Ib);u("ol.extent.buffer",Mb);u("ol.extent.containsCoordinate",Qb);u("ol.extent.containsExtent",Sb);u("ol.extent.containsXY",Rb);u("ol.extent.createEmpty",Jb);u("ol.extent.equals",$b);u("ol.extent.extend",ac);u("ol.extent.getBottomLeft",cc);
u("ol.extent.getBottomRight",dc);u("ol.extent.getCenter",lc);u("ol.extent.getHeight",kc);u("ol.extent.getIntersection",nc);u("ol.extent.getSize",function(a){return[a[2]-a[0],a[3]-a[1]]});u("ol.extent.getTopLeft",fc);u("ol.extent.getTopRight",ec);u("ol.extent.getWidth",jc);u("ol.extent.intersects",oc);u("ol.extent.isEmpty",ic);u("ol.extent.applyTransform",qc);u("ol.Feature",Ik);Ik.prototype.clone=Ik.prototype.clone;Ik.prototype.getGeometry=Ik.prototype.X;Ik.prototype.getId=Ik.prototype.Xa;
Ik.prototype.getGeometryName=Ik.prototype.$j;Ik.prototype.getStyle=Ik.prototype.Jl;Ik.prototype.getStyleFunction=Ik.prototype.ec;Ik.prototype.setGeometry=Ik.prototype.Ua;Ik.prototype.setStyle=Ik.prototype.sf;Ik.prototype.setId=Ik.prototype.mc;Ik.prototype.setGeometryName=Ik.prototype.Ec;u("ol.featureloader.tile",dl);u("ol.featureloader.xhr",el);u("ol.Geolocation",St);St.prototype.getAccuracy=St.prototype.Mj;St.prototype.getAccuracyGeometry=St.prototype.Nj;St.prototype.getAltitude=St.prototype.Pj;
St.prototype.getAltitudeAccuracy=St.prototype.Qj;St.prototype.getHeading=St.prototype.Ll;St.prototype.getPosition=St.prototype.Ml;St.prototype.getProjection=St.prototype.ah;St.prototype.getSpeed=St.prototype.wk;St.prototype.getTracking=St.prototype.bh;St.prototype.getTrackingOptions=St.prototype.Mg;St.prototype.setProjection=St.prototype.dh;St.prototype.setTracking=St.prototype.ge;St.prototype.setTrackingOptions=St.prototype.si;u("ol.Graticule",Yt);Yt.prototype.getMap=Yt.prototype.Pl;
Yt.prototype.getMeridians=Yt.prototype.ik;Yt.prototype.getParallels=Yt.prototype.qk;Yt.prototype.setMap=Yt.prototype.setMap;u("ol.has.DEVICE_PIXEL_RATIO",$f);u("ol.has.CANVAS",bg);u("ol.has.DEVICE_ORIENTATION",cg);u("ol.has.GEOLOCATION",dg);u("ol.has.TOUCH",eg);u("ol.has.WEBGL",Vf);cu.prototype.getImage=cu.prototype.a;cu.prototype.load=cu.prototype.load;du.prototype.getImage=du.prototype.$a;du.prototype.load=du.prototype.load;u("ol.Kinetic",Vh);u("ol.loadingstrategy.all",fl);
u("ol.loadingstrategy.bbox",function(a){return[a]});u("ol.loadingstrategy.tile",function(a){return function(b,c){var d=a.Lb(c),e=gf(a,b,d),f=[],d=[d,0,0];for(d[1]=e.ca;d[1]<=e.ea;++d[1])for(d[2]=e.fa;d[2]<=e.ga;++d[2])f.push(a.Ea(d));return f}});u("ol.Map",Q);Q.prototype.addControl=Q.prototype.uj;Q.prototype.addInteraction=Q.prototype.vj;Q.prototype.addLayer=Q.prototype.kg;Q.prototype.addOverlay=Q.prototype.lg;Q.prototype.beforeRender=Q.prototype.Wa;Q.prototype.forEachFeatureAtPixel=Q.prototype.kd;
Q.prototype.forEachLayerAtPixel=Q.prototype.Tl;Q.prototype.hasFeatureAtPixel=Q.prototype.kl;Q.prototype.getEventCoordinate=Q.prototype.Wj;Q.prototype.getEventPixel=Q.prototype.Td;Q.prototype.getTarget=Q.prototype.tf;Q.prototype.getTargetElement=Q.prototype.yc;Q.prototype.getCoordinateFromPixel=Q.prototype.Ma;Q.prototype.getControls=Q.prototype.Uj;Q.prototype.getOverlays=Q.prototype.nk;Q.prototype.getOverlayById=Q.prototype.mk;Q.prototype.getInteractions=Q.prototype.ak;Q.prototype.getLayerGroup=Q.prototype.xc;
Q.prototype.getLayers=Q.prototype.eh;Q.prototype.getPixelFromCoordinate=Q.prototype.Ga;Q.prototype.getSize=Q.prototype.Za;Q.prototype.getView=Q.prototype.aa;Q.prototype.getViewport=Q.prototype.Dk;Q.prototype.renderSync=Q.prototype.Vo;Q.prototype.render=Q.prototype.render;Q.prototype.removeControl=Q.prototype.Oo;Q.prototype.removeInteraction=Q.prototype.Po;Q.prototype.removeLayer=Q.prototype.Ro;Q.prototype.removeOverlay=Q.prototype.So;Q.prototype.setLayerGroup=Q.prototype.ji;Q.prototype.setSize=Q.prototype.Wf;
Q.prototype.setTarget=Q.prototype.fh;Q.prototype.setView=Q.prototype.kp;Q.prototype.updateSize=Q.prototype.Xc;Og.prototype.originalEvent=Og.prototype.originalEvent;Og.prototype.pixel=Og.prototype.pixel;Og.prototype.coordinate=Og.prototype.coordinate;Og.prototype.dragging=Og.prototype.dragging;Oe.prototype.map=Oe.prototype.map;Oe.prototype.frameState=Oe.prototype.frameState;ab.prototype.key=ab.prototype.key;ab.prototype.oldValue=ab.prototype.oldValue;u("ol.Object",bb);bb.prototype.get=bb.prototype.get;
bb.prototype.getKeys=bb.prototype.N;bb.prototype.getProperties=bb.prototype.O;bb.prototype.set=bb.prototype.set;bb.prototype.setProperties=bb.prototype.G;bb.prototype.unset=bb.prototype.R;u("ol.Observable",Za);u("ol.Observable.unByKey",$a);Za.prototype.changed=Za.prototype.u;Za.prototype.dispatchEvent=Za.prototype.b;Za.prototype.getRevision=Za.prototype.K;Za.prototype.on=Za.prototype.I;Za.prototype.once=Za.prototype.L;Za.prototype.un=Za.prototype.J;Za.prototype.unByKey=Za.prototype.M;
u("ol.inherits",x);u("ol.Overlay",Xm);Xm.prototype.getElement=Xm.prototype.Sd;Xm.prototype.getId=Xm.prototype.Xa;Xm.prototype.getMap=Xm.prototype.he;Xm.prototype.getOffset=Xm.prototype.Kg;Xm.prototype.getPosition=Xm.prototype.gh;Xm.prototype.getPositioning=Xm.prototype.Lg;Xm.prototype.setElement=Xm.prototype.fi;Xm.prototype.setMap=Xm.prototype.setMap;Xm.prototype.setOffset=Xm.prototype.li;Xm.prototype.setPosition=Xm.prototype.uf;Xm.prototype.setPositioning=Xm.prototype.oi;
u("ol.render.toContext",function(a,b){var c=a.canvas,d=b?b:{},e=d.pixelRatio||$f;if(d=d.size)c.width=d[0]*e,c.height=d[1]*e,c.style.width=d[0]+"px",c.style.height=d[1]+"px";c=[0,0,c.width,c.height];d=jh(ch(),e,e);return new zj(a,e,c,d,0)});u("ol.size.toSize",$e);We.prototype.getTileCoord=We.prototype.i;We.prototype.load=We.prototype.load;Kk.prototype.getFormat=Kk.prototype.Ul;Kk.prototype.setFeatures=Kk.prototype.gi;Kk.prototype.setProjection=Kk.prototype.vf;Kk.prototype.setLoader=Kk.prototype.ki;
u("ol.View",Fd);Fd.prototype.constrainCenter=Fd.prototype.Pd;Fd.prototype.constrainResolution=Fd.prototype.constrainResolution;Fd.prototype.constrainRotation=Fd.prototype.constrainRotation;Fd.prototype.getCenter=Fd.prototype.ab;Fd.prototype.calculateExtent=Fd.prototype.Kc;Fd.prototype.getMaxResolution=Fd.prototype.Vl;Fd.prototype.getMinResolution=Fd.prototype.Wl;Fd.prototype.getProjection=Fd.prototype.Xl;Fd.prototype.getResolution=Fd.prototype.$;Fd.prototype.getResolutions=Fd.prototype.Yl;
Fd.prototype.getRotation=Fd.prototype.La;Fd.prototype.getZoom=Fd.prototype.Fk;Fd.prototype.fit=Fd.prototype.cf;Fd.prototype.centerOn=Fd.prototype.Ej;Fd.prototype.rotate=Fd.prototype.rotate;Fd.prototype.setCenter=Fd.prototype.nb;Fd.prototype.setResolution=Fd.prototype.Vb;Fd.prototype.setRotation=Fd.prototype.ie;Fd.prototype.setZoom=Fd.prototype.np;u("ol.xml.getAllTextContent",Nk);u("ol.xml.parse",Rk);gm.prototype.getGL=gm.prototype.$n;gm.prototype.useProgram=gm.prototype.we;
u("ol.tilegrid.TileGrid",df);df.prototype.forEachTileCoord=df.prototype.yg;df.prototype.getMaxZoom=df.prototype.Ig;df.prototype.getMinZoom=df.prototype.Jg;df.prototype.getOrigin=df.prototype.Ia;df.prototype.getResolution=df.prototype.$;df.prototype.getResolutions=df.prototype.Kh;df.prototype.getTileCoordExtent=df.prototype.Ea;df.prototype.getTileCoordForCoordAndResolution=df.prototype.Zd;df.prototype.getTileCoordForCoordAndZ=df.prototype.qd;df.prototype.getTileSize=df.prototype.Ja;
df.prototype.getZForResolution=df.prototype.Lb;u("ol.tilegrid.createXYZ",qf);u("ol.tilegrid.WMTS",dw);dw.prototype.getMatrixIds=dw.prototype.j;u("ol.tilegrid.WMTS.createFromCapabilitiesMatrixSet",ew);u("ol.style.AtlasManager",iw);u("ol.style.Circle",rj);rj.prototype.getFill=rj.prototype.Bn;rj.prototype.getImage=rj.prototype.jc;rj.prototype.getRadius=rj.prototype.Cn;rj.prototype.getStroke=rj.prototype.Dn;u("ol.style.Fill",jj);jj.prototype.getColor=jj.prototype.g;jj.prototype.setColor=jj.prototype.f;
u("ol.style.Icon",Fh);Fh.prototype.getAnchor=Fh.prototype.Zb;Fh.prototype.getImage=Fh.prototype.jc;Fh.prototype.getOrigin=Fh.prototype.Ia;Fh.prototype.getSrc=Fh.prototype.En;Fh.prototype.getSize=Fh.prototype.Gb;Fh.prototype.load=Fh.prototype.load;u("ol.style.Image",Eh);Eh.prototype.getOpacity=Eh.prototype.qe;Eh.prototype.getRotateWithView=Eh.prototype.Xd;Eh.prototype.getRotation=Eh.prototype.re;Eh.prototype.getScale=Eh.prototype.se;Eh.prototype.getSnapToPixel=Eh.prototype.Yd;
Eh.prototype.setOpacity=Eh.prototype.te;Eh.prototype.setRotation=Eh.prototype.ue;Eh.prototype.setScale=Eh.prototype.ve;u("ol.style.RegularShape",mw);mw.prototype.getAnchor=mw.prototype.Zb;mw.prototype.getAngle=mw.prototype.Fn;mw.prototype.getFill=mw.prototype.Gn;mw.prototype.getImage=mw.prototype.jc;mw.prototype.getOrigin=mw.prototype.Ia;mw.prototype.getPoints=mw.prototype.Hn;mw.prototype.getRadius=mw.prototype.In;mw.prototype.getRadius2=mw.prototype.uk;mw.prototype.getSize=mw.prototype.Gb;
mw.prototype.getStroke=mw.prototype.Jn;u("ol.style.Stroke",pj);pj.prototype.getColor=pj.prototype.Kn;pj.prototype.getLineCap=pj.prototype.dk;pj.prototype.getLineDash=pj.prototype.Ln;pj.prototype.getLineJoin=pj.prototype.ek;pj.prototype.getMiterLimit=pj.prototype.jk;pj.prototype.getWidth=pj.prototype.Mn;pj.prototype.setColor=pj.prototype.Nn;pj.prototype.setLineCap=pj.prototype.fp;pj.prototype.setLineDash=pj.prototype.On;pj.prototype.setLineJoin=pj.prototype.gp;pj.prototype.setMiterLimit=pj.prototype.hp;
pj.prototype.setWidth=pj.prototype.lp;u("ol.style.Style",sj);sj.prototype.getGeometry=sj.prototype.X;sj.prototype.getGeometryFunction=sj.prototype.Zj;sj.prototype.getFill=sj.prototype.Pn;sj.prototype.getImage=sj.prototype.Qn;sj.prototype.getStroke=sj.prototype.Rn;sj.prototype.getText=sj.prototype.Ha;sj.prototype.getZIndex=sj.prototype.Sn;sj.prototype.setGeometry=sj.prototype.Jh;sj.prototype.setZIndex=sj.prototype.Tn;u("ol.style.Text",Fp);Fp.prototype.getFont=Fp.prototype.Xj;
Fp.prototype.getOffsetX=Fp.prototype.kk;Fp.prototype.getOffsetY=Fp.prototype.lk;Fp.prototype.getFill=Fp.prototype.Un;Fp.prototype.getRotation=Fp.prototype.Vn;Fp.prototype.getScale=Fp.prototype.Wn;Fp.prototype.getStroke=Fp.prototype.Xn;Fp.prototype.getText=Fp.prototype.Ha;Fp.prototype.getTextAlign=Fp.prototype.yk;Fp.prototype.getTextBaseline=Fp.prototype.zk;Fp.prototype.setFont=Fp.prototype.bp;Fp.prototype.setOffsetX=Fp.prototype.mi;Fp.prototype.setOffsetY=Fp.prototype.ni;Fp.prototype.setFill=Fp.prototype.ap;
Fp.prototype.setRotation=Fp.prototype.Yn;Fp.prototype.setScale=Fp.prototype.Zn;Fp.prototype.setStroke=Fp.prototype.ip;Fp.prototype.setText=Fp.prototype.pi;Fp.prototype.setTextAlign=Fp.prototype.ri;Fp.prototype.setTextBaseline=Fp.prototype.jp;u("ol.Sphere",tc);tc.prototype.geodesicArea=tc.prototype.a;tc.prototype.haversineDistance=tc.prototype.b;u("ol.source.BingMaps",nv);u("ol.source.BingMaps.TOS_ATTRIBUTION",ov);u("ol.source.CartoDB",qv);qv.prototype.getConfig=qv.prototype.Tj;
qv.prototype.updateConfig=qv.prototype.up;qv.prototype.setConfig=qv.prototype.$o;u("ol.source.Cluster",Y);Y.prototype.getSource=Y.prototype.Sa;u("ol.source.ImageArcGISRest",wv);wv.prototype.getParams=wv.prototype.Sm;wv.prototype.getImageLoadFunction=wv.prototype.Rm;wv.prototype.getUrl=wv.prototype.Tm;wv.prototype.setImageLoadFunction=wv.prototype.Um;wv.prototype.setUrl=wv.prototype.Vm;wv.prototype.updateParams=wv.prototype.Wm;u("ol.source.ImageCanvas",Hk);u("ol.source.ImageMapGuide",xv);
xv.prototype.getParams=xv.prototype.Ym;xv.prototype.getImageLoadFunction=xv.prototype.Xm;xv.prototype.updateParams=xv.prototype.$m;xv.prototype.setImageLoadFunction=xv.prototype.Zm;u("ol.source.Image",Ak);Ck.prototype.image=Ck.prototype.image;u("ol.source.ImageStatic",yv);u("ol.source.ImageVector",yl);yl.prototype.getSource=yl.prototype.an;yl.prototype.getStyle=yl.prototype.bn;yl.prototype.getStyleFunction=yl.prototype.cn;yl.prototype.setStyle=yl.prototype.xh;u("ol.source.ImageWMS",zv);
zv.prototype.getGetFeatureInfoUrl=zv.prototype.fn;zv.prototype.getParams=zv.prototype.hn;zv.prototype.getImageLoadFunction=zv.prototype.gn;zv.prototype.getUrl=zv.prototype.jn;zv.prototype.setImageLoadFunction=zv.prototype.kn;zv.prototype.setUrl=zv.prototype.ln;zv.prototype.updateParams=zv.prototype.mn;u("ol.source.OSM",Dv);u("ol.source.OSM.ATTRIBUTION",Ev);u("ol.source.Raster",Fv);Fv.prototype.setOperation=Fv.prototype.v;Kv.prototype.extent=Kv.prototype.extent;Kv.prototype.resolution=Kv.prototype.resolution;
Kv.prototype.data=Kv.prototype.data;u("ol.source.Source",af);af.prototype.getAttributions=af.prototype.wa;af.prototype.getLogo=af.prototype.ua;af.prototype.getProjection=af.prototype.xa;af.prototype.getState=af.prototype.V;af.prototype.refresh=af.prototype.ta;af.prototype.setAttributions=af.prototype.qa;u("ol.source.Stamen",Pv);u("ol.source.TileArcGISRest",Rv);Rv.prototype.getParams=Rv.prototype.v;Rv.prototype.updateParams=Rv.prototype.A;u("ol.source.TileDebug",Tv);u("ol.source.TileImage",X);
X.prototype.setRenderReprojectionEdges=X.prototype.Ab;X.prototype.setTileGridForProjection=X.prototype.Bb;u("ol.source.TileJSON",Uv);Uv.prototype.getTileJSON=Uv.prototype.Ak;u("ol.source.Tile",rf);rf.prototype.getTileGrid=rf.prototype.Na;wf.prototype.tile=wf.prototype.tile;u("ol.source.TileUTFGrid",Vv);Vv.prototype.getTemplate=Vv.prototype.xk;Vv.prototype.forDataAtCoordinateAndResolution=Vv.prototype.Ij;u("ol.source.TileWMS",Zv);Zv.prototype.getGetFeatureInfoUrl=Zv.prototype.vn;
Zv.prototype.getParams=Zv.prototype.wn;Zv.prototype.updateParams=Zv.prototype.xn;Jl.prototype.getTileLoadFunction=Jl.prototype.gb;Jl.prototype.getTileUrlFunction=Jl.prototype.hb;Jl.prototype.getUrls=Jl.prototype.ib;Jl.prototype.setTileLoadFunction=Jl.prototype.lb;Jl.prototype.setTileUrlFunction=Jl.prototype.Qa;Jl.prototype.setUrl=Jl.prototype.Va;Jl.prototype.setUrls=Jl.prototype.bb;u("ol.source.Vector",P);P.prototype.addFeature=P.prototype.sb;P.prototype.addFeatures=P.prototype.Jc;
P.prototype.clear=P.prototype.clear;P.prototype.forEachFeature=P.prototype.wg;P.prototype.forEachFeatureInExtent=P.prototype.vb;P.prototype.forEachFeatureIntersectingExtent=P.prototype.xg;P.prototype.getFeaturesCollection=P.prototype.Fg;P.prototype.getFeatures=P.prototype.oe;P.prototype.getFeaturesAtCoordinate=P.prototype.Eg;P.prototype.getFeaturesInExtent=P.prototype.ef;P.prototype.getClosestFeatureToCoordinate=P.prototype.Ag;P.prototype.getExtent=P.prototype.H;P.prototype.getFeatureById=P.prototype.Dg;
P.prototype.getFormat=P.prototype.Ch;P.prototype.getUrl=P.prototype.Dh;P.prototype.removeFeature=P.prototype.ob;vl.prototype.feature=vl.prototype.feature;u("ol.source.VectorTile",Kl);u("ol.source.WMTS",Z);Z.prototype.getDimensions=Z.prototype.Vj;Z.prototype.getFormat=Z.prototype.yn;Z.prototype.getLayer=Z.prototype.zn;Z.prototype.getMatrixSet=Z.prototype.hk;Z.prototype.getRequestEncoding=Z.prototype.vk;Z.prototype.getStyle=Z.prototype.An;Z.prototype.getVersion=Z.prototype.Ck;
Z.prototype.updateDimensions=Z.prototype.vp;
u("ol.source.WMTS.optionsFromCapabilities",function(a,b){var c=lb(a.Contents.Layer,function(a){return a.Identifier==b.layer}),d=a.Contents.TileMatrixSet,e,f;e=1<c.TileMatrixSetLink.length?"projection"in b?pb(c.TileMatrixSetLink,function(a){return lb(d,function(b){return b.Identifier==a.TileMatrixSet}).SupportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3")==b.projection}):pb(c.TileMatrixSetLink,function(a){return a.TileMatrixSet==b.matrixSet}):0;0>e&&(e=0);f=c.TileMatrixSetLink[e].TileMatrixSet;
var g=c.Format[0];"format"in b&&(g=b.format);e=pb(c.Style,function(a){return"style"in b?a.Title==b.style:a.isDefault});0>e&&(e=0);e=c.Style[e].Identifier;var h={};"Dimension"in c&&c.Dimension.forEach(function(a){var b=a.Identifier,c=a.Default;void 0===c&&(c=a.Value[0]);h[b]=c});var l=lb(a.Contents.TileMatrixSet,function(a){return a.Identifier==f}),m;m="projection"in b?zc(b.projection):zc(l.SupportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3"));var n=c.WGS84BoundingBox,p,q;void 0!==n&&
(q=zc("EPSG:4326").H(),q=n[0]==q[0]&&n[2]==q[2],p=Tc(n,"EPSG:4326",m),(n=m.H())&&(Sb(n,p)||(p=void 0)));var l=ew(l,p),r=[];p=b.requestEncoding;p=void 0!==p?p:"";if("OperationsMetadata"in a&&"GetTile"in a.OperationsMetadata)for(var n=a.OperationsMetadata.GetTile.DCP.HTTP.Get,v=0,y=n.length;v<y;++v){var w=lb(n[v].Constraint,function(a){return"GetEncoding"==a.name}).AllowedValues.Value;""===p&&(p=w[0]);if("KVP"===p)gb(w,"KVP")&&r.push(n[v].href);else break}0===r.length&&(p="REST",c.ResourceURL.forEach(function(a){"tile"===
a.resourceType&&(g=a.format,r.push(a.template))}));return{urls:r,layer:b.layer,matrixSet:f,format:g,projection:m,requestEncoding:p,tileGrid:l,style:e,dimensions:h,wrapX:q}});u("ol.source.XYZ",pv);u("ol.source.Zoomify",gw);qh.prototype.vectorContext=qh.prototype.vectorContext;qh.prototype.frameState=qh.prototype.frameState;qh.prototype.context=qh.prototype.context;qh.prototype.glContext=qh.prototype.glContext;ik.prototype.get=ik.prototype.get;ik.prototype.getExtent=ik.prototype.H;
ik.prototype.getGeometry=ik.prototype.X;ik.prototype.getProperties=ik.prototype.Nm;ik.prototype.getType=ik.prototype.Y;u("ol.render.VectorContext",ph);Cm.prototype.setStyle=Cm.prototype.sd;Cm.prototype.drawGeometry=Cm.prototype.sc;Cm.prototype.drawFeature=Cm.prototype.Ye;zj.prototype.drawCircle=zj.prototype.Rd;zj.prototype.setStyle=zj.prototype.sd;zj.prototype.drawGeometry=zj.prototype.sc;zj.prototype.drawFeature=zj.prototype.Ye;u("ol.proj.common.add",dj);u("ol.proj.METERS_PER_UNIT",vc);
u("ol.proj.Projection",wc);wc.prototype.getCode=wc.prototype.Sj;wc.prototype.getExtent=wc.prototype.H;wc.prototype.getUnits=wc.prototype.xb;wc.prototype.getMetersPerUnit=wc.prototype.ac;wc.prototype.getWorldExtent=wc.prototype.Ek;wc.prototype.isGlobal=wc.prototype.pl;wc.prototype.setGlobal=wc.prototype.ep;wc.prototype.setExtent=wc.prototype.Mm;wc.prototype.setWorldExtent=wc.prototype.mp;wc.prototype.setGetPointResolution=wc.prototype.cp;wc.prototype.getPointResolution=wc.prototype.getPointResolution;
u("ol.proj.setProj4",function(a){yc=a});u("ol.proj.addEquivalentProjections",Ac);u("ol.proj.addProjection",Mc);u("ol.proj.addCoordinateTransforms",Bc);u("ol.proj.fromLonLat",function(a,b){return Sc(a,"EPSG:4326",void 0!==b?b:"EPSG:3857")});u("ol.proj.toLonLat",function(a,b){return Sc(a,void 0!==b?b:"EPSG:3857","EPSG:4326")});u("ol.proj.get",zc);u("ol.proj.equivalent",Pc);u("ol.proj.getTransform",Qc);u("ol.proj.transform",Sc);u("ol.proj.transformExtent",Tc);u("ol.layer.Heatmap",W);
W.prototype.getBlur=W.prototype.zg;W.prototype.getGradient=W.prototype.Gg;W.prototype.getRadius=W.prototype.ph;W.prototype.setBlur=W.prototype.di;W.prototype.setGradient=W.prototype.ii;W.prototype.setRadius=W.prototype.qh;u("ol.layer.Image",ej);ej.prototype.getSource=ej.prototype.ha;u("ol.layer.Layer",rh);rh.prototype.getSource=rh.prototype.ha;rh.prototype.setMap=rh.prototype.setMap;rh.prototype.setSource=rh.prototype.Fc;u("ol.layer.Base",nh);nh.prototype.getExtent=nh.prototype.H;
nh.prototype.getMaxResolution=nh.prototype.Ob;nh.prototype.getMinResolution=nh.prototype.Pb;nh.prototype.getOpacity=nh.prototype.Qb;nh.prototype.getVisible=nh.prototype.yb;nh.prototype.getZIndex=nh.prototype.Rb;nh.prototype.setExtent=nh.prototype.fc;nh.prototype.setMaxResolution=nh.prototype.nc;nh.prototype.setMinResolution=nh.prototype.oc;nh.prototype.setOpacity=nh.prototype.gc;nh.prototype.setVisible=nh.prototype.hc;nh.prototype.setZIndex=nh.prototype.ic;u("ol.layer.Group",Vi);
Vi.prototype.getLayers=Vi.prototype.Tc;Vi.prototype.setLayers=Vi.prototype.oh;u("ol.layer.Tile",F);F.prototype.getPreload=F.prototype.f;F.prototype.getSource=F.prototype.ha;F.prototype.setPreload=F.prototype.l;F.prototype.getUseInterimTilesOnError=F.prototype.c;F.prototype.setUseInterimTilesOnError=F.prototype.A;u("ol.layer.Vector",I);I.prototype.getSource=I.prototype.ha;I.prototype.getStyle=I.prototype.D;I.prototype.getStyleFunction=I.prototype.C;I.prototype.setStyle=I.prototype.l;
u("ol.layer.VectorTile",J);J.prototype.getPreload=J.prototype.f;J.prototype.getUseInterimTilesOnError=J.prototype.c;J.prototype.setPreload=J.prototype.W;J.prototype.setUseInterimTilesOnError=J.prototype.ia;u("ol.interaction.DoubleClickZoom",ai);u("ol.interaction.DoubleClickZoom.handleEvent",bi);u("ol.interaction.DragAndDrop",fu);u("ol.interaction.DragAndDrop.handleEvent",rc);iu.prototype.features=iu.prototype.features;iu.prototype.file=iu.prototype.file;iu.prototype.projection=iu.prototype.projection;
zi.prototype.coordinate=zi.prototype.coordinate;zi.prototype.mapBrowserEvent=zi.prototype.mapBrowserEvent;u("ol.interaction.DragBox",Ai);Ai.prototype.getGeometry=Ai.prototype.X;u("ol.interaction.DragPan",oi);u("ol.interaction.DragRotateAndZoom",ku);u("ol.interaction.DragRotate",si);u("ol.interaction.DragZoom",Fi);ou.prototype.feature=ou.prototype.feature;u("ol.interaction.Draw",pu);u("ol.interaction.Draw.handleEvent",ru);pu.prototype.removeLastPoint=pu.prototype.Qo;pu.prototype.finishDrawing=pu.prototype.jd;
pu.prototype.extend=pu.prototype.rm;u("ol.interaction.Draw.createRegularPolygon",function(a,b){return function(c,d){var e=c[0],f=c[1],g=Math.sqrt(Eb(e,f)),h=d?d:Dd(new Tt(e),a);Ed(h,e,g,b?b:Math.atan((f[1]-e[1])/(f[0]-e[0])));return h}});u("ol.interaction.Interaction",Xh);Xh.prototype.getActive=Xh.prototype.f;Xh.prototype.getMap=Xh.prototype.l;Xh.prototype.setActive=Xh.prototype.i;u("ol.interaction.defaults",Ui);u("ol.interaction.KeyboardPan",Gi);u("ol.interaction.KeyboardPan.handleEvent",Hi);
u("ol.interaction.KeyboardZoom",Ii);u("ol.interaction.KeyboardZoom.handleEvent",Ji);Fu.prototype.features=Fu.prototype.features;Fu.prototype.mapBrowserEvent=Fu.prototype.mapBrowserEvent;u("ol.interaction.Modify",Gu);u("ol.interaction.Modify.handleEvent",Ju);Gu.prototype.removePoint=Gu.prototype.ai;u("ol.interaction.MouseWheelZoom",Ki);u("ol.interaction.MouseWheelZoom.handleEvent",Li);Ki.prototype.setMouseAnchor=Ki.prototype.C;u("ol.interaction.PinchRotate",Mi);u("ol.interaction.PinchZoom",Qi);
u("ol.interaction.Pointer",li);u("ol.interaction.Pointer.handleEvent",mi);Tu.prototype.selected=Tu.prototype.selected;Tu.prototype.deselected=Tu.prototype.deselected;Tu.prototype.mapBrowserEvent=Tu.prototype.mapBrowserEvent;u("ol.interaction.Select",Uu);Uu.prototype.getFeatures=Uu.prototype.Bm;Uu.prototype.getLayer=Uu.prototype.Cm;u("ol.interaction.Select.handleEvent",Vu);Uu.prototype.setMap=Uu.prototype.setMap;u("ol.interaction.Snap",Xu);Xu.prototype.addFeature=Xu.prototype.sb;
Xu.prototype.removeFeature=Xu.prototype.ob;av.prototype.features=av.prototype.features;av.prototype.coordinate=av.prototype.coordinate;u("ol.interaction.Translate",bv);u("ol.geom.Circle",Tt);Tt.prototype.clone=Tt.prototype.clone;Tt.prototype.getCenter=Tt.prototype.rd;Tt.prototype.getRadius=Tt.prototype.wf;Tt.prototype.getType=Tt.prototype.Y;Tt.prototype.intersectsExtent=Tt.prototype.Ka;Tt.prototype.setCenter=Tt.prototype.jm;Tt.prototype.setCenterAndRadius=Tt.prototype.Vf;Tt.prototype.setRadius=Tt.prototype.km;
Tt.prototype.transform=Tt.prototype.kb;u("ol.geom.Geometry",Uc);Uc.prototype.getClosestPoint=Uc.prototype.wb;Uc.prototype.getExtent=Uc.prototype.H;Uc.prototype.rotate=Uc.prototype.rotate;Uc.prototype.simplify=Uc.prototype.Cb;Uc.prototype.transform=Uc.prototype.kb;u("ol.geom.GeometryCollection",Kn);Kn.prototype.clone=Kn.prototype.clone;Kn.prototype.getGeometries=Kn.prototype.ff;Kn.prototype.getType=Kn.prototype.Y;Kn.prototype.intersectsExtent=Kn.prototype.Ka;Kn.prototype.setGeometries=Kn.prototype.hi;
Kn.prototype.applyTransform=Kn.prototype.rc;Kn.prototype.translate=Kn.prototype.Sc;u("ol.geom.LinearRing",nd);nd.prototype.clone=nd.prototype.clone;nd.prototype.getArea=nd.prototype.nm;nd.prototype.getCoordinates=nd.prototype.Z;nd.prototype.getType=nd.prototype.Y;nd.prototype.setCoordinates=nd.prototype.ra;u("ol.geom.LineString",R);R.prototype.appendCoordinate=R.prototype.wj;R.prototype.clone=R.prototype.clone;R.prototype.forEachSegment=R.prototype.Lj;R.prototype.getCoordinateAtM=R.prototype.lm;
R.prototype.getCoordinates=R.prototype.Z;R.prototype.getCoordinateAt=R.prototype.Bg;R.prototype.getLength=R.prototype.mm;R.prototype.getType=R.prototype.Y;R.prototype.intersectsExtent=R.prototype.Ka;R.prototype.setCoordinates=R.prototype.ra;u("ol.geom.MultiLineString",S);S.prototype.appendLineString=S.prototype.xj;S.prototype.clone=S.prototype.clone;S.prototype.getCoordinateAtM=S.prototype.om;S.prototype.getCoordinates=S.prototype.Z;S.prototype.getLineString=S.prototype.fk;
S.prototype.getLineStrings=S.prototype.md;S.prototype.getType=S.prototype.Y;S.prototype.intersectsExtent=S.prototype.Ka;S.prototype.setCoordinates=S.prototype.ra;u("ol.geom.MultiPoint",T);T.prototype.appendPoint=T.prototype.zj;T.prototype.clone=T.prototype.clone;T.prototype.getCoordinates=T.prototype.Z;T.prototype.getPoint=T.prototype.rk;T.prototype.getPoints=T.prototype.je;T.prototype.getType=T.prototype.Y;T.prototype.intersectsExtent=T.prototype.Ka;T.prototype.setCoordinates=T.prototype.ra;
u("ol.geom.MultiPolygon",U);U.prototype.appendPolygon=U.prototype.Aj;U.prototype.clone=U.prototype.clone;U.prototype.getArea=U.prototype.pm;U.prototype.getCoordinates=U.prototype.Z;U.prototype.getInteriorPoints=U.prototype.ck;U.prototype.getPolygon=U.prototype.tk;U.prototype.getPolygons=U.prototype.Wd;U.prototype.getType=U.prototype.Y;U.prototype.intersectsExtent=U.prototype.Ka;U.prototype.setCoordinates=U.prototype.ra;u("ol.geom.Point",C);C.prototype.clone=C.prototype.clone;
C.prototype.getCoordinates=C.prototype.Z;C.prototype.getType=C.prototype.Y;C.prototype.intersectsExtent=C.prototype.Ka;C.prototype.setCoordinates=C.prototype.ra;u("ol.geom.Polygon",E);E.prototype.appendLinearRing=E.prototype.yj;E.prototype.clone=E.prototype.clone;E.prototype.getArea=E.prototype.qm;E.prototype.getCoordinates=E.prototype.Z;E.prototype.getInteriorPoint=E.prototype.bk;E.prototype.getLinearRingCount=E.prototype.gk;E.prototype.getLinearRing=E.prototype.Hg;E.prototype.getLinearRings=E.prototype.Vd;
E.prototype.getType=E.prototype.Y;E.prototype.intersectsExtent=E.prototype.Ka;E.prototype.setCoordinates=E.prototype.ra;u("ol.geom.Polygon.circular",Bd);u("ol.geom.Polygon.fromExtent",Cd);u("ol.geom.Polygon.fromCircle",Dd);u("ol.geom.SimpleGeometry",Wc);Wc.prototype.getFirstCoordinate=Wc.prototype.Ib;Wc.prototype.getLastCoordinate=Wc.prototype.Jb;Wc.prototype.getLayout=Wc.prototype.Kb;Wc.prototype.applyTransform=Wc.prototype.rc;Wc.prototype.translate=Wc.prototype.Sc;u("ol.format.EsriJSON",Dn);
Dn.prototype.readFeature=Dn.prototype.Sb;Dn.prototype.readFeatures=Dn.prototype.Fa;Dn.prototype.readGeometry=Dn.prototype.Vc;Dn.prototype.readProjection=Dn.prototype.Oa;Dn.prototype.writeGeometry=Dn.prototype.Zc;Dn.prototype.writeGeometryObject=Dn.prototype.Ke;Dn.prototype.writeFeature=Dn.prototype.Dd;Dn.prototype.writeFeatureObject=Dn.prototype.Yc;Dn.prototype.writeFeatures=Dn.prototype.Yb;Dn.prototype.writeFeaturesObject=Dn.prototype.Ie;u("ol.format.Feature",rn);u("ol.format.GeoJSON",On);
On.prototype.readFeature=On.prototype.Sb;On.prototype.readFeatures=On.prototype.Fa;On.prototype.readGeometry=On.prototype.Vc;On.prototype.readProjection=On.prototype.Oa;On.prototype.writeFeature=On.prototype.Dd;On.prototype.writeFeatureObject=On.prototype.Yc;On.prototype.writeFeatures=On.prototype.Yb;On.prototype.writeFeaturesObject=On.prototype.Ie;On.prototype.writeGeometry=On.prototype.Zc;On.prototype.writeGeometryObject=On.prototype.Ke;u("ol.format.GPX",to);to.prototype.readFeature=to.prototype.Sb;
to.prototype.readFeatures=to.prototype.Fa;to.prototype.readProjection=to.prototype.Oa;to.prototype.writeFeatures=to.prototype.Yb;to.prototype.writeFeaturesNode=to.prototype.a;u("ol.format.IGC",cp);cp.prototype.readFeature=cp.prototype.Sb;cp.prototype.readFeatures=cp.prototype.Fa;cp.prototype.readProjection=cp.prototype.Oa;u("ol.format.KML",Gp);Gp.prototype.readFeature=Gp.prototype.Sb;Gp.prototype.readFeatures=Gp.prototype.Fa;Gp.prototype.readName=Gp.prototype.Fo;Gp.prototype.readNetworkLinks=Gp.prototype.Go;
Gp.prototype.readProjection=Gp.prototype.Oa;Gp.prototype.writeFeatures=Gp.prototype.Yb;Gp.prototype.writeFeaturesNode=Gp.prototype.a;u("ol.format.MVT",vr);vr.prototype.readFeatures=vr.prototype.Fa;vr.prototype.readProjection=vr.prototype.Oa;vr.prototype.setLayers=vr.prototype.c;u("ol.format.OSMXML",Rr);Rr.prototype.readFeatures=Rr.prototype.Fa;Rr.prototype.readProjection=Rr.prototype.Oa;u("ol.format.Polyline",ps);u("ol.format.Polyline.encodeDeltas",qs);u("ol.format.Polyline.decodeDeltas",ss);
u("ol.format.Polyline.encodeFloats",rs);u("ol.format.Polyline.decodeFloats",ts);ps.prototype.readFeature=ps.prototype.Sb;ps.prototype.readFeatures=ps.prototype.Fa;ps.prototype.readGeometry=ps.prototype.Vc;ps.prototype.readProjection=ps.prototype.Oa;ps.prototype.writeGeometry=ps.prototype.Zc;u("ol.format.TopoJSON",us);us.prototype.readFeatures=us.prototype.Fa;us.prototype.readProjection=us.prototype.Oa;u("ol.format.WFS",As);As.prototype.readFeatures=As.prototype.Fa;
As.prototype.readTransactionResponse=As.prototype.o;As.prototype.readFeatureCollectionMetadata=As.prototype.l;As.prototype.writeGetFeature=As.prototype.j;As.prototype.writeTransaction=As.prototype.U;As.prototype.readProjection=As.prototype.Oa;u("ol.format.WKT",Rs);Rs.prototype.readFeature=Rs.prototype.Sb;Rs.prototype.readFeatures=Rs.prototype.Fa;Rs.prototype.readGeometry=Rs.prototype.Vc;Rs.prototype.writeFeature=Rs.prototype.Dd;Rs.prototype.writeFeatures=Rs.prototype.Yb;
Rs.prototype.writeGeometry=Rs.prototype.Zc;u("ol.format.WMSCapabilities",ht);ht.prototype.read=ht.prototype.read;u("ol.format.WMSGetFeatureInfo",Et);Et.prototype.readFeatures=Et.prototype.Fa;u("ol.format.WMTSCapabilities",Ft);Ft.prototype.read=Ft.prototype.read;u("ol.format.ogc.filter.and",xr);u("ol.format.ogc.filter.or",function(a,b){return new Er(a,b)});u("ol.format.ogc.filter.not",function(a){return new Fr(a)});u("ol.format.ogc.filter.bbox",zr);
u("ol.format.ogc.filter.equalTo",function(a,b,c){return new Ir(a,b,c)});u("ol.format.ogc.filter.notEqualTo",function(a,b,c){return new Jr(a,b,c)});u("ol.format.ogc.filter.lessThan",function(a,b){return new Kr(a,b)});u("ol.format.ogc.filter.lessThanOrEqualTo",function(a,b){return new Lr(a,b)});u("ol.format.ogc.filter.greaterThan",function(a,b){return new Mr(a,b)});u("ol.format.ogc.filter.greaterThanOrEqualTo",function(a,b){return new Nr(a,b)});u("ol.format.ogc.filter.isNull",function(a){return new Or(a)});
u("ol.format.ogc.filter.between",function(a,b,c){return new Pr(a,b,c)});u("ol.format.ogc.filter.like",function(a,b,c,d,e,f){return new Qr(a,b,c,d,e,f)});u("ol.format.ogc.filter.Filter",Br);u("ol.format.ogc.filter.And",yr);u("ol.format.ogc.filter.Or",Er);u("ol.format.ogc.filter.Not",Fr);u("ol.format.ogc.filter.Bbox",Ar);u("ol.format.ogc.filter.Comparison",Gr);u("ol.format.ogc.filter.ComparisonBinary",Hr);u("ol.format.ogc.filter.EqualTo",Ir);u("ol.format.ogc.filter.NotEqualTo",Jr);
u("ol.format.ogc.filter.LessThan",Kr);u("ol.format.ogc.filter.LessThanOrEqualTo",Lr);u("ol.format.ogc.filter.GreaterThan",Mr);u("ol.format.ogc.filter.GreaterThanOrEqualTo",Nr);u("ol.format.ogc.filter.IsNull",Or);u("ol.format.ogc.filter.IsBetween",Pr);u("ol.format.ogc.filter.IsLike",Qr);u("ol.format.GML2",jo);u("ol.format.GML3",ko);ko.prototype.writeGeometryNode=ko.prototype.s;ko.prototype.writeFeatures=ko.prototype.Yb;ko.prototype.writeFeaturesNode=ko.prototype.a;u("ol.format.GML",ko);
ko.prototype.writeFeatures=ko.prototype.Yb;ko.prototype.writeFeaturesNode=ko.prototype.a;Wn.prototype.readFeatures=Wn.prototype.Fa;u("ol.events.condition.altKeyOnly",function(a){a=a.originalEvent;return a.altKey&&!(a.metaKey||a.ctrlKey)&&!a.shiftKey});u("ol.events.condition.altShiftKeysOnly",ci);u("ol.events.condition.always",rc);u("ol.events.condition.click",function(a){return a.type==Sg});u("ol.events.condition.never",sc);u("ol.events.condition.pointerMove",ei);
u("ol.events.condition.singleClick",fi);u("ol.events.condition.doubleClick",function(a){return a.type==Tg});u("ol.events.condition.noModifierKeys",gi);u("ol.events.condition.platformModifierKeyOnly",function(a){a=a.originalEvent;return!a.altKey&&(Zf?a.metaKey:a.ctrlKey)&&!a.shiftKey});u("ol.events.condition.shiftKeyOnly",hi);u("ol.events.condition.targetNotEditable",ii);u("ol.events.condition.mouseOnly",ji);u("ol.events.condition.primaryAction",ki);Ua.prototype.type=Ua.prototype.type;
Ua.prototype.target=Ua.prototype.target;Ua.prototype.preventDefault=Ua.prototype.preventDefault;Ua.prototype.stopPropagation=Ua.prototype.stopPropagation;u("ol.control.Attribution",xf);u("ol.control.Attribution.render",yf);xf.prototype.getCollapsible=xf.prototype.$l;xf.prototype.setCollapsible=xf.prototype.cm;xf.prototype.setCollapsed=xf.prototype.bm;xf.prototype.getCollapsed=xf.prototype.Zl;u("ol.control.Control",Pe);Pe.prototype.getMap=Pe.prototype.i;Pe.prototype.setMap=Pe.prototype.setMap;
Pe.prototype.setTarget=Pe.prototype.c;u("ol.control.defaults",Df);u("ol.control.FullScreen",Ef);u("ol.control.MousePosition",Jf);u("ol.control.MousePosition.render",Kf);Jf.prototype.getCoordinateFormat=Jf.prototype.Cg;Jf.prototype.getProjection=Jf.prototype.hh;Jf.prototype.setCoordinateFormat=Jf.prototype.ei;Jf.prototype.setProjection=Jf.prototype.ih;u("ol.control.OverviewMap",an);u("ol.control.OverviewMap.render",bn);an.prototype.getCollapsible=an.prototype.fm;an.prototype.setCollapsible=an.prototype.im;
an.prototype.setCollapsed=an.prototype.hm;an.prototype.getCollapsed=an.prototype.em;an.prototype.getOverviewMap=an.prototype.pk;u("ol.control.Rotate",Af);u("ol.control.Rotate.render",Bf);u("ol.control.ScaleLine",fn);fn.prototype.getUnits=fn.prototype.xb;u("ol.control.ScaleLine.render",gn);fn.prototype.setUnits=fn.prototype.C;u("ol.control.Zoom",Cf);u("ol.control.ZoomSlider",kn);u("ol.control.ZoomSlider.render",mn);u("ol.control.ZoomToExtent",pn);u("ol.color.asArray",je);u("ol.color.asString",le);
ae.prototype.type=ae.prototype.type;ae.prototype.target=ae.prototype.target;ae.prototype.preventDefault=ae.prototype.preventDefault;ae.prototype.stopPropagation=ae.prototype.stopPropagation;bb.prototype.changed=bb.prototype.u;bb.prototype.dispatchEvent=bb.prototype.b;bb.prototype.getRevision=bb.prototype.K;bb.prototype.on=bb.prototype.I;bb.prototype.once=bb.prototype.L;bb.prototype.un=bb.prototype.J;bb.prototype.unByKey=bb.prototype.M;be.prototype.get=be.prototype.get;be.prototype.getKeys=be.prototype.N;
be.prototype.getProperties=be.prototype.O;be.prototype.set=be.prototype.set;be.prototype.setProperties=be.prototype.G;be.prototype.unset=be.prototype.R;be.prototype.changed=be.prototype.u;be.prototype.dispatchEvent=be.prototype.b;be.prototype.getRevision=be.prototype.K;be.prototype.on=be.prototype.I;be.prototype.once=be.prototype.L;be.prototype.un=be.prototype.J;be.prototype.unByKey=be.prototype.M;qn.prototype.get=qn.prototype.get;qn.prototype.getKeys=qn.prototype.N;qn.prototype.getProperties=qn.prototype.O;
qn.prototype.set=qn.prototype.set;qn.prototype.setProperties=qn.prototype.G;qn.prototype.unset=qn.prototype.R;qn.prototype.changed=qn.prototype.u;qn.prototype.dispatchEvent=qn.prototype.b;qn.prototype.getRevision=qn.prototype.K;qn.prototype.on=qn.prototype.I;qn.prototype.once=qn.prototype.L;qn.prototype.un=qn.prototype.J;qn.prototype.unByKey=qn.prototype.M;Ik.prototype.get=Ik.prototype.get;Ik.prototype.getKeys=Ik.prototype.N;Ik.prototype.getProperties=Ik.prototype.O;Ik.prototype.set=Ik.prototype.set;
Ik.prototype.setProperties=Ik.prototype.G;Ik.prototype.unset=Ik.prototype.R;Ik.prototype.changed=Ik.prototype.u;Ik.prototype.dispatchEvent=Ik.prototype.b;Ik.prototype.getRevision=Ik.prototype.K;Ik.prototype.on=Ik.prototype.I;Ik.prototype.once=Ik.prototype.L;Ik.prototype.un=Ik.prototype.J;Ik.prototype.unByKey=Ik.prototype.M;St.prototype.get=St.prototype.get;St.prototype.getKeys=St.prototype.N;St.prototype.getProperties=St.prototype.O;St.prototype.set=St.prototype.set;St.prototype.setProperties=St.prototype.G;
St.prototype.unset=St.prototype.R;St.prototype.changed=St.prototype.u;St.prototype.dispatchEvent=St.prototype.b;St.prototype.getRevision=St.prototype.K;St.prototype.on=St.prototype.I;St.prototype.once=St.prototype.L;St.prototype.un=St.prototype.J;St.prototype.unByKey=St.prototype.M;du.prototype.getTileCoord=du.prototype.i;Q.prototype.get=Q.prototype.get;Q.prototype.getKeys=Q.prototype.N;Q.prototype.getProperties=Q.prototype.O;Q.prototype.set=Q.prototype.set;Q.prototype.setProperties=Q.prototype.G;
Q.prototype.unset=Q.prototype.R;Q.prototype.changed=Q.prototype.u;Q.prototype.dispatchEvent=Q.prototype.b;Q.prototype.getRevision=Q.prototype.K;Q.prototype.on=Q.prototype.I;Q.prototype.once=Q.prototype.L;Q.prototype.un=Q.prototype.J;Q.prototype.unByKey=Q.prototype.M;Oe.prototype.type=Oe.prototype.type;Oe.prototype.target=Oe.prototype.target;Oe.prototype.preventDefault=Oe.prototype.preventDefault;Oe.prototype.stopPropagation=Oe.prototype.stopPropagation;Og.prototype.map=Og.prototype.map;
Og.prototype.frameState=Og.prototype.frameState;Og.prototype.type=Og.prototype.type;Og.prototype.target=Og.prototype.target;Og.prototype.preventDefault=Og.prototype.preventDefault;Og.prototype.stopPropagation=Og.prototype.stopPropagation;Pg.prototype.originalEvent=Pg.prototype.originalEvent;Pg.prototype.pixel=Pg.prototype.pixel;Pg.prototype.coordinate=Pg.prototype.coordinate;Pg.prototype.dragging=Pg.prototype.dragging;Pg.prototype.preventDefault=Pg.prototype.preventDefault;
Pg.prototype.stopPropagation=Pg.prototype.stopPropagation;Pg.prototype.map=Pg.prototype.map;Pg.prototype.frameState=Pg.prototype.frameState;Pg.prototype.type=Pg.prototype.type;Pg.prototype.target=Pg.prototype.target;ab.prototype.type=ab.prototype.type;ab.prototype.target=ab.prototype.target;ab.prototype.preventDefault=ab.prototype.preventDefault;ab.prototype.stopPropagation=ab.prototype.stopPropagation;Xm.prototype.get=Xm.prototype.get;Xm.prototype.getKeys=Xm.prototype.N;
Xm.prototype.getProperties=Xm.prototype.O;Xm.prototype.set=Xm.prototype.set;Xm.prototype.setProperties=Xm.prototype.G;Xm.prototype.unset=Xm.prototype.R;Xm.prototype.changed=Xm.prototype.u;Xm.prototype.dispatchEvent=Xm.prototype.b;Xm.prototype.getRevision=Xm.prototype.K;Xm.prototype.on=Xm.prototype.I;Xm.prototype.once=Xm.prototype.L;Xm.prototype.un=Xm.prototype.J;Xm.prototype.unByKey=Xm.prototype.M;Kk.prototype.getTileCoord=Kk.prototype.i;Fd.prototype.get=Fd.prototype.get;Fd.prototype.getKeys=Fd.prototype.N;
Fd.prototype.getProperties=Fd.prototype.O;Fd.prototype.set=Fd.prototype.set;Fd.prototype.setProperties=Fd.prototype.G;Fd.prototype.unset=Fd.prototype.R;Fd.prototype.changed=Fd.prototype.u;Fd.prototype.dispatchEvent=Fd.prototype.b;Fd.prototype.getRevision=Fd.prototype.K;Fd.prototype.on=Fd.prototype.I;Fd.prototype.once=Fd.prototype.L;Fd.prototype.un=Fd.prototype.J;Fd.prototype.unByKey=Fd.prototype.M;dw.prototype.forEachTileCoord=dw.prototype.yg;dw.prototype.getMaxZoom=dw.prototype.Ig;
dw.prototype.getMinZoom=dw.prototype.Jg;dw.prototype.getOrigin=dw.prototype.Ia;dw.prototype.getResolution=dw.prototype.$;dw.prototype.getResolutions=dw.prototype.Kh;dw.prototype.getTileCoordExtent=dw.prototype.Ea;dw.prototype.getTileCoordForCoordAndResolution=dw.prototype.Zd;dw.prototype.getTileCoordForCoordAndZ=dw.prototype.qd;dw.prototype.getTileSize=dw.prototype.Ja;dw.prototype.getZForResolution=dw.prototype.Lb;rj.prototype.getOpacity=rj.prototype.qe;rj.prototype.getRotateWithView=rj.prototype.Xd;
rj.prototype.getRotation=rj.prototype.re;rj.prototype.getScale=rj.prototype.se;rj.prototype.getSnapToPixel=rj.prototype.Yd;rj.prototype.setOpacity=rj.prototype.te;rj.prototype.setRotation=rj.prototype.ue;rj.prototype.setScale=rj.prototype.ve;Fh.prototype.getOpacity=Fh.prototype.qe;Fh.prototype.getRotateWithView=Fh.prototype.Xd;Fh.prototype.getRotation=Fh.prototype.re;Fh.prototype.getScale=Fh.prototype.se;Fh.prototype.getSnapToPixel=Fh.prototype.Yd;Fh.prototype.setOpacity=Fh.prototype.te;
Fh.prototype.setRotation=Fh.prototype.ue;Fh.prototype.setScale=Fh.prototype.ve;mw.prototype.getOpacity=mw.prototype.qe;mw.prototype.getRotateWithView=mw.prototype.Xd;mw.prototype.getRotation=mw.prototype.re;mw.prototype.getScale=mw.prototype.se;mw.prototype.getSnapToPixel=mw.prototype.Yd;mw.prototype.setOpacity=mw.prototype.te;mw.prototype.setRotation=mw.prototype.ue;mw.prototype.setScale=mw.prototype.ve;af.prototype.get=af.prototype.get;af.prototype.getKeys=af.prototype.N;
af.prototype.getProperties=af.prototype.O;af.prototype.set=af.prototype.set;af.prototype.setProperties=af.prototype.G;af.prototype.unset=af.prototype.R;af.prototype.changed=af.prototype.u;af.prototype.dispatchEvent=af.prototype.b;af.prototype.getRevision=af.prototype.K;af.prototype.on=af.prototype.I;af.prototype.once=af.prototype.L;af.prototype.un=af.prototype.J;af.prototype.unByKey=af.prototype.M;rf.prototype.getAttributions=rf.prototype.wa;rf.prototype.getLogo=rf.prototype.ua;
rf.prototype.getProjection=rf.prototype.xa;rf.prototype.getState=rf.prototype.V;rf.prototype.refresh=rf.prototype.ta;rf.prototype.setAttributions=rf.prototype.qa;rf.prototype.get=rf.prototype.get;rf.prototype.getKeys=rf.prototype.N;rf.prototype.getProperties=rf.prototype.O;rf.prototype.set=rf.prototype.set;rf.prototype.setProperties=rf.prototype.G;rf.prototype.unset=rf.prototype.R;rf.prototype.changed=rf.prototype.u;rf.prototype.dispatchEvent=rf.prototype.b;rf.prototype.getRevision=rf.prototype.K;
rf.prototype.on=rf.prototype.I;rf.prototype.once=rf.prototype.L;rf.prototype.un=rf.prototype.J;rf.prototype.unByKey=rf.prototype.M;Jl.prototype.getTileGrid=Jl.prototype.Na;Jl.prototype.refresh=Jl.prototype.ta;Jl.prototype.getAttributions=Jl.prototype.wa;Jl.prototype.getLogo=Jl.prototype.ua;Jl.prototype.getProjection=Jl.prototype.xa;Jl.prototype.getState=Jl.prototype.V;Jl.prototype.setAttributions=Jl.prototype.qa;Jl.prototype.get=Jl.prototype.get;Jl.prototype.getKeys=Jl.prototype.N;
Jl.prototype.getProperties=Jl.prototype.O;Jl.prototype.set=Jl.prototype.set;Jl.prototype.setProperties=Jl.prototype.G;Jl.prototype.unset=Jl.prototype.R;Jl.prototype.changed=Jl.prototype.u;Jl.prototype.dispatchEvent=Jl.prototype.b;Jl.prototype.getRevision=Jl.prototype.K;Jl.prototype.on=Jl.prototype.I;Jl.prototype.once=Jl.prototype.L;Jl.prototype.un=Jl.prototype.J;Jl.prototype.unByKey=Jl.prototype.M;X.prototype.getTileLoadFunction=X.prototype.gb;X.prototype.getTileUrlFunction=X.prototype.hb;
X.prototype.getUrls=X.prototype.ib;X.prototype.setTileLoadFunction=X.prototype.lb;X.prototype.setTileUrlFunction=X.prototype.Qa;X.prototype.setUrl=X.prototype.Va;X.prototype.setUrls=X.prototype.bb;X.prototype.getTileGrid=X.prototype.Na;X.prototype.refresh=X.prototype.ta;X.prototype.getAttributions=X.prototype.wa;X.prototype.getLogo=X.prototype.ua;X.prototype.getProjection=X.prototype.xa;X.prototype.getState=X.prototype.V;X.prototype.setAttributions=X.prototype.qa;X.prototype.get=X.prototype.get;
X.prototype.getKeys=X.prototype.N;X.prototype.getProperties=X.prototype.O;X.prototype.set=X.prototype.set;X.prototype.setProperties=X.prototype.G;X.prototype.unset=X.prototype.R;X.prototype.changed=X.prototype.u;X.prototype.dispatchEvent=X.prototype.b;X.prototype.getRevision=X.prototype.K;X.prototype.on=X.prototype.I;X.prototype.once=X.prototype.L;X.prototype.un=X.prototype.J;X.prototype.unByKey=X.prototype.M;nv.prototype.setRenderReprojectionEdges=nv.prototype.Ab;
nv.prototype.setTileGridForProjection=nv.prototype.Bb;nv.prototype.getTileLoadFunction=nv.prototype.gb;nv.prototype.getTileUrlFunction=nv.prototype.hb;nv.prototype.getUrls=nv.prototype.ib;nv.prototype.setTileLoadFunction=nv.prototype.lb;nv.prototype.setTileUrlFunction=nv.prototype.Qa;nv.prototype.setUrl=nv.prototype.Va;nv.prototype.setUrls=nv.prototype.bb;nv.prototype.getTileGrid=nv.prototype.Na;nv.prototype.refresh=nv.prototype.ta;nv.prototype.getAttributions=nv.prototype.wa;
nv.prototype.getLogo=nv.prototype.ua;nv.prototype.getProjection=nv.prototype.xa;nv.prototype.getState=nv.prototype.V;nv.prototype.setAttributions=nv.prototype.qa;nv.prototype.get=nv.prototype.get;nv.prototype.getKeys=nv.prototype.N;nv.prototype.getProperties=nv.prototype.O;nv.prototype.set=nv.prototype.set;nv.prototype.setProperties=nv.prototype.G;nv.prototype.unset=nv.prototype.R;nv.prototype.changed=nv.prototype.u;nv.prototype.dispatchEvent=nv.prototype.b;nv.prototype.getRevision=nv.prototype.K;
nv.prototype.on=nv.prototype.I;nv.prototype.once=nv.prototype.L;nv.prototype.un=nv.prototype.J;nv.prototype.unByKey=nv.prototype.M;pv.prototype.setRenderReprojectionEdges=pv.prototype.Ab;pv.prototype.setTileGridForProjection=pv.prototype.Bb;pv.prototype.getTileLoadFunction=pv.prototype.gb;pv.prototype.getTileUrlFunction=pv.prototype.hb;pv.prototype.getUrls=pv.prototype.ib;pv.prototype.setTileLoadFunction=pv.prototype.lb;pv.prototype.setTileUrlFunction=pv.prototype.Qa;pv.prototype.setUrl=pv.prototype.Va;
pv.prototype.setUrls=pv.prototype.bb;pv.prototype.getTileGrid=pv.prototype.Na;pv.prototype.refresh=pv.prototype.ta;pv.prototype.getAttributions=pv.prototype.wa;pv.prototype.getLogo=pv.prototype.ua;pv.prototype.getProjection=pv.prototype.xa;pv.prototype.getState=pv.prototype.V;pv.prototype.setAttributions=pv.prototype.qa;pv.prototype.get=pv.prototype.get;pv.prototype.getKeys=pv.prototype.N;pv.prototype.getProperties=pv.prototype.O;pv.prototype.set=pv.prototype.set;pv.prototype.setProperties=pv.prototype.G;
pv.prototype.unset=pv.prototype.R;pv.prototype.changed=pv.prototype.u;pv.prototype.dispatchEvent=pv.prototype.b;pv.prototype.getRevision=pv.prototype.K;pv.prototype.on=pv.prototype.I;pv.prototype.once=pv.prototype.L;pv.prototype.un=pv.prototype.J;pv.prototype.unByKey=pv.prototype.M;qv.prototype.setRenderReprojectionEdges=qv.prototype.Ab;qv.prototype.setTileGridForProjection=qv.prototype.Bb;qv.prototype.getTileLoadFunction=qv.prototype.gb;qv.prototype.getTileUrlFunction=qv.prototype.hb;
qv.prototype.getUrls=qv.prototype.ib;qv.prototype.setTileLoadFunction=qv.prototype.lb;qv.prototype.setTileUrlFunction=qv.prototype.Qa;qv.prototype.setUrl=qv.prototype.Va;qv.prototype.setUrls=qv.prototype.bb;qv.prototype.getTileGrid=qv.prototype.Na;qv.prototype.refresh=qv.prototype.ta;qv.prototype.getAttributions=qv.prototype.wa;qv.prototype.getLogo=qv.prototype.ua;qv.prototype.getProjection=qv.prototype.xa;qv.prototype.getState=qv.prototype.V;qv.prototype.setAttributions=qv.prototype.qa;
qv.prototype.get=qv.prototype.get;qv.prototype.getKeys=qv.prototype.N;qv.prototype.getProperties=qv.prototype.O;qv.prototype.set=qv.prototype.set;qv.prototype.setProperties=qv.prototype.G;qv.prototype.unset=qv.prototype.R;qv.prototype.changed=qv.prototype.u;qv.prototype.dispatchEvent=qv.prototype.b;qv.prototype.getRevision=qv.prototype.K;qv.prototype.on=qv.prototype.I;qv.prototype.once=qv.prototype.L;qv.prototype.un=qv.prototype.J;qv.prototype.unByKey=qv.prototype.M;P.prototype.getAttributions=P.prototype.wa;
P.prototype.getLogo=P.prototype.ua;P.prototype.getProjection=P.prototype.xa;P.prototype.getState=P.prototype.V;P.prototype.refresh=P.prototype.ta;P.prototype.setAttributions=P.prototype.qa;P.prototype.get=P.prototype.get;P.prototype.getKeys=P.prototype.N;P.prototype.getProperties=P.prototype.O;P.prototype.set=P.prototype.set;P.prototype.setProperties=P.prototype.G;P.prototype.unset=P.prototype.R;P.prototype.changed=P.prototype.u;P.prototype.dispatchEvent=P.prototype.b;P.prototype.getRevision=P.prototype.K;
P.prototype.on=P.prototype.I;P.prototype.once=P.prototype.L;P.prototype.un=P.prototype.J;P.prototype.unByKey=P.prototype.M;Y.prototype.addFeature=Y.prototype.sb;Y.prototype.addFeatures=Y.prototype.Jc;Y.prototype.clear=Y.prototype.clear;Y.prototype.forEachFeature=Y.prototype.wg;Y.prototype.forEachFeatureInExtent=Y.prototype.vb;Y.prototype.forEachFeatureIntersectingExtent=Y.prototype.xg;Y.prototype.getFeaturesCollection=Y.prototype.Fg;Y.prototype.getFeatures=Y.prototype.oe;
Y.prototype.getFeaturesAtCoordinate=Y.prototype.Eg;Y.prototype.getFeaturesInExtent=Y.prototype.ef;Y.prototype.getClosestFeatureToCoordinate=Y.prototype.Ag;Y.prototype.getExtent=Y.prototype.H;Y.prototype.getFeatureById=Y.prototype.Dg;Y.prototype.getFormat=Y.prototype.Ch;Y.prototype.getUrl=Y.prototype.Dh;Y.prototype.removeFeature=Y.prototype.ob;Y.prototype.getAttributions=Y.prototype.wa;Y.prototype.getLogo=Y.prototype.ua;Y.prototype.getProjection=Y.prototype.xa;Y.prototype.getState=Y.prototype.V;
Y.prototype.refresh=Y.prototype.ta;Y.prototype.setAttributions=Y.prototype.qa;Y.prototype.get=Y.prototype.get;Y.prototype.getKeys=Y.prototype.N;Y.prototype.getProperties=Y.prototype.O;Y.prototype.set=Y.prototype.set;Y.prototype.setProperties=Y.prototype.G;Y.prototype.unset=Y.prototype.R;Y.prototype.changed=Y.prototype.u;Y.prototype.dispatchEvent=Y.prototype.b;Y.prototype.getRevision=Y.prototype.K;Y.prototype.on=Y.prototype.I;Y.prototype.once=Y.prototype.L;Y.prototype.un=Y.prototype.J;
Y.prototype.unByKey=Y.prototype.M;Ak.prototype.getAttributions=Ak.prototype.wa;Ak.prototype.getLogo=Ak.prototype.ua;Ak.prototype.getProjection=Ak.prototype.xa;Ak.prototype.getState=Ak.prototype.V;Ak.prototype.refresh=Ak.prototype.ta;Ak.prototype.setAttributions=Ak.prototype.qa;Ak.prototype.get=Ak.prototype.get;Ak.prototype.getKeys=Ak.prototype.N;Ak.prototype.getProperties=Ak.prototype.O;Ak.prototype.set=Ak.prototype.set;Ak.prototype.setProperties=Ak.prototype.G;Ak.prototype.unset=Ak.prototype.R;
Ak.prototype.changed=Ak.prototype.u;Ak.prototype.dispatchEvent=Ak.prototype.b;Ak.prototype.getRevision=Ak.prototype.K;Ak.prototype.on=Ak.prototype.I;Ak.prototype.once=Ak.prototype.L;Ak.prototype.un=Ak.prototype.J;Ak.prototype.unByKey=Ak.prototype.M;wv.prototype.getAttributions=wv.prototype.wa;wv.prototype.getLogo=wv.prototype.ua;wv.prototype.getProjection=wv.prototype.xa;wv.prototype.getState=wv.prototype.V;wv.prototype.refresh=wv.prototype.ta;wv.prototype.setAttributions=wv.prototype.qa;
wv.prototype.get=wv.prototype.get;wv.prototype.getKeys=wv.prototype.N;wv.prototype.getProperties=wv.prototype.O;wv.prototype.set=wv.prototype.set;wv.prototype.setProperties=wv.prototype.G;wv.prototype.unset=wv.prototype.R;wv.prototype.changed=wv.prototype.u;wv.prototype.dispatchEvent=wv.prototype.b;wv.prototype.getRevision=wv.prototype.K;wv.prototype.on=wv.prototype.I;wv.prototype.once=wv.prototype.L;wv.prototype.un=wv.prototype.J;wv.prototype.unByKey=wv.prototype.M;Hk.prototype.getAttributions=Hk.prototype.wa;
Hk.prototype.getLogo=Hk.prototype.ua;Hk.prototype.getProjection=Hk.prototype.xa;Hk.prototype.getState=Hk.prototype.V;Hk.prototype.refresh=Hk.prototype.ta;Hk.prototype.setAttributions=Hk.prototype.qa;Hk.prototype.get=Hk.prototype.get;Hk.prototype.getKeys=Hk.prototype.N;Hk.prototype.getProperties=Hk.prototype.O;Hk.prototype.set=Hk.prototype.set;Hk.prototype.setProperties=Hk.prototype.G;Hk.prototype.unset=Hk.prototype.R;Hk.prototype.changed=Hk.prototype.u;Hk.prototype.dispatchEvent=Hk.prototype.b;
Hk.prototype.getRevision=Hk.prototype.K;Hk.prototype.on=Hk.prototype.I;Hk.prototype.once=Hk.prototype.L;Hk.prototype.un=Hk.prototype.J;Hk.prototype.unByKey=Hk.prototype.M;xv.prototype.getAttributions=xv.prototype.wa;xv.prototype.getLogo=xv.prototype.ua;xv.prototype.getProjection=xv.prototype.xa;xv.prototype.getState=xv.prototype.V;xv.prototype.refresh=xv.prototype.ta;xv.prototype.setAttributions=xv.prototype.qa;xv.prototype.get=xv.prototype.get;xv.prototype.getKeys=xv.prototype.N;
xv.prototype.getProperties=xv.prototype.O;xv.prototype.set=xv.prototype.set;xv.prototype.setProperties=xv.prototype.G;xv.prototype.unset=xv.prototype.R;xv.prototype.changed=xv.prototype.u;xv.prototype.dispatchEvent=xv.prototype.b;xv.prototype.getRevision=xv.prototype.K;xv.prototype.on=xv.prototype.I;xv.prototype.once=xv.prototype.L;xv.prototype.un=xv.prototype.J;xv.prototype.unByKey=xv.prototype.M;Ck.prototype.type=Ck.prototype.type;Ck.prototype.target=Ck.prototype.target;
Ck.prototype.preventDefault=Ck.prototype.preventDefault;Ck.prototype.stopPropagation=Ck.prototype.stopPropagation;yv.prototype.getAttributions=yv.prototype.wa;yv.prototype.getLogo=yv.prototype.ua;yv.prototype.getProjection=yv.prototype.xa;yv.prototype.getState=yv.prototype.V;yv.prototype.refresh=yv.prototype.ta;yv.prototype.setAttributions=yv.prototype.qa;yv.prototype.get=yv.prototype.get;yv.prototype.getKeys=yv.prototype.N;yv.prototype.getProperties=yv.prototype.O;yv.prototype.set=yv.prototype.set;
yv.prototype.setProperties=yv.prototype.G;yv.prototype.unset=yv.prototype.R;yv.prototype.changed=yv.prototype.u;yv.prototype.dispatchEvent=yv.prototype.b;yv.prototype.getRevision=yv.prototype.K;yv.prototype.on=yv.prototype.I;yv.prototype.once=yv.prototype.L;yv.prototype.un=yv.prototype.J;yv.prototype.unByKey=yv.prototype.M;yl.prototype.getAttributions=yl.prototype.wa;yl.prototype.getLogo=yl.prototype.ua;yl.prototype.getProjection=yl.prototype.xa;yl.prototype.getState=yl.prototype.V;
yl.prototype.refresh=yl.prototype.ta;yl.prototype.setAttributions=yl.prototype.qa;yl.prototype.get=yl.prototype.get;yl.prototype.getKeys=yl.prototype.N;yl.prototype.getProperties=yl.prototype.O;yl.prototype.set=yl.prototype.set;yl.prototype.setProperties=yl.prototype.G;yl.prototype.unset=yl.prototype.R;yl.prototype.changed=yl.prototype.u;yl.prototype.dispatchEvent=yl.prototype.b;yl.prototype.getRevision=yl.prototype.K;yl.prototype.on=yl.prototype.I;yl.prototype.once=yl.prototype.L;
yl.prototype.un=yl.prototype.J;yl.prototype.unByKey=yl.prototype.M;zv.prototype.getAttributions=zv.prototype.wa;zv.prototype.getLogo=zv.prototype.ua;zv.prototype.getProjection=zv.prototype.xa;zv.prototype.getState=zv.prototype.V;zv.prototype.refresh=zv.prototype.ta;zv.prototype.setAttributions=zv.prototype.qa;zv.prototype.get=zv.prototype.get;zv.prototype.getKeys=zv.prototype.N;zv.prototype.getProperties=zv.prototype.O;zv.prototype.set=zv.prototype.set;zv.prototype.setProperties=zv.prototype.G;
zv.prototype.unset=zv.prototype.R;zv.prototype.changed=zv.prototype.u;zv.prototype.dispatchEvent=zv.prototype.b;zv.prototype.getRevision=zv.prototype.K;zv.prototype.on=zv.prototype.I;zv.prototype.once=zv.prototype.L;zv.prototype.un=zv.prototype.J;zv.prototype.unByKey=zv.prototype.M;Dv.prototype.setRenderReprojectionEdges=Dv.prototype.Ab;Dv.prototype.setTileGridForProjection=Dv.prototype.Bb;Dv.prototype.getTileLoadFunction=Dv.prototype.gb;Dv.prototype.getTileUrlFunction=Dv.prototype.hb;
Dv.prototype.getUrls=Dv.prototype.ib;Dv.prototype.setTileLoadFunction=Dv.prototype.lb;Dv.prototype.setTileUrlFunction=Dv.prototype.Qa;Dv.prototype.setUrl=Dv.prototype.Va;Dv.prototype.setUrls=Dv.prototype.bb;Dv.prototype.getTileGrid=Dv.prototype.Na;Dv.prototype.refresh=Dv.prototype.ta;Dv.prototype.getAttributions=Dv.prototype.wa;Dv.prototype.getLogo=Dv.prototype.ua;Dv.prototype.getProjection=Dv.prototype.xa;Dv.prototype.getState=Dv.prototype.V;Dv.prototype.setAttributions=Dv.prototype.qa;
Dv.prototype.get=Dv.prototype.get;Dv.prototype.getKeys=Dv.prototype.N;Dv.prototype.getProperties=Dv.prototype.O;Dv.prototype.set=Dv.prototype.set;Dv.prototype.setProperties=Dv.prototype.G;Dv.prototype.unset=Dv.prototype.R;Dv.prototype.changed=Dv.prototype.u;Dv.prototype.dispatchEvent=Dv.prototype.b;Dv.prototype.getRevision=Dv.prototype.K;Dv.prototype.on=Dv.prototype.I;Dv.prototype.once=Dv.prototype.L;Dv.prototype.un=Dv.prototype.J;Dv.prototype.unByKey=Dv.prototype.M;Fv.prototype.getAttributions=Fv.prototype.wa;
Fv.prototype.getLogo=Fv.prototype.ua;Fv.prototype.getProjection=Fv.prototype.xa;Fv.prototype.getState=Fv.prototype.V;Fv.prototype.refresh=Fv.prototype.ta;Fv.prototype.setAttributions=Fv.prototype.qa;Fv.prototype.get=Fv.prototype.get;Fv.prototype.getKeys=Fv.prototype.N;Fv.prototype.getProperties=Fv.prototype.O;Fv.prototype.set=Fv.prototype.set;Fv.prototype.setProperties=Fv.prototype.G;Fv.prototype.unset=Fv.prototype.R;Fv.prototype.changed=Fv.prototype.u;Fv.prototype.dispatchEvent=Fv.prototype.b;
Fv.prototype.getRevision=Fv.prototype.K;Fv.prototype.on=Fv.prototype.I;Fv.prototype.once=Fv.prototype.L;Fv.prototype.un=Fv.prototype.J;Fv.prototype.unByKey=Fv.prototype.M;Kv.prototype.type=Kv.prototype.type;Kv.prototype.target=Kv.prototype.target;Kv.prototype.preventDefault=Kv.prototype.preventDefault;Kv.prototype.stopPropagation=Kv.prototype.stopPropagation;Pv.prototype.setRenderReprojectionEdges=Pv.prototype.Ab;Pv.prototype.setTileGridForProjection=Pv.prototype.Bb;
Pv.prototype.getTileLoadFunction=Pv.prototype.gb;Pv.prototype.getTileUrlFunction=Pv.prototype.hb;Pv.prototype.getUrls=Pv.prototype.ib;Pv.prototype.setTileLoadFunction=Pv.prototype.lb;Pv.prototype.setTileUrlFunction=Pv.prototype.Qa;Pv.prototype.setUrl=Pv.prototype.Va;Pv.prototype.setUrls=Pv.prototype.bb;Pv.prototype.getTileGrid=Pv.prototype.Na;Pv.prototype.refresh=Pv.prototype.ta;Pv.prototype.getAttributions=Pv.prototype.wa;Pv.prototype.getLogo=Pv.prototype.ua;Pv.prototype.getProjection=Pv.prototype.xa;
Pv.prototype.getState=Pv.prototype.V;Pv.prototype.setAttributions=Pv.prototype.qa;Pv.prototype.get=Pv.prototype.get;Pv.prototype.getKeys=Pv.prototype.N;Pv.prototype.getProperties=Pv.prototype.O;Pv.prototype.set=Pv.prototype.set;Pv.prototype.setProperties=Pv.prototype.G;Pv.prototype.unset=Pv.prototype.R;Pv.prototype.changed=Pv.prototype.u;Pv.prototype.dispatchEvent=Pv.prototype.b;Pv.prototype.getRevision=Pv.prototype.K;Pv.prototype.on=Pv.prototype.I;Pv.prototype.once=Pv.prototype.L;
Pv.prototype.un=Pv.prototype.J;Pv.prototype.unByKey=Pv.prototype.M;Rv.prototype.setRenderReprojectionEdges=Rv.prototype.Ab;Rv.prototype.setTileGridForProjection=Rv.prototype.Bb;Rv.prototype.getTileLoadFunction=Rv.prototype.gb;Rv.prototype.getTileUrlFunction=Rv.prototype.hb;Rv.prototype.getUrls=Rv.prototype.ib;Rv.prototype.setTileLoadFunction=Rv.prototype.lb;Rv.prototype.setTileUrlFunction=Rv.prototype.Qa;Rv.prototype.setUrl=Rv.prototype.Va;Rv.prototype.setUrls=Rv.prototype.bb;
Rv.prototype.getTileGrid=Rv.prototype.Na;Rv.prototype.refresh=Rv.prototype.ta;Rv.prototype.getAttributions=Rv.prototype.wa;Rv.prototype.getLogo=Rv.prototype.ua;Rv.prototype.getProjection=Rv.prototype.xa;Rv.prototype.getState=Rv.prototype.V;Rv.prototype.setAttributions=Rv.prototype.qa;Rv.prototype.get=Rv.prototype.get;Rv.prototype.getKeys=Rv.prototype.N;Rv.prototype.getProperties=Rv.prototype.O;Rv.prototype.set=Rv.prototype.set;Rv.prototype.setProperties=Rv.prototype.G;Rv.prototype.unset=Rv.prototype.R;
Rv.prototype.changed=Rv.prototype.u;Rv.prototype.dispatchEvent=Rv.prototype.b;Rv.prototype.getRevision=Rv.prototype.K;Rv.prototype.on=Rv.prototype.I;Rv.prototype.once=Rv.prototype.L;Rv.prototype.un=Rv.prototype.J;Rv.prototype.unByKey=Rv.prototype.M;Tv.prototype.getTileGrid=Tv.prototype.Na;Tv.prototype.refresh=Tv.prototype.ta;Tv.prototype.getAttributions=Tv.prototype.wa;Tv.prototype.getLogo=Tv.prototype.ua;Tv.prototype.getProjection=Tv.prototype.xa;Tv.prototype.getState=Tv.prototype.V;
Tv.prototype.setAttributions=Tv.prototype.qa;Tv.prototype.get=Tv.prototype.get;Tv.prototype.getKeys=Tv.prototype.N;Tv.prototype.getProperties=Tv.prototype.O;Tv.prototype.set=Tv.prototype.set;Tv.prototype.setProperties=Tv.prototype.G;Tv.prototype.unset=Tv.prototype.R;Tv.prototype.changed=Tv.prototype.u;Tv.prototype.dispatchEvent=Tv.prototype.b;Tv.prototype.getRevision=Tv.prototype.K;Tv.prototype.on=Tv.prototype.I;Tv.prototype.once=Tv.prototype.L;Tv.prototype.un=Tv.prototype.J;
Tv.prototype.unByKey=Tv.prototype.M;Uv.prototype.setRenderReprojectionEdges=Uv.prototype.Ab;Uv.prototype.setTileGridForProjection=Uv.prototype.Bb;Uv.prototype.getTileLoadFunction=Uv.prototype.gb;Uv.prototype.getTileUrlFunction=Uv.prototype.hb;Uv.prototype.getUrls=Uv.prototype.ib;Uv.prototype.setTileLoadFunction=Uv.prototype.lb;Uv.prototype.setTileUrlFunction=Uv.prototype.Qa;Uv.prototype.setUrl=Uv.prototype.Va;Uv.prototype.setUrls=Uv.prototype.bb;Uv.prototype.getTileGrid=Uv.prototype.Na;
Uv.prototype.refresh=Uv.prototype.ta;Uv.prototype.getAttributions=Uv.prototype.wa;Uv.prototype.getLogo=Uv.prototype.ua;Uv.prototype.getProjection=Uv.prototype.xa;Uv.prototype.getState=Uv.prototype.V;Uv.prototype.setAttributions=Uv.prototype.qa;Uv.prototype.get=Uv.prototype.get;Uv.prototype.getKeys=Uv.prototype.N;Uv.prototype.getProperties=Uv.prototype.O;Uv.prototype.set=Uv.prototype.set;Uv.prototype.setProperties=Uv.prototype.G;Uv.prototype.unset=Uv.prototype.R;Uv.prototype.changed=Uv.prototype.u;
Uv.prototype.dispatchEvent=Uv.prototype.b;Uv.prototype.getRevision=Uv.prototype.K;Uv.prototype.on=Uv.prototype.I;Uv.prototype.once=Uv.prototype.L;Uv.prototype.un=Uv.prototype.J;Uv.prototype.unByKey=Uv.prototype.M;wf.prototype.type=wf.prototype.type;wf.prototype.target=wf.prototype.target;wf.prototype.preventDefault=wf.prototype.preventDefault;wf.prototype.stopPropagation=wf.prototype.stopPropagation;Vv.prototype.getTileGrid=Vv.prototype.Na;Vv.prototype.refresh=Vv.prototype.ta;
Vv.prototype.getAttributions=Vv.prototype.wa;Vv.prototype.getLogo=Vv.prototype.ua;Vv.prototype.getProjection=Vv.prototype.xa;Vv.prototype.getState=Vv.prototype.V;Vv.prototype.setAttributions=Vv.prototype.qa;Vv.prototype.get=Vv.prototype.get;Vv.prototype.getKeys=Vv.prototype.N;Vv.prototype.getProperties=Vv.prototype.O;Vv.prototype.set=Vv.prototype.set;Vv.prototype.setProperties=Vv.prototype.G;Vv.prototype.unset=Vv.prototype.R;Vv.prototype.changed=Vv.prototype.u;Vv.prototype.dispatchEvent=Vv.prototype.b;
Vv.prototype.getRevision=Vv.prototype.K;Vv.prototype.on=Vv.prototype.I;Vv.prototype.once=Vv.prototype.L;Vv.prototype.un=Vv.prototype.J;Vv.prototype.unByKey=Vv.prototype.M;Zv.prototype.setRenderReprojectionEdges=Zv.prototype.Ab;Zv.prototype.setTileGridForProjection=Zv.prototype.Bb;Zv.prototype.getTileLoadFunction=Zv.prototype.gb;Zv.prototype.getTileUrlFunction=Zv.prototype.hb;Zv.prototype.getUrls=Zv.prototype.ib;Zv.prototype.setTileLoadFunction=Zv.prototype.lb;Zv.prototype.setTileUrlFunction=Zv.prototype.Qa;
Zv.prototype.setUrl=Zv.prototype.Va;Zv.prototype.setUrls=Zv.prototype.bb;Zv.prototype.getTileGrid=Zv.prototype.Na;Zv.prototype.refresh=Zv.prototype.ta;Zv.prototype.getAttributions=Zv.prototype.wa;Zv.prototype.getLogo=Zv.prototype.ua;Zv.prototype.getProjection=Zv.prototype.xa;Zv.prototype.getState=Zv.prototype.V;Zv.prototype.setAttributions=Zv.prototype.qa;Zv.prototype.get=Zv.prototype.get;Zv.prototype.getKeys=Zv.prototype.N;Zv.prototype.getProperties=Zv.prototype.O;Zv.prototype.set=Zv.prototype.set;
Zv.prototype.setProperties=Zv.prototype.G;Zv.prototype.unset=Zv.prototype.R;Zv.prototype.changed=Zv.prototype.u;Zv.prototype.dispatchEvent=Zv.prototype.b;Zv.prototype.getRevision=Zv.prototype.K;Zv.prototype.on=Zv.prototype.I;Zv.prototype.once=Zv.prototype.L;Zv.prototype.un=Zv.prototype.J;Zv.prototype.unByKey=Zv.prototype.M;vl.prototype.type=vl.prototype.type;vl.prototype.target=vl.prototype.target;vl.prototype.preventDefault=vl.prototype.preventDefault;vl.prototype.stopPropagation=vl.prototype.stopPropagation;
Kl.prototype.getTileLoadFunction=Kl.prototype.gb;Kl.prototype.getTileUrlFunction=Kl.prototype.hb;Kl.prototype.getUrls=Kl.prototype.ib;Kl.prototype.setTileLoadFunction=Kl.prototype.lb;Kl.prototype.setTileUrlFunction=Kl.prototype.Qa;Kl.prototype.setUrl=Kl.prototype.Va;Kl.prototype.setUrls=Kl.prototype.bb;Kl.prototype.getTileGrid=Kl.prototype.Na;Kl.prototype.refresh=Kl.prototype.ta;Kl.prototype.getAttributions=Kl.prototype.wa;Kl.prototype.getLogo=Kl.prototype.ua;Kl.prototype.getProjection=Kl.prototype.xa;
Kl.prototype.getState=Kl.prototype.V;Kl.prototype.setAttributions=Kl.prototype.qa;Kl.prototype.get=Kl.prototype.get;Kl.prototype.getKeys=Kl.prototype.N;Kl.prototype.getProperties=Kl.prototype.O;Kl.prototype.set=Kl.prototype.set;Kl.prototype.setProperties=Kl.prototype.G;Kl.prototype.unset=Kl.prototype.R;Kl.prototype.changed=Kl.prototype.u;Kl.prototype.dispatchEvent=Kl.prototype.b;Kl.prototype.getRevision=Kl.prototype.K;Kl.prototype.on=Kl.prototype.I;Kl.prototype.once=Kl.prototype.L;
Kl.prototype.un=Kl.prototype.J;Kl.prototype.unByKey=Kl.prototype.M;Z.prototype.setRenderReprojectionEdges=Z.prototype.Ab;Z.prototype.setTileGridForProjection=Z.prototype.Bb;Z.prototype.getTileLoadFunction=Z.prototype.gb;Z.prototype.getTileUrlFunction=Z.prototype.hb;Z.prototype.getUrls=Z.prototype.ib;Z.prototype.setTileLoadFunction=Z.prototype.lb;Z.prototype.setTileUrlFunction=Z.prototype.Qa;Z.prototype.setUrl=Z.prototype.Va;Z.prototype.setUrls=Z.prototype.bb;Z.prototype.getTileGrid=Z.prototype.Na;
Z.prototype.refresh=Z.prototype.ta;Z.prototype.getAttributions=Z.prototype.wa;Z.prototype.getLogo=Z.prototype.ua;Z.prototype.getProjection=Z.prototype.xa;Z.prototype.getState=Z.prototype.V;Z.prototype.setAttributions=Z.prototype.qa;Z.prototype.get=Z.prototype.get;Z.prototype.getKeys=Z.prototype.N;Z.prototype.getProperties=Z.prototype.O;Z.prototype.set=Z.prototype.set;Z.prototype.setProperties=Z.prototype.G;Z.prototype.unset=Z.prototype.R;Z.prototype.changed=Z.prototype.u;
Z.prototype.dispatchEvent=Z.prototype.b;Z.prototype.getRevision=Z.prototype.K;Z.prototype.on=Z.prototype.I;Z.prototype.once=Z.prototype.L;Z.prototype.un=Z.prototype.J;Z.prototype.unByKey=Z.prototype.M;gw.prototype.setRenderReprojectionEdges=gw.prototype.Ab;gw.prototype.setTileGridForProjection=gw.prototype.Bb;gw.prototype.getTileLoadFunction=gw.prototype.gb;gw.prototype.getTileUrlFunction=gw.prototype.hb;gw.prototype.getUrls=gw.prototype.ib;gw.prototype.setTileLoadFunction=gw.prototype.lb;
gw.prototype.setTileUrlFunction=gw.prototype.Qa;gw.prototype.setUrl=gw.prototype.Va;gw.prototype.setUrls=gw.prototype.bb;gw.prototype.getTileGrid=gw.prototype.Na;gw.prototype.refresh=gw.prototype.ta;gw.prototype.getAttributions=gw.prototype.wa;gw.prototype.getLogo=gw.prototype.ua;gw.prototype.getProjection=gw.prototype.xa;gw.prototype.getState=gw.prototype.V;gw.prototype.setAttributions=gw.prototype.qa;gw.prototype.get=gw.prototype.get;gw.prototype.getKeys=gw.prototype.N;
gw.prototype.getProperties=gw.prototype.O;gw.prototype.set=gw.prototype.set;gw.prototype.setProperties=gw.prototype.G;gw.prototype.unset=gw.prototype.R;gw.prototype.changed=gw.prototype.u;gw.prototype.dispatchEvent=gw.prototype.b;gw.prototype.getRevision=gw.prototype.K;gw.prototype.on=gw.prototype.I;gw.prototype.once=gw.prototype.L;gw.prototype.un=gw.prototype.J;gw.prototype.unByKey=gw.prototype.M;jv.prototype.getTileCoord=jv.prototype.i;jv.prototype.load=jv.prototype.load;vh.prototype.changed=vh.prototype.u;
vh.prototype.dispatchEvent=vh.prototype.b;vh.prototype.getRevision=vh.prototype.K;vh.prototype.on=vh.prototype.I;vh.prototype.once=vh.prototype.L;vh.prototype.un=vh.prototype.J;vh.prototype.unByKey=vh.prototype.M;Gm.prototype.changed=Gm.prototype.u;Gm.prototype.dispatchEvent=Gm.prototype.b;Gm.prototype.getRevision=Gm.prototype.K;Gm.prototype.on=Gm.prototype.I;Gm.prototype.once=Gm.prototype.L;Gm.prototype.un=Gm.prototype.J;Gm.prototype.unByKey=Gm.prototype.M;Jm.prototype.changed=Jm.prototype.u;
Jm.prototype.dispatchEvent=Jm.prototype.b;Jm.prototype.getRevision=Jm.prototype.K;Jm.prototype.on=Jm.prototype.I;Jm.prototype.once=Jm.prototype.L;Jm.prototype.un=Jm.prototype.J;Jm.prototype.unByKey=Jm.prototype.M;Pm.prototype.changed=Pm.prototype.u;Pm.prototype.dispatchEvent=Pm.prototype.b;Pm.prototype.getRevision=Pm.prototype.K;Pm.prototype.on=Pm.prototype.I;Pm.prototype.once=Pm.prototype.L;Pm.prototype.un=Pm.prototype.J;Pm.prototype.unByKey=Pm.prototype.M;Rm.prototype.changed=Rm.prototype.u;
Rm.prototype.dispatchEvent=Rm.prototype.b;Rm.prototype.getRevision=Rm.prototype.K;Rm.prototype.on=Rm.prototype.I;Rm.prototype.once=Rm.prototype.L;Rm.prototype.un=Rm.prototype.J;Rm.prototype.unByKey=Rm.prototype.M;Sl.prototype.changed=Sl.prototype.u;Sl.prototype.dispatchEvent=Sl.prototype.b;Sl.prototype.getRevision=Sl.prototype.K;Sl.prototype.on=Sl.prototype.I;Sl.prototype.once=Sl.prototype.L;Sl.prototype.un=Sl.prototype.J;Sl.prototype.unByKey=Sl.prototype.M;Tl.prototype.changed=Tl.prototype.u;
Tl.prototype.dispatchEvent=Tl.prototype.b;Tl.prototype.getRevision=Tl.prototype.K;Tl.prototype.on=Tl.prototype.I;Tl.prototype.once=Tl.prototype.L;Tl.prototype.un=Tl.prototype.J;Tl.prototype.unByKey=Tl.prototype.M;Ul.prototype.changed=Ul.prototype.u;Ul.prototype.dispatchEvent=Ul.prototype.b;Ul.prototype.getRevision=Ul.prototype.K;Ul.prototype.on=Ul.prototype.I;Ul.prototype.once=Ul.prototype.L;Ul.prototype.un=Ul.prototype.J;Ul.prototype.unByKey=Ul.prototype.M;Wl.prototype.changed=Wl.prototype.u;
Wl.prototype.dispatchEvent=Wl.prototype.b;Wl.prototype.getRevision=Wl.prototype.K;Wl.prototype.on=Wl.prototype.I;Wl.prototype.once=Wl.prototype.L;Wl.prototype.un=Wl.prototype.J;Wl.prototype.unByKey=Wl.prototype.M;Kj.prototype.changed=Kj.prototype.u;Kj.prototype.dispatchEvent=Kj.prototype.b;Kj.prototype.getRevision=Kj.prototype.K;Kj.prototype.on=Kj.prototype.I;Kj.prototype.once=Kj.prototype.L;Kj.prototype.un=Kj.prototype.J;Kj.prototype.unByKey=Kj.prototype.M;Al.prototype.changed=Al.prototype.u;
Al.prototype.dispatchEvent=Al.prototype.b;Al.prototype.getRevision=Al.prototype.K;Al.prototype.on=Al.prototype.I;Al.prototype.once=Al.prototype.L;Al.prototype.un=Al.prototype.J;Al.prototype.unByKey=Al.prototype.M;Bl.prototype.changed=Bl.prototype.u;Bl.prototype.dispatchEvent=Bl.prototype.b;Bl.prototype.getRevision=Bl.prototype.K;Bl.prototype.on=Bl.prototype.I;Bl.prototype.once=Bl.prototype.L;Bl.prototype.un=Bl.prototype.J;Bl.prototype.unByKey=Bl.prototype.M;Dl.prototype.changed=Dl.prototype.u;
Dl.prototype.dispatchEvent=Dl.prototype.b;Dl.prototype.getRevision=Dl.prototype.K;Dl.prototype.on=Dl.prototype.I;Dl.prototype.once=Dl.prototype.L;Dl.prototype.un=Dl.prototype.J;Dl.prototype.unByKey=Dl.prototype.M;Ol.prototype.changed=Ol.prototype.u;Ol.prototype.dispatchEvent=Ol.prototype.b;Ol.prototype.getRevision=Ol.prototype.K;Ol.prototype.on=Ol.prototype.I;Ol.prototype.once=Ol.prototype.L;Ol.prototype.un=Ol.prototype.J;Ol.prototype.unByKey=Ol.prototype.M;qh.prototype.type=qh.prototype.type;
qh.prototype.target=qh.prototype.target;qh.prototype.preventDefault=qh.prototype.preventDefault;qh.prototype.stopPropagation=qh.prototype.stopPropagation;Pf.prototype.type=Pf.prototype.type;Pf.prototype.target=Pf.prototype.target;Pf.prototype.preventDefault=Pf.prototype.preventDefault;Pf.prototype.stopPropagation=Pf.prototype.stopPropagation;nh.prototype.get=nh.prototype.get;nh.prototype.getKeys=nh.prototype.N;nh.prototype.getProperties=nh.prototype.O;nh.prototype.set=nh.prototype.set;
nh.prototype.setProperties=nh.prototype.G;nh.prototype.unset=nh.prototype.R;nh.prototype.changed=nh.prototype.u;nh.prototype.dispatchEvent=nh.prototype.b;nh.prototype.getRevision=nh.prototype.K;nh.prototype.on=nh.prototype.I;nh.prototype.once=nh.prototype.L;nh.prototype.un=nh.prototype.J;nh.prototype.unByKey=nh.prototype.M;rh.prototype.getExtent=rh.prototype.H;rh.prototype.getMaxResolution=rh.prototype.Ob;rh.prototype.getMinResolution=rh.prototype.Pb;rh.prototype.getOpacity=rh.prototype.Qb;
rh.prototype.getVisible=rh.prototype.yb;rh.prototype.getZIndex=rh.prototype.Rb;rh.prototype.setExtent=rh.prototype.fc;rh.prototype.setMaxResolution=rh.prototype.nc;rh.prototype.setMinResolution=rh.prototype.oc;rh.prototype.setOpacity=rh.prototype.gc;rh.prototype.setVisible=rh.prototype.hc;rh.prototype.setZIndex=rh.prototype.ic;rh.prototype.get=rh.prototype.get;rh.prototype.getKeys=rh.prototype.N;rh.prototype.getProperties=rh.prototype.O;rh.prototype.set=rh.prototype.set;
rh.prototype.setProperties=rh.prototype.G;rh.prototype.unset=rh.prototype.R;rh.prototype.changed=rh.prototype.u;rh.prototype.dispatchEvent=rh.prototype.b;rh.prototype.getRevision=rh.prototype.K;rh.prototype.on=rh.prototype.I;rh.prototype.once=rh.prototype.L;rh.prototype.un=rh.prototype.J;rh.prototype.unByKey=rh.prototype.M;I.prototype.setMap=I.prototype.setMap;I.prototype.setSource=I.prototype.Fc;I.prototype.getExtent=I.prototype.H;I.prototype.getMaxResolution=I.prototype.Ob;
I.prototype.getMinResolution=I.prototype.Pb;I.prototype.getOpacity=I.prototype.Qb;I.prototype.getVisible=I.prototype.yb;I.prototype.getZIndex=I.prototype.Rb;I.prototype.setExtent=I.prototype.fc;I.prototype.setMaxResolution=I.prototype.nc;I.prototype.setMinResolution=I.prototype.oc;I.prototype.setOpacity=I.prototype.gc;I.prototype.setVisible=I.prototype.hc;I.prototype.setZIndex=I.prototype.ic;I.prototype.get=I.prototype.get;I.prototype.getKeys=I.prototype.N;I.prototype.getProperties=I.prototype.O;
I.prototype.set=I.prototype.set;I.prototype.setProperties=I.prototype.G;I.prototype.unset=I.prototype.R;I.prototype.changed=I.prototype.u;I.prototype.dispatchEvent=I.prototype.b;I.prototype.getRevision=I.prototype.K;I.prototype.on=I.prototype.I;I.prototype.once=I.prototype.L;I.prototype.un=I.prototype.J;I.prototype.unByKey=I.prototype.M;W.prototype.getSource=W.prototype.ha;W.prototype.getStyle=W.prototype.D;W.prototype.getStyleFunction=W.prototype.C;W.prototype.setStyle=W.prototype.l;
W.prototype.setMap=W.prototype.setMap;W.prototype.setSource=W.prototype.Fc;W.prototype.getExtent=W.prototype.H;W.prototype.getMaxResolution=W.prototype.Ob;W.prototype.getMinResolution=W.prototype.Pb;W.prototype.getOpacity=W.prototype.Qb;W.prototype.getVisible=W.prototype.yb;W.prototype.getZIndex=W.prototype.Rb;W.prototype.setExtent=W.prototype.fc;W.prototype.setMaxResolution=W.prototype.nc;W.prototype.setMinResolution=W.prototype.oc;W.prototype.setOpacity=W.prototype.gc;W.prototype.setVisible=W.prototype.hc;
W.prototype.setZIndex=W.prototype.ic;W.prototype.get=W.prototype.get;W.prototype.getKeys=W.prototype.N;W.prototype.getProperties=W.prototype.O;W.prototype.set=W.prototype.set;W.prototype.setProperties=W.prototype.G;W.prototype.unset=W.prototype.R;W.prototype.changed=W.prototype.u;W.prototype.dispatchEvent=W.prototype.b;W.prototype.getRevision=W.prototype.K;W.prototype.on=W.prototype.I;W.prototype.once=W.prototype.L;W.prototype.un=W.prototype.J;W.prototype.unByKey=W.prototype.M;
ej.prototype.setMap=ej.prototype.setMap;ej.prototype.setSource=ej.prototype.Fc;ej.prototype.getExtent=ej.prototype.H;ej.prototype.getMaxResolution=ej.prototype.Ob;ej.prototype.getMinResolution=ej.prototype.Pb;ej.prototype.getOpacity=ej.prototype.Qb;ej.prototype.getVisible=ej.prototype.yb;ej.prototype.getZIndex=ej.prototype.Rb;ej.prototype.setExtent=ej.prototype.fc;ej.prototype.setMaxResolution=ej.prototype.nc;ej.prototype.setMinResolution=ej.prototype.oc;ej.prototype.setOpacity=ej.prototype.gc;
ej.prototype.setVisible=ej.prototype.hc;ej.prototype.setZIndex=ej.prototype.ic;ej.prototype.get=ej.prototype.get;ej.prototype.getKeys=ej.prototype.N;ej.prototype.getProperties=ej.prototype.O;ej.prototype.set=ej.prototype.set;ej.prototype.setProperties=ej.prototype.G;ej.prototype.unset=ej.prototype.R;ej.prototype.changed=ej.prototype.u;ej.prototype.dispatchEvent=ej.prototype.b;ej.prototype.getRevision=ej.prototype.K;ej.prototype.on=ej.prototype.I;ej.prototype.once=ej.prototype.L;ej.prototype.un=ej.prototype.J;
ej.prototype.unByKey=ej.prototype.M;Vi.prototype.getExtent=Vi.prototype.H;Vi.prototype.getMaxResolution=Vi.prototype.Ob;Vi.prototype.getMinResolution=Vi.prototype.Pb;Vi.prototype.getOpacity=Vi.prototype.Qb;Vi.prototype.getVisible=Vi.prototype.yb;Vi.prototype.getZIndex=Vi.prototype.Rb;Vi.prototype.setExtent=Vi.prototype.fc;Vi.prototype.setMaxResolution=Vi.prototype.nc;Vi.prototype.setMinResolution=Vi.prototype.oc;Vi.prototype.setOpacity=Vi.prototype.gc;Vi.prototype.setVisible=Vi.prototype.hc;
Vi.prototype.setZIndex=Vi.prototype.ic;Vi.prototype.get=Vi.prototype.get;Vi.prototype.getKeys=Vi.prototype.N;Vi.prototype.getProperties=Vi.prototype.O;Vi.prototype.set=Vi.prototype.set;Vi.prototype.setProperties=Vi.prototype.G;Vi.prototype.unset=Vi.prototype.R;Vi.prototype.changed=Vi.prototype.u;Vi.prototype.dispatchEvent=Vi.prototype.b;Vi.prototype.getRevision=Vi.prototype.K;Vi.prototype.on=Vi.prototype.I;Vi.prototype.once=Vi.prototype.L;Vi.prototype.un=Vi.prototype.J;Vi.prototype.unByKey=Vi.prototype.M;
F.prototype.setMap=F.prototype.setMap;F.prototype.setSource=F.prototype.Fc;F.prototype.getExtent=F.prototype.H;F.prototype.getMaxResolution=F.prototype.Ob;F.prototype.getMinResolution=F.prototype.Pb;F.prototype.getOpacity=F.prototype.Qb;F.prototype.getVisible=F.prototype.yb;F.prototype.getZIndex=F.prototype.Rb;F.prototype.setExtent=F.prototype.fc;F.prototype.setMaxResolution=F.prototype.nc;F.prototype.setMinResolution=F.prototype.oc;F.prototype.setOpacity=F.prototype.gc;F.prototype.setVisible=F.prototype.hc;
F.prototype.setZIndex=F.prototype.ic;F.prototype.get=F.prototype.get;F.prototype.getKeys=F.prototype.N;F.prototype.getProperties=F.prototype.O;F.prototype.set=F.prototype.set;F.prototype.setProperties=F.prototype.G;F.prototype.unset=F.prototype.R;F.prototype.changed=F.prototype.u;F.prototype.dispatchEvent=F.prototype.b;F.prototype.getRevision=F.prototype.K;F.prototype.on=F.prototype.I;F.prototype.once=F.prototype.L;F.prototype.un=F.prototype.J;F.prototype.unByKey=F.prototype.M;
J.prototype.getSource=J.prototype.ha;J.prototype.getStyle=J.prototype.D;J.prototype.getStyleFunction=J.prototype.C;J.prototype.setStyle=J.prototype.l;J.prototype.setMap=J.prototype.setMap;J.prototype.setSource=J.prototype.Fc;J.prototype.getExtent=J.prototype.H;J.prototype.getMaxResolution=J.prototype.Ob;J.prototype.getMinResolution=J.prototype.Pb;J.prototype.getOpacity=J.prototype.Qb;J.prototype.getVisible=J.prototype.yb;J.prototype.getZIndex=J.prototype.Rb;J.prototype.setExtent=J.prototype.fc;
J.prototype.setMaxResolution=J.prototype.nc;J.prototype.setMinResolution=J.prototype.oc;J.prototype.setOpacity=J.prototype.gc;J.prototype.setVisible=J.prototype.hc;J.prototype.setZIndex=J.prototype.ic;J.prototype.get=J.prototype.get;J.prototype.getKeys=J.prototype.N;J.prototype.getProperties=J.prototype.O;J.prototype.set=J.prototype.set;J.prototype.setProperties=J.prototype.G;J.prototype.unset=J.prototype.R;J.prototype.changed=J.prototype.u;J.prototype.dispatchEvent=J.prototype.b;
J.prototype.getRevision=J.prototype.K;J.prototype.on=J.prototype.I;J.prototype.once=J.prototype.L;J.prototype.un=J.prototype.J;J.prototype.unByKey=J.prototype.M;Xh.prototype.get=Xh.prototype.get;Xh.prototype.getKeys=Xh.prototype.N;Xh.prototype.getProperties=Xh.prototype.O;Xh.prototype.set=Xh.prototype.set;Xh.prototype.setProperties=Xh.prototype.G;Xh.prototype.unset=Xh.prototype.R;Xh.prototype.changed=Xh.prototype.u;Xh.prototype.dispatchEvent=Xh.prototype.b;Xh.prototype.getRevision=Xh.prototype.K;
Xh.prototype.on=Xh.prototype.I;Xh.prototype.once=Xh.prototype.L;Xh.prototype.un=Xh.prototype.J;Xh.prototype.unByKey=Xh.prototype.M;ai.prototype.getActive=ai.prototype.f;ai.prototype.getMap=ai.prototype.l;ai.prototype.setActive=ai.prototype.i;ai.prototype.get=ai.prototype.get;ai.prototype.getKeys=ai.prototype.N;ai.prototype.getProperties=ai.prototype.O;ai.prototype.set=ai.prototype.set;ai.prototype.setProperties=ai.prototype.G;ai.prototype.unset=ai.prototype.R;ai.prototype.changed=ai.prototype.u;
ai.prototype.dispatchEvent=ai.prototype.b;ai.prototype.getRevision=ai.prototype.K;ai.prototype.on=ai.prototype.I;ai.prototype.once=ai.prototype.L;ai.prototype.un=ai.prototype.J;ai.prototype.unByKey=ai.prototype.M;fu.prototype.getActive=fu.prototype.f;fu.prototype.getMap=fu.prototype.l;fu.prototype.setActive=fu.prototype.i;fu.prototype.get=fu.prototype.get;fu.prototype.getKeys=fu.prototype.N;fu.prototype.getProperties=fu.prototype.O;fu.prototype.set=fu.prototype.set;fu.prototype.setProperties=fu.prototype.G;
fu.prototype.unset=fu.prototype.R;fu.prototype.changed=fu.prototype.u;fu.prototype.dispatchEvent=fu.prototype.b;fu.prototype.getRevision=fu.prototype.K;fu.prototype.on=fu.prototype.I;fu.prototype.once=fu.prototype.L;fu.prototype.un=fu.prototype.J;fu.prototype.unByKey=fu.prototype.M;iu.prototype.type=iu.prototype.type;iu.prototype.target=iu.prototype.target;iu.prototype.preventDefault=iu.prototype.preventDefault;iu.prototype.stopPropagation=iu.prototype.stopPropagation;zi.prototype.type=zi.prototype.type;
zi.prototype.target=zi.prototype.target;zi.prototype.preventDefault=zi.prototype.preventDefault;zi.prototype.stopPropagation=zi.prototype.stopPropagation;li.prototype.getActive=li.prototype.f;li.prototype.getMap=li.prototype.l;li.prototype.setActive=li.prototype.i;li.prototype.get=li.prototype.get;li.prototype.getKeys=li.prototype.N;li.prototype.getProperties=li.prototype.O;li.prototype.set=li.prototype.set;li.prototype.setProperties=li.prototype.G;li.prototype.unset=li.prototype.R;
li.prototype.changed=li.prototype.u;li.prototype.dispatchEvent=li.prototype.b;li.prototype.getRevision=li.prototype.K;li.prototype.on=li.prototype.I;li.prototype.once=li.prototype.L;li.prototype.un=li.prototype.J;li.prototype.unByKey=li.prototype.M;Ai.prototype.getActive=Ai.prototype.f;Ai.prototype.getMap=Ai.prototype.l;Ai.prototype.setActive=Ai.prototype.i;Ai.prototype.get=Ai.prototype.get;Ai.prototype.getKeys=Ai.prototype.N;Ai.prototype.getProperties=Ai.prototype.O;Ai.prototype.set=Ai.prototype.set;
Ai.prototype.setProperties=Ai.prototype.G;Ai.prototype.unset=Ai.prototype.R;Ai.prototype.changed=Ai.prototype.u;Ai.prototype.dispatchEvent=Ai.prototype.b;Ai.prototype.getRevision=Ai.prototype.K;Ai.prototype.on=Ai.prototype.I;Ai.prototype.once=Ai.prototype.L;Ai.prototype.un=Ai.prototype.J;Ai.prototype.unByKey=Ai.prototype.M;oi.prototype.getActive=oi.prototype.f;oi.prototype.getMap=oi.prototype.l;oi.prototype.setActive=oi.prototype.i;oi.prototype.get=oi.prototype.get;oi.prototype.getKeys=oi.prototype.N;
oi.prototype.getProperties=oi.prototype.O;oi.prototype.set=oi.prototype.set;oi.prototype.setProperties=oi.prototype.G;oi.prototype.unset=oi.prototype.R;oi.prototype.changed=oi.prototype.u;oi.prototype.dispatchEvent=oi.prototype.b;oi.prototype.getRevision=oi.prototype.K;oi.prototype.on=oi.prototype.I;oi.prototype.once=oi.prototype.L;oi.prototype.un=oi.prototype.J;oi.prototype.unByKey=oi.prototype.M;ku.prototype.getActive=ku.prototype.f;ku.prototype.getMap=ku.prototype.l;ku.prototype.setActive=ku.prototype.i;
ku.prototype.get=ku.prototype.get;ku.prototype.getKeys=ku.prototype.N;ku.prototype.getProperties=ku.prototype.O;ku.prototype.set=ku.prototype.set;ku.prototype.setProperties=ku.prototype.G;ku.prototype.unset=ku.prototype.R;ku.prototype.changed=ku.prototype.u;ku.prototype.dispatchEvent=ku.prototype.b;ku.prototype.getRevision=ku.prototype.K;ku.prototype.on=ku.prototype.I;ku.prototype.once=ku.prototype.L;ku.prototype.un=ku.prototype.J;ku.prototype.unByKey=ku.prototype.M;si.prototype.getActive=si.prototype.f;
si.prototype.getMap=si.prototype.l;si.prototype.setActive=si.prototype.i;si.prototype.get=si.prototype.get;si.prototype.getKeys=si.prototype.N;si.prototype.getProperties=si.prototype.O;si.prototype.set=si.prototype.set;si.prototype.setProperties=si.prototype.G;si.prototype.unset=si.prototype.R;si.prototype.changed=si.prototype.u;si.prototype.dispatchEvent=si.prototype.b;si.prototype.getRevision=si.prototype.K;si.prototype.on=si.prototype.I;si.prototype.once=si.prototype.L;si.prototype.un=si.prototype.J;
si.prototype.unByKey=si.prototype.M;Fi.prototype.getGeometry=Fi.prototype.X;Fi.prototype.getActive=Fi.prototype.f;Fi.prototype.getMap=Fi.prototype.l;Fi.prototype.setActive=Fi.prototype.i;Fi.prototype.get=Fi.prototype.get;Fi.prototype.getKeys=Fi.prototype.N;Fi.prototype.getProperties=Fi.prototype.O;Fi.prototype.set=Fi.prototype.set;Fi.prototype.setProperties=Fi.prototype.G;Fi.prototype.unset=Fi.prototype.R;Fi.prototype.changed=Fi.prototype.u;Fi.prototype.dispatchEvent=Fi.prototype.b;
Fi.prototype.getRevision=Fi.prototype.K;Fi.prototype.on=Fi.prototype.I;Fi.prototype.once=Fi.prototype.L;Fi.prototype.un=Fi.prototype.J;Fi.prototype.unByKey=Fi.prototype.M;ou.prototype.type=ou.prototype.type;ou.prototype.target=ou.prototype.target;ou.prototype.preventDefault=ou.prototype.preventDefault;ou.prototype.stopPropagation=ou.prototype.stopPropagation;pu.prototype.getActive=pu.prototype.f;pu.prototype.getMap=pu.prototype.l;pu.prototype.setActive=pu.prototype.i;pu.prototype.get=pu.prototype.get;
pu.prototype.getKeys=pu.prototype.N;pu.prototype.getProperties=pu.prototype.O;pu.prototype.set=pu.prototype.set;pu.prototype.setProperties=pu.prototype.G;pu.prototype.unset=pu.prototype.R;pu.prototype.changed=pu.prototype.u;pu.prototype.dispatchEvent=pu.prototype.b;pu.prototype.getRevision=pu.prototype.K;pu.prototype.on=pu.prototype.I;pu.prototype.once=pu.prototype.L;pu.prototype.un=pu.prototype.J;pu.prototype.unByKey=pu.prototype.M;Gi.prototype.getActive=Gi.prototype.f;Gi.prototype.getMap=Gi.prototype.l;
Gi.prototype.setActive=Gi.prototype.i;Gi.prototype.get=Gi.prototype.get;Gi.prototype.getKeys=Gi.prototype.N;Gi.prototype.getProperties=Gi.prototype.O;Gi.prototype.set=Gi.prototype.set;Gi.prototype.setProperties=Gi.prototype.G;Gi.prototype.unset=Gi.prototype.R;Gi.prototype.changed=Gi.prototype.u;Gi.prototype.dispatchEvent=Gi.prototype.b;Gi.prototype.getRevision=Gi.prototype.K;Gi.prototype.on=Gi.prototype.I;Gi.prototype.once=Gi.prototype.L;Gi.prototype.un=Gi.prototype.J;Gi.prototype.unByKey=Gi.prototype.M;
Ii.prototype.getActive=Ii.prototype.f;Ii.prototype.getMap=Ii.prototype.l;Ii.prototype.setActive=Ii.prototype.i;Ii.prototype.get=Ii.prototype.get;Ii.prototype.getKeys=Ii.prototype.N;Ii.prototype.getProperties=Ii.prototype.O;Ii.prototype.set=Ii.prototype.set;Ii.prototype.setProperties=Ii.prototype.G;Ii.prototype.unset=Ii.prototype.R;Ii.prototype.changed=Ii.prototype.u;Ii.prototype.dispatchEvent=Ii.prototype.b;Ii.prototype.getRevision=Ii.prototype.K;Ii.prototype.on=Ii.prototype.I;Ii.prototype.once=Ii.prototype.L;
Ii.prototype.un=Ii.prototype.J;Ii.prototype.unByKey=Ii.prototype.M;Fu.prototype.type=Fu.prototype.type;Fu.prototype.target=Fu.prototype.target;Fu.prototype.preventDefault=Fu.prototype.preventDefault;Fu.prototype.stopPropagation=Fu.prototype.stopPropagation;Gu.prototype.getActive=Gu.prototype.f;Gu.prototype.getMap=Gu.prototype.l;Gu.prototype.setActive=Gu.prototype.i;Gu.prototype.get=Gu.prototype.get;Gu.prototype.getKeys=Gu.prototype.N;Gu.prototype.getProperties=Gu.prototype.O;Gu.prototype.set=Gu.prototype.set;
Gu.prototype.setProperties=Gu.prototype.G;Gu.prototype.unset=Gu.prototype.R;Gu.prototype.changed=Gu.prototype.u;Gu.prototype.dispatchEvent=Gu.prototype.b;Gu.prototype.getRevision=Gu.prototype.K;Gu.prototype.on=Gu.prototype.I;Gu.prototype.once=Gu.prototype.L;Gu.prototype.un=Gu.prototype.J;Gu.prototype.unByKey=Gu.prototype.M;Ki.prototype.getActive=Ki.prototype.f;Ki.prototype.getMap=Ki.prototype.l;Ki.prototype.setActive=Ki.prototype.i;Ki.prototype.get=Ki.prototype.get;Ki.prototype.getKeys=Ki.prototype.N;
Ki.prototype.getProperties=Ki.prototype.O;Ki.prototype.set=Ki.prototype.set;Ki.prototype.setProperties=Ki.prototype.G;Ki.prototype.unset=Ki.prototype.R;Ki.prototype.changed=Ki.prototype.u;Ki.prototype.dispatchEvent=Ki.prototype.b;Ki.prototype.getRevision=Ki.prototype.K;Ki.prototype.on=Ki.prototype.I;Ki.prototype.once=Ki.prototype.L;Ki.prototype.un=Ki.prototype.J;Ki.prototype.unByKey=Ki.prototype.M;Mi.prototype.getActive=Mi.prototype.f;Mi.prototype.getMap=Mi.prototype.l;Mi.prototype.setActive=Mi.prototype.i;
Mi.prototype.get=Mi.prototype.get;Mi.prototype.getKeys=Mi.prototype.N;Mi.prototype.getProperties=Mi.prototype.O;Mi.prototype.set=Mi.prototype.set;Mi.prototype.setProperties=Mi.prototype.G;Mi.prototype.unset=Mi.prototype.R;Mi.prototype.changed=Mi.prototype.u;Mi.prototype.dispatchEvent=Mi.prototype.b;Mi.prototype.getRevision=Mi.prototype.K;Mi.prototype.on=Mi.prototype.I;Mi.prototype.once=Mi.prototype.L;Mi.prototype.un=Mi.prototype.J;Mi.prototype.unByKey=Mi.prototype.M;Qi.prototype.getActive=Qi.prototype.f;
Qi.prototype.getMap=Qi.prototype.l;Qi.prototype.setActive=Qi.prototype.i;Qi.prototype.get=Qi.prototype.get;Qi.prototype.getKeys=Qi.prototype.N;Qi.prototype.getProperties=Qi.prototype.O;Qi.prototype.set=Qi.prototype.set;Qi.prototype.setProperties=Qi.prototype.G;Qi.prototype.unset=Qi.prototype.R;Qi.prototype.changed=Qi.prototype.u;Qi.prototype.dispatchEvent=Qi.prototype.b;Qi.prototype.getRevision=Qi.prototype.K;Qi.prototype.on=Qi.prototype.I;Qi.prototype.once=Qi.prototype.L;Qi.prototype.un=Qi.prototype.J;
Qi.prototype.unByKey=Qi.prototype.M;Tu.prototype.type=Tu.prototype.type;Tu.prototype.target=Tu.prototype.target;Tu.prototype.preventDefault=Tu.prototype.preventDefault;Tu.prototype.stopPropagation=Tu.prototype.stopPropagation;Uu.prototype.getActive=Uu.prototype.f;Uu.prototype.getMap=Uu.prototype.l;Uu.prototype.setActive=Uu.prototype.i;Uu.prototype.get=Uu.prototype.get;Uu.prototype.getKeys=Uu.prototype.N;Uu.prototype.getProperties=Uu.prototype.O;Uu.prototype.set=Uu.prototype.set;
Uu.prototype.setProperties=Uu.prototype.G;Uu.prototype.unset=Uu.prototype.R;Uu.prototype.changed=Uu.prototype.u;Uu.prototype.dispatchEvent=Uu.prototype.b;Uu.prototype.getRevision=Uu.prototype.K;Uu.prototype.on=Uu.prototype.I;Uu.prototype.once=Uu.prototype.L;Uu.prototype.un=Uu.prototype.J;Uu.prototype.unByKey=Uu.prototype.M;Xu.prototype.getActive=Xu.prototype.f;Xu.prototype.getMap=Xu.prototype.l;Xu.prototype.setActive=Xu.prototype.i;Xu.prototype.get=Xu.prototype.get;Xu.prototype.getKeys=Xu.prototype.N;
Xu.prototype.getProperties=Xu.prototype.O;Xu.prototype.set=Xu.prototype.set;Xu.prototype.setProperties=Xu.prototype.G;Xu.prototype.unset=Xu.prototype.R;Xu.prototype.changed=Xu.prototype.u;Xu.prototype.dispatchEvent=Xu.prototype.b;Xu.prototype.getRevision=Xu.prototype.K;Xu.prototype.on=Xu.prototype.I;Xu.prototype.once=Xu.prototype.L;Xu.prototype.un=Xu.prototype.J;Xu.prototype.unByKey=Xu.prototype.M;av.prototype.type=av.prototype.type;av.prototype.target=av.prototype.target;
av.prototype.preventDefault=av.prototype.preventDefault;av.prototype.stopPropagation=av.prototype.stopPropagation;bv.prototype.getActive=bv.prototype.f;bv.prototype.getMap=bv.prototype.l;bv.prototype.setActive=bv.prototype.i;bv.prototype.get=bv.prototype.get;bv.prototype.getKeys=bv.prototype.N;bv.prototype.getProperties=bv.prototype.O;bv.prototype.set=bv.prototype.set;bv.prototype.setProperties=bv.prototype.G;bv.prototype.unset=bv.prototype.R;bv.prototype.changed=bv.prototype.u;
bv.prototype.dispatchEvent=bv.prototype.b;bv.prototype.getRevision=bv.prototype.K;bv.prototype.on=bv.prototype.I;bv.prototype.once=bv.prototype.L;bv.prototype.un=bv.prototype.J;bv.prototype.unByKey=bv.prototype.M;Uc.prototype.get=Uc.prototype.get;Uc.prototype.getKeys=Uc.prototype.N;Uc.prototype.getProperties=Uc.prototype.O;Uc.prototype.set=Uc.prototype.set;Uc.prototype.setProperties=Uc.prototype.G;Uc.prototype.unset=Uc.prototype.R;Uc.prototype.changed=Uc.prototype.u;Uc.prototype.dispatchEvent=Uc.prototype.b;
Uc.prototype.getRevision=Uc.prototype.K;Uc.prototype.on=Uc.prototype.I;Uc.prototype.once=Uc.prototype.L;Uc.prototype.un=Uc.prototype.J;Uc.prototype.unByKey=Uc.prototype.M;Wc.prototype.getClosestPoint=Wc.prototype.wb;Wc.prototype.getExtent=Wc.prototype.H;Wc.prototype.rotate=Wc.prototype.rotate;Wc.prototype.simplify=Wc.prototype.Cb;Wc.prototype.transform=Wc.prototype.kb;Wc.prototype.get=Wc.prototype.get;Wc.prototype.getKeys=Wc.prototype.N;Wc.prototype.getProperties=Wc.prototype.O;Wc.prototype.set=Wc.prototype.set;
Wc.prototype.setProperties=Wc.prototype.G;Wc.prototype.unset=Wc.prototype.R;Wc.prototype.changed=Wc.prototype.u;Wc.prototype.dispatchEvent=Wc.prototype.b;Wc.prototype.getRevision=Wc.prototype.K;Wc.prototype.on=Wc.prototype.I;Wc.prototype.once=Wc.prototype.L;Wc.prototype.un=Wc.prototype.J;Wc.prototype.unByKey=Wc.prototype.M;Tt.prototype.getFirstCoordinate=Tt.prototype.Ib;Tt.prototype.getLastCoordinate=Tt.prototype.Jb;Tt.prototype.getLayout=Tt.prototype.Kb;Tt.prototype.rotate=Tt.prototype.rotate;
Tt.prototype.getClosestPoint=Tt.prototype.wb;Tt.prototype.getExtent=Tt.prototype.H;Tt.prototype.simplify=Tt.prototype.Cb;Tt.prototype.get=Tt.prototype.get;Tt.prototype.getKeys=Tt.prototype.N;Tt.prototype.getProperties=Tt.prototype.O;Tt.prototype.set=Tt.prototype.set;Tt.prototype.setProperties=Tt.prototype.G;Tt.prototype.unset=Tt.prototype.R;Tt.prototype.changed=Tt.prototype.u;Tt.prototype.dispatchEvent=Tt.prototype.b;Tt.prototype.getRevision=Tt.prototype.K;Tt.prototype.on=Tt.prototype.I;
Tt.prototype.once=Tt.prototype.L;Tt.prototype.un=Tt.prototype.J;Tt.prototype.unByKey=Tt.prototype.M;Kn.prototype.getClosestPoint=Kn.prototype.wb;Kn.prototype.getExtent=Kn.prototype.H;Kn.prototype.rotate=Kn.prototype.rotate;Kn.prototype.simplify=Kn.prototype.Cb;Kn.prototype.transform=Kn.prototype.kb;Kn.prototype.get=Kn.prototype.get;Kn.prototype.getKeys=Kn.prototype.N;Kn.prototype.getProperties=Kn.prototype.O;Kn.prototype.set=Kn.prototype.set;Kn.prototype.setProperties=Kn.prototype.G;
Kn.prototype.unset=Kn.prototype.R;Kn.prototype.changed=Kn.prototype.u;Kn.prototype.dispatchEvent=Kn.prototype.b;Kn.prototype.getRevision=Kn.prototype.K;Kn.prototype.on=Kn.prototype.I;Kn.prototype.once=Kn.prototype.L;Kn.prototype.un=Kn.prototype.J;Kn.prototype.unByKey=Kn.prototype.M;nd.prototype.getFirstCoordinate=nd.prototype.Ib;nd.prototype.getLastCoordinate=nd.prototype.Jb;nd.prototype.getLayout=nd.prototype.Kb;nd.prototype.rotate=nd.prototype.rotate;nd.prototype.getClosestPoint=nd.prototype.wb;
nd.prototype.getExtent=nd.prototype.H;nd.prototype.simplify=nd.prototype.Cb;nd.prototype.transform=nd.prototype.kb;nd.prototype.get=nd.prototype.get;nd.prototype.getKeys=nd.prototype.N;nd.prototype.getProperties=nd.prototype.O;nd.prototype.set=nd.prototype.set;nd.prototype.setProperties=nd.prototype.G;nd.prototype.unset=nd.prototype.R;nd.prototype.changed=nd.prototype.u;nd.prototype.dispatchEvent=nd.prototype.b;nd.prototype.getRevision=nd.prototype.K;nd.prototype.on=nd.prototype.I;
nd.prototype.once=nd.prototype.L;nd.prototype.un=nd.prototype.J;nd.prototype.unByKey=nd.prototype.M;R.prototype.getFirstCoordinate=R.prototype.Ib;R.prototype.getLastCoordinate=R.prototype.Jb;R.prototype.getLayout=R.prototype.Kb;R.prototype.rotate=R.prototype.rotate;R.prototype.getClosestPoint=R.prototype.wb;R.prototype.getExtent=R.prototype.H;R.prototype.simplify=R.prototype.Cb;R.prototype.transform=R.prototype.kb;R.prototype.get=R.prototype.get;R.prototype.getKeys=R.prototype.N;
R.prototype.getProperties=R.prototype.O;R.prototype.set=R.prototype.set;R.prototype.setProperties=R.prototype.G;R.prototype.unset=R.prototype.R;R.prototype.changed=R.prototype.u;R.prototype.dispatchEvent=R.prototype.b;R.prototype.getRevision=R.prototype.K;R.prototype.on=R.prototype.I;R.prototype.once=R.prototype.L;R.prototype.un=R.prototype.J;R.prototype.unByKey=R.prototype.M;S.prototype.getFirstCoordinate=S.prototype.Ib;S.prototype.getLastCoordinate=S.prototype.Jb;S.prototype.getLayout=S.prototype.Kb;
S.prototype.rotate=S.prototype.rotate;S.prototype.getClosestPoint=S.prototype.wb;S.prototype.getExtent=S.prototype.H;S.prototype.simplify=S.prototype.Cb;S.prototype.transform=S.prototype.kb;S.prototype.get=S.prototype.get;S.prototype.getKeys=S.prototype.N;S.prototype.getProperties=S.prototype.O;S.prototype.set=S.prototype.set;S.prototype.setProperties=S.prototype.G;S.prototype.unset=S.prototype.R;S.prototype.changed=S.prototype.u;S.prototype.dispatchEvent=S.prototype.b;S.prototype.getRevision=S.prototype.K;
S.prototype.on=S.prototype.I;S.prototype.once=S.prototype.L;S.prototype.un=S.prototype.J;S.prototype.unByKey=S.prototype.M;T.prototype.getFirstCoordinate=T.prototype.Ib;T.prototype.getLastCoordinate=T.prototype.Jb;T.prototype.getLayout=T.prototype.Kb;T.prototype.rotate=T.prototype.rotate;T.prototype.getClosestPoint=T.prototype.wb;T.prototype.getExtent=T.prototype.H;T.prototype.simplify=T.prototype.Cb;T.prototype.transform=T.prototype.kb;T.prototype.get=T.prototype.get;T.prototype.getKeys=T.prototype.N;
T.prototype.getProperties=T.prototype.O;T.prototype.set=T.prototype.set;T.prototype.setProperties=T.prototype.G;T.prototype.unset=T.prototype.R;T.prototype.changed=T.prototype.u;T.prototype.dispatchEvent=T.prototype.b;T.prototype.getRevision=T.prototype.K;T.prototype.on=T.prototype.I;T.prototype.once=T.prototype.L;T.prototype.un=T.prototype.J;T.prototype.unByKey=T.prototype.M;U.prototype.getFirstCoordinate=U.prototype.Ib;U.prototype.getLastCoordinate=U.prototype.Jb;U.prototype.getLayout=U.prototype.Kb;
U.prototype.rotate=U.prototype.rotate;U.prototype.getClosestPoint=U.prototype.wb;U.prototype.getExtent=U.prototype.H;U.prototype.simplify=U.prototype.Cb;U.prototype.transform=U.prototype.kb;U.prototype.get=U.prototype.get;U.prototype.getKeys=U.prototype.N;U.prototype.getProperties=U.prototype.O;U.prototype.set=U.prototype.set;U.prototype.setProperties=U.prototype.G;U.prototype.unset=U.prototype.R;U.prototype.changed=U.prototype.u;U.prototype.dispatchEvent=U.prototype.b;U.prototype.getRevision=U.prototype.K;
U.prototype.on=U.prototype.I;U.prototype.once=U.prototype.L;U.prototype.un=U.prototype.J;U.prototype.unByKey=U.prototype.M;C.prototype.getFirstCoordinate=C.prototype.Ib;C.prototype.getLastCoordinate=C.prototype.Jb;C.prototype.getLayout=C.prototype.Kb;C.prototype.rotate=C.prototype.rotate;C.prototype.getClosestPoint=C.prototype.wb;C.prototype.getExtent=C.prototype.H;C.prototype.simplify=C.prototype.Cb;C.prototype.transform=C.prototype.kb;C.prototype.get=C.prototype.get;C.prototype.getKeys=C.prototype.N;
C.prototype.getProperties=C.prototype.O;C.prototype.set=C.prototype.set;C.prototype.setProperties=C.prototype.G;C.prototype.unset=C.prototype.R;C.prototype.changed=C.prototype.u;C.prototype.dispatchEvent=C.prototype.b;C.prototype.getRevision=C.prototype.K;C.prototype.on=C.prototype.I;C.prototype.once=C.prototype.L;C.prototype.un=C.prototype.J;C.prototype.unByKey=C.prototype.M;E.prototype.getFirstCoordinate=E.prototype.Ib;E.prototype.getLastCoordinate=E.prototype.Jb;E.prototype.getLayout=E.prototype.Kb;
E.prototype.rotate=E.prototype.rotate;E.prototype.getClosestPoint=E.prototype.wb;E.prototype.getExtent=E.prototype.H;E.prototype.simplify=E.prototype.Cb;E.prototype.transform=E.prototype.kb;E.prototype.get=E.prototype.get;E.prototype.getKeys=E.prototype.N;E.prototype.getProperties=E.prototype.O;E.prototype.set=E.prototype.set;E.prototype.setProperties=E.prototype.G;E.prototype.unset=E.prototype.R;E.prototype.changed=E.prototype.u;E.prototype.dispatchEvent=E.prototype.b;E.prototype.getRevision=E.prototype.K;
E.prototype.on=E.prototype.I;E.prototype.once=E.prototype.L;E.prototype.un=E.prototype.J;E.prototype.unByKey=E.prototype.M;jo.prototype.readFeatures=jo.prototype.Fa;ko.prototype.readFeatures=ko.prototype.Fa;ko.prototype.readFeatures=ko.prototype.Fa;Pe.prototype.get=Pe.prototype.get;Pe.prototype.getKeys=Pe.prototype.N;Pe.prototype.getProperties=Pe.prototype.O;Pe.prototype.set=Pe.prototype.set;Pe.prototype.setProperties=Pe.prototype.G;Pe.prototype.unset=Pe.prototype.R;Pe.prototype.changed=Pe.prototype.u;
Pe.prototype.dispatchEvent=Pe.prototype.b;Pe.prototype.getRevision=Pe.prototype.K;Pe.prototype.on=Pe.prototype.I;Pe.prototype.once=Pe.prototype.L;Pe.prototype.un=Pe.prototype.J;Pe.prototype.unByKey=Pe.prototype.M;xf.prototype.getMap=xf.prototype.i;xf.prototype.setMap=xf.prototype.setMap;xf.prototype.setTarget=xf.prototype.c;xf.prototype.get=xf.prototype.get;xf.prototype.getKeys=xf.prototype.N;xf.prototype.getProperties=xf.prototype.O;xf.prototype.set=xf.prototype.set;xf.prototype.setProperties=xf.prototype.G;
xf.prototype.unset=xf.prototype.R;xf.prototype.changed=xf.prototype.u;xf.prototype.dispatchEvent=xf.prototype.b;xf.prototype.getRevision=xf.prototype.K;xf.prototype.on=xf.prototype.I;xf.prototype.once=xf.prototype.L;xf.prototype.un=xf.prototype.J;xf.prototype.unByKey=xf.prototype.M;Ef.prototype.getMap=Ef.prototype.i;Ef.prototype.setMap=Ef.prototype.setMap;Ef.prototype.setTarget=Ef.prototype.c;Ef.prototype.get=Ef.prototype.get;Ef.prototype.getKeys=Ef.prototype.N;Ef.prototype.getProperties=Ef.prototype.O;
Ef.prototype.set=Ef.prototype.set;Ef.prototype.setProperties=Ef.prototype.G;Ef.prototype.unset=Ef.prototype.R;Ef.prototype.changed=Ef.prototype.u;Ef.prototype.dispatchEvent=Ef.prototype.b;Ef.prototype.getRevision=Ef.prototype.K;Ef.prototype.on=Ef.prototype.I;Ef.prototype.once=Ef.prototype.L;Ef.prototype.un=Ef.prototype.J;Ef.prototype.unByKey=Ef.prototype.M;Jf.prototype.getMap=Jf.prototype.i;Jf.prototype.setMap=Jf.prototype.setMap;Jf.prototype.setTarget=Jf.prototype.c;Jf.prototype.get=Jf.prototype.get;
Jf.prototype.getKeys=Jf.prototype.N;Jf.prototype.getProperties=Jf.prototype.O;Jf.prototype.set=Jf.prototype.set;Jf.prototype.setProperties=Jf.prototype.G;Jf.prototype.unset=Jf.prototype.R;Jf.prototype.changed=Jf.prototype.u;Jf.prototype.dispatchEvent=Jf.prototype.b;Jf.prototype.getRevision=Jf.prototype.K;Jf.prototype.on=Jf.prototype.I;Jf.prototype.once=Jf.prototype.L;Jf.prototype.un=Jf.prototype.J;Jf.prototype.unByKey=Jf.prototype.M;an.prototype.getMap=an.prototype.i;an.prototype.setMap=an.prototype.setMap;
an.prototype.setTarget=an.prototype.c;an.prototype.get=an.prototype.get;an.prototype.getKeys=an.prototype.N;an.prototype.getProperties=an.prototype.O;an.prototype.set=an.prototype.set;an.prototype.setProperties=an.prototype.G;an.prototype.unset=an.prototype.R;an.prototype.changed=an.prototype.u;an.prototype.dispatchEvent=an.prototype.b;an.prototype.getRevision=an.prototype.K;an.prototype.on=an.prototype.I;an.prototype.once=an.prototype.L;an.prototype.un=an.prototype.J;an.prototype.unByKey=an.prototype.M;
Af.prototype.getMap=Af.prototype.i;Af.prototype.setMap=Af.prototype.setMap;Af.prototype.setTarget=Af.prototype.c;Af.prototype.get=Af.prototype.get;Af.prototype.getKeys=Af.prototype.N;Af.prototype.getProperties=Af.prototype.O;Af.prototype.set=Af.prototype.set;Af.prototype.setProperties=Af.prototype.G;Af.prototype.unset=Af.prototype.R;Af.prototype.changed=Af.prototype.u;Af.prototype.dispatchEvent=Af.prototype.b;Af.prototype.getRevision=Af.prototype.K;Af.prototype.on=Af.prototype.I;
Af.prototype.once=Af.prototype.L;Af.prototype.un=Af.prototype.J;Af.prototype.unByKey=Af.prototype.M;fn.prototype.getMap=fn.prototype.i;fn.prototype.setMap=fn.prototype.setMap;fn.prototype.setTarget=fn.prototype.c;fn.prototype.get=fn.prototype.get;fn.prototype.getKeys=fn.prototype.N;fn.prototype.getProperties=fn.prototype.O;fn.prototype.set=fn.prototype.set;fn.prototype.setProperties=fn.prototype.G;fn.prototype.unset=fn.prototype.R;fn.prototype.changed=fn.prototype.u;fn.prototype.dispatchEvent=fn.prototype.b;
fn.prototype.getRevision=fn.prototype.K;fn.prototype.on=fn.prototype.I;fn.prototype.once=fn.prototype.L;fn.prototype.un=fn.prototype.J;fn.prototype.unByKey=fn.prototype.M;Cf.prototype.getMap=Cf.prototype.i;Cf.prototype.setMap=Cf.prototype.setMap;Cf.prototype.setTarget=Cf.prototype.c;Cf.prototype.get=Cf.prototype.get;Cf.prototype.getKeys=Cf.prototype.N;Cf.prototype.getProperties=Cf.prototype.O;Cf.prototype.set=Cf.prototype.set;Cf.prototype.setProperties=Cf.prototype.G;Cf.prototype.unset=Cf.prototype.R;
Cf.prototype.changed=Cf.prototype.u;Cf.prototype.dispatchEvent=Cf.prototype.b;Cf.prototype.getRevision=Cf.prototype.K;Cf.prototype.on=Cf.prototype.I;Cf.prototype.once=Cf.prototype.L;Cf.prototype.un=Cf.prototype.J;Cf.prototype.unByKey=Cf.prototype.M;kn.prototype.getMap=kn.prototype.i;kn.prototype.setMap=kn.prototype.setMap;kn.prototype.setTarget=kn.prototype.c;kn.prototype.get=kn.prototype.get;kn.prototype.getKeys=kn.prototype.N;kn.prototype.getProperties=kn.prototype.O;kn.prototype.set=kn.prototype.set;
kn.prototype.setProperties=kn.prototype.G;kn.prototype.unset=kn.prototype.R;kn.prototype.changed=kn.prototype.u;kn.prototype.dispatchEvent=kn.prototype.b;kn.prototype.getRevision=kn.prototype.K;kn.prototype.on=kn.prototype.I;kn.prototype.once=kn.prototype.L;kn.prototype.un=kn.prototype.J;kn.prototype.unByKey=kn.prototype.M;pn.prototype.getMap=pn.prototype.i;pn.prototype.setMap=pn.prototype.setMap;pn.prototype.setTarget=pn.prototype.c;pn.prototype.get=pn.prototype.get;pn.prototype.getKeys=pn.prototype.N;
pn.prototype.getProperties=pn.prototype.O;pn.prototype.set=pn.prototype.set;pn.prototype.setProperties=pn.prototype.G;pn.prototype.unset=pn.prototype.R;pn.prototype.changed=pn.prototype.u;pn.prototype.dispatchEvent=pn.prototype.b;pn.prototype.getRevision=pn.prototype.K;pn.prototype.on=pn.prototype.I;pn.prototype.once=pn.prototype.L;pn.prototype.un=pn.prototype.J;pn.prototype.unByKey=pn.prototype.M;
return OPENLAYERS.ol;
}));

226
doc/errors/index.md Normal file
View File

@@ -0,0 +1,226 @@
---
title: Errors
layout: doc.hbs
---
# Errors
### 1
The view center is not defined.
### 2
The view resolution is not defined.
### 3
The view rotation is not defined.
### 4
`image` and `src` cannot be provided at the same time.
### 5
`imgSize` must be set when `image` is provided.
### 6
A defined and non-empty `src` or `image` must be provided.
### 7
`format` must be set when `url` is set.
### 8
Unknown `serverType` configured.
### 9
`url` must be configured or set using `#setUrl()`.
### 10
The default `geometryFunction` can only handle `ol.geom.Point` geometries.
### 11
`options.featureTypes` should be an Array.
### 12
`options.geometryName` must also be provided when `options.bbox` is set.
### 13
Invalid corner. Valid corners are `top-left`, `top-right`, `bottom-right` and `bottom-left`.
### 14
Invalid color. Valid colors are all [CSS colors](https://developer.mozilla.org/en-US/docs/Web/CSS/color).
### 15
Tried to get a value for a key that does not exist in the cache.
### 16
Tried to set a value for a key that is used already.
### 17
`resolutions` must be sorted in descending order.
### 18
Either `origin` or `origins` must be configured, never both.
### 19
Number of `tileSizes` and `resolutions` must be equal.
### 20
Number of `origins` and `resolutions` must be equal.
### 22
Either `tileSize` or `tileSizes` must be configured, never both.
### 23
The passed `ol.TileCoord`s must all have the same `z` value.
### 24
Invalid extent or geometry provided as `geometry`.
### 25
Cannot fit empty extent provided as `geometry`.
### 26
Features for `deletes` must have an id set by the feature reader or `ol.Feature#setId()`.
### 27
Features for `updates` must have an id set by the feature reader or `ol.Feature#setId()`.
### 28
`renderMode` must be `'image'`, `'hybrid'` or `'vector'`.
### 29
`x` must be greater than `0`.
### 30
The passed `feature` was already added to the source.
### 31
Tried to enqueue an `element` that was already added to the queue.
### 32
Transformation matrix cannot be inverted.
### 33
Invalid `units`. `'degrees'`, `'imperial'`, `'nautical'`, `'metric'` or `'us'` required.
### 34
Invalid geometry layout. Must be `XY`, `XYZ`, `XYM` or `XYZM`.
### 35
Unknown GeoJSON object type. Expected `"Feature"` or `"FeatureCollection"`.
### 36
Unknown SRS type. Expected `"name"` or `"EPSG"`.
### 37
Unknown geometry type found. Expected `'Point'`, `'LineString'`, `'Polygon'` or `'GeometryCollection'`.
### 38
`styleMapValue` has an unknown type.
### 39
Unknown geometry type found. Expected `'GeometryCollection'`, `'MultiPoint'`, `'MultiLineString'` or `'MultiPolygon'`.
### 40
Expected `feature` to have a geometry.
### 41
Expected an `ol.style.Style` or an array of `ol.style.Style`.
### 42
Expected an `ol.Feature`, but got an `ol.RenderFeature`.
### 43
Expected `layers` to be an array or an `ol.Collection`.
### 44
`logo.href` should be a string.
### 45
`logo.src` should be a string.
### 46
Incorrect format for `renderer` option.
### 47
Expected `controls` to be an array or an `ol.Collection`.
### 48
Expected `interactions` to be an array or an `ol.Collection`.
### 49
Expected `overlays` to be an array or an `ol.Collection`.
### 50
Cannot determine Rest Service from url.
### 51
Either `url` or `tileJSON` options must be provided.
### 52
Unknown `serverType` configured.
### 53
Unknown `tierSizeCalculation` configured.
### 54
Hex color should have 3 or 6 digits.
### 55
The `{-y}` placeholder requires a tile grid with extent.
### 56
`mapBrowserEvent` must originate from a pointer event.

View File

@@ -20,6 +20,7 @@ Table of contents:
* [Why is the order of a coordinate [lon,lat], and not [lat,lon]?](#why-is-the-order-of-a-coordinate-lon-lat-and-not-lat-lon-)
* [Why aren't there any features in my source?](#why-aren-t-there-any-features-in-my-source-)
* [How do I force a re-render of the map?](#how-do-i-force-a-re-render-of-the-map-)
* [Why are my features not found?](#why-are-my-features-not-found-)
* [How do I create a custom build of OpenLayers?](#how-do-i-create-a-custom-build-of-openlayers-)
* [Do I need to write my own code using Closure library?](#do-i-need-to-write-my-own-code-using-closure-library-)
* [Do I need to compress my code with Closure compiler?](#do-i-need-to-compress-my-code-with-closure-compiler-)
@@ -316,6 +317,24 @@ map.render();
map.renderSync();
```
## Why are my features not found?
You are using `ol.Map#forEachFeatureAtPixel` or `ol.Map#hasFeatureAtPixel`, but
it sometimes does not work for large icons or labels? The *hit detection* only
checks features that are within a certain distance of the given position. For large
icons, the actual geometry of a feature might be too far away and is not considered.
In this case, set the `renderBuffer` property of `ol.layer.Vector` (the default
value is 100px):
```javascript
var vectorLayer = new ol.layer.Vector({
...
renderBuffer: 200
});
```
The recommended value is the size of the largest symbol, line width or label.
## How do I create a custom build of OpenLayers?

View File

@@ -9,7 +9,7 @@ If you're eager to get your first OpenLayers 3 map on a page, dive into the [qui
For a more in-depth overview of OpenLayers 3 core concepts, check out the [tutorials](tutorials/).
Make sure to also check out the [OpenLayers 3 workshop](/workshop/).
Make sure to also check out the [OpenLayers 3 workshop](/workshop/en/).
Find additional reference material in the [API docs](../apidoc).

View File

@@ -60,6 +60,12 @@ To include a map a web page you will need 3 things:
The first part is to include the JavaScript library. For the purpose of this tutorial, here we simply point to the openlayers.org website to get the whole library. In a production environment, we would build a custom version of the library including only the module needed for our application.
**Optional:** If the application is intended to run on old platforms like Internet Explorer or Android 4.x, another script needs to be included before OpenLayers:
```xml
<script src="http://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList"></script>
```
### `<div>` to contain the map
@@ -121,7 +127,7 @@ The `layers: [ ... ]` array is used to define the list of layers available in th
Layers in OpenLayers 3 are defined with a type (Image, Tile or Vector) which contains a source. The source is the protocol used to get the map tiles. You can consult the list of [available layer sources here](/en/{{ latest }}/apidoc/ol.source.html)
The next part of the `Map` object is the `View`. The view allow to specify the center, resolution, and rotation of the map. The simplest way to define a view is to define a center point and a zoom level. Note that zoom level 0 is zoomed out.
The next part of the `Map` object is the `View`. The view allows to specify the center, resolution, and rotation of the map. The simplest way to define a view is to define a center point and a zoom level. Note that zoom level 0 is zoomed out.
```js
view: new ol.View({

View File

@@ -24,7 +24,9 @@ Although Closure library functions are widely used within OL3, none of them are
Unlike in, say, Node, where a module's exports are fixed in the source, with Closure Compiler, exports can be defined at compile time. This makes it easy to create builds that are customized to the needs of a particular site or application: a __custom build__ only exports those properties and methods needed by the site or application. As the full build is large, and will probably become larger as new features are added to the API, it's recommended that sites create a custom build for production software.
## Renderers and Browser Support
The library currently includes three renderers: Canvas, DOM, and WebGL. All three support both raster data from tile/image servers, and vector data; WebGL however only supports Point vectors and does not support labels. Clearly only those browsers that [support Canvas](http://caniuse.com/canvas) can use the Canvas renderer. Equally, the WebGL renderer can only be used on those devices and [browsers](http://caniuse.com/webgl) that support WebGL. Internet Explorer versions before 9 are not supported at all.
The library currently includes three renderers: Canvas, DOM, and WebGL. All three support both raster data from tile/image servers, and vector data; WebGL however only supports Point vectors and does not support labels. Clearly only those browsers that [support Canvas](http://caniuse.com/canvas) can use the Canvas renderer. Equally, the WebGL renderer can only be used on those devices and [browsers](http://caniuse.com/webgl) that support WebGL.
OpenLayers runs on all modern browsers that support [HTML5](https://html.spec.whatwg.org/multipage/) and [ECMAScript 5](http://www.ecma-international.org/ecma-262/5.1/). This includes Chrome, Firefox, Safari and Edge. For older browsers and platforms like Internet Explorer (down to version 9) and Android 4.x, [polyfills](http://polyfill.io) for `requestAnimationFrame` and `Element.prototype.classList` are required, and using the KML format requires a polyfill for `URL`.
The library is intended for use on both desktop/laptop and mobile devices.

View File

@@ -2,8 +2,6 @@ goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
goog.require('ol.format.GeoJSON');
goog.require('ol.geom.Point');
goog.require('ol.geom.SimpleGeometry');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.OSM');

View File

@@ -7,3 +7,7 @@ docs: >
tags: "cluster, vector"
---
<div id="map" class="map"></div>
<form>
<label>cluster distance</label>
<input id="distance" type="range" min="0" max="100" step="1" value="40"/>
</form>

View File

@@ -14,6 +14,8 @@ goog.require('ol.style.Style');
goog.require('ol.style.Text');
var distance = document.getElementById('distance');
var count = 20000;
var features = new Array(count);
var e = 4500000;
@@ -27,7 +29,7 @@ var source = new ol.source.Vector({
});
var clusterSource = new ol.source.Cluster({
distance: 40,
distance: parseInt(distance.value, 10),
source: source
});
@@ -74,3 +76,7 @@ var map = new ol.Map({
zoom: 2
})
});
distance.addEventListener('input', function() {
clusterSource.setDistance(parseInt(distance.value, 10));
});

View File

@@ -8,7 +8,7 @@ logoElement.href = 'http://www.osgeo.org/';
logoElement.target = '_blank';
var logoImage = document.createElement('img');
logoImage.src = 'http://www.osgeo.org/sites/all/themes/osgeo/logo.png';
logoImage.src = 'https://www.osgeo.org/sites/all/themes/osgeo/logo.png';
logoElement.appendChild(logoImage);

View File

@@ -1,3 +1,4 @@
goog.require('ol');
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
@@ -149,7 +150,7 @@ var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/mapbox.geography-class.json'
url: 'https://api.tiles.mapbox.com/v3/mapbox.geography-class.json?secure'
})
}),
new ol.layer.Vector({

View File

@@ -6,7 +6,7 @@ docs: >
<p>The example loads TopoJSON geometries and uses d3 (<code>d3.geo.path</code>) to render these geometries to a canvas element that is then used as the image of an ol3 image layer.</p>
tags: "d3"
resources:
- http://d3js.org/d3.v3.min.js
- http://d3js.org/topojson.v1.min.js
- https://d3js.org/d3.v3.min.js
- https://d3js.org/topojson.v1.min.js
---
<div id="map" class="map"></div>

View File

@@ -1,4 +1,3 @@
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.geom.MultiPoint');

View File

@@ -1,5 +1,4 @@
// NOCOMPILE
goog.require('ol.Attribution');
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');

21
examples/here-maps.html Normal file
View File

@@ -0,0 +1,21 @@
---
layout: example.html
title: HERE Map Tile API
shortdesc: Example of a map with map tiles from HERE.
docs: >
<p><a href="https://developer.here.com/rest-apis/documentation/enterprise-map-tile">HERE Map Tile API</a> used with <code>ol.source.XYZ</code>.</p>
<p>Be sure to respect the <a href="https://legal.here.com/en/terms/serviceterms/us/">HERE Service Terms</a> when using their tile API.</p>
tags: "here, here-maps, here-tile-api"
cloak:
a2qhegvZZFIuJDkkqjhQ: Your HERE Maps appId from https://developer.here.com/
lPJ3iaFLJDhD8fIAyU582A: Your HERE Maps appCode from https://developer.here.com/
---
<div id="map" class="map"></div>
<select id="layer-select">
<option value="normal.day" selected>Normal Day</option>
<option value="normal.day.transit">Normal Day Transit</option>
<option value="pedestrian.day">Pedestrian Day</option>
<option value="terrain.day">Terrain Day</option>
<option value="satellite.day">Satellite Day</option>
<option value="hybrid.day">Hybrid Day</option>
</select>

100
examples/here-maps.js Normal file
View File

@@ -0,0 +1,100 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.XYZ');
var appId = 'a2qhegvZZFIuJDkkqjhQ';
var appCode = 'lPJ3iaFLJDhD8fIAyU582A';
var hereLayers = [
{
base: 'base',
type: 'maptile',
scheme: 'normal.day',
app_id: appId,
app_code: appCode
},
{
base: 'base',
type: 'maptile',
scheme: 'normal.day.transit',
app_id: appId,
app_code: appCode
},
{
base: 'base',
type: 'maptile',
scheme: 'pedestrian.day',
app_id: appId,
app_code: appCode
},
{
base: 'aerial',
type: 'maptile',
scheme: 'terrain.day',
app_id: appId,
app_code: appCode
},
{
base: 'aerial',
type: 'maptile',
scheme: 'satellite.day',
app_id: appId,
app_code: appCode
},
{
base: 'aerial',
type: 'maptile',
scheme: 'hybrid.day',
app_id: appId,
app_code: appCode
}
];
var urlTpl = 'https://{1-4}.{base}.maps.cit.api.here.com' +
'/{type}/2.1/maptile/newest/{scheme}/{z}/{x}/{y}/256/png' +
'?app_id={app_id}&app_code={app_code}';
var layers = [];
var i, ii;
for (i = 0, ii = hereLayers.length; i < ii; ++i) {
var layerDesc = hereLayers[i];
layers.push(new ol.layer.Tile({
visible: false,
preload: Infinity,
source: new ol.source.XYZ({
url: createUrl(urlTpl, layerDesc),
attributions: 'Map Tiles &copy; 2016 ' +
'<a href="http://developer.here.com">HERE</a>'
})
}));
}
var map = new ol.Map({
layers: layers,
renderer: common.getRendererFromQueryString(),
// Improve user experience by loading tiles while dragging/zooming. Will make
// zooming choppy on mobile or slow devices.
loadTilesWhileInteracting: true,
target: 'map',
view: new ol.View({
center: [921371.9389, 6358337.7609],
zoom: 10
})
});
function createUrl(tpl, layerDesc) {
return tpl
.replace('{base}', layerDesc.base)
.replace('{type}', layerDesc.type)
.replace('{scheme}', layerDesc.scheme)
.replace('{app_id}', layerDesc.app_id)
.replace('{app_code}', layerDesc.app_code);
}
var select = document.getElementById('layer-select');
function onChange() {
var scheme = select.value;
for (var i = 0, ii = layers.length; i < ii; ++i) {
layers[i].setVisible(hereLayers[i].scheme === scheme);
}
}
select.addEventListener('change', onChange);
onChange();

View File

@@ -55,7 +55,7 @@ var vectorLayer = new ol.layer.Vector({
var rasterLayer = new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/mapbox.geography-class.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.geography-class.json?secure',
crossOrigin: ''
})
});

View File

@@ -39,7 +39,7 @@ var vectorLayer = new ol.layer.Vector({
var rasterLayer = new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/mapbox.geography-class.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.geography-class.json?secure',
crossOrigin: ''
})
});

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');

View File

@@ -1,6 +1,5 @@
// NOCOMPILE
// this example uses JSTS for which we don't have an externs file.
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.GeoJSON');

View File

@@ -17,8 +17,7 @@ var extents = {
var base = new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/' +
'mapbox.world-light.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.world-light.json?secure',
crossOrigin: 'anonymous'
})
});
@@ -26,8 +25,7 @@ var base = new ol.layer.Tile({
var overlay = new ol.layer.Tile({
extent: extents.India,
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/' +
'mapbox.world-black.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.world-black.json?secure',
crossOrigin: 'anonymous'
})
});

View File

@@ -14,15 +14,13 @@ var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/' +
'mapbox.20110804-hoa-foodinsecurity-3month.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.20110804-hoa-foodinsecurity-3month.json?secure',
crossOrigin: 'anonymous'
})
}),
new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/' +
'mapbox.world-borders-light.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.world-borders-light.json?secure',
crossOrigin: 'anonymous'
})
})

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');

View File

@@ -1,4 +1,4 @@
goog.require('ol.Attribution');
/* eslint-disable openlayers-internal/no-unused-requires */
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.MVT');
@@ -31,7 +31,7 @@ for (var z = zoomOffset / reuseZoomLevels; z <= 22 / reuseZoomLevels; ++z) {
resolutions.push(156543.03392804097 / Math.pow(2, z * reuseZoomLevels));
}
function tileUrlFunction(tileCoord) {
return ('http://{a-d}.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/' +
return ('https://{a-d}.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/' +
'{z}/{x}/{y}.vector.pbf?access_token=' + key)
.replace('{z}', String(tileCoord[0] * reuseZoomLevels + zoomOffset))
.replace('{x}', String(tileCoord[1]))
@@ -50,7 +50,6 @@ var map = new ol.Map({
'© <a href="http://www.openstreetmap.org/copyright">' +
'OpenStreetMap contributors</a>',
format: new ol.format.MVT(),
overlaps: false,
tileGrid: new ol.tilegrid.TileGrid({
extent: ol.proj.get('EPSG:3857').getExtent(),
resolutions: resolutions

View File

@@ -1,4 +1,5 @@
goog.require('ol.Attribution');
/* eslint-disable openlayers-internal/no-unused-requires */
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.MVT');
@@ -9,6 +10,7 @@ goog.require('ol.style.Icon');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.style.Text');
goog.require('ol.tilegrid');
var key = 'pk.eyJ1IjoiYWhvY2V2YXIiLCJhIjoiRk1kMWZaSSJ9.E5BkluenyWQMsBLsuByrmg';
@@ -21,10 +23,9 @@ var map = new ol.Map({
'© <a href="http://www.openstreetmap.org/copyright">' +
'OpenStreetMap contributors</a>',
format: new ol.format.MVT(),
overlaps: false,
tileGrid: ol.tilegrid.createXYZ({maxZoom: 22}),
tilePixelRatio: 16,
url: 'http://{a-d}.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/' +
url: 'https://{a-d}.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/' +
'{z}/{x}/{y}.vector.pbf?access_token=' + key
}),
style: createMapboxStreetsV6Style()

View File

@@ -18,8 +18,7 @@ var map = new ol.Map({
}),
new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/' +
'mapbox.natural-earth-hypso-bathy.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.natural-earth-hypso-bathy.json?secure',
crossOrigin: 'anonymous'
}),
minResolution: 2000,

View File

@@ -3,7 +3,9 @@ layout: example.html
title: OSM Vector Tiles
shortdesc: Using OpenStreetMap vector tiles.
docs: >
A simple vector tiles map with OpenStreetMap vector tiles. **Note**: The tiles used in this example are not optimized for rendering - they clip tiles exactly at the tile boundary instead of adding a buffer, and use geographic coordinates instead of tile relative pixel coordinates in view projection.
tags: "vector, tiles, osm"
A simple vector tiles map with Mapzen vector tiles. **Note**: TopoJSON vector tiles are not optimized for rendering - they might clip geometries exactly at the tile boundary instead of adding a buffer, and use geographic coordinates instead of tile relative pixel coordinates in view projection.
tags: "vector, tiles, osm, mapzen"
cloak:
vector-tiles-5eJz6JX: Your Mapzen API key from https://mapzen.com/developers
---
<div id="map" class="map"></div>

View File

@@ -7,8 +7,14 @@ goog.require('ol.source.VectorTile');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.tilegrid');
var key = 'vector-tiles-5eJz6JX';
var attribution = [new ol.Attribution({
html: '&copy; OpenStreetMap contributors, Whos On First, Natural Earth, and openstreetmapdata.com'
})];
var format = new ol.format.TopoJSON();
var tileGrid = ol.tilegrid.createXYZ({maxZoom: 19});
var roadStyleCache = {};
@@ -17,7 +23,6 @@ var roadColor = {
'minor_road': '#ccb',
'highway': '#f39'
};
var landuseStyleCache = {};
var buildingStyle = new ol.style.Style({
fill: new ol.style.Fill({
color: '#666',
@@ -33,10 +38,10 @@ var map = new ol.Map({
layers: [
new ol.layer.VectorTile({
source: new ol.source.VectorTile({
attributions: attribution,
format: format,
tileGrid: tileGrid,
url: 'http://{a-c}.tile.openstreetmap.us/' +
'vectiles-water-areas/{z}/{x}/{y}.topojson'
url: 'https://vector.mapzen.com/osm/water/{z}/{x}/{y}.topojson?api_key=' + key
}),
style: new ol.style.Style({
fill: new ol.style.Fill({
@@ -46,10 +51,10 @@ var map = new ol.Map({
}),
new ol.layer.VectorTile({
source: new ol.source.VectorTile({
attributions: attribution,
format: format,
tileGrid: tileGrid,
url: 'http://{a-c}.tile.openstreetmap.us/' +
'vectiles-highroad/{z}/{x}/{y}.topojson'
url: 'https://vector.mapzen.com/osm/roads/{z}/{x}/{y}.topojson?api_key=' + key
}),
style: function(feature) {
var kind = feature.get('kind');
@@ -80,56 +85,14 @@ var map = new ol.Map({
}),
new ol.layer.VectorTile({
source: new ol.source.VectorTile({
attributions: attribution,
format: format,
tileGrid: tileGrid,
url: 'http://{a-c}.tile.openstreetmap.us/' +
'vectiles-buildings/{z}/{x}/{y}.topojson'
url: 'https://vector.mapzen.com/osm/buildings/{z}/{x}/{y}.topojson?api_key=' + key
}),
style: function(f, resolution) {
return (resolution < 10) ? buildingStyle : null;
}
}),
new ol.layer.VectorTile({
source: new ol.source.VectorTile({
format: format,
overlaps: false,
tileGrid: tileGrid,
url: 'http://{a-c}.tile.openstreetmap.us/' +
'vectiles-land-usages/{z}/{x}/{y}.topojson'
}),
visible: false,
style: function(feature) {
var kind = feature.get('kind');
var styleKey = kind;
var style = landuseStyleCache[styleKey];
if (!style) {
var color, width;
color = {
'parking': '#ddd',
'industrial': '#aaa',
'urban area': '#aaa',
'park': '#76C759',
'school': '#DA10E7',
'garden': '#76C759',
'pitch': '#D58F8D',
'scrub': '#3E7D28',
'residential': '#4C9ED9'
}[kind];
width = kind == 'highway' ? 1.5 : 1;
style = new ol.style.Style({
stroke: new ol.style.Stroke({
color: color,
width: width
}),
fill: new ol.style.Fill({
color: color,
opacity: 0.5
})
});
landuseStyleCache[styleKey] = style;
}
return style;
}
})
],
target: 'map',

View File

@@ -45,8 +45,7 @@ var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/' +
'mapbox.natural-earth-hypso-bathy.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.natural-earth-hypso-bathy.json?secure',
crossOrigin: 'anonymous'
})
})

View File

@@ -20,7 +20,7 @@ docs: >
</p>
tags: "raster, pixel"
resources:
- http://d3js.org/d3.v3.min.js
- https://d3js.org/d3.v3.min.js
cloak:
AkGbxXx6tDWf1swIhPJyoAVp06H0s0gDTYslNWWHZ6RoPqMpB9ld5FY1WutX8UoF: Your Bing Maps Key from http://www.bingmapsportal.com/ here
---

View File

@@ -8,7 +8,7 @@ docs: >
in <a href="http://epsg.io/">EPSG.io</a> database.
tags: "reprojection, projection, proj4js, epsg.io"
resources:
- http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
- https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
---
<div id="map" class="map"></div>
<form class="form-inline">

View File

@@ -6,6 +6,6 @@ docs: >
This example shows client-side reprojection of single image source.
tags: "reprojection, projection, proj4js, image, imagestatic"
resources:
- http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
- https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
---
<div id="map" class="map"></div>

View File

@@ -6,7 +6,7 @@ docs: >
This example shows client-side raster reprojection between various projections.
tags: "reprojection, projection, proj4js, osm, wms, wmts, hidpi"
resources:
- http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
- https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
---
<div id="map" class="map"></div>
<form class="form-inline">

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.extent');
@@ -58,7 +57,7 @@ var layers = {};
layers['bng'] = new ol.layer.Tile({
source: new ol.source.XYZ({
projection: 'EPSG:27700',
url: 'http://tileserver.maptiler.com/miniscale/{z}/{x}/{y}.png',
url: 'https://tileserver.maptiler.com/miniscale/{z}/{x}/{y}.png',
crossOrigin: '',
maxZoom: 6
})
@@ -88,7 +87,7 @@ layers['wms21781'] = new ol.layer.Tile({
'LAYERS': 'ch.swisstopo.pixelkarte-farbe-pk1000.noscale',
'FORMAT': 'image/jpeg'
},
url: 'http://wms.geo.admin.ch/',
url: 'https://wms.geo.admin.ch/',
projection: 'EPSG:21781'
})
});
@@ -112,7 +111,7 @@ fetch(url).then(function(response) {
layers['grandcanyon'] = new ol.layer.Tile({
source: new ol.source.XYZ({
url: 'http://tileserver.maptiler.com/grandcanyon@2x/{z}/{x}/{y}.png',
url: 'https://tileserver.maptiler.com/grandcanyon@2x/{z}/{x}/{y}.png',
crossOrigin: '',
tilePixelRatio: 2,
maxZoom: 15,

View File

@@ -1,4 +1,4 @@
@import url(http://fonts.googleapis.com/css?family=Quattrocento+Sans:400,400italic,700);
@import url(https://fonts.googleapis.com/css?family=Quattrocento+Sans:400,400italic,700);
body {
font-family: 'Quattrocento Sans', sans-serif;

View File

@@ -6,6 +6,6 @@ docs: >
This example shows client-side reprojection of OpenStreetMap to NAD83 Indiana East, including a ScaleLine control with US units.
tags: "reprojection, projection, openstreetmap, nad83, tile, scaleline"
resources:
- http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
- https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
---
<div id="map" class="map"></div>

View File

@@ -13,7 +13,7 @@ var map = new ol.Map({
}),
new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/mapbox.va-quake-aug.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.va-quake-aug.json?secure',
crossOrigin: 'anonymous'
})
})

View File

@@ -1,6 +1,5 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.interaction');
goog.require('ol.interaction.Draw');
goog.require('ol.interaction.Modify');
goog.require('ol.interaction.Select');

View File

@@ -6,6 +6,6 @@ docs: >
Example of a Sphere Mollweide map with a Graticule component.
tags: "graticule, Mollweide, projection, proj4js"
resources:
- http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
- https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
---
<div id="map" class="map"></div>

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.extent');
@@ -22,7 +21,7 @@ var map = new ol.Map({
new ol.layer.Image({
source: new ol.source.ImageStatic({
attributions: '© <a href="http://xkcd.com/license.html">xkcd</a>',
url: 'http://imgs.xkcd.com/comics/online_communities.png',
url: 'https://imgs.xkcd.com/comics/online_communities.png',
projection: projection,
imageExtent: extent
})

View File

@@ -78,7 +78,7 @@ Progress.prototype.hide = function() {
var progress = new Progress(document.getElementById('progress'));
var source = new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/mapbox.world-bright.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.world-bright.json?secure',
crossOrigin: 'anonymous'
});

View File

@@ -8,7 +8,7 @@ var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/mapbox.geography-class.json',
url: 'https://api.tiles.mapbox.com/v3/mapbox.geography-class.json?secure',
crossOrigin: 'anonymous'
})
})

View File

@@ -9,13 +9,13 @@ var key = 'pk.eyJ1IjoiYWhvY2V2YXIiLCJhIjoiRk1kMWZaSSJ9.E5BkluenyWQMsBLsuByrmg';
var mapLayer = new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v4/mapbox.geography-class.json?access_token=' + key
url: 'https://api.tiles.mapbox.com/v4/mapbox.geography-class.json?secure&access_token=' + key
})
});
var gridSource = new ol.source.TileUTFGrid({
url: 'http://api.tiles.mapbox.com/v4/mapbox.geography-class.json?access_token=' + key
url: 'https://api.tiles.mapbox.com/v4/mapbox.geography-class.json?secure&access_token=' + key
});
var gridLayer = new ol.layer.Tile({source: gridSource});

View File

@@ -12,7 +12,7 @@ goog.require('ol.style.Style');
var raster = new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/mapbox.world-dark.json'
url: 'https://api.tiles.mapbox.com/v3/mapbox.world-dark.json?secure'
})
});

View File

@@ -1,4 +1,3 @@
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.GeoJSON');

View File

@@ -1,6 +1,5 @@
// NOCOMPILE
// this example uses turf.js for which we don't have an externs file.
goog.require('ol.Feature');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.GeoJSON');

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.EsriJSON');
@@ -12,6 +11,7 @@ goog.require('ol.loadingstrategy');
goog.require('ol.proj');
goog.require('ol.source.Vector');
goog.require('ol.source.XYZ');
goog.require('ol.tilegrid');
var serviceUrl = 'http://services.arcgis.com/rOo16HdIMeOBI4Mb/arcgis/rest/' +
@@ -57,7 +57,7 @@ var raster = new ol.layer.Tile({
source: new ol.source.XYZ({
attributions: 'Tiles © <a href="http://services.arcgisonline.com/ArcGIS/' +
'rest/services/World_Topo_Map/MapServer">ArcGIS</a>',
url: 'http://server.arcgisonline.com/ArcGIS/rest/services/' +
url: 'https://server.arcgisonline.com/ArcGIS/rest/services/' +
'World_Topo_Map/MapServer/tile/{z}/{y}/{x}'
})
});

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.format.EsriJSON');
@@ -11,6 +10,7 @@ goog.require('ol.source.XYZ');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.tilegrid');
var serviceUrl = 'http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/' +
@@ -99,7 +99,7 @@ var raster = new ol.layer.Tile({
source: new ol.source.XYZ({
attributions: 'Tiles © <a href="http://services.arcgisonline.com/ArcGIS/' +
'rest/services/World_Topo_Map/MapServer">ArcGIS</a>',
url: 'http://server.arcgisonline.com/ArcGIS/rest/services/' +
url: 'https://server.arcgisonline.com/ArcGIS/rest/services/' +
'World_Topo_Map/MapServer/tile/{z}/{y}/{x}'
})
});

View File

@@ -12,6 +12,7 @@ goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
goog.require('ol.tilegrid');
var styles = {
'amenity': {

View File

@@ -40,16 +40,15 @@ var map = new ol.Map({
});
// generate a GetFeature request
var f = ol.format.ogc.filter;
var featureRequest = new ol.format.WFS().writeGetFeature({
srsName: 'EPSG:3857',
featureNS: 'http://openstreemap.org',
featurePrefix: 'osm',
featureTypes: ['water_areas'],
outputFormat: 'application/json',
filter: f.and(
f.like('name', 'Mississippi*'),
f.equalTo('waterway', 'riverbank')
filter: ol.format.ogc.filter.and(
ol.format.ogc.filter.like('name', 'Mississippi*'),
ol.format.ogc.filter.equalTo('waterway', 'riverbank')
)
});

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
@@ -46,7 +45,7 @@ var layers = [
new ol.layer.Tile({
extent: extent,
source: new ol.source.TileWMS({
url: 'http://wms.geo.admin.ch/',
url: 'https://wms.geo.admin.ch/',
crossOrigin: 'anonymous',
attributions: '© <a href="http://www.geo.admin.ch/internet/geoportal/' +
'en/home.html">Pixelmap 1:1000000 / geo.admin.ch</a>',
@@ -60,7 +59,7 @@ var layers = [
new ol.layer.Tile({
extent: extent,
source: new ol.source.TileWMS({
url: 'http://wms.geo.admin.ch/',
url: 'https://wms.geo.admin.ch/',
crossOrigin: 'anonymous',
attributions: '© <a href="http://www.geo.admin.ch/internet/geoportal/' +
'en/home.html">National parks / geo.admin.ch</a>',

View File

@@ -6,7 +6,7 @@ docs: >
With [Proj4js](http://proj4js.org/) integration, OpenLayers can transform coordinates between arbitrary projections.
tags: "wms, single image, proj4js, projection"
resources:
- http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
- http://epsg.io/21781-1753.js
- https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
- https://epsg.io/21781-1753.js
---
<div id="map" class="map"></div>

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
@@ -34,7 +33,7 @@ var layers = [
new ol.layer.Image({
extent: extent,
source: new ol.source.ImageWMS({
url: 'http://wms.geo.admin.ch/',
url: 'https://wms.geo.admin.ch/',
crossOrigin: 'anonymous',
attributions: '© <a href="http://www.geo.admin.ch/internet/geoportal/' +
'en/home.html">Pixelmap 1:1000000 / geo.admin.ch</a>',
@@ -48,7 +47,7 @@ var layers = [
new ol.layer.Image({
extent: extent,
source: new ol.source.ImageWMS({
url: 'http://wms.geo.admin.ch/',
url: 'https://wms.geo.admin.ch/',
crossOrigin: 'anonymous',
attributions: '© <a href="http://www.geo.admin.ch/internet/geoportal/' +
'en/home.html">National parks / geo.admin.ch</a>',

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Image');
@@ -18,7 +17,7 @@ var layers = [
'LAYERS': 'ch.swisstopo.pixelkarte-farbe-pk1000.noscale',
'FORMAT': 'image/jpeg'
},
url: 'http://wms.geo.admin.ch/'
url: 'https://wms.geo.admin.ch/'
})
}),
new ol.layer.Image({
@@ -28,7 +27,7 @@ var layers = [
crossOrigin: 'anonymous',
params: {'LAYERS': 'ch.bafu.schutzgebiete-paerke_nationaler_bedeutung'},
serverType: 'mapserver',
url: 'http://wms.geo.admin.ch/'
url: 'https://wms.geo.admin.ch/'
})
})
];

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.extent');

View File

@@ -6,7 +6,7 @@ goog.require('ol.layer.Tile');
goog.require('ol.source.WMTS');
var capabilitiesUrl = 'http://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml';
var capabilitiesUrl = 'https://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml';
// HiDPI support:
// * Use 'bmaphidpi' layer (pixel ratio 2) for device pixel ratio > 1

View File

@@ -43,7 +43,7 @@ var tileGrid = new ol.tilegrid.WMTS({
var key = '2mqbg0z6cx7ube8gsou10nrt';
var ign_source = new ol.source.WMTS({
url: 'http://wxs.ign.fr/' + key + '/wmts',
url: 'https://wxs.ign.fr/' + key + '/wmts',
layer: 'GEOGRAPHICALGRIDSYSTEMS.MAPS',
matrixSet: 'PM',
format: 'image/jpeg',

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control');
@@ -32,7 +31,7 @@ var map = new ol.Map({
source: new ol.source.WMTS({
attributions: 'Tiles © <a href="http://services.arcgisonline.com/arcgis/rest/' +
'services/Demographics/USA_Population_Density/MapServer/">ArcGIS</a>',
url: 'http://services.arcgisonline.com/arcgis/rest/' +
url: 'https://services.arcgisonline.com/arcgis/rest/' +
'services/Demographics/USA_Population_Density/MapServer/WMTS/',
layer: '0',
matrixSet: 'EPSG:3857',

View File

@@ -17,7 +17,7 @@ var map = new ol.Map({
new ol.layer.Tile({
source: new ol.source.XYZ({
attributions: [attribution],
url: 'http://server.arcgisonline.com/ArcGIS/rest/services/' +
url: 'https://server.arcgisonline.com/ArcGIS/rest/services/' +
'World_Topo_Map/MapServer/tile/{z}/{y}/{x}'
})
})

View File

@@ -1,4 +1,3 @@
goog.require('ol.Attribution');
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
@@ -21,7 +20,7 @@ var map = new ol.Map({
source: new ol.source.XYZ({
attributions: 'Tiles © USGS, rendered with ' +
'<a href="http://www.maptiler.com/">MapTiler</a>',
url: 'http://tileserver.maptiler.com/grandcanyon@2x/{z}/{x}/{y}.png',
url: 'https://tileserver.maptiler.com/grandcanyon@2x/{z}/{x}/{y}.png',
tilePixelRatio: 2, // THIS IS IMPORTANT
minZoom: mapMinZoom,
maxZoom: mapMaxZoom

View File

@@ -1,7 +1,6 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.proj.Projection');
goog.require('ol.source.Zoomify');

View File

@@ -15,3 +15,5 @@
* @see http://www.w3.org/TR/pointerevents/#the-touch-action-css-property
*/
CSSProperties.prototype.touchAction;
var global;

View File

@@ -9,6 +9,18 @@
var oli;
/**
* @interface
*/
oli.AssertionError = function() {};
/**
* @type {number}
*/
oli.AssertionError.prototype.code;
/**
* @interface
*/
@@ -40,13 +52,13 @@ oli.events.Event.prototype.stopPropagation = function() {};
/**
* @interface
*/
oli.CollectionEvent = function() {};
oli.Collection.Event = function() {};
/**
* @type {*}
*/
oli.CollectionEvent.prototype.element;
oli.Collection.Event.prototype.element;
/**

View File

@@ -1260,7 +1260,7 @@ olx.control.OverviewMapOptions.prototype.view;
* minWidth: (number|undefined),
* render: (function(ol.MapEvent)|undefined),
* target: (Element|undefined),
* units: (ol.control.ScaleLineUnits|string|undefined)}}
* units: (ol.control.ScaleLine.Units|string|undefined)}}
*/
olx.control.ScaleLineOptions;
@@ -1300,7 +1300,7 @@ olx.control.ScaleLineOptions.prototype.target;
/**
* Units. Default is `metric`.
* @type {ol.control.ScaleLineUnits|string|undefined}
* @type {ol.control.ScaleLine.Units|string|undefined}
* @api stable
*/
olx.control.ScaleLineOptions.prototype.units;
@@ -2014,7 +2014,8 @@ olx.format.WFSOptions.prototype.schemaLocation;
* startIndex: (number|undefined),
* count: (number|undefined),
* bbox: (ol.Extent|undefined),
* filter: (ol.format.ogc.filter.Filter|undefined)}}
* filter: (ol.format.ogc.filter.Filter|undefined),
* resultType: (string|undefined)}}
*/
olx.format.WFSWriteGetFeatureOptions;
@@ -2127,6 +2128,15 @@ olx.format.WFSWriteGetFeatureOptions.prototype.bbox;
olx.format.WFSWriteGetFeatureOptions.prototype.filter;
/**
* Indicates what response should be returned, E.g. `hits` only includes the
* `numberOfFeatures` attribute in the response and no features.
* @type {string|undefined}
* @api
*/
olx.format.WFSWriteGetFeatureOptions.prototype.resultType;
/**
* @typedef {{featureNS: string,
* featurePrefix: string,
@@ -4190,7 +4200,7 @@ olx.source.TileUTFGridOptions.prototype.url;
* reprojectionErrorThreshold: (number|undefined),
* state: (ol.source.State|undefined),
* tileClass: (function(new: ol.ImageTile, ol.TileCoord,
* ol.TileState, string, ?string,
* ol.Tile.State, string, ?string,
* ol.TileLoadFunctionType)|undefined),
* tileGrid: (ol.tilegrid.TileGrid|undefined),
* tileLoadFunction: (ol.TileLoadFunctionType|undefined),
@@ -4275,7 +4285,7 @@ olx.source.TileImageOptions.prototype.state;
/**
* Class used to instantiate image tiles. Default is {@link ol.ImageTile}.
* @type {function(new: ol.ImageTile, ol.TileCoord,
* ol.TileState, string, ?string,
* ol.Tile.State, string, ?string,
* ol.TileLoadFunctionType)|undefined}
* @api
*/
@@ -4360,7 +4370,7 @@ olx.source.TileImageOptions.prototype.wrapX;
* projection: ol.ProjectionLike,
* state: (ol.source.State|undefined),
* tileClass: (function(new: ol.VectorTile, ol.TileCoord,
* ol.TileState, string, ol.format.Feature,
* ol.Tile.State, string, ol.format.Feature,
* ol.TileLoadFunctionType)|undefined),
* tileGrid: (ol.tilegrid.TileGrid|undefined),
* tileLoadFunction: (ol.TileLoadFunctionType|undefined),
@@ -4408,7 +4418,7 @@ olx.source.VectorTileOptions.prototype.logo;
/**
* This source may have overlapping geometries. Default is `true`. Setting this
* to `false` (e.g. for sources with polygons that represent adminstrative
* to `false` (e.g. for sources with polygons that represent administrative
* boundaries or TopoJSON sources) allows the renderer to optimise fill and
* stroke operations.
* @type {boolean|undefined}
@@ -4436,7 +4446,7 @@ olx.source.VectorTileOptions.prototype.state;
/**
* Class used to instantiate image tiles. Default is {@link ol.VectorTile}.
* @type {function(new: ol.VectorTile, ol.TileCoord,
* ol.TileState, string, ol.format.Feature,
* ol.Tile.State, string, ol.format.Feature,
* ol.TileLoadFunctionType)|undefined}
* @api
*/
@@ -4786,7 +4796,7 @@ olx.source.OSMOptions.prototype.tileLoadFunction;
/**
* URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders.
* Default is `//{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png`.
* Default is `https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png`.
* @type {string|undefined}
* @api stable
*/
@@ -4982,6 +4992,7 @@ olx.source.ImageCanvasOptions.prototype.state;
* logo: (string|olx.LogoOptions|undefined),
* projection: ol.ProjectionLike,
* ratio: (number|undefined),
* renderBuffer: (number|undefined),
* resolutions: (Array.<number>|undefined),
* source: ol.source.Vector,
* style: (ol.style.Style|Array.<ol.style.Style>|ol.StyleFunction|undefined)}}
@@ -5023,6 +5034,17 @@ olx.source.ImageVectorOptions.prototype.projection;
olx.source.ImageVectorOptions.prototype.ratio;
/**
* The buffer around the viewport extent used by the renderer when getting
* features from the vector source for the rendering or hit-detection.
* Recommended value: the size of the largest symbol, line width or label.
* Default is 100 pixels.
* @type {number|undefined}
* @api
*/
olx.source.ImageVectorOptions.prototype.renderBuffer;
/**
* Resolutions. If specified, new canvases will be created for these resolutions
* only.
@@ -5842,7 +5864,7 @@ olx.source.VectorOptions.prototype.logo;
/**
* This source may have overlapping geometries. Default is `true`. Setting this
* to `false` (e.g. for sources with polygons that represent adminstrative
* to `false` (e.g. for sources with polygons that represent administrative
* boundaries or TopoJSON sources) allows the renderer to optimise fill and
* stroke operations.
* @type {boolean|undefined}
@@ -5861,8 +5883,8 @@ olx.source.VectorOptions.prototype.strategy;
/**
* Setting this option instructs the source to use an XHR loader (see
* {@link ol.featureloader.xhr}). Use a `string` and an
* Setting this option instructs the source to load features using an XHR loader
* (see {@link ol.featureloader.xhr}). Use a `string` and an
* {@link ol.loadingstrategy.all} for a one-off download of all features from
* the given URL. Use a {@link ol.FeatureUrlFunction} to generate the url with
* other loading strategies.
@@ -5873,6 +5895,8 @@ olx.source.VectorOptions.prototype.strategy;
* properly, this transformation will be incorrect. For some formats, the
* default projection (usually EPSG:4326) can be overridden by setting the
* defaultDataProjection constructor option on the format.
* Note that if a source contains non-feature data, such as a GeoJSON geometry
* or a KML NetworkLink, these will be ignored. Use a custom loader to load these.
* @type {string|ol.FeatureUrlFunction|undefined}
* @api
*/
@@ -5932,7 +5956,7 @@ olx.source.VectorOptions.prototype.wrapX;
* tileLoadFunction: (ol.TileLoadFunctionType|undefined),
* urls: (Array.<string>|undefined),
* tileClass: (function(new: ol.ImageTile, ol.TileCoord,
* ol.TileState, string, ?string,
* ol.Tile.State, string, ?string,
* ol.TileLoadFunctionType)|undefined),
* wrapX: (boolean|undefined)}}
*/
@@ -6027,7 +6051,7 @@ olx.source.WMTSOptions.prototype.style;
/**
* Class used to instantiate image tiles. Default is {@link ol.ImageTile}.
* @type {function(new: ol.ImageTile, ol.TileCoord,
* ol.TileState, string, ?string,
* ol.Tile.State, string, ?string,
* ol.TileLoadFunctionType)|undefined}
* @api
*/
@@ -6840,6 +6864,14 @@ olx.style.RegularShapeOptions.prototype.snapToPixel;
olx.style.RegularShapeOptions.prototype.stroke;
/**
* Whether to rotate the text with the view. Default is `false`.
* @type {boolean|undefined}
* @api
*/
olx.style.TextOptions.prototype.rotateWithView;
/**
* Rotation in radians (positive rotation clockwise). Default is `0`.
* @type {number|undefined}
@@ -6937,6 +6969,7 @@ olx.style.StrokeOptions.prototype.width;
* offsetX: (number|undefined),
* offsetY: (number|undefined),
* scale: (number|undefined),
* rotateWithView: (boolean|undefined),
* rotation: (number|undefined),
* text: (string|undefined),
* textAlign: (string|undefined),

View File

@@ -1,6 +1,6 @@
{
"name": "openlayers",
"version": "3.17.1",
"version": "3.18.0",
"description": "Build tools and sources for developing OpenLayers based mapping applications",
"keywords": [
"map",
@@ -30,42 +30,44 @@
"css/ol.css"
],
"dependencies": {
"async": "1.5.2",
"browserify": "13.0.1",
"closure-util": "1.15.0",
"async": "2.0.1",
"browserify": "13.1.0",
"closure-util": "1.15.1",
"derequire": "2.0.3",
"fs-extra": "0.30.0",
"glob": "7.0.5",
"glob": "7.0.6",
"handlebars": "4.0.5",
"jsdoc": "3.4.0",
"marked": "0.3.5",
"metalsmith": "2.1.0",
"marked": "0.3.6",
"metalsmith": "2.2.0",
"metalsmith-layouts": "1.6.5",
"nomnom": "1.8.1",
"pbf": "2.0.1",
"pixelworks": "1.1.0",
"rbush": "2.0.1",
"temp": "0.8.3",
"vector-tile": "1.2.1",
"vector-tile": "1.3.0",
"walk": "2.3.9"
},
"devDependencies": {
"clean-css": "3.4.18",
"coveralls": "2.11.9",
"clean-css": "3.4.19",
"coveralls": "2.11.12",
"debounce": "^1.0.0",
"eslint": "2.13.1",
"eslint": "3.3.1",
"eslint-config-openlayers": "5.0.0",
"eslint-plugin-openlayers-internal": "2.1.0",
"expect.js": "0.3.1",
"gaze": "^1.0.0",
"istanbul": "0.4.4",
"jquery": "2.2.4",
"mocha": "2.5.3",
"istanbul": "0.4.5",
"jquery": "3.1.0",
"mocha": "3.0.2",
"mocha-phantomjs-core": "^1.3.0",
"mustache": "2.2.1",
"phantomjs-prebuilt": "2.1.7",
"proj4": "2.3.14",
"phantomjs-prebuilt": "2.1.12",
"proj4": "2.3.15",
"resemblejs": "2.2.1",
"sinon": "1.17.4",
"serve-files": "1.0.0",
"sinon": "1.17.5",
"slimerjs": "0.906.2"
},
"eslintConfig": {
@@ -81,8 +83,26 @@
"goog": false,
"proj4": false
},
"plugins": [
"openlayers-internal"
],
"rules": {
"no-constant-condition": 0
"no-console": [
2,
{
"allow": [
"assert"
]
}
],
"no-constant-condition": 0,
"openlayers-internal/no-duplicate-requires": 2,
"openlayers-internal/no-missing-requires": 1,
"openlayers-internal/no-unused-requires": 2,
"openlayers-internal/one-provide": 1,
"openlayers-internal/requires-first": 2,
"openlayers-internal/valid-provide": 2,
"openlayers-internal/valid-requires": 2
}
},
"ext": [

8
rules/.eslintrc Normal file
View File

@@ -0,0 +1,8 @@
{
"env": {
"es6": true
},
"rules": {
"strict": [2, "global"]
}
}

13
rules/index.js Normal file
View File

@@ -0,0 +1,13 @@
'use strict';
module.exports = {
rules: {
'no-duplicate-requires': require('./no-duplicate-requires').rule,
'no-missing-requires': require('./no-missing-requires').rule,
'no-unused-requires': require('./no-unused-requires').rule,
'one-provide': require('./one-provide').rule,
'requires-first': require('./requires-first').rule,
'valid-provide': require('./valid-provide').rule,
'valid-requires': require('./valid-requires').rule
}
};

View File

@@ -0,0 +1,48 @@
'use strict';
const util = require('./util');
exports.rule = {
meta: {
docs: {
description: 'disallow duplicate goog.require() calls'
},
fixable: 'code'
},
create: function(context) {
const alreadyRequired = {};
return {
ExpressionStatement: function(statement) {
if (util.isRequireStatement(statement)) {
const expression = statement.expression;
if (!expression.arguments[0]) {
return;
}
const name = expression.arguments[0].value;
if (alreadyRequired[name]) {
const source = context.getSourceCode();
return context.report({
node: statement,
message: `Duplicate goog.require('${name}')`,
fix: function(fixer) {
const afterToken = source.getTokenAfter(statement);
const range = [
statement.range[0],
afterToken ? afterToken.range[0] : statement.range[1]
];
return fixer.removeRange(range);
}
});
}
alreadyRequired[name] = true;
}
}
};
}
};

View File

@@ -0,0 +1,90 @@
'use strict';
const util = require('./util');
/**
* Unfortunately fragile RegExp to follow. Here is the logic:
*
* 1. check if a name looks like a const (ol.foo.BOO_HOO must have a "_")
* if so, require the "namespace" (ol.foo)
* 2. check if a name looks like a class (ol.foo.Bar or ol.foo.XYZ)
* if so, require the class (ol.foo.Bar)
* 3. otherwise, lop off the last part of a name and require the rest
* (e.g. ol.foo.bar would require ol.foo)
*/
const CONST_RE = /^(ol(\.[a-z]\w*)*)\.[A-Z]+_([_A-Z])+$/;
const CLASS_RE = /^(ol(\.[a-z]\w*)*\.[A-Z]\w*)(\.\w+)*$/;
exports.rule = {
meta: {
docs: {
description: 'ensure there are goog.require() calls for all used symbols'
},
fixable: 'code'
},
create: function(context) {
const defined = {};
return {
ExpressionStatement: function(statement) {
if (util.isRequireStatement(statement) || util.isProvideStatement(statement)) {
const expression = statement.expression;
const arg = expression.arguments[0];
if (!arg || !arg.value) {
return;
}
defined[arg.value] = true;
}
},
MemberExpression: function(expression) {
const parent = expression.parent;
if (parent.type !== 'MemberExpression') {
const name = util.getName(expression);
if (name && name.startsWith('ol.')) {
// check if the name looks like a const
let match = name.match(CONST_RE);
if (match) {
if (!defined[match[1]]) {
context.report(expression, `Missing goog.require('${match[1]}')`);
}
return;
}
// check if the name looks like a class
match = name.match(CLASS_RE);
if (match) {
const className = match[1];
const parts = className.split('.');
const lastPart = parts[parts.length - 1];
if (lastPart.toUpperCase() === lastPart) {
// unfortunately ambiguous:
// ol.has.WEBGL -> require('ol.has')
// ol.source.XYZ -> require('ol.source.XYZ')
const objectName = parts.slice(0, -1).join('.');
if (!defined[className] && !defined[objectName]) {
context.report(expression, `Missing goog.require('${className}') or goog.require('${objectName}')`);
}
return;
}
if (!defined[className]) {
context.report(expression, `Missing goog.require('${className}')`);
}
return;
}
// otherwise, assume the object should be required
const parts = name.split('.');
parts.pop();
const objectName = parts.join('.');
if (!defined[objectName]) {
context.report(expression, `Missing goog.require('${objectName}')`);
}
}
}
}
};
}
};

View File

@@ -0,0 +1,90 @@
'use strict';
const util = require('./util');
exports.rule = {
meta: {
docs: {
description: 'disallow unused goog.require() calls'
},
fixable: 'code'
},
create: function(context) {
// a lookup of goog.require() nodes by argument
const requireStatements = {};
// used names from member expressions that match the goog.require() arg
const usedNames = {};
return {
ExpressionStatement: function(statement) {
if (util.isRequireStatement(statement)) {
const expression = statement.expression;
const arg = expression.arguments[0];
if (!arg || !arg.value) {
return;
}
const name = arg.value;
requireStatements[name] = statement;
}
},
MemberExpression: function(node) {
const name = util.getName(node);
if (name in requireStatements) {
const requiredAncestor = context.getAncestors().some(
ancestorNode => !!requireStatements[util.getName(ancestorNode)]);
if (!requiredAncestor) {
usedNames[name] = true;
}
}
},
Identifier: function(node) {
const name = node.name;
if (name in requireStatements) {
const ancestors = context.getAncestors();
if (ancestors.length && ancestors[0].type === 'MemberExpression') {
const requiredAncestor = ancestors.some(
ancestorNode => !!requireStatements[util.getName(ancestorNode)]);
if (!requiredAncestor) {
usedNames[name] = true;
}
} else {
usedNames[name] = true;
}
}
},
'Program:exit': function(node) {
const source = context.getSourceCode();
for (let name in requireStatements) {
if (!usedNames[name]) {
const unusedRequire = requireStatements[name];
context.report({
node: unusedRequire,
message: `Unused ${source.getText(unusedRequire)}`,
fix: function(fixer) {
const afterToken = source.getTokenAfter(unusedRequire);
const range = [
unusedRequire.range[0],
afterToken ? afterToken.range[0] : unusedRequire.range[1]
];
return fixer.removeRange(range);
}
});
}
}
}
};
}
};

28
rules/one-provide.js Normal file
View File

@@ -0,0 +1,28 @@
'use strict';
const util = require('./util');
exports.rule = {
meta: {
docs: {
description: 'disallow multiple goog.provide() calls'
}
},
create: function(context) {
let hasProvide = false;
return {
ExpressionStatement: function(statement) {
if (util.isProvideStatement(statement)) {
if (hasProvide) {
const name = statement.expression.arguments[0].value;
context.report(statement, `Extra goog.provide('${name}')`);
} else {
hasProvide = true;
}
}
}
};
}
};

11
rules/package.json Normal file
View File

@@ -0,0 +1,11 @@
{
"name": "eslint-plugin-openlayers-internal",
"version": "2.1.0",
"description": "Custom ESLint rules for the OpenLayers project",
"main": "index.js",
"repository": {
"type": "git",
"url": "git://github.com/openlayers/ol3.git"
},
"license": "BSD-2-Clause"
}

30
rules/requires-first.js Normal file
View File

@@ -0,0 +1,30 @@
'use strict';
const util = require('./util');
exports.rule = {
meta: {
docs: {
description: 'require that all goog.require() precede other statements (except goog.provide())'
}
},
create: function(context) {
return {
Program: function(program) {
let otherSeen = false;
program.body.forEach(statement => {
if (util.isRequireStatement(statement)) {
if (otherSeen) {
return context.report(statement, 'Expected goog.require() to precede other statements');
}
} else if (!util.isProvideStatement(statement)) {
otherSeen = true;
}
});
}
};
}
};

49
rules/util.js Normal file
View File

@@ -0,0 +1,49 @@
'use strict';
function isGoogCallExpression(node, name) {
const callee = node.callee;
return callee && callee.type === 'MemberExpression' &&
callee.object.type === 'Identifier' && callee.object.name === 'goog' &&
callee.property.type === 'Identifier' && !callee.property.computed &&
callee.property.name === name;
}
function isGoogStatement(node, name) {
return node.expression && node.expression.type === 'CallExpression' &&
isGoogCallExpression(node.expression, name);
}
exports.isProvideExpression = function(node) {
return isGoogCallExpression(node, 'provide');
};
exports.isProvideStatement = function(node) {
return isGoogStatement(node, 'provide');
};
exports.isRequireExpression = function(node) {
return isGoogCallExpression(node, 'require');
};
exports.isRequireStatement = function(node) {
return isGoogStatement(node, 'require');
};
var getName = exports.getName = function(node) {
if (node.type !== 'MemberExpression') {
return;
}
if (node.property.type !== 'Identifier' || node.property.computed) {
return;
}
let objectName;
if (node.object.type === 'Identifier' && !node.object.computed) {
objectName = node.object.name;
} else if (node.object.type === 'MemberExpression' && !node.object.computed) {
objectName = getName(node.object);
}
if (!objectName) {
return;
}
return `${objectName}.${node.property.name}`;
};

72
rules/valid-provide.js Normal file
View File

@@ -0,0 +1,72 @@
'use strict';
const path = require('path');
const util = require('./util');
function longestCommonPrefix(path1, path2) {
const parts1 = path.resolve(path1).split(path.sep);
const parts2 = path.resolve(path2).split(path.sep);
const common = [];
for (let i = 0, ii = parts1.length; i < ii; ++i) {
if (parts1[i] === parts2[i]) {
common.push(parts1[i]);
} else {
break;
}
}
return common.join(path.sep);
}
exports.rule = {
meta: {
docs: {
description: 'require the first goog.provide() has an arg named like the file path'
}
},
create: function(context) {
let gotFirst = false;
return {
CallExpression: function(expression) {
if (gotFirst) {
return;
}
if (util.isProvideExpression(expression)) {
gotFirst = true;
const parent = expression.parent;
if (parent.type !== 'ExpressionStatement') {
return context.report(expression, 'Expected goog.provide() to in an expression statement');
}
if (parent.parent.type !== 'Program') {
return context.report(expression, 'Expected goog.provide() to be at the top level');
}
if (expression.arguments.length !== 1) {
return context.report(expression, 'Expected one argument for goog.require()');
}
const arg = expression.arguments[0];
if (arg.type !== 'Literal' || !arg.value || typeof arg.value !== 'string') {
return context.report(expression, 'Expected goog.require() to be called with a string');
}
const filePath = context.getFilename();
const sourceRoot = path.join(longestCommonPrefix(__dirname, filePath), 'src');
const requirePath = path.relative(sourceRoot, filePath);
let ext;
if (path.basename(requirePath) === 'index.js') {
ext = path.sep + 'index.js';
} else {
ext = '.js';
}
const name = arg.value;
const expectedPath = name.split('.').join(path.sep) + ext;
if (expectedPath.toLowerCase() !== requirePath.toLowerCase()) {
return context.report(expression, `Expected goog.provide('${name}') to be like ${requirePath}`);
}
}
}
};
}
};

37
rules/valid-requires.js Normal file
View File

@@ -0,0 +1,37 @@
'use strict';
const util = require('./util');
exports.rule = {
meta: {
docs: {
description: 'require that all goog.require() have a valid arg and appear at the top level'
}
},
create: function(context) {
return {
CallExpression: function(expression) {
if (util.isRequireExpression(expression)) {
const parent = expression.parent;
if (parent.type !== 'ExpressionStatement') {
return context.report(expression, 'Expected goog.require() to in an expression statement');
}
if (parent.parent.type !== 'Program') {
return context.report(expression, 'Expected goog.require() to be at the top level');
}
if (expression.arguments.length !== 1) {
return context.report(expression, 'Expected one argument for goog.require()');
}
const arg = expression.arguments[0];
if (arg.type !== 'Literal' || !arg.value || typeof arg.value !== 'string') {
return context.report(expression, 'Expected goog.require() to be called with a string');
}
}
}
};
}
};

View File

@@ -1,7 +1,7 @@
goog.provide('ol.animation');
goog.require('ol');
goog.require('ol.ViewHint');
goog.require('ol.View');
goog.require('ol.coordinate');
goog.require('ol.easing');
@@ -28,14 +28,14 @@ ol.animation.bounce = function(options) {
function(map, frameState) {
if (frameState.time < start) {
frameState.animate = true;
frameState.viewHints[ol.ViewHint.ANIMATING] += 1;
frameState.viewHints[ol.View.Hint.ANIMATING] += 1;
return true;
} else if (frameState.time < start + duration) {
var delta = easing((frameState.time - start) / duration);
var deltaResolution = resolution - frameState.viewState.resolution;
frameState.animate = true;
frameState.viewState.resolution += delta * deltaResolution;
frameState.viewHints[ol.ViewHint.ANIMATING] += 1;
frameState.viewHints[ol.View.Hint.ANIMATING] += 1;
return true;
} else {
return false;
@@ -67,7 +67,7 @@ ol.animation.pan = function(options) {
function(map, frameState) {
if (frameState.time < start) {
frameState.animate = true;
frameState.viewHints[ol.ViewHint.ANIMATING] += 1;
frameState.viewHints[ol.View.Hint.ANIMATING] += 1;
return true;
} else if (frameState.time < start + duration) {
var delta = 1 - easing((frameState.time - start) / duration);
@@ -76,7 +76,7 @@ ol.animation.pan = function(options) {
frameState.animate = true;
frameState.viewState.center[0] += delta * deltaX;
frameState.viewState.center[1] += delta * deltaY;
frameState.viewHints[ol.ViewHint.ANIMATING] += 1;
frameState.viewHints[ol.View.Hint.ANIMATING] += 1;
return true;
} else {
return false;
@@ -109,7 +109,7 @@ ol.animation.rotate = function(options) {
function(map, frameState) {
if (frameState.time < start) {
frameState.animate = true;
frameState.viewHints[ol.ViewHint.ANIMATING] += 1;
frameState.viewHints[ol.View.Hint.ANIMATING] += 1;
return true;
} else if (frameState.time < start + duration) {
var delta = 1 - easing((frameState.time - start) / duration);
@@ -123,7 +123,7 @@ ol.animation.rotate = function(options) {
ol.coordinate.rotate(center, deltaRotation);
ol.coordinate.add(center, anchor);
}
frameState.viewHints[ol.ViewHint.ANIMATING] += 1;
frameState.viewHints[ol.View.Hint.ANIMATING] += 1;
return true;
} else {
return false;
@@ -153,7 +153,7 @@ ol.animation.zoom = function(options) {
function(map, frameState) {
if (frameState.time < start) {
frameState.animate = true;
frameState.viewHints[ol.ViewHint.ANIMATING] += 1;
frameState.viewHints[ol.View.Hint.ANIMATING] += 1;
return true;
} else if (frameState.time < start + duration) {
var delta = 1 - easing((frameState.time - start) / duration);
@@ -161,7 +161,7 @@ ol.animation.zoom = function(options) {
sourceResolution - frameState.viewState.resolution;
frameState.animate = true;
frameState.viewState.resolution += delta * deltaResolution;
frameState.viewHints[ol.ViewHint.ANIMATING] += 1;
frameState.viewHints[ol.View.Hint.ANIMATING] += 1;
return true;
} else {
return false;

View File

@@ -1,7 +1,5 @@
goog.provide('ol.array');
goog.require('goog.asserts');
/**
* Performs a binary search on the provided sorted list and returns the index of the item if found. If it can't be found it'll return -1.
@@ -135,9 +133,6 @@ ol.array.linearFindNearest = function(arr, target, direction) {
}
}
}
// We should never get here, but the compiler complains
// if it finds a path for which no number is returned.
goog.asserts.fail();
return n - 1;
}
};
@@ -149,9 +144,9 @@ ol.array.linearFindNearest = function(arr, target, direction) {
* @param {number} end End index.
*/
ol.array.reverseSubArray = function(arr, begin, end) {
goog.asserts.assert(begin >= 0,
goog.DEBUG && console.assert(begin >= 0,
'Array begin index should be equal to or greater than 0');
goog.asserts.assert(end < arr.length,
goog.DEBUG && console.assert(end < arr.length,
'Array end index should be less than the array length');
while (begin < end) {
var tmp = arr[begin];
@@ -187,7 +182,7 @@ ol.array.flatten = function(arr) {
*/
ol.array.extend = function(arr, data) {
var i;
var extension = goog.isArrayLike(data) ? data : [data];
var extension = Array.isArray(data) ? data : [data];
var length = extension.length;
for (i = 0; i < length; i++) {
arr[arr.length] = extension[i];

36
src/ol/assertionerror.js Normal file
View File

@@ -0,0 +1,36 @@
goog.provide('ol.AssertionError');
goog.require('ol');
/**
* Error object thrown when an assertion failed. This is an ECMA-262 Error,
* extended with a `code` property.
* @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error}
* @constructor
* @extends {Error}
* @implements {oli.AssertionError}
* @param {number} code Error code.
*/
ol.AssertionError = function(code) {
/**
* @type {string}
*/
this.message = 'Assertion failed. See ' +
(ol.VERSION ? 'http://openlayers.org/en/' + ol.VERSION.split('-')[0] : '') +
'/doc/errors/#' + code + ' for details.';
/**
* Error code. The meaning of the code can be found on
* {@link http://openlayers.org/en/latest/errors.html} (replace `latest` with
* the version found in the OpenLayers script's header comment if a version
* other than the latest is used).
* @type {number}
* @api
*/
this.code = code;
this.name = 'AssertionError';
};
ol.inherits(ol.AssertionError, Error);

15
src/ol/asserts.js Normal file
View File

@@ -0,0 +1,15 @@
goog.provide('ol.asserts');
goog.require('ol');
goog.require('ol.AssertionError');
/**
* @param {*} assertion Assertion we expected to be truthy.
* @param {number} errorCode Error code.
*/
ol.asserts.assert = function(assertion, errorCode) {
if (!assertion) {
throw new ol.AssertionError(errorCode);
}
};

View File

@@ -2,6 +2,7 @@ goog.provide('ol.Attribution');
goog.require('ol.TileRange');
goog.require('ol.math');
goog.require('ol.tilegrid');
/**

View File

@@ -4,58 +4,12 @@
*/
goog.provide('ol.Collection');
goog.provide('ol.CollectionEvent');
goog.provide('ol.CollectionEventType');
goog.require('ol');
goog.require('ol.events.Event');
goog.require('ol.Object');
/**
* @enum {string}
*/
ol.CollectionEventType = {
/**
* Triggered when an item is added to the collection.
* @event ol.CollectionEvent#add
* @api stable
*/
ADD: 'add',
/**
* Triggered when an item is removed from the collection.
* @event ol.CollectionEvent#remove
* @api stable
*/
REMOVE: 'remove'
};
/**
* @classdesc
* Events emitted by {@link ol.Collection} instances are instances of this
* type.
*
* @constructor
* @extends {ol.events.Event}
* @implements {oli.CollectionEvent}
* @param {ol.CollectionEventType} type Type.
* @param {*=} opt_element Element.
*/
ol.CollectionEvent = function(type, opt_element) {
ol.events.Event.call(this, type);
/**
* The element that is added to or removed from the collection.
* @type {*}
* @api stable
*/
this.element = opt_element;
};
ol.inherits(ol.CollectionEvent, ol.events.Event);
/**
* @enum {string}
*/
@@ -74,7 +28,7 @@ ol.CollectionProperty = {
*
* @constructor
* @extends {ol.Object}
* @fires ol.CollectionEvent
* @fires ol.Collection.Event
* @param {!Array.<T>=} opt_array Array.
* @template T
* @api stable
@@ -181,7 +135,7 @@ ol.Collection.prototype.insertAt = function(index, elem) {
this.array_.splice(index, 0, elem);
this.updateLength_();
this.dispatchEvent(
new ol.CollectionEvent(ol.CollectionEventType.ADD, elem));
new ol.Collection.Event(ol.Collection.EventType.ADD, elem));
};
@@ -239,7 +193,7 @@ ol.Collection.prototype.removeAt = function(index) {
this.array_.splice(index, 1);
this.updateLength_();
this.dispatchEvent(
new ol.CollectionEvent(ol.CollectionEventType.REMOVE, prev));
new ol.Collection.Event(ol.Collection.EventType.REMOVE, prev));
return prev;
};
@@ -256,9 +210,9 @@ ol.Collection.prototype.setAt = function(index, elem) {
var prev = this.array_[index];
this.array_[index] = elem;
this.dispatchEvent(
new ol.CollectionEvent(ol.CollectionEventType.REMOVE, prev));
new ol.Collection.Event(ol.Collection.EventType.REMOVE, prev));
this.dispatchEvent(
new ol.CollectionEvent(ol.CollectionEventType.ADD, elem));
new ol.Collection.Event(ol.Collection.EventType.ADD, elem));
} else {
var j;
for (j = n; j < index; ++j) {
@@ -275,3 +229,48 @@ ol.Collection.prototype.setAt = function(index, elem) {
ol.Collection.prototype.updateLength_ = function() {
this.set(ol.CollectionProperty.LENGTH, this.array_.length);
};
/**
* @enum {string}
*/
ol.Collection.EventType = {
/**
* Triggered when an item is added to the collection.
* @event ol.Collection.Event#add
* @api stable
*/
ADD: 'add',
/**
* Triggered when an item is removed from the collection.
* @event ol.Collection.Event#remove
* @api stable
*/
REMOVE: 'remove'
};
/**
* @classdesc
* Events emitted by {@link ol.Collection} instances are instances of this
* type.
*
* @constructor
* @extends {ol.events.Event}
* @implements {oli.Collection.Event}
* @param {ol.Collection.EventType} type Type.
* @param {*=} opt_element Element.
*/
ol.Collection.Event = function(type, opt_element) {
ol.events.Event.call(this, type);
/**
* The element that is added to or removed from the collection.
* @type {*}
* @api stable
*/
this.element = opt_element;
};
ol.inherits(ol.Collection.Event, ol.events.Event);

View File

@@ -1,14 +1,7 @@
// We can't use goog.color or goog.color.alpha because they interally use a hex
// string representation that encodes each channel in a single byte. This
// causes occasional loss of precision and rounding errors, especially in the
// alpha channel.
goog.provide('ol.color');
goog.require('goog.asserts');
goog.require('goog.color');
goog.require('goog.color.names');
goog.require('ol');
goog.require('ol.asserts');
goog.require('ol.math');
@@ -22,7 +15,7 @@ ol.color.hexColorRe_ = /^#(?:[0-9a-f]{3}){1,2}$/i;
/**
* @see goog.color.rgbColorRe_
* Regular expression for matching and capturing RGB style strings.
* @const
* @type {RegExp}
* @private
@@ -32,7 +25,7 @@ ol.color.rgbColorRe_ =
/**
* @see goog.color.alpha.rgbaColorRe_
* Regular expression for matching and capturing RGBA style strings.
* @const
* @type {RegExp}
* @private
@@ -41,6 +34,16 @@ ol.color.rgbaColorRe_ =
/^(?:rgba)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|1|0\.\d{0,10})\)$/i;
/**
* Regular expression for matching potential named color style strings.
* @const
* @type {RegExp}
* @private
*/
ol.color.namedColorRe_ =
/^([a-z]*)$/i;
/**
* Return the color as an array. This function maintains a cache of calculated
* arrays which means the result should not be modified.
@@ -52,8 +55,7 @@ ol.color.asArray = function(color) {
if (Array.isArray(color)) {
return color;
} else {
goog.asserts.assert(typeof color === 'string', 'Color should be a string');
return ol.color.fromString(color);
return ol.color.fromString(/** @type {string} */ (color));
}
};
@@ -68,11 +70,24 @@ ol.color.asString = function(color) {
if (typeof color === 'string') {
return color;
} else {
goog.asserts.assert(Array.isArray(color), 'Color should be an array');
return ol.color.toString(color);
}
};
/**
* Return named color as an rgba string.
* @param {string} color Named color.
* @return {string} Rgb string.
*/
ol.color.fromNamed = function(color) {
var el = document.createElement('div');
el.style.color = color;
document.body.appendChild(el);
var rgb = window.getComputedStyle(el).color;
document.body.removeChild(el);
return rgb;
};
/**
* @param {string} s String.
@@ -137,18 +152,15 @@ ol.color.fromString = (
* @return {ol.Color} Color.
*/
ol.color.fromStringInternal_ = function(s) {
var r, g, b, a, color, match;
var isHex = false;
if (ol.ENABLE_NAMED_COLORS && goog.color.names.hasOwnProperty(s)) {
s = goog.color.names[s];
isHex = true;
if (ol.color.namedColorRe_.exec(s)) {
s = ol.color.fromNamed(s);
}
var r, g, b, a, color, match;
if (isHex || (match = ol.color.hexColorRe_.exec(s))) { // hex
if (ol.color.hexColorRe_.exec(s)) { // hex
var n = s.length - 1; // number of hex digits
goog.asserts.assert(n == 3 || n == 6,
'Color string length should be 3 or 6');
ol.asserts.assert(n == 3 || n == 6, 54); // Hex color should have 3 or 6 digits
var d = n == 3 ? 1 : 2; // number of digits per channel
r = parseInt(s.substr(1 + 0 * d, d), 16);
g = parseInt(s.substr(1 + 1 * d, d), 16);
@@ -160,26 +172,21 @@ ol.color.fromStringInternal_ = function(s) {
}
a = 1;
color = [r, g, b, a];
goog.asserts.assert(ol.color.isValid(color),
'Color should be a valid color');
return color;
} else if ((match = ol.color.rgbaColorRe_.exec(s))) { // rgba()
r = Number(match[1]);
g = Number(match[2]);
b = Number(match[3]);
a = Number(match[4]);
color = [r, g, b, a];
return ol.color.normalize(color, color);
color = ol.color.normalize([r, g, b, a]);
} else if ((match = ol.color.rgbColorRe_.exec(s))) { // rgb()
r = Number(match[1]);
g = Number(match[2]);
b = Number(match[3]);
color = [r, g, b, 1];
return ol.color.normalize(color, color);
color = ol.color.normalize([r, g, b, 1]);
} else {
goog.asserts.fail(s + ' is not a valid color');
ol.asserts.assert(false, 14); // Invalid color
}
return /** @type {ol.Color} */ (color);
};

View File

@@ -2,16 +2,13 @@
goog.provide('ol.control.Attribution');
goog.require('goog.asserts');
goog.require('ol');
goog.require('ol.dom');
goog.require('ol.Attribution');
goog.require('ol.control.Control');
goog.require('ol.css');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.object');
goog.require('ol.source.Tile');
goog.require('ol.obj');
/**
@@ -157,33 +154,29 @@ ol.control.Attribution.prototype.getSourceAttributions = function(frameState) {
var intersectsTileRange;
var layerStatesArray = frameState.layerStatesArray;
/** @type {Object.<string, ol.Attribution>} */
var attributions = ol.object.assign({}, frameState.attributions);
var attributions = ol.obj.assign({}, frameState.attributions);
/** @type {Object.<string, ol.Attribution>} */
var hiddenAttributions = {};
var projection = frameState.viewState.projection;
goog.asserts.assert(projection, 'projection of viewState required');
var projection = /** @type {!ol.proj.Projection} */ (frameState.viewState.projection);
for (i = 0, ii = layerStatesArray.length; i < ii; i++) {
source = layerStatesArray[i].layer.getSource();
if (!source) {
continue;
}
sourceKey = goog.getUid(source).toString();
sourceKey = ol.getUid(source).toString();
sourceAttributions = source.getAttributions();
if (!sourceAttributions) {
continue;
}
for (j = 0, jj = sourceAttributions.length; j < jj; j++) {
sourceAttribution = sourceAttributions[j];
sourceAttributionKey = goog.getUid(sourceAttribution).toString();
sourceAttributionKey = ol.getUid(sourceAttribution).toString();
if (sourceAttributionKey in attributions) {
continue;
}
tileRanges = frameState.usedTiles[sourceKey];
if (tileRanges) {
goog.asserts.assertInstanceof(source, ol.source.Tile,
'source should be an ol.source.Tile');
var tileGrid = source.getTileGridForProjection(projection);
goog.asserts.assert(tileGrid, 'tileGrid required for projection');
var tileGrid = /** @type {ol.source.Tile} */ (source).getTileGridForProjection(projection);
intersectsTileRange = sourceAttribution.intersectsAnyTileRange(
tileRanges, tileGrid, projection);
} else {
@@ -272,14 +265,14 @@ ol.control.Attribution.prototype.updateElement_ = function(frameState) {
}
var renderVisible =
!ol.object.isEmpty(this.attributionElementRenderedVisible_) ||
!ol.object.isEmpty(frameState.logos);
!ol.obj.isEmpty(this.attributionElementRenderedVisible_) ||
!ol.obj.isEmpty(frameState.logos);
if (this.renderedVisible_ != renderVisible) {
this.element.style.display = renderVisible ? '' : 'none';
this.renderedVisible_ = renderVisible;
}
if (renderVisible &&
ol.object.isEmpty(this.attributionElementRenderedVisible_)) {
ol.obj.isEmpty(this.attributionElementRenderedVisible_)) {
this.element.classList.add('ol-logo-only');
} else {
this.element.classList.remove('ol-logo-only');
@@ -329,7 +322,7 @@ ol.control.Attribution.prototype.insertLogos_ = function(frameState) {
}
}
this.logoLi_.style.display = !ol.object.isEmpty(logos) ? '' : 'none';
this.logoLi_.style.display = !ol.obj.isEmpty(logos) ? '' : 'none';
};

View File

@@ -1,6 +1,5 @@
goog.provide('ol.control.FullScreen');
goog.require('goog.asserts');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol');
@@ -125,7 +124,6 @@ ol.control.FullScreen.prototype.handleFullScreen_ = function() {
} else {
element = map.getTargetElement();
}
goog.asserts.assert(element, 'element should be defined');
if (this.keys_) {
ol.control.FullScreen.requestFullScreenWithKeys(element);

View File

@@ -2,12 +2,12 @@
goog.provide('ol.control.MousePosition');
goog.require('ol');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.Object');
goog.require('ol.control.Control');
goog.require('ol.proj');
goog.require('ol.proj.Projection');
/**

Some files were not shown because too many files have changed in this diff Show More