diff --git a/dist/esri-leaflet-vector-debug.js b/dist/esri-leaflet-vector-debug.js new file mode 100644 index 0000000..8868ac9 --- /dev/null +++ b/dist/esri-leaflet-vector-debug.js @@ -0,0 +1,880 @@ +/* esri-leaflet-vector - v4.0.0 - Fri Sep 02 2022 13:58:17 GMT-0500 (Central Daylight Time) + * Copyright (c) 2022 Environmental Systems Research Institute, Inc. + * Apache-2.0 */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('leaflet'), require('esri-leaflet'), require('maplibre-gl')) : + typeof define === 'function' && define.amd ? define(['exports', 'leaflet', 'esri-leaflet', 'maplibre-gl'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.L = global.L || {}, global.L.esri = global.L.esri || {}, global.L.esri.Vector = {}), global.L, global.L.esri, global.maplibregl)); +})(this, (function (exports, leaflet, esriLeaflet, maplibregl) { 'use strict'; + + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + + var maplibregl__default = /*#__PURE__*/_interopDefaultLegacy(maplibregl); + + var version = "4.0.0"; + + /* + utility to establish a URL for the basemap styles API + used primarily by VectorBasemapLayer.js + */ + function getBasemapStyleUrl (key, apikey) { + var url = + 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' + + key + + '?type=style'; + if (apikey) { + url = url + '&apiKey=' + apikey; + } + return url; + } + + /* + utilities to communicate with custom user styles via an ITEM ID or SERVICE URL + used primarily by VectorTileLayer.js + */ + function loadStyle (idOrUrl, options, callback) { + var httpRegex = /^https?:\/\//; + var serviceRegex = /\/VectorTileServer\/?$/; + + if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) { + var serviceUrl = idOrUrl; + loadStyleFromService(serviceUrl, options, callback); + } else { + var itemId = idOrUrl; + loadStyleFromItem(itemId, options, callback); + } + } + + function loadService (serviceUrl, options, callback) { + var params = options.token ? { token: options.token } : {}; + esriLeaflet.request(serviceUrl, params, callback); + } + + function loadItem (itemId, options, callback) { + var params = options.token ? { token: options.token } : {}; + var url = options.portalUrl + + '/sharing/rest/content/items/' + + itemId; + esriLeaflet.request(url, params, callback); + } + + function loadStyleFromItem (itemId, options, callback) { + var itemStyleUrl = + options.portalUrl + + '/sharing/rest/content/items/' + + itemId + + '/resources/styles/root.json'; + + loadStyleFromUrl(itemStyleUrl, options, function (error, style) { + if (error) { + loadItem(itemId, options, function (error, item) { + if (error) { + console.error(error); + } + loadStyleFromService(item.url, options, callback); + }); + } else { + loadItem(itemId, options, function (error, item) { + if (error) { + console.error(error); + } + loadService(item.url, options, function (error, service) { + callback(error, style, itemStyleUrl, service, item.url); + }); + }); + } + }); + } + + function loadStyleFromService (serviceUrl, options, callback) { + loadService(serviceUrl, options, function (error, service) { + if (error) { + console.error(error); + } + + var sanitizedServiceUrl = serviceUrl; + // a trailing "/" may create invalid paths + if (serviceUrl.charAt(serviceUrl.length - 1) === '/') { + sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1); + } + + var defaultStylesUrl; + // inadvertently inserting more than 1 adjacent "/" may create invalid paths + if (service.defaultStyles.charAt(0) === '/') { + defaultStylesUrl = + sanitizedServiceUrl + service.defaultStyles + '/root.json'; + } else { + defaultStylesUrl = + sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json'; + } + + loadStyleFromUrl(defaultStylesUrl, options, function (error, style) { + if (error) { + console.error(error); + } + callback(null, style, defaultStylesUrl, service, serviceUrl); + }); + }); + } + + function loadStyleFromUrl (styleUrl, options, callback) { + var params = options.token ? { token: options.token } : {}; + esriLeaflet.request(styleUrl, params, callback); + } + + function formatStyle (style, styleUrl, metadata, token) { + // transforms style object in place and also returns it + + // modify each source in style.sources + var sourcesKeys = Object.keys(style.sources); + for (var sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) { + var source = style.sources[sourcesKeys[sourceIndex]]; + + // if a relative path is referenced, the default style can be found in a standard location + if (source.url.indexOf('http') === -1) { + source.url = styleUrl.replace('/resources/styles/root.json', ''); + } + + // a trailing "/" may create invalid paths + if (source.url.charAt(source.url.length - 1) === '/') { + source.url = source.url.slice(0, source.url.length - 1); + } + + // add tiles property if missing + if (!source.tiles) { + // right now ArcGIS Pro published vector services have a slightly different signature + // the '/' is needed in the URL string concatenation below for source.tiles + if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') { + metadata.tiles[0] = '/' + metadata.tiles[0]; + } + + source.tiles = [source.url + metadata.tiles[0]]; + } + + // some VectorTileServer endpoints may default to returning f=html, + // specify f=json to account for that behavior + source.url += '?f=json'; + + // add the token to the source url and tiles properties as a query param + source.url += token ? '&token=' + token : ''; + source.tiles[0] += token ? '?token=' + token : ''; + + // add minzoom and maxzoom to each source based on the service metadata + source.minzoom = metadata.tileInfo.lods[0].level; + source.maxzoom = + metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level; + } + + // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata + var lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]]; + lastSource.attribution = metadata.copyrightText || ''; + lastSource.copyrightText = metadata.copyrightText || ''; + + // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first + for (var layerIndex = 0; layerIndex < style.layers.length; layerIndex++) { + var layer = style.layers[layerIndex]; + if ( + layer.layout && + layer.layout['text-font'] && + layer.layout['text-font'].length > 1 + ) { + layer.layout['text-font'] = [layer.layout['text-font'][0]]; + } + } + + if (style.sprite && style.sprite.indexOf('http') === -1) { + // resolve absolute URL for style.sprite + style.sprite = styleUrl.replace( + 'styles/root.json', + style.sprite.replace('../', '') + ); + + // add the token to the style.sprite property as a query param + style.sprite += token ? '?token=' + token : ''; + } + + if (style.glyphs && style.glyphs.indexOf('http') === -1) { + // resolve absolute URL for style.glyphs + style.glyphs = styleUrl.replace( + 'styles/root.json', + style.glyphs.replace('../', '') + ); + + // add the token to the style.glyphs property as a query param + style.glyphs += token ? '?token=' + token : ''; + } + + return style; + } + + /* + utility to assist with dynamic attribution data + used primarily by VectorBasemapLayer.js + */ + function getAttributionData (url, map) { + if (esriLeaflet.Support.cors) { + esriLeaflet.request(url, {}, function (error, attributions) { + if (error) { + return; + } + map._esriAttributions = map._esriAttributions || []; + for (var c = 0; c < attributions.contributors.length; c++) { + var contributor = attributions.contributors[c]; + + for (var i = 0; i < contributor.coverageAreas.length; i++) { + var coverageArea = contributor.coverageAreas[i]; + var southWest = leaflet.latLng(coverageArea.bbox[0], coverageArea.bbox[1]); + var northEast = leaflet.latLng(coverageArea.bbox[2], coverageArea.bbox[3]); + map._esriAttributions.push({ + attribution: contributor.attribution, + score: coverageArea.score, + bounds: leaflet.latLngBounds(southWest, northEast), + minZoom: coverageArea.zoomMin, + maxZoom: coverageArea.zoomMax + }); + } + } + + map._esriAttributions.sort(function (a, b) { + return b.score - a.score; + }); + + // pass the same argument as the map's 'moveend' event + var obj = { target: map }; + esriLeaflet.Util._updateMapAttribution(obj); + }); + } + } + + /* + utility to check if a service's tileInfo spatial reference is in Web Mercator + used primarily by VectorTileLayer.js + */ + const WEB_MERCATOR_WKIDS = [3857, 102100, 102113]; + + function isWebMercator (wkid) { + return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0; + } + + var MaplibreGLJSLayer = leaflet.Layer.extend({ + options: { + updateInterval: 32, + // How much to extend the overlay view (relative to map size) + // e.g. 0.1 would be 10% of map view in each direction + padding: 0.1, + // whether or not to register the mouse and keyboard + // events on the mapbox overlay + interactive: false, + // set the tilepane as the default pane to draw gl tiles + pane: 'tilePane' + }, + + initialize: function (options) { + leaflet.setOptions(this, options); + + // setup throttling the update event when panning + this._throttledUpdate = leaflet.Util.throttle( + this._update, + this.options.updateInterval, + this + ); + }, + + onAdd: function (map) { + if (!this._container) { + this._initContainer(); + } + + var paneName = this.getPaneName(); + map.getPane(paneName).appendChild(this._container); + + this._initGL(); + + this._offset = this._map.containerPointToLayerPoint([0, 0]); + + // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47 + if (map.options.zoomAnimation) { + leaflet.DomEvent.on( + map._proxy, + leaflet.DomUtil.TRANSITION_END, + this._transitionEnd, + this + ); + } + }, + + onRemove: function (map) { + if (this._map._proxy && this._map.options.zoomAnimation) { + leaflet.DomEvent.off( + this._map._proxy, + leaflet.DomUtil.TRANSITION_END, + this._transitionEnd, + this + ); + } + + var paneName = this.getPaneName(); + map.getPane(paneName).removeChild(this._container); + + this._glMap.remove(); + this._glMap = null; + }, + + getEvents: function () { + return { + move: this._throttledUpdate, // sensibly throttle updating while panning + zoomanim: this._animateZoom, // applys the zoom animation to the + zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming + zoomstart: this._zoomStart, // flag starting a zoom to disable panning + zoomend: this._zoomEnd, + resize: this._resize + }; + }, + + getMaplibreMap: function () { + return this._glMap; + }, + + getCanvas: function () { + return this._glMap.getCanvas(); + }, + + getSize: function () { + return this._map.getSize().multiplyBy(1 + this.options.padding * 2); + }, + + getOpacity: function () { + return this.options.opacity; + }, + + setOpacity: function (opacity) { + this.options.opacity = opacity; + this._container.style.opacity = opacity; + }, + + getBounds: function () { + var halfSize = this.getSize().multiplyBy(0.5); + var center = this._map.latLngToContainerPoint(this._map.getCenter()); + return leaflet.latLngBounds( + this._map.containerPointToLatLng(center.subtract(halfSize)), + this._map.containerPointToLatLng(center.add(halfSize)) + ); + }, + + getContainer: function () { + return this._container; + }, + + // returns the pane name set in options if it is a valid pane, defaults to tilePane + getPaneName: function () { + return this._map.getPane(this.options.pane) ? this.options.pane : 'tilePane'; + }, + + _initContainer: function () { + var container = (this._container = leaflet.DomUtil.create( + 'div', + 'leaflet-gl-layer' + )); + + var size = this.getSize(); + var offset = this._map.getSize().multiplyBy(this.options.padding); + container.style.width = size.x + 'px'; + container.style.height = size.y + 'px'; + + var topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset); + + leaflet.DomUtil.setPosition(container, topLeft); + }, + + _initGL: function () { + var center = this._map.getCenter(); + + var options = leaflet.extend({}, this.options, { + container: this._container, + center: [center.lng, center.lat], + zoom: this._map.getZoom() - 1, + attributionControl: false + }); + + this._glMap = new maplibregl__default["default"].Map(options); + + // Fire event for Maplibre "styledata" event. + this._glMap.once('styledata', function (res) { + this.fire('styleLoaded'); + }.bind(this)); + + // allow GL base map to pan beyond min/max latitudes + this._glMap.transform.latRange = null; + this._glMap.transform.maxValidLatitude = Infinity; + + this._transformGL(this._glMap); + + if (this._glMap._canvas.canvas) { + // older versions of mapbox-gl surfaced the canvas differently + this._glMap._actualCanvas = this._glMap._canvas.canvas; + } else { + this._glMap._actualCanvas = this._glMap._canvas; + } + + // treat child element like L.ImageOverlay + var canvas = this._glMap._actualCanvas; + leaflet.DomUtil.addClass(canvas, 'leaflet-image-layer'); + leaflet.DomUtil.addClass(canvas, 'leaflet-zoom-animated'); + if (this.options.interactive) { + leaflet.DomUtil.addClass(canvas, 'leaflet-interactive'); + } + if (this.options.className) { + leaflet.DomUtil.addClass(canvas, this.options.className); + } + }, + + _update: function (e) { + // update the offset so we can correct for it later when we zoom + this._offset = this._map.containerPointToLayerPoint([0, 0]); + + if (this._zooming) { + return; + } + + var size = this.getSize(); + var container = this._container; + var gl = this._glMap; + var offset = this._map.getSize().multiplyBy(this.options.padding); + var topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset); + + leaflet.DomUtil.setPosition(container, topLeft); + + this._transformGL(gl); + + if (gl.transform.width !== size.x || gl.transform.height !== size.y) { + container.style.width = size.x + 'px'; + container.style.height = size.y + 'px'; + if (gl._resize !== null && gl._resize !== undefined) { + gl._resize(); + } else { + gl.resize(); + } + } else { + // older versions of mapbox-gl surfaced update publicly + if (gl._update !== null && gl._update !== undefined) { + gl._update(); + } else { + gl.update(); + } + } + }, + + _transformGL: function (gl) { + var center = this._map.getCenter(); + + // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0); + // calling setView directly causes sync issues because it uses requestAnimFrame + + var tr = gl.transform; + tr.center = maplibregl__default["default"].LngLat.convert([center.lng, center.lat]); + tr.zoom = this._map.getZoom() - 1; + }, + + // update the map constantly during a pinch zoom + _pinchZoom: function (e) { + this._glMap.jumpTo({ + zoom: this._map.getZoom() - 1, + center: this._map.getCenter() + }); + }, + + // borrowed from L.ImageOverlay + // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144 + _animateZoom: function (e) { + var scale = this._map.getZoomScale(e.zoom); + var padding = this._map.getSize().multiplyBy(this.options.padding * scale); + var viewHalf = this.getSize()._divideBy(2); + // corrections for padding (scaled), adapted from + // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508 + var topLeft = this._map + .project(e.center, e.zoom) + ._subtract(viewHalf) + ._add(this._map._getMapPanePos().add(padding)) + ._round(); + var offset = this._map + .project(this._map.getBounds().getNorthWest(), e.zoom) + ._subtract(topLeft); + + leaflet.DomUtil.setTransform( + this._glMap._actualCanvas, + offset.subtract(this._offset), + scale + ); + }, + + _zoomStart: function (e) { + this._zooming = true; + }, + + _zoomEnd: function () { + var scale = this._map.getZoomScale(this._map.getZoom()); + + leaflet.DomUtil.setTransform( + this._glMap._actualCanvas, + null, + scale + ); + + this._zooming = false; + + this._update(); + }, + + _transitionEnd: function (e) { + leaflet.Util.requestAnimFrame(function () { + var zoom = this._map.getZoom(); + var center = this._map.getCenter(); + var offset = this._map.latLngToContainerPoint( + this._map.getBounds().getNorthWest() + ); + + // reset the scale and offset + leaflet.DomUtil.setTransform(this._glMap._actualCanvas, offset, 1); + + // enable panning once the gl map is ready again + this._glMap.once( + 'moveend', + leaflet.Util.bind(function () { + this._zoomEnd(); + }, this) + ); + + // update the map position + this._glMap.jumpTo({ + center: center, + zoom: zoom - 1 + }); + }, this); + } + }); + + function maplibreGLJSLayer (options) { + return new MaplibreGLJSLayer(options); + } + + var VectorBasemapLayer = leaflet.Layer.extend({ + options: { + key: 'ArcGIS:Streets' // default style key enum if none provided + }, + + /** + * Populates "this.options" to be used in the rest of the module. + * + * @param {string} key + * @param {object} options optional + */ + initialize: function (key, options) { + if (options) { + leaflet.setOptions(this, options); + } + + // support outdated casing apiKey of apikey + if (this.options.apiKey) { + this.options.apikey = this.options.apiKey; + } + + // if token is passed in, use it as an apiKey + if (this.options.token) { + this.options.apikey = this.options.token; + } + + // If no API Key or token is required: + if (!(this.options.apikey || this.options.token)) { + throw new Error('API Key or token is required for vectorBasemapLayer.'); + } + + // set key onto "this.options" for use elsewhere in the module. + if (key) { + this.options.key = key; + } + + // this.options has been set, continue on to create the layer: + this._createLayer(); + }, + + /** + * Creates the maplibreGLJSLayer given using "this.options" + */ + _createLayer: function () { + var styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey); + + this._maplibreGL = maplibreGLJSLayer({ + style: styleUrl, + pane: this.options.pane, + opacity: this.options.opacity + }); + + this._ready = true; + this.fire('ready', {}, true); + + this._maplibreGL.on('styleLoaded', function (res) { + this._setupAttribution(); + }.bind(this)); + }, + + _setupAttribution: function () { + var map = this._map; + // Set attribution + esriLeaflet.Util.setEsriAttribution(map); + + if (this.options.key.length === 32) { + // this is an itemId + var sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources; + var allAttributions = []; + Object.keys(sources).forEach(function (key) { + allAttributions.push(sources[key].attribution); + if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) { + allAttributions.push(sources[key].copyrightText); + } + }); + + map.attributionControl.addAttribution('' + allAttributions.join(', ') + ''); + } else { + // this is an enum + if (!this.options.attributionUrls) { + this.options.attributionUrls = this._getAttributionUrls(this.options.key); + } + + if (this._map && this.options.attributionUrls) { + if (this._map.attributionControl) { + for ( + let index = 0; + index < this.options.attributionUrls.length; + index++ + ) { + const attributionUrl = this.options.attributionUrls[index]; + getAttributionData(attributionUrl, map); + } + + map.attributionControl.addAttribution( + '' + ); + } + esriLeaflet.Util._updateMapAttribution({ target: this._map }); + } + } + }, + + /** + * Given a key, return the attribution url(s). + * @param {string} key + */ + _getAttributionUrls: function (key) { + if (key.indexOf('OSM:') === 0) { + return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2']; + } else if (key.indexOf('ArcGIS:Imagery') === 0) { + return [ + 'https://static.arcgis.com/attribution/World_Imagery', + 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2' + ]; + } + + // default: + return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2']; + }, + + onAdd: function (map) { + this._map = map; + + this._initPane(); + + if (this._ready) { + this._asyncAdd(); + } else { + this.once( + 'ready', + function () { + this._asyncAdd(); + }, + this + ); + } + }, + + _initPane: function () { + // if the layer is a "label" layer, should use the "esri-label" pane. + if (!this.options.pane) { + if (this.options.key.indexOf(':Labels') > -1) { + this.options.pane = 'esri-labels'; + } else { + this.options.pane = 'tilePane'; + } + } + + if (!this._map.getPane(this.options.pane)) { + var pane = this._map.createPane(this.options.pane); + pane.style.pointerEvents = 'none'; + pane.style.zIndex = this.options.pane === 'esri-labels' ? 550 : 500; + } + }, + + onRemove: function (map) { + map.off('moveend', esriLeaflet.Util._updateMapAttribution); + map.removeLayer(this._maplibreGL); + + if (map.attributionControl) { + var element = document.getElementsByClassName('esri-dynamic-attribution'); + + if (element && element.length > 0) { + var vectorAttribution = element[0].outerHTML; + // this doesn't work, not sure why. + map.attributionControl.removeAttribution(vectorAttribution); + } + } + }, + + _asyncAdd: function () { + var map = this._map; + map.on('moveend', esriLeaflet.Util._updateMapAttribution); + this._maplibreGL.addTo(map, this); + } + }); + + function vectorBasemapLayer (key, options) { + return new VectorBasemapLayer(key, options); + } + + var VectorTileLayer = leaflet.Layer.extend({ + options: { + // if pane is not provided, default to LeafletJS's overlayPane + // https://leafletjs.com/reference.html#map-pane + pane: 'overlayPane', + + // if portalUrl is not provided, default to ArcGIS Online + portalUrl: 'https://www.arcgis.com' + }, + + /** + * Populates "this.options" to be used in the rest of the module and creates the layer instance. + * + * @param {string} key an ITEM ID or SERVICE URL + * @param {object} options optional + */ + initialize: function (key, options) { + if (options) { + leaflet.setOptions(this, options); + } + + // support outdated casing apiKey of apikey + if (this.options.apiKey) { + this.options.apikey = this.options.apiKey; + } + + // if apiKey is passed in, use it as a token + // (opposite from VectorBasemapLayer.js) + if (this.options.apikey) { + this.options.token = this.options.apikey; + } + + // if no key passed in + if (!key) { + throw new Error('An ITEM ID or SERVICE URL is required for vectorTileLayer.'); + } + + // set key onto "this.options" for use elsewhere in the module. + if (key) { + this.options.key = key; + } + + // this.options has been set, continue on to create the layer: + this._createLayer(); + }, + + /** + * Creates the maplibreGLJSLayer given using "this.options" + */ + _createLayer: function () { + loadStyle( + this.options.key, + this.options, + function (error, style, styleUrl, service) { + if (error) { + throw new Error(error); + } + + if (!isWebMercator(service.tileInfo.spatialReference.wkid)) { + console.warn( + 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The "tileInfo.spatialReference" property is:', + service.tileInfo.spatialReference, + '\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.' + ); + } + + // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer + style = formatStyle(style, styleUrl, service, this.options.token); + + // if a custom attribution was not provided in the options, + // then attempt to rely on the attribution of the last source in the style object + // and add it to the map's attribution control + // (otherwise it would have already been added by leaflet to the attribution control) + if (!this.getAttribution()) { + var sourcesKeys = Object.keys(style.sources); + this.options.attribution = style.sources[sourcesKeys[sourcesKeys.length - 1]].attribution; + if (this._map && this._map.attributionControl) { + // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control + this._map.attributionControl.addAttribution(this.getAttribution()); + } + } + + // additionally modify the style object with the user's optional style override function + if (this.options.style && typeof this.options.style === 'function') { + style = this.options.style(style); + } + + this._maplibreGL = maplibreGLJSLayer({ + style: style, + pane: this.options.pane, + opacity: this.options.opacity + }); + + this._ready = true; + this.fire('ready', {}, true); + }.bind(this) + ); + }, + + onAdd: function (map) { + this._map = map; + + if (this._ready) { + this._asyncAdd(); + } else { + this.once( + 'ready', + function () { + this._asyncAdd(); + }, + this + ); + } + }, + + onRemove: function (map) { + map.removeLayer(this._maplibreGL); + }, + + _asyncAdd: function () { + var map = this._map; + this._maplibreGL.addTo(map, this); + } + }); + + function vectorTileLayer (key, options) { + return new VectorTileLayer(key, options); + } + + exports.VERSION = version; + exports.VectorBasemapLayer = VectorBasemapLayer; + exports.VectorTileLayer = VectorTileLayer; + exports.vectorBasemapLayer = vectorBasemapLayer; + exports.vectorTileLayer = vectorTileLayer; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); +//# sourceMappingURL=esri-leaflet-vector-debug.js.map diff --git a/dist/esri-leaflet-vector-debug.js.map b/dist/esri-leaflet-vector-debug.js.map new file mode 100644 index 0000000..feab331 --- /dev/null +++ b/dist/esri-leaflet-vector-debug.js.map @@ -0,0 +1 @@ +{"version":3,"file":"esri-leaflet-vector-debug.js","sources":["../src/Util.js","../src/MaplibreGLLayer.js","../src/VectorBasemapLayer.js","../src/VectorTileLayer.js"],"sourcesContent":["import { latLng, latLngBounds } from 'leaflet';\r\nimport { request, Support, Util } from 'esri-leaflet';\r\n\r\n/*\r\n utility to establish a URL for the basemap styles API\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getBasemapStyleUrl (key, apikey) {\r\n var url =\r\n 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' +\r\n key +\r\n '?type=style';\r\n if (apikey) {\r\n url = url + '&apiKey=' + apikey;\r\n }\r\n return url;\r\n}\r\n\r\n/*\r\n utilities to communicate with custom user styles via an ITEM ID or SERVICE URL\r\n used primarily by VectorTileLayer.js\r\n*/\r\nexport function loadStyle (idOrUrl, options, callback) {\r\n var httpRegex = /^https?:\\/\\//;\r\n var serviceRegex = /\\/VectorTileServer\\/?$/;\r\n\r\n if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) {\r\n var serviceUrl = idOrUrl;\r\n loadStyleFromService(serviceUrl, options, callback);\r\n } else {\r\n var itemId = idOrUrl;\r\n loadStyleFromItem(itemId, options, callback);\r\n }\r\n}\r\n\r\nexport function loadService (serviceUrl, options, callback) {\r\n var params = options.token ? { token: options.token } : {};\r\n request(serviceUrl, params, callback);\r\n}\r\n\r\nfunction loadItem (itemId, options, callback) {\r\n var params = options.token ? { token: options.token } : {};\r\n var url = options.portalUrl +\r\n '/sharing/rest/content/items/' +\r\n itemId;\r\n request(url, params, callback);\r\n}\r\n\r\nfunction loadStyleFromItem (itemId, options, callback) {\r\n var itemStyleUrl =\r\n options.portalUrl +\r\n '/sharing/rest/content/items/' +\r\n itemId +\r\n '/resources/styles/root.json';\r\n\r\n loadStyleFromUrl(itemStyleUrl, options, function (error, style) {\r\n if (error) {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n console.error(error);\r\n }\r\n loadStyleFromService(item.url, options, callback);\r\n });\r\n } else {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n console.error(error);\r\n }\r\n loadService(item.url, options, function (error, service) {\r\n callback(error, style, itemStyleUrl, service, item.url);\r\n });\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction loadStyleFromService (serviceUrl, options, callback) {\r\n loadService(serviceUrl, options, function (error, service) {\r\n if (error) {\r\n console.error(error);\r\n }\r\n\r\n var sanitizedServiceUrl = serviceUrl;\r\n // a trailing \"/\" may create invalid paths\r\n if (serviceUrl.charAt(serviceUrl.length - 1) === '/') {\r\n sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1);\r\n }\r\n\r\n var defaultStylesUrl;\r\n // inadvertently inserting more than 1 adjacent \"/\" may create invalid paths\r\n if (service.defaultStyles.charAt(0) === '/') {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + service.defaultStyles + '/root.json';\r\n } else {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json';\r\n }\r\n\r\n loadStyleFromUrl(defaultStylesUrl, options, function (error, style) {\r\n if (error) {\r\n console.error(error);\r\n }\r\n callback(null, style, defaultStylesUrl, service, serviceUrl);\r\n });\r\n });\r\n}\r\n\r\nfunction loadStyleFromUrl (styleUrl, options, callback) {\r\n var params = options.token ? { token: options.token } : {};\r\n request(styleUrl, params, callback);\r\n}\r\n\r\nexport function formatStyle (style, styleUrl, metadata, token) {\r\n // transforms style object in place and also returns it\r\n\r\n // modify each source in style.sources\r\n var sourcesKeys = Object.keys(style.sources);\r\n for (var sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) {\r\n var source = style.sources[sourcesKeys[sourceIndex]];\r\n\r\n // if a relative path is referenced, the default style can be found in a standard location\r\n if (source.url.indexOf('http') === -1) {\r\n source.url = styleUrl.replace('/resources/styles/root.json', '');\r\n }\r\n\r\n // a trailing \"/\" may create invalid paths\r\n if (source.url.charAt(source.url.length - 1) === '/') {\r\n source.url = source.url.slice(0, source.url.length - 1);\r\n }\r\n\r\n // add tiles property if missing\r\n if (!source.tiles) {\r\n // right now ArcGIS Pro published vector services have a slightly different signature\r\n // the '/' is needed in the URL string concatenation below for source.tiles\r\n if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') {\r\n metadata.tiles[0] = '/' + metadata.tiles[0];\r\n }\r\n\r\n source.tiles = [source.url + metadata.tiles[0]];\r\n }\r\n\r\n // some VectorTileServer endpoints may default to returning f=html,\r\n // specify f=json to account for that behavior\r\n source.url += '?f=json';\r\n\r\n // add the token to the source url and tiles properties as a query param\r\n source.url += token ? '&token=' + token : '';\r\n source.tiles[0] += token ? '?token=' + token : '';\r\n\r\n // add minzoom and maxzoom to each source based on the service metadata\r\n source.minzoom = metadata.tileInfo.lods[0].level;\r\n source.maxzoom =\r\n metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level;\r\n }\r\n\r\n // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata\r\n var lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]];\r\n lastSource.attribution = metadata.copyrightText || '';\r\n lastSource.copyrightText = metadata.copyrightText || '';\r\n\r\n // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first\r\n for (var layerIndex = 0; layerIndex < style.layers.length; layerIndex++) {\r\n var layer = style.layers[layerIndex];\r\n if (\r\n layer.layout &&\r\n layer.layout['text-font'] &&\r\n layer.layout['text-font'].length > 1\r\n ) {\r\n layer.layout['text-font'] = [layer.layout['text-font'][0]];\r\n }\r\n }\r\n\r\n if (style.sprite && style.sprite.indexOf('http') === -1) {\r\n // resolve absolute URL for style.sprite\r\n style.sprite = styleUrl.replace(\r\n 'styles/root.json',\r\n style.sprite.replace('../', '')\r\n );\r\n\r\n // add the token to the style.sprite property as a query param\r\n style.sprite += token ? '?token=' + token : '';\r\n }\r\n\r\n if (style.glyphs && style.glyphs.indexOf('http') === -1) {\r\n // resolve absolute URL for style.glyphs\r\n style.glyphs = styleUrl.replace(\r\n 'styles/root.json',\r\n style.glyphs.replace('../', '')\r\n );\r\n\r\n // add the token to the style.glyphs property as a query param\r\n style.glyphs += token ? '?token=' + token : '';\r\n }\r\n\r\n return style;\r\n}\r\n\r\n/*\r\n utility to assist with dynamic attribution data\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getAttributionData (url, map) {\r\n if (Support.cors) {\r\n request(url, {}, function (error, attributions) {\r\n if (error) {\r\n return;\r\n }\r\n map._esriAttributions = map._esriAttributions || [];\r\n for (var c = 0; c < attributions.contributors.length; c++) {\r\n var contributor = attributions.contributors[c];\r\n\r\n for (var i = 0; i < contributor.coverageAreas.length; i++) {\r\n var coverageArea = contributor.coverageAreas[i];\r\n var southWest = latLng(coverageArea.bbox[0], coverageArea.bbox[1]);\r\n var northEast = latLng(coverageArea.bbox[2], coverageArea.bbox[3]);\r\n map._esriAttributions.push({\r\n attribution: contributor.attribution,\r\n score: coverageArea.score,\r\n bounds: latLngBounds(southWest, northEast),\r\n minZoom: coverageArea.zoomMin,\r\n maxZoom: coverageArea.zoomMax\r\n });\r\n }\r\n }\r\n\r\n map._esriAttributions.sort(function (a, b) {\r\n return b.score - a.score;\r\n });\r\n\r\n // pass the same argument as the map's 'moveend' event\r\n var obj = { target: map };\r\n Util._updateMapAttribution(obj);\r\n });\r\n }\r\n}\r\n\r\n/*\r\n utility to check if a service's tileInfo spatial reference is in Web Mercator\r\n used primarily by VectorTileLayer.js\r\n*/\r\nconst WEB_MERCATOR_WKIDS = [3857, 102100, 102113];\r\n\r\nexport function isWebMercator (wkid) {\r\n return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0;\r\n}\r\n","import {\r\n DomEvent,\r\n DomUtil,\r\n extend,\r\n latLngBounds,\r\n Layer,\r\n setOptions,\r\n Util\r\n} from 'leaflet';\r\nimport maplibregl from 'maplibre-gl';\r\n\r\nexport var MaplibreGLJSLayer = Layer.extend({\r\n options: {\r\n updateInterval: 32,\r\n // How much to extend the overlay view (relative to map size)\r\n // e.g. 0.1 would be 10% of map view in each direction\r\n padding: 0.1,\r\n // whether or not to register the mouse and keyboard\r\n // events on the mapbox overlay\r\n interactive: false,\r\n // set the tilepane as the default pane to draw gl tiles\r\n pane: 'tilePane'\r\n },\r\n\r\n initialize: function (options) {\r\n setOptions(this, options);\r\n\r\n // setup throttling the update event when panning\r\n this._throttledUpdate = Util.throttle(\r\n this._update,\r\n this.options.updateInterval,\r\n this\r\n );\r\n },\r\n\r\n onAdd: function (map) {\r\n if (!this._container) {\r\n this._initContainer();\r\n }\r\n\r\n var paneName = this.getPaneName();\r\n map.getPane(paneName).appendChild(this._container);\r\n\r\n this._initGL();\r\n\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47\r\n if (map.options.zoomAnimation) {\r\n DomEvent.on(\r\n map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n if (this._map._proxy && this._map.options.zoomAnimation) {\r\n DomEvent.off(\r\n this._map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n\r\n var paneName = this.getPaneName();\r\n map.getPane(paneName).removeChild(this._container);\r\n\r\n this._glMap.remove();\r\n this._glMap = null;\r\n },\r\n\r\n getEvents: function () {\r\n return {\r\n move: this._throttledUpdate, // sensibly throttle updating while panning\r\n zoomanim: this._animateZoom, // applys the zoom animation to the \r\n zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming\r\n zoomstart: this._zoomStart, // flag starting a zoom to disable panning\r\n zoomend: this._zoomEnd,\r\n resize: this._resize\r\n };\r\n },\r\n\r\n getMaplibreMap: function () {\r\n return this._glMap;\r\n },\r\n\r\n getCanvas: function () {\r\n return this._glMap.getCanvas();\r\n },\r\n\r\n getSize: function () {\r\n return this._map.getSize().multiplyBy(1 + this.options.padding * 2);\r\n },\r\n\r\n getOpacity: function () {\r\n return this.options.opacity;\r\n },\r\n\r\n setOpacity: function (opacity) {\r\n this.options.opacity = opacity;\r\n this._container.style.opacity = opacity;\r\n },\r\n\r\n getBounds: function () {\r\n var halfSize = this.getSize().multiplyBy(0.5);\r\n var center = this._map.latLngToContainerPoint(this._map.getCenter());\r\n return latLngBounds(\r\n this._map.containerPointToLatLng(center.subtract(halfSize)),\r\n this._map.containerPointToLatLng(center.add(halfSize))\r\n );\r\n },\r\n\r\n getContainer: function () {\r\n return this._container;\r\n },\r\n\r\n // returns the pane name set in options if it is a valid pane, defaults to tilePane\r\n getPaneName: function () {\r\n return this._map.getPane(this.options.pane) ? this.options.pane : 'tilePane';\r\n },\r\n\r\n _initContainer: function () {\r\n var container = (this._container = DomUtil.create(\r\n 'div',\r\n 'leaflet-gl-layer'\r\n ));\r\n\r\n var size = this.getSize();\r\n var offset = this._map.getSize().multiplyBy(this.options.padding);\r\n container.style.width = size.x + 'px';\r\n container.style.height = size.y + 'px';\r\n\r\n var topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(container, topLeft);\r\n },\r\n\r\n _initGL: function () {\r\n var center = this._map.getCenter();\r\n\r\n var options = extend({}, this.options, {\r\n container: this._container,\r\n center: [center.lng, center.lat],\r\n zoom: this._map.getZoom() - 1,\r\n attributionControl: false\r\n });\r\n\r\n this._glMap = new maplibregl.Map(options);\r\n\r\n // Fire event for Maplibre \"styledata\" event.\r\n this._glMap.once('styledata', function (res) {\r\n this.fire('styleLoaded');\r\n }.bind(this));\r\n\r\n // allow GL base map to pan beyond min/max latitudes\r\n this._glMap.transform.latRange = null;\r\n this._glMap.transform.maxValidLatitude = Infinity;\r\n\r\n this._transformGL(this._glMap);\r\n\r\n if (this._glMap._canvas.canvas) {\r\n // older versions of mapbox-gl surfaced the canvas differently\r\n this._glMap._actualCanvas = this._glMap._canvas.canvas;\r\n } else {\r\n this._glMap._actualCanvas = this._glMap._canvas;\r\n }\r\n\r\n // treat child element like L.ImageOverlay\r\n var canvas = this._glMap._actualCanvas;\r\n DomUtil.addClass(canvas, 'leaflet-image-layer');\r\n DomUtil.addClass(canvas, 'leaflet-zoom-animated');\r\n if (this.options.interactive) {\r\n DomUtil.addClass(canvas, 'leaflet-interactive');\r\n }\r\n if (this.options.className) {\r\n DomUtil.addClass(canvas, this.options.className);\r\n }\r\n },\r\n\r\n _update: function (e) {\r\n // update the offset so we can correct for it later when we zoom\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n if (this._zooming) {\r\n return;\r\n }\r\n\r\n var size = this.getSize();\r\n var container = this._container;\r\n var gl = this._glMap;\r\n var offset = this._map.getSize().multiplyBy(this.options.padding);\r\n var topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(container, topLeft);\r\n\r\n this._transformGL(gl);\r\n\r\n if (gl.transform.width !== size.x || gl.transform.height !== size.y) {\r\n container.style.width = size.x + 'px';\r\n container.style.height = size.y + 'px';\r\n if (gl._resize !== null && gl._resize !== undefined) {\r\n gl._resize();\r\n } else {\r\n gl.resize();\r\n }\r\n } else {\r\n // older versions of mapbox-gl surfaced update publicly\r\n if (gl._update !== null && gl._update !== undefined) {\r\n gl._update();\r\n } else {\r\n gl.update();\r\n }\r\n }\r\n },\r\n\r\n _transformGL: function (gl) {\r\n var center = this._map.getCenter();\r\n\r\n // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0);\r\n // calling setView directly causes sync issues because it uses requestAnimFrame\r\n\r\n var tr = gl.transform;\r\n tr.center = maplibregl.LngLat.convert([center.lng, center.lat]);\r\n tr.zoom = this._map.getZoom() - 1;\r\n },\r\n\r\n // update the map constantly during a pinch zoom\r\n _pinchZoom: function (e) {\r\n this._glMap.jumpTo({\r\n zoom: this._map.getZoom() - 1,\r\n center: this._map.getCenter()\r\n });\r\n },\r\n\r\n // borrowed from L.ImageOverlay\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144\r\n _animateZoom: function (e) {\r\n var scale = this._map.getZoomScale(e.zoom);\r\n var padding = this._map.getSize().multiplyBy(this.options.padding * scale);\r\n var viewHalf = this.getSize()._divideBy(2);\r\n // corrections for padding (scaled), adapted from\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508\r\n var topLeft = this._map\r\n .project(e.center, e.zoom)\r\n ._subtract(viewHalf)\r\n ._add(this._map._getMapPanePos().add(padding))\r\n ._round();\r\n var offset = this._map\r\n .project(this._map.getBounds().getNorthWest(), e.zoom)\r\n ._subtract(topLeft);\r\n\r\n DomUtil.setTransform(\r\n this._glMap._actualCanvas,\r\n offset.subtract(this._offset),\r\n scale\r\n );\r\n },\r\n\r\n _zoomStart: function (e) {\r\n this._zooming = true;\r\n },\r\n\r\n _zoomEnd: function () {\r\n var scale = this._map.getZoomScale(this._map.getZoom());\r\n\r\n DomUtil.setTransform(\r\n this._glMap._actualCanvas,\r\n null,\r\n scale\r\n );\r\n\r\n this._zooming = false;\r\n\r\n this._update();\r\n },\r\n\r\n _transitionEnd: function (e) {\r\n Util.requestAnimFrame(function () {\r\n var zoom = this._map.getZoom();\r\n var center = this._map.getCenter();\r\n var offset = this._map.latLngToContainerPoint(\r\n this._map.getBounds().getNorthWest()\r\n );\r\n\r\n // reset the scale and offset\r\n DomUtil.setTransform(this._glMap._actualCanvas, offset, 1);\r\n\r\n // enable panning once the gl map is ready again\r\n this._glMap.once(\r\n 'moveend',\r\n Util.bind(function () {\r\n this._zoomEnd();\r\n }, this)\r\n );\r\n\r\n // update the map position\r\n this._glMap.jumpTo({\r\n center: center,\r\n zoom: zoom - 1\r\n });\r\n }, this);\r\n }\r\n});\r\n\r\nexport function maplibreGLJSLayer (options) {\r\n return new MaplibreGLJSLayer(options);\r\n}\r\n","import { Layer, setOptions } from 'leaflet';\r\nimport { Util } from 'esri-leaflet';\r\nimport { getBasemapStyleUrl, getAttributionData } from './Util';\r\nimport { maplibreGLJSLayer } from './MaplibreGLLayer';\r\n\r\nexport var VectorBasemapLayer = Layer.extend({\r\n options: {\r\n key: 'ArcGIS:Streets' // default style key enum if none provided\r\n },\r\n\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module.\r\n *\r\n * @param {string} key\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n if (options) {\r\n setOptions(this, options);\r\n }\r\n\r\n // support outdated casing apiKey of apikey\r\n if (this.options.apiKey) {\r\n this.options.apikey = this.options.apiKey;\r\n }\r\n\r\n // if token is passed in, use it as an apiKey\r\n if (this.options.token) {\r\n this.options.apikey = this.options.token;\r\n }\r\n\r\n // If no API Key or token is required:\r\n if (!(this.options.apikey || this.options.token)) {\r\n throw new Error('API Key or token is required for vectorBasemapLayer.');\r\n }\r\n\r\n // set key onto \"this.options\" for use elsewhere in the module.\r\n if (key) {\r\n this.options.key = key;\r\n }\r\n\r\n // this.options has been set, continue on to create the layer:\r\n this._createLayer();\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer given using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n var styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey);\r\n\r\n this._maplibreGL = maplibreGLJSLayer({\r\n style: styleUrl,\r\n pane: this.options.pane,\r\n opacity: this.options.opacity\r\n });\r\n\r\n this._ready = true;\r\n this.fire('ready', {}, true);\r\n\r\n this._maplibreGL.on('styleLoaded', function (res) {\r\n this._setupAttribution();\r\n }.bind(this));\r\n },\r\n\r\n _setupAttribution: function () {\r\n var map = this._map;\r\n // Set attribution\r\n Util.setEsriAttribution(map);\r\n\r\n if (this.options.key.length === 32) {\r\n // this is an itemId\r\n var sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n var allAttributions = [];\r\n Object.keys(sources).forEach(function (key) {\r\n allAttributions.push(sources[key].attribution);\r\n if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) {\r\n allAttributions.push(sources[key].copyrightText);\r\n }\r\n });\r\n\r\n map.attributionControl.addAttribution('' + allAttributions.join(', ') + '');\r\n } else {\r\n // this is an enum\r\n if (!this.options.attributionUrls) {\r\n this.options.attributionUrls = this._getAttributionUrls(this.options.key);\r\n }\r\n\r\n if (this._map && this.options.attributionUrls) {\r\n if (this._map.attributionControl) {\r\n for (\r\n let index = 0;\r\n index < this.options.attributionUrls.length;\r\n index++\r\n ) {\r\n const attributionUrl = this.options.attributionUrls[index];\r\n getAttributionData(attributionUrl, map);\r\n }\r\n\r\n map.attributionControl.addAttribution(\r\n ''\r\n );\r\n }\r\n Util._updateMapAttribution({ target: this._map });\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Given a key, return the attribution url(s).\r\n * @param {string} key\r\n */\r\n _getAttributionUrls: function (key) {\r\n if (key.indexOf('OSM:') === 0) {\r\n return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2'];\r\n } else if (key.indexOf('ArcGIS:Imagery') === 0) {\r\n return [\r\n 'https://static.arcgis.com/attribution/World_Imagery',\r\n 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2'\r\n ];\r\n }\r\n\r\n // default:\r\n return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2'];\r\n },\r\n\r\n onAdd: function (map) {\r\n this._map = map;\r\n\r\n this._initPane();\r\n\r\n if (this._ready) {\r\n this._asyncAdd();\r\n } else {\r\n this.once(\r\n 'ready',\r\n function () {\r\n this._asyncAdd();\r\n },\r\n this\r\n );\r\n }\r\n },\r\n\r\n _initPane: function () {\r\n // if the layer is a \"label\" layer, should use the \"esri-label\" pane.\r\n if (!this.options.pane) {\r\n if (this.options.key.indexOf(':Labels') > -1) {\r\n this.options.pane = 'esri-labels';\r\n } else {\r\n this.options.pane = 'tilePane';\r\n }\r\n }\r\n\r\n if (!this._map.getPane(this.options.pane)) {\r\n var pane = this._map.createPane(this.options.pane);\r\n pane.style.pointerEvents = 'none';\r\n pane.style.zIndex = this.options.pane === 'esri-labels' ? 550 : 500;\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.off('moveend', Util._updateMapAttribution);\r\n map.removeLayer(this._maplibreGL);\r\n\r\n if (map.attributionControl) {\r\n var element = document.getElementsByClassName('esri-dynamic-attribution');\r\n\r\n if (element && element.length > 0) {\r\n var vectorAttribution = element[0].outerHTML;\r\n // this doesn't work, not sure why.\r\n map.attributionControl.removeAttribution(vectorAttribution);\r\n }\r\n }\r\n },\r\n\r\n _asyncAdd: function () {\r\n var map = this._map;\r\n map.on('moveend', Util._updateMapAttribution);\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorBasemapLayer (key, options) {\r\n return new VectorBasemapLayer(key, options);\r\n}\r\n\r\nexport default vectorBasemapLayer;\r\n","import { Layer, setOptions } from 'leaflet';\r\nimport { loadStyle, formatStyle, isWebMercator } from './Util';\r\nimport { maplibreGLJSLayer } from './MaplibreGLLayer';\r\n\r\nexport var VectorTileLayer = Layer.extend({\r\n options: {\r\n // if pane is not provided, default to LeafletJS's overlayPane\r\n // https://leafletjs.com/reference.html#map-pane\r\n pane: 'overlayPane',\r\n\r\n // if portalUrl is not provided, default to ArcGIS Online\r\n portalUrl: 'https://www.arcgis.com'\r\n },\r\n\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module and creates the layer instance.\r\n *\r\n * @param {string} key an ITEM ID or SERVICE URL\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n if (options) {\r\n setOptions(this, options);\r\n }\r\n\r\n // support outdated casing apiKey of apikey\r\n if (this.options.apiKey) {\r\n this.options.apikey = this.options.apiKey;\r\n }\r\n\r\n // if apiKey is passed in, use it as a token\r\n // (opposite from VectorBasemapLayer.js)\r\n if (this.options.apikey) {\r\n this.options.token = this.options.apikey;\r\n }\r\n\r\n // if no key passed in\r\n if (!key) {\r\n throw new Error('An ITEM ID or SERVICE URL is required for vectorTileLayer.');\r\n }\r\n\r\n // set key onto \"this.options\" for use elsewhere in the module.\r\n if (key) {\r\n this.options.key = key;\r\n }\r\n\r\n // this.options has been set, continue on to create the layer:\r\n this._createLayer();\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer given using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n loadStyle(\r\n this.options.key,\r\n this.options,\r\n function (error, style, styleUrl, service) {\r\n if (error) {\r\n throw new Error(error);\r\n }\r\n\r\n if (!isWebMercator(service.tileInfo.spatialReference.wkid)) {\r\n console.warn(\r\n 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The \"tileInfo.spatialReference\" property is:',\r\n service.tileInfo.spatialReference,\r\n '\\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.'\r\n );\r\n }\r\n\r\n // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer\r\n style = formatStyle(style, styleUrl, service, this.options.token);\r\n\r\n // if a custom attribution was not provided in the options,\r\n // then attempt to rely on the attribution of the last source in the style object\r\n // and add it to the map's attribution control\r\n // (otherwise it would have already been added by leaflet to the attribution control)\r\n if (!this.getAttribution()) {\r\n var sourcesKeys = Object.keys(style.sources);\r\n this.options.attribution = style.sources[sourcesKeys[sourcesKeys.length - 1]].attribution;\r\n if (this._map && this._map.attributionControl) {\r\n // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control\r\n this._map.attributionControl.addAttribution(this.getAttribution());\r\n }\r\n }\r\n\r\n // additionally modify the style object with the user's optional style override function\r\n if (this.options.style && typeof this.options.style === 'function') {\r\n style = this.options.style(style);\r\n }\r\n\r\n this._maplibreGL = maplibreGLJSLayer({\r\n style: style,\r\n pane: this.options.pane,\r\n opacity: this.options.opacity\r\n });\r\n\r\n this._ready = true;\r\n this.fire('ready', {}, true);\r\n }.bind(this)\r\n );\r\n },\r\n\r\n onAdd: function (map) {\r\n this._map = map;\r\n\r\n if (this._ready) {\r\n this._asyncAdd();\r\n } else {\r\n this.once(\r\n 'ready',\r\n function () {\r\n this._asyncAdd();\r\n },\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.removeLayer(this._maplibreGL);\r\n },\r\n\r\n _asyncAdd: function () {\r\n var map = this._map;\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorTileLayer (key, options) {\r\n return new VectorTileLayer(key, options);\r\n}\r\n\r\nexport default vectorTileLayer;\r\n"],"names":["request","Support","latLng","latLngBounds","Util","Layer","setOptions","DomEvent","DomUtil","extend","maplibregl"],"mappings":"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"} \ No newline at end of file diff --git a/dist/esri-leaflet-vector.js b/dist/esri-leaflet-vector.js new file mode 100644 index 0000000..9785820 --- /dev/null +++ b/dist/esri-leaflet-vector.js @@ -0,0 +1,5 @@ +/* esri-leaflet-vector - v4.0.0 - Fri Sep 02 2022 13:58:18 GMT-0500 (Central Daylight Time) + * Copyright (c) 2022 Environmental Systems Research Institute, Inc. + * Apache-2.0 */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("leaflet"),require("esri-leaflet")):"function"==typeof define&&define.amd?define(["exports","leaflet","esri-leaflet"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).L=t.L||{},t.L.esri=t.L.esri||{},t.L.esri.Vector={}),t.L,t.L.esri)}(this,(function(t,e,i){"use strict";function r(t,e,i){/^https?:\/\//.test(t)&&/\/VectorTileServer\/?$/.test(t)?o(t,e,i):function(t,e,i){var r=e.portalUrl+"/sharing/rest/content/items/"+t+"/resources/styles/root.json";a(r,e,(function(a,l){s(t,e,a?function(t,r){t&&console.error(t),o(r.url,e,i)}:function(t,s){t&&console.error(t),n(s.url,e,(function(t,e){i(t,l,r,e,s.url)}))})}))}(t,e,i)}function n(t,e,r){var n=e.token?{token:e.token}:{};i.request(t,n,r)}function s(t,e,r){var n=e.token?{token:e.token}:{},s=e.portalUrl+"/sharing/rest/content/items/"+t;i.request(s,n,r)}function o(t,e,i){n(t,e,(function(r,n){r&&console.error(r);var s,o=t;"/"===t.charAt(t.length-1)&&(o=t.slice(0,t.length-1)),a(s="/"===n.defaultStyles.charAt(0)?o+n.defaultStyles+"/root.json":o+"/"+n.defaultStyles+"/root.json",e,(function(e,r){e&&console.error(e),i(null,r,s,n,t)}))}))}function a(t,e,r){var n=e.token?{token:e.token}:{};i.request(t,n,r)}function l(t,r){i.Support.cors&&i.request(t,{},(function(t,n){if(!t){r._esriAttributions=r._esriAttributions||[];for(var s=0;s1)return 1;for(var i=t,r=0;r<8;r++){var n=this.sampleCurveX(i)-t;if(Math.abs(n)n?o=i:a=i,i=.5*(a-o)+o;return i},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};const n=r(.25,.1,.25,1);function s(t,e,i){return Math.min(i,Math.max(e,t))}function o(t,e,i){const r=i-e,n=((t-e)%r+r)%r+e;return n===e?i:n}function a(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}let l=1;function c(t,e){t.forEach((t=>{e[t]&&(e[t]=e[t].bind(e))}))}function h(t,e,i){const r={};for(const n in t)r[n]=e.call(i||this,t[n],n,t);return r}function u(t,e,i){const r={};for(const n in t)e.call(i||this,t[n],n,t)&&(r[n]=t[n]);return r}function p(t){return Array.isArray(t)?t.map(p):"object"==typeof t&&t?h(t,p):t}const d={};function m(t){d[t]||("undefined"!=typeof console&&console.warn(t),d[t]=!0)}function f(t,e,i){return(i.y-t.y)*(e.x-t.x)>(e.y-t.y)*(i.x-t.x)}function g(t){let e=0;for(let i,r,n=0,s=t.length,o=s-1;n@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((t,i,r,n)=>{const s=r||n;return e[i]=!s||s.toLowerCase(),""})),e["max-age"]){const t=parseInt(e["max-age"],10);isNaN(t)?delete e["max-age"]:e["max-age"]=t}return e}let x,v,b=null;function w(t){if(null==b){const e=t.navigator?t.navigator.userAgent:null;b=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return b}function T(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap}const E={now:"undefined"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frame(t){const e=requestAnimationFrame(t);return{cancel:()=>cancelAnimationFrame(e)}},getImageData(t,e=0){const i=window.document.createElement("canvas"),r=i.getContext("2d");if(!r)throw new Error("failed to create canvas 2d context");return i.width=t.width,i.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:t=>(x||(x=document.createElement("a")),x.href=t,x.href),hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==v&&(v=matchMedia("(prefers-reduced-motion: reduce)")),v.matches)}};var S=I;function I(t,e){this.x=t,this.y=e}I.prototype={clone:function(){return new I(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,i=t.y-this.y;return e*e+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),i=Math.sin(t),r=i*this.x+e*this.y;return this.x=e*this.x-i*this.y,this.y=r,this},_rotateAround:function(t,e){var i=Math.cos(t),r=Math.sin(t),n=e.y+r*(this.x-e.x)+i*(this.y-e.y);return this.x=e.x+i*(this.x-e.x)-r*(this.y-e.y),this.y=n,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},I.convert=function(t){return t instanceof I?t:Array.isArray(t)?new I(t[0],t[1]):t};const A={MAX_PARALLEL_IMAGE_REQUESTS:16,REGISTERED_PROTOCOLS:{}},z="mapbox-tiles";let C,M,k=500,P=50;function D(){"undefined"==typeof caches||C||(C=caches.open(z))}let L=1/0;const B={supported:!1,testSupport:function(t){!O&&F&&(U?V(t):R=t)}};let R,F,O=!1,U=!1;function V(t){const e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,F),t.isContextLost())return;B.supported=!0}catch(t){}t.deleteTexture(e),O=!0}"undefined"!=typeof document&&(F=document.createElement("img"),F.onload=function(){R&&V(R),R=null,U=!0},F.onerror=function(){O=!0,R=null},F.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const N={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(N);class G extends Error{constructor(t,e,i,r){super(`AJAXError: ${e} (${t}): ${i}`),this.status=t,this.statusText=e,this.url=i,this.body=r}}const $=_()?()=>self.worker&&self.worker.referrer:()=>("blob:"===window.location.protocol?window.parent:window).location.href;function q(t,e){const i=new AbortController,r=new Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:$(),signal:i.signal});let n=!1,s=!1;return"json"===t.type&&r.headers.set("Accept","application/json"),((i,o,a)=>{if(s)return;const l=Date.now();fetch(r).then((i=>i.ok?((i,o,a)=>{("arrayBuffer"===t.type?i.arrayBuffer():"json"===t.type?i.json():i.text()).then((t=>{s||(o&&a&&function(t,e,i){if(D(),!C)return;const r={status:e.status,statusText:e.statusText,headers:new Headers};e.headers.forEach(((t,e)=>r.headers.set(e,t)));const n=y(e.headers.get("Cache-Control")||"");n["no-store"]||(n["max-age"]&&r.headers.set("Expires",new Date(i+1e3*n["max-age"]).toUTCString()),new Date(r.headers.get("Expires")).getTime()-i<42e4||function(t,e){if(void 0===M)try{new Response(new ReadableStream),M=!0}catch(t){M=!1}M?e(t.body):t.blob().then(e)}(e,(e=>{const i=new Response(e,r);D(),C&&C.then((e=>e.put(function(t){const e=t.indexOf("?");return e<0?t:t.slice(0,e)}(t.url),i))).catch((t=>m(t.message)))})))}(r,o,a),n=!0,e(null,t,i.headers.get("Cache-Control"),i.headers.get("Expires")))})).catch((t=>{s||e(new Error(t.message))}))})(i,null,l):i.blob().then((r=>e(new G(i.status,i.statusText,t.url,r)))))).catch((t=>{20!==t.code&&e(new Error(t.message))}))})(),{cancel:()=>{s=!0,n||i.abort()}}}const j=function(t,e){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){if(_()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e);if(!_()){const i=t.url.substring(0,t.url.indexOf("://"));return(A.REGISTERED_PROTOCOLS[i]||q)(t,e)}}if(!(/^file:/.test(i=t.url)||/^file:/.test($())&&!/^\w+:/.test(i))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return q(t,e);if(_()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e,void 0,!0)}var i;return function(t,e){const i=new XMLHttpRequest;i.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(i.responseType="arraybuffer");for(const e in t.headers)i.setRequestHeader(e,t.headers[e]);return"json"===t.type&&(i.responseType="text",i.setRequestHeader("Accept","application/json")),i.withCredentials="include"===t.credentials,i.onerror=()=>{e(new Error(i.statusText))},i.onload=()=>{if((i.status>=200&&i.status<300||0===i.status)&&null!==i.response){let r=i.response;if("json"===t.type)try{r=JSON.parse(i.response)}catch(t){return e(t)}e(null,r,i.getResponseHeader("Cache-Control"),i.getResponseHeader("Expires"))}else{const r=new Blob([i.response],{type:i.getResponseHeader("Content-Type")});e(new G(i.status,i.statusText,t.url,r))}},i.send(t.body),{cancel:()=>i.abort()}}(t,e)},Z=function(t,e){return j(a(t,{type:"arrayBuffer"}),e)};function X(t){const e=window.document.createElement("a");return e.href=t,e.protocol===window.document.location.protocol&&e.host===window.document.location.host}const W="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let H,K;H=[],K=0;const J=function(t,e){if(B.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),K>=A.MAX_PARALLEL_IMAGE_REQUESTS){const i={requestParameters:t,callback:e,cancelled:!1,cancel(){this.cancelled=!0}};return H.push(i),i}K++;let i=!1;const r=()=>{if(!i)for(i=!0,K--;H.length&&K{r(),t?e(t):i&&function(t,e){"function"==typeof createImageBitmap?function(t,e){const i=new Blob([new Uint8Array(t)],{type:"image/png"});createImageBitmap(i).then((t=>{e(null,t)})).catch((t=>{e(new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))}(t,e):function(t,e){const i=new Image;i.onload=()=>{e(null,i),URL.revokeObjectURL(i.src),i.onload=null,window.requestAnimationFrame((()=>{i.src=W}))},i.onerror=()=>e(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const r=new Blob([new Uint8Array(t)],{type:"image/png"});i.src=t.byteLength?URL.createObjectURL(r):W}(t,e)}(i,((t,i)=>{null!=t?e(t):null!=i&&e(null,i,{cacheControl:n,expires:s})}))}));return{cancel:()=>{n.cancel(),r()}}};function Y(t,e,i){i[t]&&-1!==i[t].indexOf(e)||(i[t]=i[t]||[],i[t].push(e))}function Q(t,e,i){if(i&&i[t]){const r=i[t].indexOf(e);-1!==r&&i[t].splice(r,1)}}class tt{constructor(t,e={}){a(this,e),this.type=t}}class et extends tt{constructor(t,e={}){super("error",a({error:t},e))}}class it{on(t,e){return this._listeners=this._listeners||{},Y(t,e,this._listeners),this}off(t,e){return Q(t,e,this._listeners),Q(t,e,this._oneTimeListeners),this}once(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},Y(t,e,this._oneTimeListeners),this}fire(t,e){"string"==typeof t&&(t=new tt(t,e||{}));const i=t.type;if(this.listens(i)){t.target=this;const e=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];for(const i of e)i.call(this,t);const r=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];for(const e of r)Q(i,e,this._oneTimeListeners),e.call(this,t);const n=this._eventedParent;n&&(a(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(t))}else t instanceof et&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var rt={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1},elevationOffset:{type:"number",default:450}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};class nt{constructor(t,e,i,r){this.message=(t?`${t}: `:"")+i,r&&(this.identifier=r),null!=e&&e.__line__&&(this.line=e.__line__)}}function st(t){const e=t.value;return e?[new nt(t.key,e,"constants have been deprecated as of v8")]:[]}function ot(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}function at(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function lt(t){if(Array.isArray(t))return t.map(lt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){const e={};for(const i in t)e[i]=lt(t[i]);return e}return at(t)}class ct extends Error{constructor(t,e){super(e),this.message=e,this.key=t}}class ht{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[t,i]of e)this.bindings[t]=i}concat(t){return new ht(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(`${t} not found in scope.`)}has(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)}}const ut={kind:"null"},pt={kind:"number"},dt={kind:"string"},mt={kind:"boolean"},ft={kind:"color"},gt={kind:"object"},_t={kind:"value"},yt={kind:"collator"},xt={kind:"formatted"},vt={kind:"padding"},bt={kind:"resolvedImage"};function wt(t,e){return{kind:"array",itemType:t,N:e}}function Tt(t){if("array"===t.kind){const e=Tt(t.itemType);return"number"==typeof t.N?`array<${e}, ${t.N}>`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const Et=[ut,pt,dt,mt,ft,xt,gt,wt(_t),vt,bt];function St(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!St(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of Et)if(!St(t,e))return null}return`Expected ${Tt(t)} but found ${Tt(e)} instead.`}function It(t,e){return e.some((e=>e.kind===t.kind))}function At(t,e){return e.some((e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t))}var zt,Ct={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Mt(t){return(t=Math.round(t))<0?0:t>255?255:t}function kt(t){return Mt("%"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Pt(t){return(e="%"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e}function Dt(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}try{zt={}.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in Ct)return Ct[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var r=i.indexOf("("),n=i.indexOf(")");if(-1!==r&&n+1===i.length){var s=i.substr(0,r),o=i.substr(r+1,n-(r+1)).split(","),a=1;switch(s){case"rgba":if(4!==o.length)return null;a=Pt(o.pop());case"rgb":return 3!==o.length?null:[kt(o[0]),kt(o[1]),kt(o[2]),a];case"hsla":if(4!==o.length)return null;a=Pt(o.pop());case"hsl":if(3!==o.length)return null;var l=(parseFloat(o[0])%360+360)%360/360,c=Pt(o[1]),h=Pt(o[2]),u=h<=.5?h*(c+1):h+c-h*c,p=2*h-u;return[Mt(255*Dt(p,u,l+1/3)),Mt(255*Dt(p,u,l)),Mt(255*Dt(p,u,l-1/3)),a];default:return null}}return null}}catch(t){}class Lt{constructor(t,e,i,r=1){this.r=t,this.g=e,this.b=i,this.a=r}static parse(t){if(!t)return;if(t instanceof Lt)return t;if("string"!=typeof t)return;const e=zt(t);return e?new Lt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]):void 0}toString(){const[t,e,i,r]=this.toArray();return`rgba(${Math.round(t)},${Math.round(e)},${Math.round(i)},${r})`}toArray(){const{r:t,g:e,b:i,a:r}=this;return 0===r?[0,0,0,0]:[255*t/r,255*e/r,255*i/r,r]}}Lt.black=new Lt(0,0,0,1),Lt.white=new Lt(1,1,1,1),Lt.transparent=new Lt(0,0,0,0),Lt.red=new Lt(1,0,0,1);class Bt{constructor(t,e,i){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=i,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Rt{constructor(t,e,i,r,n){this.text=t,this.image=e,this.scale=i,this.fontStack=r,this.textColor=n}}class Ft{constructor(t){this.sections=t}static fromString(t){return new Ft([new Rt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Ft?t:Ft.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}}class Ot{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Ot)return t;if("number"==typeof t)return new Ot([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Ot(t)}}toString(){return JSON.stringify(this.values)}}class Ut{constructor(t){this.name=t.name,this.available=t.available}toString(){return this.name}static fromString(t){return t?new Ut({name:t,available:!1}):null}}function Vt(t,e,i,r){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid rgba value [${[t,e,i,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof r?[t,e,i,r]:[t,e,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Nt(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof Lt)return!0;if(t instanceof Bt)return!0;if(t instanceof Ft)return!0;if(t instanceof Ot)return!0;if(t instanceof Ut)return!0;if(Array.isArray(t)){for(const e of t)if(!Nt(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!Nt(t[e]))return!1;return!0}return!1}function Gt(t){if(null===t)return ut;if("string"==typeof t)return dt;if("boolean"==typeof t)return mt;if("number"==typeof t)return pt;if(t instanceof Lt)return ft;if(t instanceof Bt)return yt;if(t instanceof Ft)return xt;if(t instanceof Ot)return vt;if(t instanceof Ut)return bt;if(Array.isArray(t)){const e=t.length;let i;for(const e of t){const t=Gt(e);if(i){if(i===t)continue;i=_t;break}i=t}return wt(i||_t,e)}return gt}function $t(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Lt||t instanceof Ft||t instanceof Ot||t instanceof Ut?t.toString():JSON.stringify(t)}class qt{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Nt(t[1]))return e.error("invalid value");const i=t[1];let r=Gt(i);const n=e.expectedType;return"array"!==r.kind||0!==r.N||!n||"array"!==n.kind||"number"==typeof n.N&&0!==n.N||(r=n),new qt(r,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class jt{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}}const Zt={string:dt,number:pt,boolean:mt,object:gt};class Xt{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let i,r=1;const n=t[0];if("array"===n){let n,s;if(t.length>2){const i=t[1];if("string"!=typeof i||!(i in Zt)||"object"===i)return e.error('The item type argument of "array" must be one of string, number, boolean',1);n=Zt[i],r++}else n=_t;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);s=t[2],r++}i=wt(n,s)}else i=Zt[n];const s=[];for(;rt.outputDefined()))}}const Wt={"to-boolean":mt,"to-color":ft,"to-number":pt,"to-string":dt};class Ht{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[0];if(("to-boolean"===i||"to-string"===i)&&2!==t.length)return e.error("Expected one argument.");const r=Wt[i],n=[];for(let i=1;i4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Vt(e[0],e[1],e[2],e[3]),!i))return new Lt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new jt(i||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}if("padding"===this.type.kind){let e;for(const i of this.args){e=i.evaluate(t);const r=Ot.parse(e);if(r)return r}throw new jt(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}if("number"===this.type.kind){let e=null;for(const i of this.args){if(e=i.evaluate(t),null===e)return 0;const r=Number(e);if(!isNaN(r))return r}throw new jt(`Could not convert ${JSON.stringify(e)} to number.`)}return"formatted"===this.type.kind?Ft.fromString($t(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?Ut.fromString($t(this.args[0].evaluate(t))):$t(this.args[0].evaluate(t))}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const Kt=["Unknown","Point","LineString","Polygon"];class Jt{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?Kt[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Lt.parse(t)),e}}class Yt{constructor(t,e,i,r){this.name=t,this.type=e,this._evaluate=i,this.args=r}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const i=t[0],r=Yt.definitions[i];if(!r)return e.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);const n=Array.isArray(r)?r[0]:r.type,s=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,o=s.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let a=null;for(const[r,s]of o){a=new be(e.registry,e.path,null,e.scope);const o=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(Tt).join(", ")})`:`(${Tt(e.type)}...)`;var e})).join(" | "),r=[];for(let i=1;i=e[2]||t[1]<=e[1]||t[3]>=e[3])}function re(t,e){const i=(180+t[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,n=Math.pow(2,e.z);return[Math.round(i*n*te),Math.round(r*n*te)]}function ne(t,e,i){const r=t[0]-e[0],n=t[1]-e[1],s=t[0]-i[0],o=t[1]-i[1];return r*o-s*n==0&&r*s<=0&&n*o<=0}function se(t,e){let i=!1;for(let o=0,a=e.length;o(r=t)[1]!=(s=a[e+1])[1]>r[1]&&r[0]<(s[0]-n[0])*(r[1]-n[1])/(s[1]-n[1])+n[0]&&(i=!i)}}var r,n,s;return i}function oe(t,e){for(let i=0;i0&&a<0||o<0&&a>0}function le(t,e,i){for(const c of i)for(let i=0;ii[2]){const e=.5*r;let n=t[0]-i[0]>e?-r:i[0]-t[0]>e?r:0;0===n&&(n=t[0]-i[2]>e?-r:i[2]-t[0]>e?r:0),t[0]+=n}ee(e,t)}function me(t,e,i,r){const n=Math.pow(2,r.z)*te,s=[r.x*te,r.y*te],o=[];for(const r of t)for(const t of r){const r=[t.x+s[0],t.y+s[1]];de(r,e,i,n),o.push(r)}return o}function fe(t,e,i,r){const n=Math.pow(2,r.z)*te,s=[r.x*te,r.y*te],o=[];for(const i of t){const t=[];for(const r of i){const i=[r.x+s[0],r.y+s[1]];ee(e,i),t.push(i)}o.push(t)}if(e[2]-e[0]<=n/2){(a=e)[0]=a[1]=1/0,a[2]=a[3]=-1/0;for(const t of o)for(const r of t)de(r,e,i,n)}var a;return o}class ge{constructor(t,e){this.type=mt,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Nt(t[1])){const e=t[1];if("FeatureCollection"===e.type)for(let t=0;t{e&&!_e(t)&&(e=!1)})),e}function ye(t){if(t instanceof Yt&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!ye(t)&&(e=!1)})),e}function xe(t,e){if(t instanceof Yt&&e.indexOf(t.name)>=0)return!1;let i=!0;return t.eachChild((t=>{i&&!xe(t,e)&&(i=!1)})),i}class ve{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e}static parse(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");const i=t[1];return e.scope.has(i)?new ve(i,e.scope.get(i)):e.error(`Unknown variable "${i}". Make sure "${i}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return!1}}class be{constructor(t,e=[],i,r=new ht,n=[]){this.registry=t,this.path=e,this.key=e.map((t=>`[${t}]`)).join(""),this.scope=r,this.errors=n,this.expectedType=i}parse(t,e,i,r,n={}){return e?this.concat(e,i,r)._parse(t,n):this._parse(t,n)}_parse(t,e){function i(t,e,i){return"assert"===i?new Xt(e,[t]):"coerce"===i?new Ht(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=t[0];if("string"!=typeof r)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const n=this.registry[r];if(n){let r=n.parse(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,n=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==n.kind)if("color"!==t.kind&&"formatted"!==t.kind&&"resolvedImage"!==t.kind||"value"!==n.kind&&"string"!==n.kind)if("padding"!==t.kind||"value"!==n.kind&&"number"!==n.kind&&"array"!==n.kind){if(this.checkSubtype(t,n))return null}else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"assert")}if(!(r instanceof qt)&&"resolvedImage"!==r.type.kind&&we(r)){const e=new Jt;try{r=new qt(r.type,r.evaluate(e))}catch(t){return this.error(t.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,i){const r="number"==typeof t?this.path.concat(t):this.path,n=i?this.scope.concat(i):this.scope;return new be(this.registry,r,e||null,n,this.errors)}error(t,...e){const i=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new ct(i,t))}checkSubtype(t,e){const i=St(t,e);return i&&this.error(i),i}}function we(t){if(t instanceof ve)return we(t.boundExpression);if(t instanceof Yt&&"error"===t.name)return!1;if(t instanceof Qt)return!1;if(t instanceof ge)return!1;const e=t instanceof Ht||t instanceof Xt;let i=!0;return t.eachChild((t=>{i=e?i&&we(t):i&&t instanceof qt})),!!i&&_e(t)&&xe(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Te(t,e){const i=t.length-1;let r,n,s=0,o=i,a=0;for(;s<=o;)if(a=Math.floor((s+o)/2),r=t[a],n=t[a+1],r<=e){if(a===i||ee))throw new jt("Input is not a number.");o=a-1}return 0}class Ee{constructor(t,e,i){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of i)this.labels.push(t),this.outputs.push(e)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const i=e.parse(t[1],1,pt);if(!i)return null;const r=[];let n=null;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(let i=1;i=s)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const c=e.parse(o,l,n);if(!c)return null;n=n||c.type,r.push([s,c])}return new Ee(n,i,r)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return i[0].evaluate(t);const n=e.length;return r>=e[n-1]?i[n-1].evaluate(t):i[Te(e,r)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Se(t,e,i){return t*(1-i)+e*i}var Ie=Object.freeze({__proto__:null,number:Se,color:function(t,e,i){return new Lt(Se(t.r,e.r,i),Se(t.g,e.g,i),Se(t.b,e.b,i),Se(t.a,e.a,i))},array:function(t,e,i){return t.map(((t,r)=>Se(t,e[r],i)))},padding:function(t,e,i){const r=t.values,n=e.values;return new Ot([Se(r[0],n[0],i),Se(r[1],n[1],i),Se(r[2],n[2],i),Se(r[3],n[3],i)])}});const Ae=.95047,ze=1.08883,Ce=4/29,Me=6/29,ke=3*Me*Me,Pe=Math.PI/180,De=180/Math.PI;function Le(t){return t>.008856451679035631?Math.pow(t,1/3):t/ke+Ce}function Be(t){return t>Me?t*t*t:ke*(t-Ce)}function Re(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Fe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Oe(t){const e=Fe(t.r),i=Fe(t.g),r=Fe(t.b),n=Le((.4124564*e+.3575761*i+.1804375*r)/Ae),s=Le((.2126729*e+.7151522*i+.072175*r)/1);return{l:116*s-16,a:500*(n-s),b:200*(s-Le((.0193339*e+.119192*i+.9503041*r)/ze)),alpha:t.a}}function Ue(t){let e=(t.l+16)/116,i=isNaN(t.a)?e:e+t.a/500,r=isNaN(t.b)?e:e-t.b/200;return e=1*Be(e),i=Ae*Be(i),r=ze*Be(r),new Lt(Re(3.2404542*i-1.5371385*e-.4985314*r),Re(-.969266*i+1.8760108*e+.041556*r),Re(.0556434*i-.2040259*e+1.0572252*r),t.alpha)}function Ve(t,e,i){const r=e-t;return t+i*(r>180||r<-180?r-360*Math.round(r/360):r)}const Ne={forward:Oe,reverse:Ue,interpolate:function(t,e,i){return{l:Se(t.l,e.l,i),a:Se(t.a,e.a,i),b:Se(t.b,e.b,i),alpha:Se(t.alpha,e.alpha,i)}}},Ge={forward:function(t){const{l:e,a:i,b:r}=Oe(t),n=Math.atan2(r,i)*De;return{h:n<0?n+360:n,c:Math.sqrt(i*i+r*r),l:e,alpha:t.a}},reverse:function(t){const e=t.h*Pe,i=t.c;return Ue({l:t.l,a:Math.cos(e)*i,b:Math.sin(e)*i,alpha:t.alpha})},interpolate:function(t,e,i){return{h:Ve(t.h,e.h,i),c:Se(t.c,e.c,i),l:Se(t.l,e.l,i),alpha:Se(t.alpha,e.alpha,i)}}};var $e=Object.freeze({__proto__:null,lab:Ne,hcl:Ge});class qe{constructor(t,e,i,r,n){this.type=t,this.operator=e,this.interpolation=i,this.input=r,this.labels=[],this.outputs=[];for(const[t,e]of n)this.labels.push(t),this.outputs.push(e)}static interpolationFactor(t,i,r,n){let s=0;if("exponential"===t.name)s=je(i,t.base,r,n);else if("linear"===t.name)s=je(i,1,r,n);else if("cubic-bezier"===t.name){const o=t.controlPoints;s=new e(o[0],o[1],o[2],o[3]).solve(je(i,1,r,n))}return s}static parse(t,e){let[i,r,n,...s]=t;if(!Array.isArray(r)||0===r.length)return e.error("Expected an interpolation type expression.",1);if("linear"===r[0])r={name:"linear"};else if("exponential"===r[0]){const t=r[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);r={name:"exponential",base:t}}else{if("cubic-bezier"!==r[0])return e.error(`Unknown interpolation type ${String(r[0])}`,1,0);{const t=r.slice(1);if(4!==t.length||t.some((t=>"number"!=typeof t||t<0||t>1)))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(n=e.parse(n,2,pt),!n)return null;const o=[];let a=null;"interpolate-hcl"===i||"interpolate-lab"===i?a=ft:e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType);for(let t=0;t=i)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',n);const c=e.parse(r,l,a);if(!c)return null;a=a||c.type,o.push([i,c])}return"number"===a.kind||"color"===a.kind||"padding"===a.kind||"array"===a.kind&&"number"===a.itemType.kind&&"number"==typeof a.N?new qe(a,i,r,n,o):e.error(`Type ${Tt(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return i[0].evaluate(t);const n=e.length;if(r>=e[n-1])return i[n-1].evaluate(t);const s=Te(e,r),o=qe.interpolationFactor(this.interpolation,r,e[s],e[s+1]),a=i[s].evaluate(t),l=i[s+1].evaluate(t);return"interpolate"===this.operator?Ie[this.type.kind.toLowerCase()](a,l,o):"interpolate-hcl"===this.operator?Ge.reverse(Ge.interpolate(Ge.forward(a),Ge.forward(l),o)):Ne.reverse(Ne.interpolate(Ne.forward(a),Ne.forward(l),o))}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function je(t,e,i,r){const n=r-i,s=t-i;return 0===n?0:1===e?s/n:(Math.pow(e,s)-1)/(Math.pow(e,n)-1)}class Ze{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expectected at least one argument.");let i=null;const r=e.expectedType;r&&"value"!==r.kind&&(i=r);const n=[];for(const r of t.slice(1)){const t=e.parse(r,1+n.length,i,void 0,{typeAnnotation:"omit"});if(!t)return null;i=i||t.type,n.push(t)}const s=r&&n.some((t=>St(r,t.type)));return new Ze(s?_t:i,n)}evaluate(t){let e,i=null,r=0;for(const n of this.args)if(r++,i=n.evaluate(t),i&&i instanceof Ut&&!i.available&&(e||(e=i.name),i=null,r===this.args.length&&(i=e)),null!==i)break;return i}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}class Xe{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const i=[];for(let r=1;r=i.length)throw new jt(`Array index out of bounds: ${e} > ${i.length-1}.`);if(e!==Math.floor(e))throw new jt(`Array index must be an integer, but found ${e} instead.`);return i[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class He{constructor(t,e){this.type=mt,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,_t);return i&&r?It(i.type,[mt,dt,pt,ut,_t])?new He(i,r):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(i.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!i)return!1;if(!At(e,["boolean","string","number","null"]))throw new jt(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(Gt(e))} instead.`);if(!At(i,["string","array"]))throw new jt(`Expected second argument to be of type array or string, but found ${Tt(Gt(i))} instead.`);return i.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class Ke{constructor(t,e,i){this.type=pt,this.needle=t,this.haystack=e,this.fromIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,_t);if(!i||!r)return null;if(!It(i.type,[mt,dt,pt,ut,_t]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,pt);return n?new Ke(i,r,n):null}return new Ke(i,r)}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!At(e,["boolean","string","number","null"]))throw new jt(`Expected first argument to be of type boolean, string, number or null, but found ${Tt(Gt(e))} instead.`);if(!At(i,["string","array"]))throw new jt(`Expected second argument to be of type array or string, but found ${Tt(Gt(i))} instead.`);if(this.fromIndex){const r=this.fromIndex.evaluate(t);return i.indexOf(e,r)}return i.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class Je{constructor(t,e,i,r,n,s){this.inputType=t,this.type=e,this.input=i,this.cases=r,this.outputs=n,this.otherwise=s}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let i,r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);const n={},s=[];for(let o=2;oNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return c.error("Numeric branch labels must be integer values.");if(i){if(c.checkSubtype(i,Gt(t)))return null}else i=Gt(t);if(void 0!==n[String(t)])return c.error("Branch labels must be unique.");n[String(t)]=s.length}const h=e.parse(l,o,r);if(!h)return null;r=r||h.type,s.push(h)}const o=e.parse(t[1],1,_t);if(!o)return null;const a=e.parse(t[t.length-1],t.length-1,r);return a?"value"!==o.type.kind&&e.concat(1).checkSubtype(i,o.type)?null:new Je(i,r,o,n,s,a):null}evaluate(t){const e=this.input.evaluate(t);return(Gt(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class Ye{constructor(t,e,i){this.type=t,this.branches=e,this.otherwise=i}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r=[];for(let n=1;ne.outputDefined()))&&this.otherwise.outputDefined()}}class Qe{constructor(t,e,i,r){this.type=t,this.input=e,this.beginIndex=i,this.endIndex=r}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,_t),r=e.parse(t[2],2,pt);if(!i||!r)return null;if(!It(i.type,[wt(_t),dt,_t]))return e.error(`Expected first argument to be of type array or string, but found ${Tt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,pt);return n?new Qe(i.type,i,r,n):null}return new Qe(i.type,i,r)}evaluate(t){const e=this.input.evaluate(t),i=this.beginIndex.evaluate(t);if(!At(e,["string","array"]))throw new jt(`Expected first argument to be of type array or string, but found ${Tt(Gt(e))} instead.`);if(this.endIndex){const r=this.endIndex.evaluate(t);return e.slice(i,r)}return e.slice(i)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function ti(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function ei(t,e,i,r){return 0===r.compare(e,i)}function ii(t,e,i){const r="=="!==t&&"!="!==t;return class n{constructor(t,e,i){this.type=mt,this.lhs=t,this.rhs=e,this.collator=i,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const i=t[0];let s=e.parse(t[1],1,_t);if(!s)return null;if(!ti(i,s.type))return e.concat(1).error(`"${i}" comparisons are not supported for type '${Tt(s.type)}'.`);let o=e.parse(t[2],2,_t);if(!o)return null;if(!ti(i,o.type))return e.concat(2).error(`"${i}" comparisons are not supported for type '${Tt(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${Tt(s.type)}' and '${Tt(o.type)}'.`);r&&("value"===s.type.kind&&"value"!==o.type.kind?s=new Xt(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new Xt(s.type,[o])));let a=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(a=e.parse(t[3],3,yt),!a)return null}return new n(s,o,a)}evaluate(n){const s=this.lhs.evaluate(n),o=this.rhs.evaluate(n);if(r&&this.hasUntypedArgument){const e=Gt(s),i=Gt(o);if(e.kind!==i.kind||"string"!==e.kind&&"number"!==e.kind)throw new jt(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${i.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){const t=Gt(s),i=Gt(o);if("string"!==t.kind||"string"!==i.kind)return e(n,s,o)}return this.collator?i(n,s,o,this.collator.evaluate(n)):e(n,s,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const ri=ii("==",(function(t,e,i){return e===i}),ei),ni=ii("!=",(function(t,e,i){return e!==i}),(function(t,e,i,r){return!ei(0,e,i,r)})),si=ii("<",(function(t,e,i){return e",(function(t,e,i){return e>i}),(function(t,e,i,r){return r.compare(e,i)>0})),ai=ii("<=",(function(t,e,i){return e<=i}),(function(t,e,i,r){return r.compare(e,i)<=0})),li=ii(">=",(function(t,e,i){return e>=i}),(function(t,e,i,r){return r.compare(e,i)>=0}));class ci{constructor(t,e,i,r,n){this.type=dt,this.number=t,this.locale=e,this.currency=i,this.minFractionDigits=r,this.maxFractionDigits=n}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,pt);if(!i)return null;const r=t[2];if("object"!=typeof r||Array.isArray(r))return e.error("NumberFormat options argument must be an object.");let n=null;if(r.locale&&(n=e.parse(r.locale,1,dt),!n))return null;let s=null;if(r.currency&&(s=e.parse(r.currency,1,dt),!s))return null;let o=null;if(r["min-fraction-digits"]&&(o=e.parse(r["min-fraction-digits"],1,pt),!o))return null;let a=null;return r["max-fraction-digits"]&&(a=e.parse(r["max-fraction-digits"],1,pt),!a)?null:new ci(i,n,s,o,a)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class hi{constructor(t){this.type=xt,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[1];if(!Array.isArray(i)&&"object"==typeof i)return e.error("First argument must be an image or text section.");const r=[];let n=!1;for(let i=1;i<=t.length-1;++i){const s=t[i];if(n&&"object"==typeof s&&!Array.isArray(s)){n=!1;let t=null;if(s["font-scale"]&&(t=e.parse(s["font-scale"],1,pt),!t))return null;let i=null;if(s["text-font"]&&(i=e.parse(s["text-font"],1,wt(dt)),!i))return null;let o=null;if(s["text-color"]&&(o=e.parse(s["text-color"],1,ft),!o))return null;const a=r[r.length-1];a.scale=t,a.font=i,a.textColor=o}else{const s=e.parse(t[i],1,_t);if(!s)return null;const o=s.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");n=!0,r.push({content:s,scale:null,font:null,textColor:null})}}return new hi(r)}evaluate(t){return new Ft(this.sections.map((e=>{const i=e.content.evaluate(t);return Gt(i)===bt?new Rt("",i,null,null,null):new Rt($t(i),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor)}outputDefined(){return!1}}class ui{constructor(t){this.type=bt,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,dt);return i?new ui(i):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),i=Ut.fromString(e);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(e)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}}class pi{constructor(t){this.type=pt,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const i=e.parse(t[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?e.error(`Expected argument of type string or array, but found ${Tt(i.type)} instead.`):new pi(i):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new jt(`Expected value to be of type string or array, but found ${Tt(Gt(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const di={"==":ri,"!=":ni,">":oi,"<":si,">=":li,"<=":ai,array:Xt,at:We,boolean:Xt,case:Ye,coalesce:Ze,collator:Qt,format:hi,image:ui,in:He,"index-of":Ke,interpolate:qe,"interpolate-hcl":qe,"interpolate-lab":qe,length:pi,let:Xe,literal:qt,match:Je,number:Xt,"number-format":ci,object:Xt,slice:Qe,step:Ee,string:Xt,"to-boolean":Ht,"to-color":Ht,"to-number":Ht,"to-string":Ht,var:ve,within:ge};function mi(t,[e,i,r,n]){e=e.evaluate(t),i=i.evaluate(t),r=r.evaluate(t);const s=n?n.evaluate(t):1,o=Vt(e,i,r,s);if(o)throw new jt(o);return new Lt(e/255*s,i/255*s,r/255*s,s)}function fi(t,e){return t in e}function gi(t,e){const i=e[t];return void 0===i?null:i}function _i(t){return{type:t}}function yi(t){return{result:"success",value:t}}function xi(t){return{result:"error",value:t}}function vi(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function bi(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function wi(t){return!!t.expression&&t.expression.interpolated}function Ti(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Ei(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Si(t){return t}function Ii(t,e){const i="color"===e.type,r=t.stops&&"object"==typeof t.stops[0][0],n=r||!(r||void 0!==t.property),s=t.type||(wi(e)?"exponential":"interval");if(i||"padding"===e.type){const r=i?Lt.parse:Ot.parse;(t=ot({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],r(t[1])]))),t.default=r(t.default?t.default:e.default)}if(t.colorSpace&&"rgb"!==t.colorSpace&&!$e[t.colorSpace])throw new Error(`Unknown color space: ${t.colorSpace}`);let o,a,l;if("exponential"===s)o=Mi;else if("interval"===s)o=Ci;else if("categorical"===s){o=zi,a=Object.create(null);for(const e of t.stops)a[e[0]]=e[1];l=typeof t.stops[0][0]}else{if("identity"!==s)throw new Error(`Unknown function type "${s}"`);o=ki}if(r){const i={},r=[];for(let e=0;et[0])),evaluate:({zoom:i},r)=>Mi({stops:n,base:t.base},e,i).evaluate(i,r)}}if(n){const i="exponential"===s?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:i,interpolationFactor:qe.interpolationFactor.bind(void 0,i),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:i})=>o(t,e,i,a,l)}}return{kind:"source",evaluate(i,r){const n=r&&r.properties?r.properties[t.property]:void 0;return void 0===n?Ai(t.default,e.default):o(t,e,n,a,l)}}}function Ai(t,e,i){return void 0!==t?t:void 0!==e?e:void 0!==i?i:void 0}function zi(t,e,i,r,n){return Ai(typeof i===n?r[i]:void 0,t.default,e.default)}function Ci(t,e,i){if("number"!==Ti(i))return Ai(t.default,e.default);const r=t.stops.length;if(1===r)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[r-1][0])return t.stops[r-1][1];const n=Te(t.stops.map((t=>t[0])),i);return t.stops[n][1]}function Mi(t,e,i){const r=void 0!==t.base?t.base:1;if("number"!==Ti(i))return Ai(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[n-1][0])return t.stops[n-1][1];const s=Te(t.stops.map((t=>t[0])),i),o=function(t,e,i,r){const n=r-i,s=t-i;return 0===n?0:1===e?s/n:(Math.pow(e,s)-1)/(Math.pow(e,n)-1)}(i,r,t.stops[s][0],t.stops[s+1][0]),a=t.stops[s][1],l=t.stops[s+1][1];let c=Ie[e.type]||Si;if(t.colorSpace&&"rgb"!==t.colorSpace){const e=$e[t.colorSpace];c=(t,i)=>e.reverse(e.interpolate(e.forward(t),e.forward(i),o))}return"function"==typeof a.evaluate?{evaluate(...t){const e=a.evaluate.apply(void 0,t),i=l.evaluate.apply(void 0,t);if(void 0!==e&&void 0!==i)return c(e,i,o)}}:c(a,l,o)}function ki(t,e,i){switch(e.type){case"color":i=Lt.parse(i);break;case"formatted":i=Ft.fromString(i.toString());break;case"resolvedImage":i=Ut.fromString(i.toString());break;case"padding":i=Ot.parse(i);break;default:Ti(i)===e.type||"enum"===e.type&&e.values[i]||(i=void 0)}return Ai(i,t.default,e.default)}Yt.register(di,{error:[{kind:"error"},[dt],(t,[e])=>{throw new jt(e.evaluate(t))}],typeof:[dt,[_t],(t,[e])=>Tt(Gt(e.evaluate(t)))],"to-rgba":[wt(pt,4),[ft],(t,[e])=>e.evaluate(t).toArray()],rgb:[ft,[pt,pt,pt],mi],rgba:[ft,[pt,pt,pt,pt],mi],has:{type:mt,overloads:[[[dt],(t,[e])=>fi(e.evaluate(t),t.properties())],[[dt,gt],(t,[e,i])=>fi(e.evaluate(t),i.evaluate(t))]]},get:{type:_t,overloads:[[[dt],(t,[e])=>gi(e.evaluate(t),t.properties())],[[dt,gt],(t,[e,i])=>gi(e.evaluate(t),i.evaluate(t))]]},"feature-state":[_t,[dt],(t,[e])=>gi(e.evaluate(t),t.featureState||{})],properties:[gt,[],t=>t.properties()],"geometry-type":[dt,[],t=>t.geometryType()],id:[_t,[],t=>t.id()],zoom:[pt,[],t=>t.globals.zoom],"heatmap-density":[pt,[],t=>t.globals.heatmapDensity||0],"line-progress":[pt,[],t=>t.globals.lineProgress||0],accumulated:[_t,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[pt,_i(pt),(t,e)=>{let i=0;for(const r of e)i+=r.evaluate(t);return i}],"*":[pt,_i(pt),(t,e)=>{let i=1;for(const r of e)i*=r.evaluate(t);return i}],"-":{type:pt,overloads:[[[pt,pt],(t,[e,i])=>e.evaluate(t)-i.evaluate(t)],[[pt],(t,[e])=>-e.evaluate(t)]]},"/":[pt,[pt,pt],(t,[e,i])=>e.evaluate(t)/i.evaluate(t)],"%":[pt,[pt,pt],(t,[e,i])=>e.evaluate(t)%i.evaluate(t)],ln2:[pt,[],()=>Math.LN2],pi:[pt,[],()=>Math.PI],e:[pt,[],()=>Math.E],"^":[pt,[pt,pt],(t,[e,i])=>Math.pow(e.evaluate(t),i.evaluate(t))],sqrt:[pt,[pt],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))],log2:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[pt,[pt],(t,[e])=>Math.sin(e.evaluate(t))],cos:[pt,[pt],(t,[e])=>Math.cos(e.evaluate(t))],tan:[pt,[pt],(t,[e])=>Math.tan(e.evaluate(t))],asin:[pt,[pt],(t,[e])=>Math.asin(e.evaluate(t))],acos:[pt,[pt],(t,[e])=>Math.acos(e.evaluate(t))],atan:[pt,[pt],(t,[e])=>Math.atan(e.evaluate(t))],min:[pt,_i(pt),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[pt,_i(pt),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[pt,[pt],(t,[e])=>Math.abs(e.evaluate(t))],round:[pt,[pt],(t,[e])=>{const i=e.evaluate(t);return i<0?-Math.round(-i):Math.round(i)}],floor:[pt,[pt],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[pt,[pt],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[mt,[dt,_t],(t,[e,i])=>t.properties()[e.value]===i.value],"filter-id-==":[mt,[_t],(t,[e])=>t.id()===e.value],"filter-type-==":[mt,[dt],(t,[e])=>t.geometryType()===e.value],"filter-<":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r{const i=t.id(),r=e.value;return typeof i==typeof r&&i":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>n}],"filter-id->":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>r}],"filter-<=":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r<=n}],"filter-id-<=":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i<=r}],"filter->=":[mt,[dt,_t],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>=n}],"filter-id->=":[mt,[_t],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>=r}],"filter-has":[mt,[_t],(t,[e])=>e.value in t.properties()],"filter-has-id":[mt,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[mt,[wt(dt)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[mt,[wt(_t)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[mt,[dt,wt(_t)],(t,[e,i])=>i.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[mt,[dt,wt(_t)],(t,[e,i])=>function(t,e,i,r){for(;i<=r;){const n=i+r>>1;if(e[n]===t)return!0;e[n]>t?r=n-1:i=n+1}return!1}(t.properties()[e.value],i.value,0,i.value.length-1)],all:{type:mt,overloads:[[[mt,mt],(t,[e,i])=>e.evaluate(t)&&i.evaluate(t)],[_i(mt),(t,e)=>{for(const i of e)if(!i.evaluate(t))return!1;return!0}]]},any:{type:mt,overloads:[[[mt,mt],(t,[e,i])=>e.evaluate(t)||i.evaluate(t)],[_i(mt),(t,e)=>{for(const i of e)if(i.evaluate(t))return!0;return!1}]]},"!":[mt,[mt],(t,[e])=>!e.evaluate(t)],"is-supported-script":[mt,[dt],(t,[e])=>{const i=t.globals&&t.globals.isSupportedScript;return!i||i(e.evaluate(t))}],upcase:[dt,[dt],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[dt,[dt],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[dt,_i(_t),(t,e)=>e.map((e=>$t(e.evaluate(t)))).join("")],"resolved-locale":[dt,[yt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Pi{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new Jt,this._defaultValue=e?function(t){return"color"===t.type&&Ei(t.default)?new Lt(0,0,0,0):"color"===t.type?Lt.parse(t.default)||null:"padding"===t.type?Ot.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,i,r,n,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=i,this._evaluator.canonical=r,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,i,r,n,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=i||null,this._evaluator.canonical=r,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new jt(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function Di(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in di}function Li(t,e){const i=new be(di,[],e?function(t){const e={color:ft,string:dt,number:pt,enum:dt,boolean:mt,formatted:xt,padding:vt,resolvedImage:bt};return"array"===t.type?wt(e[t.value]||_t,t.length):e[t.type]}(e):void 0),r=i.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return r?yi(new Pi(r,e)):xi(i.errors)}class Bi{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!ye(e.expression)}evaluateWithoutErrorHandling(t,e,i,r,n,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,r,n,s)}evaluate(t,e,i,r,n,s){return this._styleExpression.evaluate(t,e,i,r,n,s)}}class Ri{constructor(t,e,i,r){this.kind=t,this.zoomStops=i,this._styleExpression=e,this.isStateDependent="camera"!==t&&!ye(e.expression),this.interpolationType=r}evaluateWithoutErrorHandling(t,e,i,r,n,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,r,n,s)}evaluate(t,e,i,r,n,s){return this._styleExpression.evaluate(t,e,i,r,n,s)}interpolationFactor(t,e,i){return this.interpolationType?qe.interpolationFactor(this.interpolationType,t,e,i):0}}function Fi(t,e){const i=Li(t,e);if("error"===i.result)return i;const r=i.value.expression,n=_e(r);if(!n&&!vi(e))return xi([new ct("","data expressions not supported")]);const s=xe(r,["zoom"]);if(!s&&!bi(e))return xi([new ct("","zoom expressions not supported")]);const o=Ui(r);return o||s?o instanceof ct?xi([o]):o instanceof qe&&!wi(e)?xi([new ct("",'"interpolate" expressions cannot be used with this property')]):yi(o?new Ri(n?"camera":"composite",i.value,o.labels,o instanceof qe?o.interpolation:void 0):new Bi(n?"constant":"source",i.value)):xi([new ct("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Oi{constructor(t,e){this._parameters=t,this._specification=e,ot(this,Ii(this._parameters,this._specification))}static deserialize(t){return new Oi(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Ui(t){let e=null;if(t instanceof Xe)e=Ui(t.result);else if(t instanceof Ze){for(const i of t.args)if(e=Ui(i),e)break}else(t instanceof Ee||t instanceof qe)&&t.input instanceof Yt&&"zoom"===t.input.name&&(e=t);return e instanceof ct||t.eachChild((t=>{const i=Ui(t);i instanceof ct?e=i:!e&&i?e=new ct("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&i&&e!==i&&(e=new ct("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}function Vi(t){const e=t.key,i=t.value,r=t.valueSpec||{},n=t.objectElementValidators||{},s=t.style,o=t.styleSpec;let a=[];const l=Ti(i);if("object"!==l)return[new nt(e,i,`object expected, ${l} found`)];for(const t in i){const l=t.split(".")[0],c=r[l]||r["*"];let h;if(n[l])h=n[l];else if(r[l])h=mr;else if(n["*"])h=n["*"];else{if(!r["*"]){a.push(new nt(e,i[t],`unknown property "${t}"`));continue}h=mr}a=a.concat(h({key:(e?`${e}.`:e)+t,value:i[t],valueSpec:c,style:s,styleSpec:o,object:i,objectKey:t},i))}for(const t in r)n[t]||r[t].required&&void 0===r[t].default&&void 0===i[t]&&a.push(new nt(e,i,`missing required property "${t}"`));return a}function Ni(t){const e=t.value,i=t.valueSpec,r=t.style,n=t.styleSpec,s=t.key,o=t.arrayElementValidator||mr;if("array"!==Ti(e))return[new nt(s,e,`array expected, ${Ti(e)} found`)];if(i.length&&e.length!==i.length)return[new nt(s,e,`array length ${i.length} expected, length ${e.length} found`)];if(i["min-length"]&&e.lengthr.maximum?[new nt(e,i,`${i} is greater than the maximum value ${r.maximum}`)]:[]}function $i(t){const e=t.valueSpec,i=at(t.value.type);let r,n,s,o={};const a="categorical"!==i&&void 0===t.value.property,l=!a,c="array"===Ti(t.value.stops)&&"array"===Ti(t.value.stops[0])&&"object"===Ti(t.value.stops[0][0]),h=Vi({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new nt(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const r=t.value;return e=e.concat(Ni({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:u})),"array"===Ti(r)&&0===r.length&&e.push(new nt(t.key,r,"array must have at least one stop")),e},default:function(t){return mr({key:t.key,value:t.value,valueSpec:e,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&a&&h.push(new nt(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||h.push(new nt(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!wi(t.valueSpec)&&h.push(new nt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!vi(t.valueSpec)?h.push(new nt(t.key,t.value,"property functions not supported")):a&&!bi(t.valueSpec)&&h.push(new nt(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||h.push(new nt(t.key,t.value,'"property" property is required')),h;function u(t){let i=[];const r=t.value,a=t.key;if("array"!==Ti(r))return[new nt(a,r,`array expected, ${Ti(r)} found`)];if(2!==r.length)return[new nt(a,r,`array length 2 expected, length ${r.length} found`)];if(c){if("object"!==Ti(r[0]))return[new nt(a,r,`object expected, ${Ti(r[0])} found`)];if(void 0===r[0].zoom)return[new nt(a,r,"object stop key must have zoom")];if(void 0===r[0].value)return[new nt(a,r,"object stop key must have value")];if(s&&s>at(r[0].zoom))return[new nt(a,r[0].zoom,"stop zoom values must appear in ascending order")];at(r[0].zoom)!==s&&(s=at(r[0].zoom),n=void 0,o={}),i=i.concat(Vi({key:`${a}[0]`,value:r[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Gi,value:p}}))}else i=i.concat(p({key:`${a}[0]`,value:r[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},r));return Di(lt(r[1]))?i.concat([new nt(`${a}[1]`,r[1],"expressions are not allowed in function stops.")]):i.concat(mr({key:`${a}[1]`,value:r[1],valueSpec:e,style:t.style,styleSpec:t.styleSpec}))}function p(t,s){const a=Ti(t.value),l=at(t.value),c=null!==t.value?t.value:s;if(r){if(a!==r)return[new nt(t.key,c,`${a} stop domain type must match previous stop domain type ${r}`)]}else r=a;if("number"!==a&&"string"!==a&&"boolean"!==a)return[new nt(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==a&&"categorical"!==i){let r=`number expected, ${a} found`;return vi(e)&&void 0===i&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new nt(t.key,c,r)]}return"categorical"!==i||"number"!==a||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===a&&void 0!==n&&lnew nt(`${t.key}${e.key}`,t.value,e.message)));const i=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!i.outputDefined())return[new nt(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===t.expressionContext&&"layout"===t.propertyType&&!ye(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!ye(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!xe(i,["zoom","feature-state"]))return[new nt(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!_e(i))return[new nt(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function ji(t){const e=t.key,i=t.value,r=t.valueSpec,n=[];return Array.isArray(r.values)?-1===r.values.indexOf(at(i))&&n.push(new nt(e,i,`expected one of [${r.values.join(", ")}], ${JSON.stringify(i)} found`)):-1===Object.keys(r.values).indexOf(at(i))&&n.push(new nt(e,i,`expected one of [${Object.keys(r.values).join(", ")}], ${JSON.stringify(i)} found`)),n}function Zi(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!Zi(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Xi={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Wi(t){if(null==t)return{filter:()=>!0,needGeometry:!1};Zi(t)||(t=Ji(t));const e=Li(t,Xi);if("error"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return{filter:(t,i,r)=>e.value.evaluate(t,i,{},r),needGeometry:Ki(t)}}function Hi(t,e){return te?1:0}function Ki(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?Yi(t[1],t[2],e):"any"===e?(i=t.slice(1),["any"].concat(i.map(Ji))):"all"===e?["all"].concat(t.slice(1).map(Ji)):"none"===e?["all"].concat(t.slice(1).map(Ji).map(er)):"in"===e?Qi(t[1],t.slice(2)):"!in"===e?er(Qi(t[1],t.slice(2))):"has"===e?tr(t[1]):"!has"===e?er(tr(t[1])):"within"!==e||t;var i}function Yi(t,e,i){switch(t){case"$type":return[`filter-type-${i}`,e];case"$id":return[`filter-id-${i}`,e];default:return[`filter-${i}`,t,e]}}function Qi(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?["filter-in-large",t,["literal",e.sort(Hi)]]:["filter-in-small",t,["literal",e]]}}function tr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function er(t){return["!",t]}function ir(t){return Zi(lt(t.value))?qi(ot({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):rr(t)}function rr(t){const e=t.value,i=t.key;if("array"!==Ti(e))return[new nt(i,e,`array expected, ${Ti(e)} found`)];const r=t.styleSpec;let n,s=[];if(e.length<1)return[new nt(i,e,"filter array must have at least 1 element")];switch(s=s.concat(ji({key:`${i}[0]`,value:e[0],valueSpec:r.filter_operator,style:t.style,styleSpec:t.styleSpec})),at(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===at(e[1])&&s.push(new nt(i,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&s.push(new nt(i,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(n=Ti(e[1]),"string"!==n&&s.push(new nt(`${i}[1]`,e[1],`string expected, ${n} found`)));for(let o=2;o{t in i&&e.push(new nt(r,i[t],`"${t}" is prohibited for ref layers`))})),n.layers.forEach((e=>{at(e.id)===a&&(t=e)})),t?t.ref?e.push(new nt(r,i.ref,"ref cannot reference another ref layer")):o=at(t.type):e.push(new nt(r,i.ref,`ref layer "${a}" not found`))}else if("background"!==o)if(i.source){const t=n.sources&&n.sources[i.source],s=t&&at(t.type);t?"vector"===s&&"raster"===o?e.push(new nt(r,i.source,`layer "${i.id}" requires a raster source`)):"raster"===s&&"raster"!==o?e.push(new nt(r,i.source,`layer "${i.id}" requires a vector source`)):"vector"!==s||i["source-layer"]?"raster-dem"===s&&"hillshade"!==o?e.push(new nt(r,i.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==o||!i.paint||!i.paint["line-gradient"]||"geojson"===s&&t.lineMetrics||e.push(new nt(r,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new nt(r,i,`layer "${i.id}" must specify a "source-layer"`)):e.push(new nt(r,i.source,`source "${i.source}" not found`))}else e.push(new nt(r,i,'missing required property "source"'));return e=e.concat(Vi({key:r,value:i,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":()=>[],type:()=>mr({key:`${r}.type`,value:i.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,object:i,objectKey:"type"}),filter:ir,layout:t=>Vi({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>or(ot({layerType:o},t))}}),paint:t=>Vi({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>sr(ot({layerType:o},t))}})}})),e}function lr(t){const e=t.value,i=t.key,r=Ti(e);return"string"!==r?[new nt(i,e,`string expected, ${r} found`)]:[]}const cr={promoteId:function({key:t,value:e}){if("string"===Ti(e))return lr({key:t,value:e});{const i=[];for(const r in e)i.push(...lr({key:`${t}.${r}`,value:e[r]}));return i}}};function hr(t){const e=t.value,i=t.key,r=t.styleSpec,n=t.style;if(!e.type)return[new nt(i,e,'"type" is required')];const s=at(e.type);let o;switch(s){case"vector":case"raster":case"raster-dem":return o=Vi({key:i,value:e,valueSpec:r[`source_${s.replace("-","_")}`],style:t.style,styleSpec:r,objectElementValidators:cr}),o;case"geojson":if(o=Vi({key:i,value:e,valueSpec:r.source_geojson,style:n,styleSpec:r,objectElementValidators:cr}),e.cluster)for(const t in e.clusterProperties){const[r,n]=e.clusterProperties[t],s="string"==typeof r?[r,["accumulated"],["get",t]]:r;o.push(...qi({key:`${i}.${t}.map`,value:n,expressionContext:"cluster-map"})),o.push(...qi({key:`${i}.${t}.reduce`,value:s,expressionContext:"cluster-reduce"}))}return o;case"video":return Vi({key:i,value:e,valueSpec:r.source_video,style:n,styleSpec:r});case"image":return Vi({key:i,value:e,valueSpec:r.source_image,style:n,styleSpec:r});case"canvas":return[new nt(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ji({key:`${i}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:n,styleSpec:r})}}function ur(t){const e=t.value,i=t.styleSpec,r=i.light,n=t.style;let s=[];const o=Ti(e);if(void 0===e)return s;if("object"!==o)return s=s.concat([new nt("light",e,`object expected, ${o} found`)]),s;for(const t in e){const o=t.match(/^(.*)-transition$/);s=s.concat(o&&r[o[1]]&&r[o[1]].transition?mr({key:t,value:e[t],valueSpec:i.transition,style:n,styleSpec:i}):r[t]?mr({key:t,value:e[t],valueSpec:r[t],style:n,styleSpec:i}):[new nt(t,e[t],`unknown property "${t}"`)])}return s}function pr(t){const e=t.value,i=t.styleSpec,r=i.terrain,n=t.style;let s=[];const o=Ti(e);if(void 0===e)return s;if("object"!==o)return s=s.concat([new nt("terrain",e,`object expected, ${o} found`)]),s;for(const t in e)s=s.concat(r[t]?mr({key:t,value:e[t],valueSpec:r[t],style:n,styleSpec:i}):[new nt(t,e[t],`unknown property "${t}"`)]);return s}const dr={"*":()=>[],array:Ni,boolean:function(t){const e=t.value,i=t.key,r=Ti(e);return"boolean"!==r?[new nt(i,e,`boolean expected, ${r} found`)]:[]},number:Gi,color:function(t){const e=t.key,i=t.value,r=Ti(i);return"string"!==r?[new nt(e,i,`color expected, ${r} found`)]:null===zt(i)?[new nt(e,i,`color expected, "${i}" found`)]:[]},constants:st,enum:ji,filter:ir,function:$i,layer:ar,object:Vi,source:hr,light:ur,terrain:pr,string:lr,formatted:function(t){return 0===lr(t).length?[]:qi(t)},resolvedImage:function(t){return 0===lr(t).length?[]:qi(t)},padding:function(t){const e=t.key,i=t.value;if("array"===Ti(i)){if(i.length<1||i.length>4)return[new nt(e,i,`padding requires 1 to 4 values; ${i.length} values found`)];const t={type:"number"};let r=[];for(let n=0;n[]}})),t.constants&&(i=i.concat(st({key:"constants",value:t.constants,style:t,styleSpec:e}))),_r(i)}function _r(t){return[].concat(t).sort(((t,e)=>t.line-e.line))}function yr(t){return function(...e){return _r(t.apply(this,e))}}gr.source=yr(hr),gr.light=yr(ur),gr.terrain=yr(pr),gr.layer=yr(ar),gr.filter=yr(ir),gr.paintProperty=yr(sr),gr.layoutProperty=yr(or);const xr=gr,vr=xr.light,br=xr.paintProperty,wr=xr.layoutProperty;function Tr(t,e){let i=!1;if(e&&e.length)for(const r of e)t.fire(new et(new Error(r.message))),i=!0;return i}class Er{constructor(t,e,i){const r=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const n=new Int32Array(this.arrayBuffer);t=n[0],this.d=(e=n[1])+2*(i=n[2]);for(let t=0;t=c[l+0]&&r>=c[l+1])?(o[u]=!0,s.push(n[u])):o[u]=!1}}}}_forEachCell(t,e,i,r,n,s,o,a){const l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),h=this._convertToCellCoord(i),u=this._convertToCellCoord(r);for(let p=l;p<=h;p++)for(let l=c;l<=u;l++){const c=this.d*l+p;if((!a||a(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+1),this._convertFromCellCoord(l+1)))&&n.call(this,t,e,i,r,c,s,o,a))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let i=0;for(let t=0;t=0)continue;const s=t[i];n[i]=Sr[r].shallow.indexOf(i)>=0?s:zr(s,e)}t instanceof Error&&(n.message=t.message)}if(n.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(n.$name=r),n}throw new Error("can't serialize object of type "+typeof t)}function Cr(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof Blob||Ar(t)||T(t)||ArrayBuffer.isView(t)||t instanceof ImageData)return t;if(Array.isArray(t))return t.map(Cr);if("object"==typeof t){const e=t.$name||"Object";if(!Sr[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:i}=Sr[e];if(!i)throw new Error(`can't deserialize unregistered class ${e}`);if(i.deserialize)return i.deserialize(t);const r=Object.create(i.prototype);for(const i of Object.keys(t)){if("$name"===i)continue;const n=t[i];r[i]=Sr[e].shallow.indexOf(i)>=0?n:Cr(n)}return r}throw new Error("can't deserialize object of type "+typeof t)}class Mr{constructor(){this.first=!0}update(t,e){const i=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=i,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=i,!0):(this.lastFloorZoom>i?(this.lastIntegerZoom=i+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function Pr(t){for(const e of t)if(Br(e.charCodeAt(0)))return!0;return!1}function Dr(t){for(const e of t)if(!Lr(e.charCodeAt(0)))return!1;return!0}function Lr(t){return!(kr.Arabic(t)||kr["Arabic Supplement"](t)||kr["Arabic Extended-A"](t)||kr["Arabic Presentation Forms-A"](t)||kr["Arabic Presentation Forms-B"](t))}function Br(t){return!(746!==t&&747!==t&&(t<4352||!(kr["Bopomofo Extended"](t)||kr.Bopomofo(t)||kr["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||kr["CJK Compatibility Ideographs"](t)||kr["CJK Compatibility"](t)||kr["CJK Radicals Supplement"](t)||kr["CJK Strokes"](t)||!(!kr["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||kr["CJK Unified Ideographs Extension A"](t)||kr["CJK Unified Ideographs"](t)||kr["Enclosed CJK Letters and Months"](t)||kr["Hangul Compatibility Jamo"](t)||kr["Hangul Jamo Extended-A"](t)||kr["Hangul Jamo Extended-B"](t)||kr["Hangul Jamo"](t)||kr["Hangul Syllables"](t)||kr.Hiragana(t)||kr["Ideographic Description Characters"](t)||kr.Kanbun(t)||kr["Kangxi Radicals"](t)||kr["Katakana Phonetic Extensions"](t)||kr.Katakana(t)&&12540!==t||!(!kr["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!kr["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||kr["Unified Canadian Aboriginal Syllabics"](t)||kr["Unified Canadian Aboriginal Syllabics Extended"](t)||kr["Vertical Forms"](t)||kr["Yijing Hexagram Symbols"](t)||kr["Yi Syllables"](t)||kr["Yi Radicals"](t))))}function Rr(t){return!(Br(t)||function(t){return!!(kr["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||kr["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||kr["Letterlike Symbols"](t)||kr["Number Forms"](t)||kr["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||kr["Control Pictures"](t)&&9251!==t||kr["Optical Character Recognition"](t)||kr["Enclosed Alphanumerics"](t)||kr["Geometric Shapes"](t)||kr["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||kr["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||kr["CJK Symbols and Punctuation"](t)||kr.Katakana(t)||kr["Private Use Area"](t)||kr["CJK Compatibility Forms"](t)||kr["Small Form Variants"](t)||kr["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Fr(t){return t>=1424&&t<=2303||kr["Arabic Presentation Forms-A"](t)||kr["Arabic Presentation Forms-B"](t)}function Or(t,e){return!(!e&&Fr(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||kr.Khmer(t))}function Ur(t){for(const e of t)if(Fr(e.charCodeAt(0)))return!0;return!1}const Vr="deferred",Nr="loading",Gr="loaded";let $r=null,qr="unavailable",jr=null;const Zr=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(qr="error"),$r&&$r(t)};function Xr(){Wr.fire(new tt("pluginStateChange",{pluginStatus:qr,pluginURL:jr}))}const Wr=new it,Hr=function(){return qr},Kr=function(){if(qr!==Vr||!jr)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");qr=Nr,Xr(),jr&&Z({url:jr},(t=>{t?Zr(t):(qr=Gr,Xr())}))},Jr={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>qr===Gr||null!=Jr.applyArabicShaping,isLoading:()=>qr===Nr,setState(t){qr=t.pluginStatus,jr=t.pluginURL},isParsed:()=>null!=Jr.applyArabicShaping&&null!=Jr.processBidirectionalText&&null!=Jr.processStyledBidirectionalText,getPluginURL:()=>jr};class Yr{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Mr,this.transition={})}isSupportedScript(t){return function(t,e){for(const i of t)if(!Or(i.charCodeAt(0),e))return!1;return!0}(t,Jr.isLoaded())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),i=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*i}:{fromScale:.5,toScale:1,t:1-(1-i)*e}}}class Qr{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Ei(t))return new Oi(t,e);if(Di(t)){const i=Fi(t,e);if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return i.value}{let i=t;return"color"===e.type&&"string"==typeof t?i=Lt.parse(t):"padding"!==e.type||"number"!=typeof t&&!Array.isArray(t)||(i=Ot.parse(t)),{kind:"constant",evaluate:()=>i}}}(void 0===e?t.specification.default:e,t.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(t,e,i){return this.property.possiblyEvaluate(this,t,e,i)}}class tn{constructor(t){this.property=t,this.value=new Qr(t,void 0)}transitioned(t,e){return new rn(this.property,this.value,e,a({},t.transition,this.transition),t.now)}untransitioned(){return new rn(this.property,this.value,null,{},0)}}class en{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return p(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new tn(this._values[t].property)),this._values[t].value=new Qr(this._values[t].property,null===e?void 0:p(e))}getTransition(t){return p(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new tn(this._values[t].property)),this._values[t].transition=p(e)||void 0}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i);const r=this.getTransition(e);void 0!==r&&(t[`${e}-transition`]=r)}return t}transitioned(t,e){const i=new nn(this._properties);for(const r of Object.keys(this._values))i._values[r]=this._values[r].transitioned(t,e._values[r]);return i}untransitioned(){const t=new nn(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class rn{constructor(t,e,i,r,n){this.property=t,this.value=e,this.begin=n+r.delay||0,this.end=this.begin+r.duration||0,t.specification.transition&&(r.delay||r.duration)&&(this.prior=i)}possiblyEvaluate(t,e,i){const r=t.now||0,n=this.value.possiblyEvaluate(t,e,i),s=this.prior;if(s){if(r>this.end)return this.prior=null,n;if(this.value.isDataDriven())return this.prior=null,n;if(r=1)return 1;const e=t*t,i=e*t;return 4*(t<.5?i:3*(t-e)+i-.75)}(o))}}return n}}class nn{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,e,i){const r=new an(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return!0;return!1}}class sn{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}getValue(t){return p(this._values[t].value)}setValue(t,e){this._values[t]=new Qr(this._values[t].property,null===e?void 0:p(e))}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i)}return t}possiblyEvaluate(t,e,i){const r=new an(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}}class on{constructor(t,e,i){this.property=t,this.value=e,this.parameters=i}isConstant(){return"constant"===this.value.kind}constantOr(t){return"constant"===this.value.kind?this.value.value:t}evaluate(t,e,i,r){return this.property.evaluate(this.value,this.parameters,t,e,i,r)}}class an{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class ln{constructor(t){this.specification=t}possiblyEvaluate(t,e){return t.expression.evaluate(e)}interpolate(t,e,i){const r=Ie[this.specification.type];return r?r(t,e,i):t}}class cn{constructor(t,e){this.specification=t,this.overrides=e}possiblyEvaluate(t,e,i,r){return new on(this,"constant"===t.expression.kind||"camera"===t.expression.kind?{kind:"constant",value:t.expression.evaluate(e,null,{},i,r)}:t.expression,e)}interpolate(t,e,i){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new on(this,{kind:"constant",value:void 0},t.parameters);const r=Ie[this.specification.type];return r?new on(this,{kind:"constant",value:r(t.value.value,e.value.value,i)},t.parameters):t}evaluate(t,e,i,r,n,s){return"constant"===t.kind?t.value:t.evaluate(e,i,r,n,s)}}class hn extends cn{possiblyEvaluate(t,e,i,r){if(void 0===t.value)return new on(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){const n=t.expression.evaluate(e,null,{},i,r),s="resolvedImage"===t.property.specification.type&&"string"!=typeof n?n.name:n,o=this._calculate(s,s,s,e);return new on(this,{kind:"constant",value:o},e)}if("camera"===t.expression.kind){const i=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new on(this,{kind:"constant",value:i},e)}return new on(this,t.expression,e)}evaluate(t,e,i,r,n,s){if("source"===t.kind){const o=t.evaluate(e,i,r,n,s);return this._calculate(o,o,o,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},i,r),t.evaluate({zoom:Math.floor(e.zoom)},i,r),t.evaluate({zoom:Math.floor(e.zoom)+1},i,r),e):t.value}_calculate(t,e,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:i,to:e}}interpolate(t){return t}}class un{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){if(void 0!==t.value){if("constant"===t.expression.kind){const n=t.expression.evaluate(e,null,{},i,r);return this._calculate(n,n,n,e)}return this._calculate(t.expression.evaluate(new Yr(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Yr(Math.floor(e.zoom),e)),t.expression.evaluate(new Yr(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:i,to:e}}interpolate(t){return t}}class pn{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){return!!t.expression.evaluate(e,null,{},i,r)}interpolate(){return!1}}class dn{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const i=t[e];i.specification.overridable&&this.overridableProperties.push(e);const r=this.defaultPropertyValues[e]=new Qr(i,void 0),n=this.defaultTransitionablePropertyValues[e]=new tn(i);this.defaultTransitioningPropertyValues[e]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=r.possiblyEvaluate({})}}}Ir("DataDrivenProperty",cn),Ir("DataConstantProperty",ln),Ir("CrossFadedDataDrivenProperty",hn),Ir("CrossFadedProperty",un),Ir("ColorRampProperty",pn);const mn="-transition";class fn extends it{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new sn(e.layout)),e.paint)){this._transitionablePaint=new en(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new an(e.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,i={}){null!=e&&this._validate(wr,`layers.${this.id}.layout.${t}`,t,e,i)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)}getPaintProperty(t){return t.endsWith(mn)?this._transitionablePaint.getTransition(t.slice(0,-mn.length)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,i={}){if(null!=e&&this._validate(br,`layers.${this.id}.paint.${t}`,t,e,i))return!1;if(t.endsWith(mn))return this._transitionablePaint.setTransition(t.slice(0,-mn.length),e||void 0),!1;{const i=this._transitionablePaint._values[t],r="cross-faded-data-driven"===i.property.specification["property-type"],n=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const o=this._transitionablePaint._values[t].value;return o.isDataDriven()||n||r||this._handleOverridablePaintPropertyUpdate(t,s,o)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,i){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)}serialize(){const t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),u(t,((t,e)=>!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)))}_validate(t,e,i,r,n={}){return(!n||!1!==n.validate)&&Tr(this,t.call(xr,{key:e,layerType:this.type,objectKey:i,value:r,styleSpec:rt,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof on&&vi(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}}const gn={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class _n{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class yn{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(t){this.reserve(t),this.length=t}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function xn(t,e=1){let i=0,r=0;return{members:t.map((t=>{const n=gn[t.type].BYTES_PER_ELEMENT,s=i=vn(i,Math.max(e,n)),o=t.components||1;return r=Math.max(r,n),i+=n*o,{name:t.name,type:t.type,components:o,offset:s}})),size:vn(i,Math.max(r,e)),alignment:e}}function vn(t,e){return Math.ceil(t/e)*e}class bn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.int16[r+0]=e,this.int16[r+1]=i,t}}bn.prototype.bytesPerElement=4,Ir("StructArrayLayout2i4",bn);class wn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const s=4*t;return this.int16[s+0]=e,this.int16[s+1]=i,this.int16[s+2]=r,this.int16[s+3]=n,t}}wn.prototype.bytesPerElement=8,Ir("StructArrayLayout4i8",wn);class Tn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,o){const a=6*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.int16[a+2]=r,this.int16[a+3]=n,this.int16[a+4]=s,this.int16[a+5]=o,t}}Tn.prototype.bytesPerElement=12,Ir("StructArrayLayout2i4i12",Tn);class En extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,o){const a=4*t,l=8*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.uint8[l+4]=r,this.uint8[l+5]=n,this.uint8[l+6]=s,this.uint8[l+7]=o,t}}En.prototype.bytesPerElement=8,Ir("StructArrayLayout2i4ub8",En);class Sn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.float32[r+0]=e,this.float32[r+1]=i,t}}Sn.prototype.bytesPerElement=8,Ir("StructArrayLayout2f8",Sn);class In extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,o,a,l,c){const h=this.length;return this.resize(h+1),this.emplace(h,t,e,i,r,n,s,o,a,l,c)}emplace(t,e,i,r,n,s,o,a,l,c,h){const u=10*t;return this.uint16[u+0]=e,this.uint16[u+1]=i,this.uint16[u+2]=r,this.uint16[u+3]=n,this.uint16[u+4]=s,this.uint16[u+5]=o,this.uint16[u+6]=a,this.uint16[u+7]=l,this.uint16[u+8]=c,this.uint16[u+9]=h,t}}In.prototype.bytesPerElement=20,Ir("StructArrayLayout10ui20",In);class An extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,o,a,l,c,h,u){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,i,r,n,s,o,a,l,c,h,u)}emplace(t,e,i,r,n,s,o,a,l,c,h,u,p){const d=12*t;return this.int16[d+0]=e,this.int16[d+1]=i,this.int16[d+2]=r,this.int16[d+3]=n,this.uint16[d+4]=s,this.uint16[d+5]=o,this.uint16[d+6]=a,this.uint16[d+7]=l,this.int16[d+8]=c,this.int16[d+9]=h,this.int16[d+10]=u,this.int16[d+11]=p,t}}An.prototype.bytesPerElement=24,Ir("StructArrayLayout4i4ui4i24",An);class zn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.float32[n+0]=e,this.float32[n+1]=i,this.float32[n+2]=r,t}}zn.prototype.bytesPerElement=12,Ir("StructArrayLayout3f12",zn);class Cn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}Cn.prototype.bytesPerElement=4,Ir("StructArrayLayout1ul4",Cn);class Mn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,o,a,l){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,i,r,n,s,o,a,l)}emplace(t,e,i,r,n,s,o,a,l,c){const h=10*t,u=5*t;return this.int16[h+0]=e,this.int16[h+1]=i,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=s,this.int16[h+5]=o,this.uint32[u+3]=a,this.uint16[h+8]=l,this.uint16[h+9]=c,t}}Mn.prototype.bytesPerElement=20,Ir("StructArrayLayout6i1ul2ui20",Mn);class kn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,o){const a=6*t;return this.int16[a+0]=e,this.int16[a+1]=i,this.int16[a+2]=r,this.int16[a+3]=n,this.int16[a+4]=s,this.int16[a+5]=o,t}}kn.prototype.bytesPerElement=12,Ir("StructArrayLayout2i2i2i12",kn);class Pn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,i,r,n)}emplace(t,e,i,r,n,s){const o=4*t,a=8*t;return this.float32[o+0]=e,this.float32[o+1]=i,this.float32[o+2]=r,this.int16[a+6]=n,this.int16[a+7]=s,t}}Pn.prototype.bytesPerElement=16,Ir("StructArrayLayout2f1f2i16",Pn);class Dn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const s=12*t,o=3*t;return this.uint8[s+0]=e,this.uint8[s+1]=i,this.float32[o+1]=r,this.float32[o+2]=n,t}}Dn.prototype.bytesPerElement=12,Ir("StructArrayLayout2ub2f12",Dn);class Ln extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.uint16[n+0]=e,this.uint16[n+1]=i,this.uint16[n+2]=r,t}}Ln.prototype.bytesPerElement=6,Ir("StructArrayLayout3ui6",Ln);class Bn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g){const _=this.length;return this.resize(_+1),this.emplace(_,t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g)}emplace(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g,_){const y=24*t,x=12*t,v=48*t;return this.int16[y+0]=e,this.int16[y+1]=i,this.uint16[y+2]=r,this.uint16[y+3]=n,this.uint32[x+2]=s,this.uint32[x+3]=o,this.uint32[x+4]=a,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=h,this.float32[x+7]=u,this.float32[x+8]=p,this.uint8[v+36]=d,this.uint8[v+37]=m,this.uint8[v+38]=f,this.uint32[x+10]=g,this.int16[y+22]=_,t}}Bn.prototype.bytesPerElement=48,Ir("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Bn);class Rn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,A){const z=this.length;return this.resize(z+1),this.emplace(z,t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,A)}emplace(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g,_,y,x,v,b,w,T,E,S,I,A,z){const C=34*t,M=17*t;return this.int16[C+0]=e,this.int16[C+1]=i,this.int16[C+2]=r,this.int16[C+3]=n,this.int16[C+4]=s,this.int16[C+5]=o,this.int16[C+6]=a,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=h,this.uint16[C+10]=u,this.uint16[C+11]=p,this.uint16[C+12]=d,this.uint16[C+13]=m,this.uint16[C+14]=f,this.uint16[C+15]=g,this.uint16[C+16]=_,this.uint16[C+17]=y,this.uint16[C+18]=x,this.uint16[C+19]=v,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[M+12]=E,this.float32[M+13]=S,this.float32[M+14]=I,this.float32[M+15]=A,this.float32[M+16]=z,t}}Rn.prototype.bytesPerElement=68,Ir("StructArrayLayout8i15ui1ul4f68",Rn);class Fn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}Fn.prototype.bytesPerElement=4,Ir("StructArrayLayout1f4",Fn);class On extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.int16[n+0]=e,this.int16[n+1]=i,this.int16[n+2]=r,t}}On.prototype.bytesPerElement=6,Ir("StructArrayLayout3i6",On);class Un extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=4*t;return this.uint32[2*t+0]=e,this.uint16[n+2]=i,this.uint16[n+3]=r,t}}Un.prototype.bytesPerElement=8,Ir("StructArrayLayout1ul2ui8",Un);class Vn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.uint16[r+0]=e,this.uint16[r+1]=i,t}}Vn.prototype.bytesPerElement=4,Ir("StructArrayLayout2ui4",Vn);class Nn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}Nn.prototype.bytesPerElement=2,Ir("StructArrayLayout1ui2",Nn);class Gn extends yn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const s=4*t;return this.float32[s+0]=e,this.float32[s+1]=i,this.float32[s+2]=r,this.float32[s+3]=n,t}}Gn.prototype.bytesPerElement=16,Ir("StructArrayLayout4f16",Gn);class $n extends _n{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new S(this.anchorPointX,this.anchorPointY)}}$n.prototype.size=20;class qn extends Mn{get(t){return new $n(this,t)}}Ir("CollisionBoxArray",qn);class jn extends _n{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}jn.prototype.size=48;class Zn extends Bn{get(t){return new jn(this,t)}}Ir("PlacedSymbolArray",Zn);class Xn extends _n{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get textOffset0(){return this._structArray.float32[this._pos4+14]}get textOffset1(){return this._structArray.float32[this._pos4+15]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+16]}}Xn.prototype.size=68;class Wn extends Rn{get(t){return new Xn(this,t)}}Ir("SymbolInstanceArray",Wn);class Hn extends Fn{getoffsetX(t){return this.float32[1*t+0]}}Ir("GlyphOffsetArray",Hn);class Kn extends On{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Ir("SymbolLineVertexArray",Kn);class Jn extends _n{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Jn.prototype.size=8;class Yn extends Un{get(t){return new Jn(this,t)}}Ir("FeatureIndexArray",Yn);class Qn extends bn{}class ts extends bn{}class es extends bn{}class is extends Tn{}class rs extends En{}class ns extends Sn{}class ss extends In{}class os extends An{}class as extends zn{}class ls extends Cn{}class cs extends kn{}class hs extends Dn{}class us extends Ln{}class ps extends Vn{}const ds=xn([{name:"a_pos",components:2,type:"Int16"}],4),{members:ms}=ds;class fs{constructor(t=[]){this.segments=t}prepareSegment(t,e,i,r){let n=this.segments[this.segments.length-1];return t>fs.MAX_VERTEX_ARRAY_LENGTH&&m(`Max vertices per segment is ${fs.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!n||n.vertexLength+t>fs.MAX_VERTEX_ARRAY_LENGTH||n.sortKey!==r)&&(n={vertexOffset:e.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},void 0!==r&&(n.sortKey=r),this.segments.push(n)),n}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy()}static simpleSegment(t,e,i,r){return new fs([{vertexOffset:t,primitiveOffset:e,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])}}function gs(t,e){return 256*(t=s(Math.floor(t),0,255))+s(Math.floor(e),0,255)}fs.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ir("SegmentVector",fs);const _s=xn([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var ys={exports:{}},xs={exports:{}};xs.exports=function(t,e){var i,r,n,s,o,a,l,c;for(r=t.length-(i=3&t.length),n=e,o=3432918353,a=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<13|n>>>19))+((5*(n>>>16)&65535)<<16)&4294967295))+((58964+(s>>>16)&65535)<<16);switch(l=0,i){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:n^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295}return n^=t.length,n=2246822507*(65535&(n^=n>>>16))+((2246822507*(n>>>16)&65535)<<16)&4294967295,n=3266489909*(65535&(n^=n>>>13))+((3266489909*(n>>>16)&65535)<<16)&4294967295,(n^=n>>>16)>>>0};var vs={exports:{}};vs.exports=function(t,e){for(var i,r=t.length,n=e^r,s=0;r>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),n=1540483477*(65535&n)+((1540483477*(n>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),r-=4,++s;switch(r){case 3:n^=(255&t.charCodeAt(s+2))<<16;case 2:n^=(255&t.charCodeAt(s+1))<<8;case 1:n=1540483477*(65535&(n^=255&t.charCodeAt(s)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),(n^=n>>>15)>>>0};var bs=xs.exports,ws=vs.exports;ys.exports=bs,ys.exports.murmur3=bs,ys.exports.murmur2=ws;class Ts{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,i,r){this.ids.push(Es(t)),this.positions.push(e,i,r)}getPositions(t){const e=Es(t);let i=0,r=this.ids.length-1;for(;i>1;this.ids[t]>=e?r=t:i=t+1}const n=[];for(;this.ids[i]===e;)n.push({index:this.positions[3*i],start:this.positions[3*i+1],end:this.positions[3*i+2]}),i++;return n}static serialize(t,e){const i=new Float64Array(t.ids),r=new Uint32Array(t.positions);return Ss(i,r,0,i.length-1),e&&e.push(i.buffer,r.buffer),{ids:i,positions:r}}static deserialize(t){const e=new Ts;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function Es(t){const e=+t;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:ys.exports(String(t))}function Ss(t,e,i,r){for(;i>1];let s=i-1,o=r+1;for(;;){do{s++}while(t[s]n);if(s>=o)break;Is(t,s,o),Is(e,3*s,3*o),Is(e,3*s+1,3*o+1),Is(e,3*s+2,3*o+2)}o-i`u_${t}`)),this.type=i}setUniform(t,e,i){t.set(i.constantOr(this.value))}getBinding(t,e,i){return"color"===this.type?new Ms(t,e):new zs(t,e)}}class Ls{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr}setUniform(t,e,i,r){const n="u_pattern_to"===r?this.patternTo:"u_pattern_from"===r?this.patternFrom:"u_pixel_ratio_to"===r?this.pixelRatioTo:"u_pixel_ratio_from"===r?this.pixelRatioFrom:null;n&&t.set(n)}getBinding(t,e,i){return"u_pattern"===i.substr(0,9)?new Cs(t,e):new zs(t,e)}}class Bs{constructor(t,e,i,r){this.expression=t,this.type=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(t,e,i,r,n){const s=this.paintVertexArray.length,o=this.expression.evaluate(new Yr(0),e,{},r,[],n);this.paintVertexArray.resize(t),this._setPaintValue(s,t,o)}updatePaintArray(t,e,i,r){const n=this.expression.evaluate({zoom:0},i,r);this._setPaintValue(t,e,n)}_setPaintValue(t,e,i){if("color"===this.type){const r=Ps(i);for(let i=t;i`u_${t}_t`)),this.type=i,this.useIntegerZoom=r,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?4:2,offset:0}))),this.paintVertexArray=new s}populatePaintArray(t,e,i,r,n){const s=this.expression.evaluate(new Yr(this.zoom),e,{},r,[],n),o=this.expression.evaluate(new Yr(this.zoom+1),e,{},r,[],n),a=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(a,t,s,o)}updatePaintArray(t,e,i,r){const n=this.expression.evaluate({zoom:this.zoom},i,r),s=this.expression.evaluate({zoom:this.zoom+1},i,r);this._setPaintValue(t,e,n,s)}_setPaintValue(t,e,i,r){if("color"===this.type){const n=Ps(i),s=Ps(r);for(let i=t;i`#define HAS_UNIFORM_${t}`)))}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const i=this.binders[e];if(i instanceof Bs||i instanceof Rs)for(let e=0;e!0)){this.programConfigurations={};for(const r of t)this.programConfigurations[r.id]=new Os(r,e,i);this.needsUpload=!1,this._featureMap=new Ts,this._bufferOffset=0}populatePaintArrays(t,e,i,r,n,s){for(const i in this.programConfigurations)this.programConfigurations[i].populatePaintArrays(t,e,r,n,s);void 0!==e.id&&this._featureMap.add(e.id,i,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,e,i,r){for(const n of i)this.needsUpload=this.programConfigurations[n.id].updatePaintArrays(t,this._featureMap,e,n,r)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}function Vs(t,e){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(`${e}-`,"").replace(/-/g,"_")]}function Ns(t,e,i){const r={color:{source:Sn,composite:Gn},number:{source:Fn,composite:Sn}},n=function(t){return{"line-pattern":{source:ss,composite:ss},"fill-pattern":{source:ss,composite:ss},"fill-extrusion-pattern":{source:ss,composite:ss}}[t]}(t);return n&&n[i]||r[e][i]}Ir("ConstantBinder",Ds),Ir("CrossFadedConstantBinder",Ls),Ir("SourceExpressionBinder",Bs),Ir("CrossFadedCompositeBinder",Fs),Ir("CompositeExpressionBinder",Rs),Ir("ProgramConfiguration",Os,{omit:["_buffers"]}),Ir("ProgramConfigurationSet",Us);var Gs=8192;const $s=Math.pow(2,14)-1,qs=-$s-1;function js(t){const e=Gs/t.extent,i=t.loadGeometry();for(let t=0;ti.x+1||oi.y+1)&&m("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return i}function Zs(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?js(t):[]}}function Xs(t,e,i,r,n){t.emplaceBack(2*e+(r+1)/2,2*i+(n+1)/2)}class Ws{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ts,this.indexArray=new us,this.segments=new fs,this.programConfigurations=new Us(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){const r=this.layers[0],n=[];let s=null,o=!1;"circle"===r.type&&(s=r.layout.get("circle-sort-key"),o=!s.isConstant());for(const{feature:e,id:r,index:a,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Zs(e,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),c,i))continue;const h=o?s.evaluate(c,{},i):void 0,u={id:r,properties:e.properties,type:e.type,sourceLayerIndex:l,index:a,geometry:t?c.geometry:js(e),patterns:{},sortKey:h};n.push(u)}o&&n.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of n){const{geometry:n,index:s,sourceLayerIndex:o}=r,a=t[s].feature;this.addFeature(r,n,s,i),e.featureIndex.insert(a,n,s,o,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ms),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(t,e,i,r){for(const i of e)for(const e of i){const i=e.x,r=e.y;if(i<0||i>=Gs||r<0||r>=Gs)continue;const n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),s=n.vertexLength;Xs(this.layoutVertexArray,i,r,-1,-1),Xs(this.layoutVertexArray,i,r,1,-1),Xs(this.layoutVertexArray,i,r,1,1),Xs(this.layoutVertexArray,i,r,-1,1),this.indexArray.emplaceBack(s,s+1,s+2),this.indexArray.emplaceBack(s,s+3,s+2),n.vertexLength+=4,n.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,{},r)}}function Hs(t,e){for(let i=0;i1){if(Qs(t,e))return!0;for(let r=0;r1?i:i.sub(e)._mult(n)._add(e))}function ro(t,e){let i,r,n,s=!1;for(let o=0;oe.y!=n.y>e.y&&e.x<(n.x-r.x)*(e.y-r.y)/(n.y-r.y)+r.x&&(s=!s)}return s}function no(t,e){let i=!1;for(let r=0,n=t.length-1;re.y!=o.y>e.y&&e.x<(o.x-s.x)*(e.y-s.y)/(o.y-s.y)+s.x&&(i=!i)}return i}function so(t,e,i){const r=i[0],n=i[2];if(t.xn.x&&e.x>n.x||t.yn.y&&e.y>n.y)return!1;const s=f(t,e,i[0]);return s!==f(t,e,i[1])||s!==f(t,e,i[2])||s!==f(t,e,i[3])}function oo(t,e,i){const r=e.paint.get(t).value;return"constant"===r.kind?r.value:i.programConfigurations.get(e.id).getMaxValue(t)}function ao(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function lo(t,e,i,r,n){if(!e[0]&&!e[1])return t;const s=S.convert(e)._mult(n);"viewport"===i&&s._rotate(-r);const o=[];for(let e=0;et.width||n.height>t.height||i.x>t.width-n.width||i.y>t.height-n.height)throw new RangeError("out of range source coordinates for image copy");if(n.width>e.width||n.height>e.height||r.x>e.width-n.width||r.y>e.height-n.height)throw new RangeError("out of range destination coordinates for image copy");const o=t.data,a=e.data;for(let l=0;l{e[t.evaluationKey]=s;const o=t.expression.evaluate(e);n.data[i+r+0]=Math.floor(255*o.r/o.a),n.data[i+r+1]=Math.floor(255*o.g/o.a),n.data[i+r+2]=Math.floor(255*o.b/o.a),n.data[i+r+3]=Math.floor(255*o.a)};if(t.clips)for(let e=0,n=0;e80*i){r=s=t[0],n=o=t[1];for(var m=i;ms&&(s=a),l>o&&(o=l);c=0!==(c=Math.max(s-r,o-n))?32767/c:0}return Uo(p,d,i,r,n,c,0),d}function Fo(t,e,i,r,n){var s,o;if(n===aa(t,e,i,r)>0)for(s=e;s=e;s-=r)o=na(s,t[s],t[s+1],o);return o&&Yo(o,o.next)&&(sa(o),o=o.next),o}function Oo(t,e){if(!t)return t;e||(e=t);var i,r=t;do{if(i=!1,r.steiner||!Yo(r,r.next)&&0!==Jo(r.prev,r,r.next))r=r.next;else{if(sa(r),(r=e=r.prev)===r.next)break;i=!0}}while(i||r!==e);return e}function Uo(t,e,i,r,n,s,o){if(t){!o&&s&&function(t,e,i,r){var n=t;do{0===n.z&&(n.z=Xo(n.x,n.y,e,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e,i,r,n,s,o,a,l,c=1;do{for(i=t,t=null,s=null,o=0;i;){for(o++,r=i,a=0,e=0;e0||l>0&&r;)0!==a&&(0===l||!r||i.z<=r.z)?(n=i,i=i.nextZ,a--):(n=r,r=r.nextZ,l--),s?s.nextZ=n:t=n,n.prevZ=s,s=n;i=r}s.nextZ=null,c*=2}while(o>1)}(n)}(t,r,n,s);for(var a,l,c=t;t.prev!==t.next;)if(a=t.prev,l=t.next,s?No(t,r,n,s):Vo(t))e.push(a.i/i|0),e.push(t.i/i|0),e.push(l.i/i|0),sa(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?Uo(t=Go(Oo(t),e,i),e,i,r,n,s,2):2===o&&$o(t,e,i,r,n,s):Uo(Oo(t),e,i,r,n,s,1);break}}}function Vo(t){var e=t.prev,i=t,r=t.next;if(Jo(e,i,r)>=0)return!1;for(var n=e.x,s=i.x,o=r.x,a=e.y,l=i.y,c=r.y,h=ns?n>o?n:o:s>o?s:o,d=a>l?a>c?a:c:l>c?l:c,m=r.next;m!==e;){if(m.x>=h&&m.x<=p&&m.y>=u&&m.y<=d&&Ho(n,a,s,l,o,c,m.x,m.y)&&Jo(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function No(t,e,i,r){var n=t.prev,s=t,o=t.next;if(Jo(n,s,o)>=0)return!1;for(var a=n.x,l=s.x,c=o.x,h=n.y,u=s.y,p=o.y,d=al?a>c?a:c:l>c?l:c,g=h>u?h>p?h:p:u>p?u:p,_=Xo(d,m,e,i,r),y=Xo(f,g,e,i,r),x=t.prevZ,v=t.nextZ;x&&x.z>=_&&v&&v.z<=y;){if(x.x>=d&&x.x<=f&&x.y>=m&&x.y<=g&&x!==n&&x!==o&&Ho(a,h,l,u,c,p,x.x,x.y)&&Jo(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,v.x>=d&&v.x<=f&&v.y>=m&&v.y<=g&&v!==n&&v!==o&&Ho(a,h,l,u,c,p,v.x,v.y)&&Jo(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;x&&x.z>=_;){if(x.x>=d&&x.x<=f&&x.y>=m&&x.y<=g&&x!==n&&x!==o&&Ho(a,h,l,u,c,p,x.x,x.y)&&Jo(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;v&&v.z<=y;){if(v.x>=d&&v.x<=f&&v.y>=m&&v.y<=g&&v!==n&&v!==o&&Ho(a,h,l,u,c,p,v.x,v.y)&&Jo(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function Go(t,e,i){var r=t;do{var n=r.prev,s=r.next.next;!Yo(n,s)&&Qo(n,r,r.next,s)&&ia(n,s)&&ia(s,n)&&(e.push(n.i/i|0),e.push(r.i/i|0),e.push(s.i/i|0),sa(r),sa(r.next),r=t=s),r=r.next}while(r!==t);return Oo(r)}function $o(t,e,i,r,n,s){var o=t;do{for(var a=o.next.next;a!==o.prev;){if(o.i!==a.i&&Ko(o,a)){var l=ra(o,a);return o=Oo(o,o.next),l=Oo(l,l.next),Uo(o,e,i,r,n,s,0),void Uo(l,e,i,r,n,s,0)}a=a.next}o=o.next}while(o!==t)}function qo(t,e){return t.x-e.x}function jo(t,e){var i=function(t,e){var i,r=e,n=t.x,s=t.y,o=-1/0;do{if(s<=r.y&&s>=r.next.y&&r.next.y!==r.y){var a=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(a<=n&&a>o&&(o=a,i=r.x=r.x&&r.x>=h&&n!==r.x&&Ho(si.x||r.x===i.x&&Zo(i,r)))&&(i=r,p=l)),r=r.next}while(r!==c);return i}(t,e);if(!i)return e;var r=ra(i,t);return Oo(r,r.next),Oo(i,i.next)}function Zo(t,e){return Jo(t.prev,t,e.prev)<0&&Jo(e.next,t,t.next)<0}function Xo(t,e,i,r,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-i)*n|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*n|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Wo(t){var e=t,i=t;do{(e.x=(t-o)*(s-a)&&(t-o)*(r-a)>=(i-o)*(e-a)&&(i-o)*(s-a)>=(n-o)*(r-a)}function Ko(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&Qo(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(ia(t,e)&&ia(e,t)&&function(t,e){var i=t,r=!1,n=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&i.next.y!==i.y&&n<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next}while(i!==t);return r}(t,e)&&(Jo(t.prev,t,e.prev)||Jo(t,e.prev,e))||Yo(t,e)&&Jo(t.prev,t,t.next)>0&&Jo(e.prev,e,e.next)>0)}function Jo(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function Yo(t,e){return t.x===e.x&&t.y===e.y}function Qo(t,e,i,r){var n=ea(Jo(t,e,i)),s=ea(Jo(t,e,r)),o=ea(Jo(i,r,t)),a=ea(Jo(i,r,e));return n!==s&&o!==a||!(0!==n||!ta(t,i,e))||!(0!==s||!ta(t,r,e))||!(0!==o||!ta(i,t,r))||!(0!==a||!ta(i,e,r))}function ta(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function ea(t){return t>0?1:t<0?-1:0}function ia(t,e){return Jo(t.prev,t,t.next)<0?Jo(t,e,t.next)>=0&&Jo(t,t.prev,e)>=0:Jo(t,e,t.prev)<0||Jo(t,t.next,e)<0}function ra(t,e){var i=new oa(t.i,t.x,t.y),r=new oa(e.i,e.x,e.y),n=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=n,n.prev=i,r.next=i,i.prev=r,s.next=r,r.prev=s,r}function na(t,e,i,r){var n=new oa(t,e,i);return r?(n.next=r.next,n.prev=r,r.next.prev=n,r.next=n):(n.prev=n,n.next=n),n}function sa(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function oa(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function aa(t,e,i,r){for(var n=0,s=e,o=i-r;si;){if(r-i>600){var s=r-i+1,o=e-i+1,a=Math.log(s),l=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*l*(s-l)/s)*(o-s/2<0?-1:1);ca(t,e,Math.max(i,Math.floor(e-o*l/s+c)),Math.min(r,Math.floor(e+(s-o)*l/s+c)),n)}var h=t[e],u=i,p=r;for(ha(t,i,e),n(t[r],h)>0&&ha(t,i,r);u0;)p--}0===n(t[i],h)?ha(t,i,p):ha(t,++p,r),p<=e&&(i=p+1),e<=p&&(r=p-1)}}function ha(t,e,i){var r=t[e];t[e]=t[i],t[i]=r}function ua(t,e){return te?1:0}function pa(t,e){const i=t.length;if(i<=1)return[t];const r=[];let n,s;for(let e=0;e1)for(let t=0;t0&&i.holes.push(r+=t[n-1].length)}return i};class ga{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new es,this.indexArray=new us,this.indexArray2=new ps,this.programConfigurations=new Us(t.layers,t.zoom),this.segments=new fs,this.segments2=new fs,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=ma("fill",this.layers,e);const r=this.layers[0].layout.get("fill-sort-key"),n=!r.isConstant(),s=[];for(const{feature:o,id:a,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,h=Zs(o,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),h,i))continue;const u=n?r.evaluate(h,{},i,e.availableImages):void 0,p={id:a,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:t?h.geometry:js(o),patterns:{},sortKey:u};s.push(p)}n&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of s){const{geometry:n,index:s,sourceLayerIndex:o}=r;if(this.hasPattern){const t=fa("fill",this.layers,r,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(r,n,s,i,{});e.featureIndex.insert(t[s].feature,n,s,o,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}addFeatures(t,e,i){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Lo),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(t,e,i,r,n){for(const t of pa(e,500)){let e=0;for(const i of t)e+=i.length;const i=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),r=i.vertexLength,n=[],s=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&s.push(n.length/2);const i=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),r=i.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(r+e.length-1,r),n.push(e[0].x),n.push(e[0].y);for(let t=1;t>3}if(n--,1===r||2===r)s+=t.readSVarint(),o+=t.readSVarint(),1===r&&(e&&a.push(e),e=[]),e.push(new Ta(s,o));else{if(7!==r)throw new Error("unknown command "+r);e&&e.push(e[0].clone())}}return e&&a.push(e),a},Sa.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,i=1,r=0,n=0,s=0,o=1/0,a=-1/0,l=1/0,c=-1/0;t.pos>3}if(r--,1===i||2===i)(n+=t.readSVarint())a&&(a=n),(s+=t.readSVarint())c&&(c=s);else if(7!==i)throw new Error("unknown command "+i)}return[o,l,a,c]},Sa.prototype.toGeoJSON=function(t,e,i){var r,n,s=this.extent*Math.pow(2,i),o=this.extent*t,a=this.extent*e,l=this.loadGeometry(),c=Sa.types[this.type];function h(t){for(var e=0;e>3;e=1===r?t.readString():2===r?t.readFloat():3===r?t.readDouble():4===r?t.readVarint64():5===r?t.readVarint():6===r?t.readSVarint():7===r?t.readBoolean():null}return e}(i))}Ma.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new za(this._pbf,e,this.extent,this._keys,this._values)};var Pa=Ca;function Da(t,e,i){if(3===t){var r=new Pa(i,i.readVarint()+i.pos);r.length&&(e[r.name]=r)}}wa.VectorTile=function(t,e){this.layers=t.readFields(Da,{},e)},wa.VectorTileFeature=Ea,wa.VectorTileLayer=Ca;const La=wa.VectorTileFeature.types,Ba=Math.pow(2,13);function Ra(t,e,i,r,n,s,o,a){t.emplaceBack(e,i,2*Math.floor(r*Ba)+o,n*Ba*2,s*Ba*2,Math.round(a))}class Fa{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new is,this.centroidVertexArray=new Qn,this.indexArray=new us,this.programConfigurations=new Us(t.layers,t.zoom),this.segments=new fs,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.features=[],this.hasPattern=ma("fill-extrusion",this.layers,e);for(const{feature:r,id:n,index:s,sourceLayerIndex:o}of t){const t=this.layers[0]._featureFilter.needGeometry,a=Zs(r,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),a,i))continue;const l={id:n,sourceLayerIndex:o,index:s,geometry:t?a.geometry:js(r),properties:r.properties,type:r.type,patterns:{}};this.hasPattern?this.features.push(fa("fill-extrusion",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,s,i,{}),e.featureIndex.insert(r,l.geometry,s,o,this.index,!0)}}addFeatures(t,e,i){for(const t of this.features){const{geometry:r}=t;this.addFeature(t,r,t.index,e,i)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ba),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,va.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(t,e,i,r,n){const s={x:0,y:0,vertexCount:0};for(const i of pa(e,500)){let e=0;for(const t of i)e+=t.length;let r=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of i){if(0===t.length)continue;if(Ua(t))continue;let e=0;for(let i=0;i=1){const o=t[i-1];if(!Oa(n,o)){r.vertexLength+4>fs.MAX_VERTEX_ARRAY_LENGTH&&(r=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=n.sub(o)._perp()._unit(),i=o.dist(n);e+i>32768&&(e=0),Ra(this.layoutVertexArray,n.x,n.y,t.x,t.y,0,0,e),Ra(this.layoutVertexArray,n.x,n.y,t.x,t.y,0,1,e),s.x+=2*n.x,s.y+=2*n.y,s.vertexCount+=2,e+=i,Ra(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,0,e),Ra(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,1,e),s.x+=2*o.x,s.y+=2*o.y,s.vertexCount+=2;const a=r.vertexLength;this.indexArray.emplaceBack(a,a+2,a+1),this.indexArray.emplaceBack(a+1,a+2,a+3),r.vertexLength+=4,r.primitiveLength+=2}}}}if(r.vertexLength+e>fs.MAX_VERTEX_ARRAY_LENGTH&&(r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray)),"Polygon"!==La[t.type])continue;const n=[],o=[],a=r.vertexLength;for(const t of i)if(0!==t.length){t!==i[0]&&o.push(n.length/2);for(let e=0;eGs)||t.y===e.y&&(t.y<0||t.y>Gs)}function Ua(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Gs))||t.every((t=>t.y<0))||t.every((t=>t.y>Gs))}Ir("FillExtrusionBucket",Fa,{omit:["layers","features"]});var Va={paint:new dn({"fill-extrusion-opacity":new ln(rt["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new cn(rt["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new ln(rt["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new ln(rt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new hn(rt["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new cn(rt["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new cn(rt["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new ln(rt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})};function Na(t,e){return t.x*e.x+t.y*e.y}function Ga(t,e){if(1===t.length){let i=0;const r=e[i++];let n;for(;!n||r.equals(n);)if(n=e[i++],!n)return 1/0;for(;it.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={}})),this.layoutVertexArray=new rs,this.layoutVertexArray2=new ns,this.indexArray=new us,this.programConfigurations=new Us(t.layers,t.zoom),this.segments=new fs,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=ma("line",this.layers,e);const r=this.layers[0].layout.get("line-sort-key"),n=!r.isConstant(),s=[];for(const{feature:e,id:o,index:a,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Zs(e,t);if(!this.layers[0]._featureFilter.filter(new Yr(this.zoom),c,i))continue;const h=n?r.evaluate(c,{},i):void 0,u={id:o,properties:e.properties,type:e.type,sourceLayerIndex:l,index:a,geometry:t?c.geometry:js(e),patterns:{},sortKey:h};s.push(u)}n&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of s){const{geometry:n,index:s,sourceLayerIndex:o}=r;if(this.hasPattern){const t=fa("line",this.layers,r,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(r,n,s,i,{});e.featureIndex.insert(t[s].feature,n,s,o,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}addFeatures(t,e,i){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Za)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,qa),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_end"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,i,r,n){const s=this.layers[0].layout,o=s.get("line-join").evaluate(t,{}),a=s.get("line-cap"),l=s.get("line-miter-limit"),c=s.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const i of e)this.addLine(i,t,o,a,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,n,r)}addLine(t,e,i,r,n,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[a-1].equals(t[a-2]);)a--;let l=0;for(;l0;if(b&&e>l){const t=u.dist(p);if(t>2*c){const e=u.sub(u.sub(p)._mult(c/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,m,0,0,h),p=e}}const T=p&&d;let E=T?i:o?"butt":r;if(T&&"round"===E&&(xn&&(E="bevel"),"bevel"===E&&(x>2&&(E="flipbevel"),x100)g=f.mult(-1);else{const t=x*m.add(f).mag()/m.sub(f).mag();g._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(u,g,0,0,h),this.addCurrentVertex(u,g.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){const t=-Math.sqrt(x*x-1),e=w?t:0,i=w?0:t;if(p&&this.addCurrentVertex(u,m,e,i,h),"fakeround"===E){const t=Math.round(180*v/Math.PI/20);for(let e=1;e2*c){const e=u.add(d.sub(u)._mult(c/t)._round());this.updateDistance(u,e),this.addCurrentVertex(e,f,0,0,h),u=e}}}}addCurrentVertex(t,e,i,r,n,s=!1){const o=e.y*r-e.x,a=-e.y-e.x*r;this.addHalfVertex(t,e.x+e.y*i,e.y-e.x*i,s,!1,i,n),this.addHalfVertex(t,o,a,s,!0,-r,n),this.distance>Ha/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,i,r,n,s))}addHalfVertex({x:t,y:e},i,r,n,s,o,a){const l=.5*(this.lineClips?this.scaledDistance*(Ha-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(n?1:0),(e<<1)+(s?1:0),Math.round(63*i)+128,Math.round(63*r)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const c=a.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),a.primitiveLength++),s?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance()}}Ir("LineBucket",Ka,{omit:["layers","patternFeatures"]});const Ja=new dn({"line-cap":new ln(rt.layout_line["line-cap"]),"line-join":new cn(rt.layout_line["line-join"]),"line-miter-limit":new ln(rt.layout_line["line-miter-limit"]),"line-round-limit":new ln(rt.layout_line["line-round-limit"]),"line-sort-key":new cn(rt.layout_line["line-sort-key"])});var Ya={paint:new dn({"line-opacity":new cn(rt.paint_line["line-opacity"]),"line-color":new cn(rt.paint_line["line-color"]),"line-translate":new ln(rt.paint_line["line-translate"]),"line-translate-anchor":new ln(rt.paint_line["line-translate-anchor"]),"line-width":new cn(rt.paint_line["line-width"]),"line-gap-width":new cn(rt.paint_line["line-gap-width"]),"line-offset":new cn(rt.paint_line["line-offset"]),"line-blur":new cn(rt.paint_line["line-blur"]),"line-dasharray":new un(rt.paint_line["line-dasharray"]),"line-pattern":new hn(rt.paint_line["line-pattern"]),"line-gradient":new pn(rt.paint_line["line-gradient"])}),layout:Ja};const Qa=new class extends cn{possiblyEvaluate(t,e){return e=new Yr(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,i,r){return e=a({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,i,r)}}(Ya.paint.properties["line-width"].specification);function tl(t,e){return e>0?e+2*t:t}Qa.useIntegerZoom=!0;const el=xn([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),il=xn([{name:"a_projected_pos",components:3,type:"Float32"}],4);xn([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const rl=xn([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]);xn([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const nl=xn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),sl=xn([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ol(t,e,i){return t.sections.forEach((t=>{t.text=function(t,e,i){const r=e.layout.get("text-transform").evaluate(i,{});return"uppercase"===r?t=t.toLocaleUpperCase():"lowercase"===r&&(t=t.toLocaleLowerCase()),Jr.applyArabicShaping&&(t=Jr.applyArabicShaping(t)),t}(t.text,e,i)})),t}xn([{name:"triangle",components:3,type:"Uint16"}]),xn([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),xn([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),xn([{type:"Float32",name:"offsetX"}]),xn([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);const al={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var ll=24,cl=pl,hl=function(t,e,i,r,n){var s,o,a=8*n-r-1,l=(1<>1,h=-7,u=i?n-1:0,p=i?-1:1,d=t[e+u];for(u+=p,s=d&(1<<-h)-1,d>>=-h,h+=a;h>0;s=256*s+t[e+u],u+=p,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=r;h>0;o=256*o+t[e+u],u+=p,h-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,r),s-=c}return(d?-1:1)*o*Math.pow(2,s-r)},ul=function(t,e,i,r,n,s){var o,a,l,c=8*s-n-1,h=(1<>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:s-1,m=r?1:-1,f=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+u>=1?p/l:p*Math.pow(2,1-u))*l>=2&&(o++,l/=2),o+u>=h?(a=0,o=h):o+u>=1?(a=(e*l-1)*Math.pow(2,n),o+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,n),o=0));n>=8;t[i+d]=255&a,d+=m,a/=256,n-=8);for(o=o<0;t[i+d]=255&o,d+=m,o/=256,c-=8);t[i+d-m]|=128*f};function pl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}pl.Varint=0,pl.Fixed64=1,pl.Bytes=2,pl.Fixed32=5;var dl,ml=4294967296,fl=1/ml,gl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function _l(t){return t.type===pl.Bytes?t.readVarint()+t.pos:t.pos+1}function yl(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function xl(t,e,i){var r=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));i.realloc(r);for(var n=i.pos-1;n>=t;n--)i.buf[n+r]=i.buf[n]}function vl(t,e){for(var i=0;i>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function kl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function Pl(t,e,i){1===t&&i.readMessage(Dl,e)}function Dl(t,e,i){if(3===t){const{id:t,bitmap:r,width:n,height:s,left:o,top:a,advance:l}=i.readMessage(Ll,{});e.push({id:t,bitmap:new Co({width:n+6,height:s+6},r),metrics:{width:n,height:s,left:o,top:a,advance:l}})}}function Ll(t,e,i){1===t?e.id=i.readVarint():2===t?e.bitmap=i.readBytes():3===t?e.width=i.readVarint():4===t?e.height=i.readVarint():5===t?e.left=i.readSVarint():6===t?e.top=i.readSVarint():7===t&&(e.advance=i.readVarint())}function Bl(t){let e=0,i=0;for(const r of t)e+=r.w*r.h,i=Math.max(i,r.w);t.sort(((t,e)=>e.h-t.h));const r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),i),h:1/0}];let n=0,s=0;for(const e of t)for(let t=r.length-1;t>=0;t--){const i=r[t];if(!(e.w>i.w||e.h>i.h)){if(e.x=i.x,e.y=i.y,s=Math.max(s,e.y+e.h),n=Math.max(n,e.x+e.w),e.w===i.w&&e.h===i.h){const e=r.pop();t>3,s=this.pos;this.type=7&r,t(n,e,this),this.pos===s&&this.skip(r)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Cl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=kl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Cl(this.buf,this.pos)+Cl(this.buf,this.pos+4)*ml;return this.pos+=8,t},readSFixed64:function(){var t=Cl(this.buf,this.pos)+kl(this.buf,this.pos+4)*ml;return this.pos+=8,t},readFloat:function(){var t=hl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=hl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,i,r=this.buf;return e=127&(i=r[this.pos++]),i<128?e:(e|=(127&(i=r[this.pos++]))<<7,i<128?e:(e|=(127&(i=r[this.pos++]))<<14,i<128?e:(e|=(127&(i=r[this.pos++]))<<21,i<128?e:function(t,e,i){var r,n,s=i.buf;if(r=(112&(n=s[i.pos++]))>>4,n<128)return yl(t,r,e);if(r|=(127&(n=s[i.pos++]))<<3,n<128)return yl(t,r,e);if(r|=(127&(n=s[i.pos++]))<<10,n<128)return yl(t,r,e);if(r|=(127&(n=s[i.pos++]))<<17,n<128)return yl(t,r,e);if(r|=(127&(n=s[i.pos++]))<<24,n<128)return yl(t,r,e);if(r|=(1&(n=s[i.pos++]))<<31,n<128)return yl(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(i=r[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&gl?function(t,e,i){return gl.decode(t.subarray(e,i))}(this.buf,e,t):function(t,e,i){for(var r="",n=e;n239?4:l>223?3:l>191?2:1;if(n+h>i)break;1===h?l<128&&(c=l):2===h?128==(192&(s=t[n+1]))&&(c=(31&l)<<6|63&s)<=127&&(c=null):3===h?(o=t[n+2],128==(192&(s=t[n+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&s)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===h&&(o=t[n+2],a=t[n+3],128==(192&(s=t[n+1]))&&128==(192&o)&&128==(192&a)&&((c=(15&l)<<18|(63&s)<<12|(63&o)<<6|63&a)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,h=1):c>65535&&(c-=65536,r+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),r+=String.fromCharCode(c),n+=h}return r}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==pl.Bytes)return t.push(this.readVarint(e));var i=_l(this);for(t=t||[];this.pos127;);else if(e===pl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===pl.Fixed32)this.pos+=4;else{if(e!==pl.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var i,r;if(t>=0?(i=t%4294967296|0,r=t/4294967296|0):(r=~(-t/4294967296),4294967295^(i=~(-t%4294967296))?i=i+1|0:(i=0,r=r+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,i){i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,i.buf[i.pos]=127&(t>>>=7)}(i,0,e),function(t,e){var i=(7&t)<<4;e.buf[e.pos++]|=i|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(r,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,i){for(var r,n,s=0;s55295&&r<57344){if(!n){r>56319||s+1===e.length?(t[i++]=239,t[i++]=191,t[i++]=189):n=r;continue}if(r<56320){t[i++]=239,t[i++]=191,t[i++]=189,n=r;continue}r=n-55296<<10|r-56320|65536,n=null}else n&&(t[i++]=239,t[i++]=191,t[i++]=189,n=null);r<128?t[i++]=r:(r<2048?t[i++]=r>>6|192:(r<65536?t[i++]=r>>12|224:(t[i++]=r>>18|240,t[i++]=r>>12&63|128),t[i++]=r>>6&63|128),t[i++]=63&r|128)}return i}(this.buf,t,this.pos);var i=this.pos-e;i>=128&&xl(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),ul(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),ul(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var i=0;i=128&&xl(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,e,i){this.writeTag(t,pl.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,vl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,bl,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,El,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,wl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Tl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Sl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Il,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Al,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,zl,e)},writeBytesField:function(t,e){this.writeTag(t,pl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,pl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,pl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};class Rl{constructor(t,{pixelRatio:e,version:i,stretchX:r,stretchY:n,content:s}){this.paddedRect=t,this.pixelRatio=e,this.stretchX=r,this.stretchY=n,this.content=s,this.version=i}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class Fl{constructor(t,e){const i={},r={};this.haveRenderCallbacks=[];const n=[];this.addImages(t,i,n),this.addImages(e,r,n);const{w:s,h:o}=Bl(n),a=new Mo({width:s||1,height:o||1});for(const e in t){const r=t[e],n=i[e].paddedRect;Mo.copy(r.data,a,{x:0,y:0},{x:n.x+1,y:n.y+1},r.data)}for(const t in e){const i=e[t],n=r[t].paddedRect,s=n.x+1,o=n.y+1,l=i.data.width,c=i.data.height;Mo.copy(i.data,a,{x:0,y:0},{x:s,y:o},i.data),Mo.copy(i.data,a,{x:0,y:c-1},{x:s,y:o-1},{width:l,height:1}),Mo.copy(i.data,a,{x:0,y:0},{x:s,y:o+c},{width:l,height:1}),Mo.copy(i.data,a,{x:l-1,y:0},{x:s-1,y:o},{width:1,height:c}),Mo.copy(i.data,a,{x:0,y:0},{x:s+l,y:o},{width:1,height:c})}this.image=a,this.iconPositions=i,this.patternPositions=r}addImages(t,e,i){for(const r in t){const n=t[r],s={x:0,y:0,w:n.data.width+2,h:n.data.height+2};i.push(s),e[r]=new Rl(s,n),n.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(t,e){t.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const i in t.updatedImages)this.patchUpdatedImage(this.iconPositions[i],t.getImage(i),e),this.patchUpdatedImage(this.patternPositions[i],t.getImage(i),e)}patchUpdatedImage(t,e,i){if(!t||!e)return;if(t.version===e.version)return;t.version=e.version;const[r,n]=t.tl;i.update(e.data,void 0,{x:r,y:n})}}Ir("ImagePosition",Rl),Ir("ImageAtlas",Fl),t.WritingMode=void 0,(dl=t.WritingMode||(t.WritingMode={}))[dl.none=0]="none",dl[dl.horizontal=1]="horizontal",dl[dl.vertical=2]="vertical",dl[dl.horizontalOnly=3]="horizontalOnly";const Ol=-17;class Ul{constructor(){this.scale=1,this.fontStack="",this.imageName=null}static forText(t,e){const i=new Ul;return i.scale=t||1,i.fontStack=e,i}static forImage(t){const e=new Ul;return e.imageName=t,e}}class Vl{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(t,e){const i=new Vl;for(let r=0;r=0&&i>=t&&Gl[this.text.charCodeAt(i)];i--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e)}substring(t,e){const i=new Vl;return i.text=this.text.substring(t,e),i.sectionIndex=this.sectionIndex.slice(t,e),i.sections=this.sections,i}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Ul.forText(t.scale,t.fontStack||e));const i=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Nl(e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g){const _=Vl.fromFeature(e,s);let y;p===t.WritingMode.vertical&&_.verticalizePunctuation();const{processBidirectionalText:x,processStyledBidirectionalText:v}=Jr;if(x&&1===_.sections.length){y=[];const t=x(_.toString(),Hl(_,h,o,i,n,m,f));for(const e of t){const t=new Vl;t.text=e,t.sections=_.sections;for(let i=0;i0&&r>w&&(w=r)}else{const t=r[f.fontStack],e=t&&t[_];if(e&&e.rect)T=e.rect,v=e.metrics;else{const t=i[f.fontStack],e=t&&t[_];if(!e)continue;v=e.metrics}y=(s-f.scale)*ll}I?(e.verticalizable=!0,b.push({glyph:_,imageName:E,x:d,y:m+y,vertical:I,scale:f.scale,fontStack:f.fontStack,sectionIndex:g,metrics:v,rect:T}),d+=S*f.scale+h):(b.push({glyph:_,imageName:E,x:d,y:m+y,vertical:I,scale:f.scale,fontStack:f.fontStack,sectionIndex:g,metrics:v,rect:T}),d+=v.advance*f.scale+h)}0!==b.length&&(f=Math.max(d-h,f),Jl(b,0,b.length-1,_,w)),d=0;const T=o*s+w;v.lineOffset=Math.max(w,l),m+=T,g=Math.max(T,g),++y}var x;const v=m-Ol,{horizontalAlign:b,verticalAlign:w}=Kl(a);(function(t,e,i,r,n,s,o,a,l){const c=(e-i)*n;let h=0;h=s!==o?-a*r-Ol:(-r*l+.5)*o;for(const e of t)for(const t of e.positionedGlyphs)t.x+=c,t.y+=h})(e.positionedLines,_,b,w,f,g,o,v,s.length),e.top+=-w*v,e.bottom=e.top+v,e.left+=-b*f,e.right=e.left+f}(w,i,r,n,y,a,l,c,p,h,d,g),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return!1;return!0}(b)&&w}const Gl={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},$l={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function ql(t,e,i,r,n,s){if(e.imageName){const t=r[e.imageName];return t?t.displaySize[0]*e.scale*ll/s+n:0}{const r=i[e.fontStack],s=r&&r[t];return s?s.metrics.advance*e.scale+n:0}}function jl(t,e,i,r){const n=Math.pow(t-e,2);return r?t=0;let h=0;for(let i=0;i-i/2;){if(o--,o<0)return!1;a-=t[o].dist(s),s=t[o]}a+=t[o].dist(t[o+1]),o++;const l=[];let c=0;for(;ar;)c-=l.shift().angleDelta;if(c>n)return!1;o++,a+=e.dist(i)}return!0}function nc(t){let e=0;for(let i=0;ic){const h=(c-l)/s,u=Se(r.x,n.x,h),p=Se(r.y,n.y,h),d=new ic(u,p,n.angleTo(r),i);return d._round(),!o||rc(t,d,a,o,e)?d:void 0}l+=s}}function lc(t,e,i,r,n,s,o,a,l){const c=sc(r,s,o),h=oc(r,n),u=h*o,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-u=0&&_=0&&y=0&&p+c<=h){const i=new ic(_,y,f,e);i._round(),r&&!rc(t,i,s,r,n)||d.push(i)}}u+=m}return a||d.length||o||(d=cc(t,u/2,i,r,n,s,o,!0,l)),d}function hc(t,e,i,r,n){const s=[];for(let o=0;o=r&&c.x>=r||(o.x>=r?o=new S(r,o.y+(r-o.x)/(c.x-o.x)*(c.y-o.y))._round():c.x>=r&&(c=new S(r,o.y+(r-o.x)/(c.x-o.x)*(c.y-o.y))._round()),o.y>=n&&c.y>=n||(o.y>=n?o=new S(o.x+(n-o.y)/(c.y-o.y)*(c.x-o.x),n)._round():c.y>=n&&(c=new S(o.x+(n-o.y)/(c.y-o.y)*(c.x-o.x),n)._round()),l&&o.equals(l[l.length-1])||(l=[o],s.push(l)),l.push(c)))))}}return s}function uc(t,e,i,r){const n=[],s=t.image,o=s.pixelRatio,a=s.paddedRect.w-2,l=s.paddedRect.h-2,c=t.right-t.left,h=t.bottom-t.top,u=s.stretchX||[[0,a]],p=s.stretchY||[[0,l]],d=(t,e)=>t+e[1]-e[0],m=u.reduce(d,0),f=p.reduce(d,0),g=a-m,_=l-f;let y=0,x=m,v=0,b=f,w=0,T=g,E=0,I=_;if(s.content&&r){const t=s.content;y=pc(u,0,t[0]),v=pc(p,0,t[1]),x=pc(u,t[0],t[2]),b=pc(p,t[1],t[3]),w=t[0]-y,E=t[1]-v,T=t[2]-t[0]-x,I=t[3]-t[1]-b}const A=(r,n,a,l)=>{const u=mc(r.stretch-y,x,c,t.left),p=fc(r.fixed-w,T,r.stretch,m),d=mc(n.stretch-v,b,h,t.top),g=fc(n.fixed-E,I,n.stretch,f),_=mc(a.stretch-y,x,c,t.left),A=fc(a.fixed-w,T,a.stretch,m),z=mc(l.stretch-v,b,h,t.top),C=fc(l.fixed-E,I,l.stretch,f),M=new S(u,d),k=new S(_,d),P=new S(_,z),D=new S(u,z),L=new S(p/o,g/o),B=new S(A/o,C/o),R=e*Math.PI/180;if(R){const t=Math.sin(R),e=Math.cos(R),i=[e,-t,t,e];M._matMult(i),k._matMult(i),D._matMult(i),P._matMult(i)}const F=r.stretch+r.fixed,O=n.stretch+n.fixed;return{tl:M,tr:k,bl:D,br:P,tex:{x:s.paddedRect.x+1+F,y:s.paddedRect.y+1+O,w:a.stretch+a.fixed-F,h:l.stretch+l.fixed-O},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:L,pixelOffsetBR:B,minFontScaleX:T/o/c,minFontScaleY:I/o/h,isSDF:i}};if(r&&(s.stretchX||s.stretchY)){const t=dc(u,g,m),e=dc(p,_,f);for(let i=0;i0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let l=s.top*o-a[0],h=s.bottom*o+a[2],u=s.left*o-a[3],p=s.right*o+a[1];const d=s.collisionPadding;if(d&&(u-=d[0]*o,l-=d[1]*o,p+=d[2]*o,h+=d[3]*o),c){const t=new S(u,l),e=new S(p,l),i=new S(u,h),r=new S(p,h),n=c*Math.PI/180;t._rotate(n),e._rotate(n),i._rotate(n),r._rotate(n),u=Math.min(t.x,e.x,i.x,r.x),p=Math.max(t.x,e.x,i.x,r.x),l=Math.min(t.y,e.y,i.y,r.y),h=Math.max(t.y,e.y,i.y,r.y)}t.emplaceBack(e.x,e.y,u,l,p,h,i,r,n)}this.boxEndIndex=t.length}}class _c{constructor(t=[],e=yc){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:i}=this,r=e[t];for(;t>0;){const n=t-1>>1,s=e[n];if(i(r,s)>=0)break;e[t]=s,t=n}e[t]=r}_down(t){const{data:e,compare:i}=this,r=this.length>>1,n=e[t];for(;t=0)break;e[t]=s,t=r}e[t]=n}}function yc(t,e){return te?1:0}function xc(t,e=1,i=!1){let r=1/0,n=1/0,s=-1/0,o=-1/0;const a=t[0];for(let t=0;ts)&&(s=e.x),(!t||e.y>o)&&(o=e.y)}const l=Math.min(s-r,o-n);let c=l/2;const h=new _c([],vc);if(0===l)return new S(r,n);for(let e=r;eu.d||!u.d)&&(u=r,i&&console.log("found best %d after %d probes",Math.round(1e4*r.d)/1e4,p)),r.max-u.d<=e||(c=r.h/2,h.push(new bc(r.p.x-c,r.p.y-c,c,t)),h.push(new bc(r.p.x+c,r.p.y-c,c,t)),h.push(new bc(r.p.x-c,r.p.y+c,c,t)),h.push(new bc(r.p.x+c,r.p.y+c,c,t)),p+=4)}return i&&(console.log(`num probes: ${p}`),console.log(`best distance: ${u.d}`)),u.p}function vc(t,e){return e.max-t.max}function bc(t,e,i,r){this.p=new S(t,e),this.h=i,this.d=function(t,e){let i=!1,r=1/0;for(let n=0;nt.y!=a.y>t.y&&t.x<(a.x-n.x)*(t.y-n.y)/(a.y-n.y)+n.x&&(i=!i),r=Math.min(r,io(t,n,a))}}return(i?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}const wc=Number.POSITIVE_INFINITY;function Tc(t,e){return e[1]!==wc?function(t,e,i){let r=0,n=0;switch(e=Math.abs(e),i=Math.abs(i),t){case"top-right":case"top-left":case"top":n=i-7;break;case"bottom-right":case"bottom-left":case"bottom":n=7-i}switch(t){case"top-right":case"bottom-right":case"right":r=-e;break;case"top-left":case"bottom-left":case"left":r=e}return[r,n]}(t,e[0],e[1]):function(t,e){let i=0,r=0;e<0&&(e=0);const n=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":r=n-7;break;case"bottom-right":case"bottom-left":r=7-n;break;case"bottom":r=7-e;break;case"top":r=e-7}switch(t){case"top-right":case"bottom-right":i=-n;break;case"top-left":case"bottom-left":i=n;break;case"left":i=e;break;case"right":i=-e}return[i,r]}(t,e[0])}function Ec(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Sc(e,i,r,n,s,o,a,l,c,h,u){let p=o.textMaxSize.evaluate(i,{});void 0===p&&(p=a);const d=e.layers[0].layout,f=d.get("icon-offset").evaluate(i,{},u),g=zc(r.horizontal),_=a/24,y=e.tilePixelRatio*_,x=e.tilePixelRatio*p/24,v=e.tilePixelRatio*l,b=e.tilePixelRatio*d.get("symbol-spacing"),w=d.get("text-padding")*e.tilePixelRatio,T=function(t,e,i,r=1){const n=t.get("icon-padding").evaluate(e,{},i),s=n&&n.values;return[s[0]*r,s[1]*r,s[2]*r,s[3]*r]}(d,i,u,e.tilePixelRatio),E=d.get("text-max-angle")/180*Math.PI,S="viewport"!==d.get("text-rotation-alignment")&&"point"!==d.get("symbol-placement"),I="map"===d.get("icon-rotation-alignment")&&"point"!==d.get("symbol-placement"),A=d.get("symbol-placement"),z=b/2,C=d.get("icon-text-fit");let M;n&&"none"!==C&&(e.allowVerticalPlacement&&r.vertical&&(M=Ql(n,r.vertical,C,d.get("icon-text-fit-padding"),f,_)),g&&(n=Ql(n,g,C,d.get("icon-text-fit-padding"),f,_)));const k=(l,p)=>{p.x<0||p.x>=Gs||p.y<0||p.y>=Gs||function(e,i,r,n,s,o,a,l,c,h,u,p,d,f,g,_,y,x,v,b,w,T,E,S,I){const A=e.addToLineVertexArray(i,r);let z,C,M,k,P=0,D=0,L=0,B=0,R=-1,F=-1;const O={};let U=ys.exports(""),V=0,N=0;if(void 0===l._unevaluatedLayout.getValue("text-radial-offset")?[V,N]=l.layout.get("text-offset").evaluate(w,{},S).map((t=>t*ll)):(V=l.layout.get("text-radial-offset").evaluate(w,{},S)*ll,N=wc),e.allowVerticalPlacement&&n.vertical){const t=l.layout.get("text-rotate").evaluate(w,{},S)+90;M=new gc(c,i,h,u,p,n.vertical,d,f,g,t),a&&(k=new gc(c,i,h,u,p,a,y,x,g,t))}if(s){const r=l.layout.get("icon-rotate").evaluate(w,{}),n="none"!==l.layout.get("icon-text-fit"),o=uc(s,r,E,n),d=a?uc(a,r,E,n):void 0;C=new gc(c,i,h,u,p,s,y,x,!1,r),P=4*o.length;const f=e.iconSizeData;let g=null;"source"===f.kind?(g=[tc*l.layout.get("icon-size").evaluate(w,{})],g[0]>Ic&&m(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):"composite"===f.kind&&(g=[tc*T.compositeIconSizes[0].evaluate(w,{},S),tc*T.compositeIconSizes[1].evaluate(w,{},S)],(g[0]>Ic||g[1]>Ic)&&m(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,o,g,b,v,w,t.WritingMode.none,i,A.lineStartIndex,A.lineLength,-1,S),R=e.icon.placedSymbolArray.length-1,d&&(D=4*d.length,e.addSymbols(e.icon,d,g,b,v,w,t.WritingMode.vertical,i,A.lineStartIndex,A.lineLength,-1,S),F=e.icon.placedSymbolArray.length-1)}const G=Object.keys(n.horizontal);for(const r of G){const s=n.horizontal[r];if(!z){U=ys.exports(s.text);const t=l.layout.get("text-rotate").evaluate(w,{},S);z=new gc(c,i,h,u,p,s,d,f,g,t)}const a=1===s.positionedLines.length;if(L+=Ac(e,i,s,o,l,g,w,_,A,n.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,a?G:[r],O,R,T,S),a)break}n.vertical&&(B+=Ac(e,i,n.vertical,o,l,g,w,_,A,t.WritingMode.vertical,["vertical"],O,F,T,S));const $=z?z.boxStartIndex:e.collisionBoxArray.length,q=z?z.boxEndIndex:e.collisionBoxArray.length,j=M?M.boxStartIndex:e.collisionBoxArray.length,Z=M?M.boxEndIndex:e.collisionBoxArray.length,X=C?C.boxStartIndex:e.collisionBoxArray.length,W=C?C.boxEndIndex:e.collisionBoxArray.length,H=k?k.boxStartIndex:e.collisionBoxArray.length,K=k?k.boxEndIndex:e.collisionBoxArray.length;let J=-1;const Y=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;J=Y(z,J),J=Y(M,J),J=Y(C,J),J=Y(k,J);const Q=J>-1?1:0;Q&&(J*=I/ll),e.glyphOffsetArray.length>=Fc.MAX_GLYPHS&&m("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==w.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,w.sortKey),e.symbolInstances.emplaceBack(i.x,i.y,O.right>=0?O.right:-1,O.center>=0?O.center:-1,O.left>=0?O.left:-1,O.vertical||-1,R,F,U,$,q,j,Z,X,W,H,K,h,L,B,P,D,Q,0,d,V,N,J)}(e,p,l,r,n,s,M,e.layers[0],e.collisionBoxArray,i.index,i.sourceLayerIndex,e.index,y,[w,w,w,w],S,c,v,T,I,f,i,o,h,u,a)};if("line"===A)for(const t of hc(i.geometry,0,0,Gs,Gs)){const i=lc(t,b,E,r.vertical||g,n,24,x,e.overscaling,Gs);for(const r of i){const i=g;i&&Cc(e,i.text,z,r)||k(t,r)}}else if("line-center"===A){for(const t of i.geometry)if(t.length>1){const e=ac(t,E,r.vertical||g,n,24,x);e&&k(t,e)}}else if("Polygon"===i.type)for(const t of pa(i.geometry,0)){const e=xc(t,16);k(t[0],new ic(e.x,e.y,0))}else if("LineString"===i.type)for(const t of i.geometry)k(t,new ic(t[0].x,t[0].y,0));else if("Point"===i.type)for(const t of i.geometry)for(const e of t)k([e],new ic(e.x,e.y,0))}const Ic=32640;function Ac(t,e,i,r,n,s,o,a,l,c,h,u,p,d,f){const g=function(t,e,i,r,n,s,o,a){const l=r.layout.get("text-rotate").evaluate(s,{})*Math.PI/180,c=[];for(const t of e.positionedLines)for(const r of t.positionedGlyphs){if(!r.rect)continue;const s=r.rect||{};let h=4,u=!0,p=1,d=0;const m=(n||a)&&r.vertical,f=r.metrics.advance*r.scale/2;if(a&&e.verticalizable){const e=(r.scale-1)*ll,i=(ll-r.metrics.width*r.scale)/2;d=t.lineOffset/2-(r.imageName?-i:e)}if(r.imageName){const t=o[r.imageName];u=t.sdf,p=t.pixelRatio,h=1/p}const g=n?[r.x+f,r.y]:[0,0];let _=n?[0,0]:[r.x+f+i[0],r.y+i[1]-d],y=[0,0];m&&(y=_,_=[0,0]);const x=(r.metrics.left-h)*r.scale-f+_[0],v=(-r.metrics.top-h)*r.scale+_[1],b=x+s.w*r.scale/p,w=v+s.h*r.scale/p,T=new S(x,v),E=new S(b,v),I=new S(x,w),A=new S(b,w);if(m){const t=new S(-f,f-Ol),e=-Math.PI/2,i=12-f,n=new S(22-i,-(r.imageName?i:0)),s=new S(...y);T._rotateAround(e,t)._add(n)._add(s),E._rotateAround(e,t)._add(n)._add(s),I._rotateAround(e,t)._add(n)._add(s),A._rotateAround(e,t)._add(n)._add(s)}if(l){const t=Math.sin(l),e=Math.cos(l),i=[e,-t,t,e];T._matMult(i),E._matMult(i),I._matMult(i),A._matMult(i)}const z=new S(0,0),C=new S(0,0);c.push({tl:T,tr:E,bl:I,br:A,tex:s,writingMode:e.writingMode,glyphOffset:g,sectionIndex:r.sectionIndex,isSDF:u,pixelOffsetTL:z,pixelOffsetBR:C,minFontScaleX:0,minFontScaleY:0})}return c}(0,i,a,n,s,o,r,t.allowVerticalPlacement),_=t.textSizeData;let y=null;"source"===_.kind?(y=[tc*n.layout.get("text-size").evaluate(o,{})],y[0]>Ic&&m(`${t.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):"composite"===_.kind&&(y=[tc*d.compositeTextSizes[0].evaluate(o,{},f),tc*d.compositeTextSizes[1].evaluate(o,{},f)],(y[0]>Ic||y[1]>Ic)&&m(`${t.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),t.addSymbols(t.text,g,y,a,s,o,c,e,l.lineStartIndex,l.lineLength,p,f);for(const e of h)u[e]=t.text.placedSymbolArray.length-1;return 4*g.length}function zc(t){for(const e in t)return t[e];return null}function Cc(t,e,i,r){const n=t.compareText;if(e in n){const t=n[e];for(let e=t.length-1;e>=0;e--)if(r.dist(t[e])t.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=fo([]),this.placementViewportMatrix=fo([]);const i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=ec(this.zoom,i["text-size"]),this.iconSizeData=ec(this.zoom,i["icon-size"]);const r=this.layers[0].layout,n=r.get("symbol-sort-key"),s=r.get("symbol-z-order");this.canOverlap="never"!==Gc(r,"text-overlap","text-allow-overlap")||"never"!==Gc(r,"icon-overlap","icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==s&&!n.isConstant(),this.sortFeaturesByY=("viewport-y"===s||"auto"===s&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map((e=>t.WritingMode[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID}createArrays(){this.text=new Bc(new Us(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new Bc(new Us(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Hn,this.lineVertexArray=new Kn,this.symbolInstances=new Wn}calculateGlyphDependencies(t,e,i,r,n){for(let s=0;s0)&&("constant"!==o.value.kind||o.value.value.length>0),h="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,u=s.get("symbol-sort-key");if(this.features=[],!c&&!h)return;const p=i.iconDependencies,d=i.glyphDependencies,m=i.availableImages,f=new Yr(this.zoom);for(const{feature:i,id:a,index:l,sourceLayerIndex:g}of e){const e=n._featureFilter.needGeometry,_=Zs(i,e);if(!n._featureFilter.filter(f,_,r))continue;let y,x;if(e||(_.geometry=js(i)),c){const t=n.getValueAndResolveTokens("text-field",_,r,m),e=Ft.factory(t);Lc(e)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===Hr()||this.hasRTLText&&Jr.isParsed())&&(y=ol(e,n,_))}if(h){const t=n.getValueAndResolveTokens("icon-image",_,r,m);x=t instanceof Ut?t:Ut.fromString(t)}if(!y&&!x)continue;const v=this.sortFeaturesByKey?u.evaluate(_,{},r):void 0;if(this.features.push({id:a,text:y,icon:x,index:l,sourceLayerIndex:g,geometry:_.geometry,properties:i.properties,type:Mc[i.type],sortKey:v}),x&&(p[x.name]=!0),y){const e=o.evaluate(_,{},r).join(","),i="viewport"!==s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.WritingMode.vertical)>=0;for(const t of y.sections)if(t.image)p[t.image.name]=!0;else{const r=Pr(y.toString()),n=t.fontStack||e,s=d[n]=d[n]||{};this.calculateGlyphDependencies(t.text,s,i,this.allowVerticalPlacement,r)}}}"line"===s.get("symbol-placement")&&(this.features=function(t){const e={},i={},r=[];let n=0;function s(e){r.push(t[e]),n++}function o(t,e,n){const s=i[t];return delete i[t],i[e]=s,r[s].geometry[0].pop(),r[s].geometry[0]=r[s].geometry[0].concat(n[0]),s}function a(t,i,n){const s=e[i];return delete e[i],e[t]=s,r[s].geometry[0].shift(),r[s].geometry[0]=n[0].concat(r[s].geometry[0]),s}function l(t,e,i){const r=i?e[0][e[0].length-1]:e[0][0];return`${t}:${r.x}:${r.y}`}for(let c=0;ct.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey))}update(t,e,i){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,i),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,i))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,e){const i=this.lineVertexArray.length;if(void 0!==t.segment){let i=t.dist(e[t.segment+1]),r=t.dist(e[t.segment]);const n={};for(let r=t.segment+1;r=0;i--)n[i]={x:e[i].x,y:e[i].y,tileUnitDistanceFromAnchor:r},i>0&&(r+=e[i-1].dist(e[i]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const i=t.placedSymbolArray.get(e),r=i.vertexStartIndex+4*i.numGlyphs;for(let e=i.vertexStartIndex;er[t]-r[e]||n[e]-n[t])),s}addToSortKeyRanges(t,e){const i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===e?i.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,i)=>{t>=0&&i.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}Ir("SymbolBucket",Fc,{omit:["layers","collisionBoxArray","features","compareText"]}),Fc.MAX_GLYPHS=65535,Fc.addDynamicAttributes=Dc;const Oc=new dn({"symbol-placement":new ln(rt.layout_symbol["symbol-placement"]),"symbol-spacing":new ln(rt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new ln(rt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new cn(rt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new ln(rt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new ln(rt.layout_symbol["icon-allow-overlap"]),"icon-overlap":new ln(rt.layout_symbol["icon-overlap"]),"icon-ignore-placement":new ln(rt.layout_symbol["icon-ignore-placement"]),"icon-optional":new ln(rt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new ln(rt.layout_symbol["icon-rotation-alignment"]),"icon-size":new cn(rt.layout_symbol["icon-size"]),"icon-text-fit":new ln(rt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new ln(rt.layout_symbol["icon-text-fit-padding"]),"icon-image":new cn(rt.layout_symbol["icon-image"]),"icon-rotate":new cn(rt.layout_symbol["icon-rotate"]),"icon-padding":new cn(rt.layout_symbol["icon-padding"]),"icon-keep-upright":new ln(rt.layout_symbol["icon-keep-upright"]),"icon-offset":new cn(rt.layout_symbol["icon-offset"]),"icon-anchor":new cn(rt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new ln(rt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new ln(rt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new ln(rt.layout_symbol["text-rotation-alignment"]),"text-field":new cn(rt.layout_symbol["text-field"]),"text-font":new cn(rt.layout_symbol["text-font"]),"text-size":new cn(rt.layout_symbol["text-size"]),"text-max-width":new cn(rt.layout_symbol["text-max-width"]),"text-line-height":new ln(rt.layout_symbol["text-line-height"]),"text-letter-spacing":new cn(rt.layout_symbol["text-letter-spacing"]),"text-justify":new cn(rt.layout_symbol["text-justify"]),"text-radial-offset":new cn(rt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new ln(rt.layout_symbol["text-variable-anchor"]),"text-anchor":new cn(rt.layout_symbol["text-anchor"]),"text-max-angle":new ln(rt.layout_symbol["text-max-angle"]),"text-writing-mode":new ln(rt.layout_symbol["text-writing-mode"]),"text-rotate":new cn(rt.layout_symbol["text-rotate"]),"text-padding":new ln(rt.layout_symbol["text-padding"]),"text-keep-upright":new ln(rt.layout_symbol["text-keep-upright"]),"text-transform":new cn(rt.layout_symbol["text-transform"]),"text-offset":new cn(rt.layout_symbol["text-offset"]),"text-allow-overlap":new ln(rt.layout_symbol["text-allow-overlap"]),"text-overlap":new ln(rt.layout_symbol["text-overlap"]),"text-ignore-placement":new ln(rt.layout_symbol["text-ignore-placement"]),"text-optional":new ln(rt.layout_symbol["text-optional"])});var Uc={paint:new dn({"icon-opacity":new cn(rt.paint_symbol["icon-opacity"]),"icon-color":new cn(rt.paint_symbol["icon-color"]),"icon-halo-color":new cn(rt.paint_symbol["icon-halo-color"]),"icon-halo-width":new cn(rt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new cn(rt.paint_symbol["icon-halo-blur"]),"icon-translate":new ln(rt.paint_symbol["icon-translate"]),"icon-translate-anchor":new ln(rt.paint_symbol["icon-translate-anchor"]),"text-opacity":new cn(rt.paint_symbol["text-opacity"]),"text-color":new cn(rt.paint_symbol["text-color"],{runtimeType:ft,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new cn(rt.paint_symbol["text-halo-color"]),"text-halo-width":new cn(rt.paint_symbol["text-halo-width"]),"text-halo-blur":new cn(rt.paint_symbol["text-halo-blur"]),"text-translate":new ln(rt.paint_symbol["text-translate"]),"text-translate-anchor":new ln(rt.paint_symbol["text-translate-anchor"])}),layout:Oc};class Vc{constructor(t){this.type=t.property.overrides?t.property.overrides.runtimeType:ut,this.defaultValue=t}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ir("FormatSectionOverride",Vc,{omit:["defaultValue"]});class Nc extends fn{constructor(t){super(t,Uc)}recalculate(t,e){if(super.recalculate(t,e),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){const t=this.layout.get("text-writing-mode");if(t){const e=[];for(const i of t)e.indexOf(i)<0&&e.push(i);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,e,i,r){const n=this.layout.get(t).evaluate(e,{},i,r),s=this._unevaluatedLayout._values[t];return s.isDataDriven()||Di(s.value)||!n?n:function(t,e){return e.replace(/{([^{}]+)}/g,((e,i)=>i in t?String(t[i]):""))}(e.properties,n)}createBucket(t){return new Fc(t)}queryRadius(){return 0}queryIntersectsFeature(){return!1}_setPaintOverrides(){for(const t of Uc.paint.overridableProperties){if(!Nc.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),i=new Vc(e),r=new Pi(i,e.property.specification);let n=null;n="constant"===e.value.kind||"source"===e.value.kind?new Bi("source",r):new Ri("composite",r,e.value.zoomStops,e.value._interpolationType),this.paint._values[t]=new on(e.property,n,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,i){return!(!this.layout||e.isDataDriven()||i.isDataDriven())&&Nc.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const i=t.get("text-field"),r=Uc.paint.properties[e];let n=!1;const s=t=>{for(const e of t)if(r.overrides&&r.overrides.hasOverride(e))return void(n=!0)};if("constant"===i.value.kind&&i.value.value instanceof Ft)s(i.value.value.sections);else if("source"===i.value.kind){const t=e=>{n||(e instanceof qt&&Gt(e.value)===xt?s(e.value.sections):e instanceof hi?s(e.sections):e.eachChild(t))},e=i.value;e._styleExpression&&t(e._styleExpression.expression)}return n}}function Gc(t,e,i){let r="never";const n=t.get(e);return n?r=n:t.get(i)&&(r="always"),r}var $c={paint:new dn({"background-color":new ln(rt.paint_background["background-color"]),"background-pattern":new un(rt.paint_background["background-pattern"]),"background-opacity":new ln(rt.paint_background["background-opacity"])})},qc={paint:new dn({"raster-opacity":new ln(rt.paint_raster["raster-opacity"]),"raster-hue-rotate":new ln(rt.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new ln(rt.paint_raster["raster-brightness-min"]),"raster-brightness-max":new ln(rt.paint_raster["raster-brightness-max"]),"raster-saturation":new ln(rt.paint_raster["raster-saturation"]),"raster-contrast":new ln(rt.paint_raster["raster-contrast"]),"raster-resampling":new ln(rt.paint_raster["raster-resampling"]),"raster-fade-duration":new ln(rt.paint_raster["raster-fade-duration"])})};class jc extends fn{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},this.implementation=t}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){}}const Zc={circle:class extends fn{constructor(t){super(t,ho)}createBucket(t){return new Ws(t)}queryRadius(t){const e=t;return oo("circle-radius",this,e)+oo("circle-stroke-width",this,e)+ao(this.paint.get("circle-translate"))}queryIntersectsFeature(t,e,i,r,n,s,o,a){const l=lo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),s.angle,o),c=this.paint.get("circle-radius").evaluate(e,i)+this.paint.get("circle-stroke-width").evaluate(e,i),h="map"===this.paint.get("circle-pitch-alignment"),u=h?l:function(t,e){return t.map((t=>To(t,e)))}(l,a),p=h?c*o:c;for(const t of r)for(const e of t){const t=h?e:To(e,a);let i=p;const r=bo([],[e.x,e.y,0,1],a);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?i*=r[3]/s.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(i*=s.cameraToCenterDistance/r[3]),Ks(u,t,i))return!0}return!1}},heatmap:class extends fn{constructor(t){super(t,So),this._updateColorRamp()}createBucket(t){return new Eo(t)}_handleSpecialPaintPropertyUpdate(t){"heatmap-color"===t&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=ko({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)}queryRadius(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility}},hillshade:class extends fn{constructor(t){super(t,Po)}hasOffscreenPass(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility}},fill:class extends fn{constructor(t){super(t,ya)}recalculate(t,e){super.recalculate(t,e);const i=this.paint._values["fill-outline-color"];"constant"===i.value.kind&&void 0===i.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(t){return new ga(t)}queryRadius(){return ao(this.paint.get("fill-translate"))}queryIntersectsFeature(t,e,i,r,n,s,o){return Js(lo(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),s.angle,o),r)}isTileClipped(){return!0}},"fill-extrusion":class extends fn{constructor(t){super(t,Va)}createBucket(t){return new Fa(t)}queryRadius(){return ao(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(t,e,i,r,n,s,o,a){const l=lo(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),s.angle,o),c=this.paint.get("fill-extrusion-height").evaluate(e,i),h=this.paint.get("fill-extrusion-base").evaluate(e,i),u=function(t,e,i,r){const n=[];for(const i of t){const t=[i.x,i.y,0,1];bo(t,t,e),n.push(new S(t[0]/t[3],t[1]/t[3]))}return n}(l,a),p=function(t,e,i,r){const n=[],s=[],o=r[8]*e,a=r[9]*e,l=r[10]*e,c=r[11]*e,h=r[8]*i,u=r[9]*i,p=r[10]*i,d=r[11]*i;for(const e of t){const t=[],i=[];for(const n of e){const e=n.x,s=n.y,m=r[0]*e+r[4]*s+r[12],f=r[1]*e+r[5]*s+r[13],g=r[2]*e+r[6]*s+r[14],_=r[3]*e+r[7]*s+r[15],y=g+l,x=_+c,v=m+h,b=f+u,w=g+p,T=_+d,E=new S((m+o)/x,(f+a)/x);E.z=y/x,t.push(E);const I=new S(v/T,b/T);I.z=w/T,i.push(I)}n.push(t),s.push(i)}return[n,s]}(r,h,c,a);return function(t,e,i){let r=1/0;Js(i,e)&&(r=Ga(i,e[0]));for(let n=0;n=3)for(let e=0;e{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback()}),0))}remove(){delete this._channel,this._callback=()=>{}}}const Wc=6371008.8;class Hc{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Hc(o(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,i=this.lat*e,r=t.lat*e,n=Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos((t.lng-this.lng)*e);return Wc*Math.acos(Math.min(n,1))}toBounds(t=0){const e=360*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return new Kc(new Hc(this.lng-i,this.lat-e),new Hc(this.lng+i,this.lat+e))}static convert(t){if(t instanceof Hc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Hc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Hc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}class Kc{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))}setNorthEast(t){return this._ne=t instanceof Hc?new Hc(t.lng,t.lat):Hc.convert(t),this}setSouthWest(t){return this._sw=t instanceof Hc?new Hc(t.lng,t.lat):Hc.convert(t),this}extend(t){const e=this._sw,i=this._ne;let r,n;if(t instanceof Hc)r=t,n=t;else{if(!(t instanceof Kc))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Kc.convert(t)):this.extend(Hc.convert(t)):this;if(r=t._sw,n=t._ne,!r||!n)return this}return e||i?(e.lng=Math.min(r.lng,e.lng),e.lat=Math.min(r.lat,e.lat),i.lng=Math.max(n.lng,i.lng),i.lat=Math.max(n.lat,i.lat)):(this._sw=new Hc(r.lng,r.lat),this._ne=new Hc(n.lng,n.lat)),this}getCenter(){return new Hc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new Hc(this.getWest(),this.getNorth())}getSouthEast(){return new Hc(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(t){const{lng:e,lat:i}=Hc.convert(t);let r=this._sw.lng<=e&&e<=this._ne.lng;return this._sw.lng>this._ne.lng&&(r=this._sw.lng>=e&&e>=this._ne.lng),this._sw.lat<=i&&i<=this._ne.lat&&r}static convert(t){return t instanceof Kc?t:t?new Kc(t):t}}const Jc=2*Math.PI*Wc;function Yc(t){return Jc*Math.cos(t*Math.PI/180)}function Qc(t){return(180+t)/360}function th(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function eh(t,e){return t/Yc(e)}function ih(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class rh{constructor(t,e,i=0){this.x=+t,this.y=+e,this.z=+i}static fromLngLat(t,e=0){const i=Hc.convert(t);return new rh(Qc(i.lng),th(i.lat),eh(e,i.lat))}toLngLat(){return new Hc(360*this.x-180,ih(this.y))}toAltitude(){return this.z*Yc(ih(this.y))}meterInMercatorCoordinateUnits(){return 1/Jc*(t=ih(this.y),1/Math.cos(t*Math.PI/180));var t}}function nh(t,e,i){var r=2*Math.PI*6378137/256/Math.pow(2,i);return[t*r-2*Math.PI*6378137/2,e*r-2*Math.PI*6378137/2]}class sh{constructor(t,e,i){this.z=t,this.x=e,this.y=i,this.key=lh(0,t,t,e,i)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,i){const r=(s=this.y,o=this.z,a=nh(256*(n=this.x),256*(s=Math.pow(2,o)-s-1),o),l=nh(256*(n+1),256*(s+1),o),a[0]+","+a[1]+","+l[0]+","+l[1]);var n,s,o,a,l;const c=function(t,e,i){let r,n="";for(let s=t;s>0;s--)r=1<1?"@2x":"").replace(/{quadkey}/g,c).replace(/{bbox-epsg-3857}/g,r)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new S((t.x*e-this.x)*Gs,(t.y*e-this.y)*Gs)}toString(){return`${this.z}/${this.x}/${this.y}`}}class oh{constructor(t,e){this.wrap=t,this.canonical=e,this.key=lh(t,e.z,e.z,e.x,e.y)}}class ah{constructor(t,e,i,r,n){this.overscaledZ=t,this.wrap=e,this.canonical=new sh(i,+r,+n),this.key=lh(e,t,i,r,n)}clone(){return new ah(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){const e=this.canonical.z-t;return t>this.canonical.z?new ah(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new ah(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){const i=this.canonical.z-t;return t>this.canonical.z?lh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):lh(this.wrap*+e,t,t,this.canonical.x>>i,this.canonical.y>>i)}isChildOf(t){if(t.wrap!==this.wrap)return!1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return[new ah(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,i=2*this.canonical.x,r=2*this.canonical.y;return[new ah(e,this.wrap,e,i,r),new ah(e,this.wrap,e,i+1,r),new ah(e,this.wrap,e,i,r+1),new ah(e,this.wrap,e,i+1,r+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=i),i=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)}_unpackMapbox(t,e,i){return(256*t*256+256*e+i)/10-1e4}_unpackTerrarium(t,e,i){return 256*t+e+i/256-32768}getPixels(){return new Mo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,i){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let r=e*this.dim,n=e*this.dim+this.dim,s=i*this.dim,o=i*this.dim+this.dim;switch(e){case-1:r=n-1;break;case 1:n=r+1}switch(i){case-1:s=o-1;break;case 1:o=s+1}const a=-e*this.dim,l=-i*this.dim;for(let e=s;e=0&&r[3]>=0&&a.insert(o,r[0],r[1],r[2],r[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new wa.VectorTile(new cl(this.rawTileData)).layers,this.sourceLayerCoder=new hh(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(t,e,i,r){this.loadVTLayers();const n=t.params||{},s=Gs/t.tileSize/t.scale,o=Wi(n.filter),a=t.queryGeometry,l=t.queryPadding*s,c=mh(a),h=this.grid.query(c.minX-l,c.minY-l,c.maxX+l,c.maxY+l),u=mh(t.cameraQueryGeometry),p=this.grid3D.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l,((e,i,r,n)=>function(t,e,i,r,n){for(const s of t)if(e<=s.x&&i<=s.y&&r>=s.x&&n>=s.y)return!0;const s=[new S(e,i),new S(e,n),new S(r,n),new S(r,i)];if(t.length>2)for(const e of s)if(no(t,e))return!0;for(let e=0;e(p||(p=js(e)),i.queryIntersectsFeature(a,e,r,p,this.z,t.transform,s,t.pixelPosMatrix))))}return d}loadMatchingFeature(t,e,i,r,n,s,o,l,c,h,u){const p=this.bucketLayerIDs[e];if(s&&!function(t,e){for(let i=0;i=0)return!0;return!1}(s,p))return;const d=this.sourceLayerCoder.decode(i),m=this.vtLayers[d].feature(r);if(n.needGeometry){const t=Zs(m,!0);if(!n.filter(new Yr(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!n.filter(new Yr(this.tileID.overscaledZ),m))return;const f=this.getId(m,d);for(let e=0;e{const o=e instanceof an?e.get(s):null;return o&&o.evaluate?o.evaluate(i,r,n):o}))}function mh(t){let e=1/0,i=1/0,r=-1/0,n=-1/0;for(const s of t)e=Math.min(e,s.x),i=Math.min(i,s.y),r=Math.max(r,s.x),n=Math.max(n,s.y);return{minX:e,minY:i,maxX:r,maxY:n}}function fh(t,e){return e-t}var gh;Ir("FeatureIndex",ph,{omit:["rawTileData","sourceLayerCoder"]}),t.PerformanceMarkers=void 0,(gh=t.PerformanceMarkers||(t.PerformanceMarkers={})).create="create",gh.load="load",gh.fullLoad="fullLoad";let _h=null,yh=[];const xh=1e3/30,vh={mark(t){performance.mark(t)},frame(t){const e=t;null!=_h&&yh.push(e-_h),_h=e},clearMetrics(){_h=null,yh=[],performance.clearMeasures("loadTime"),performance.clearMeasures("fullLoadTime");for(const e in t.PerformanceMarkers)performance.clearMarks(t.PerformanceMarkers[e])},getPerformanceMetrics(){performance.measure("loadTime",t.PerformanceMarkers.create,t.PerformanceMarkers.load),performance.measure("fullLoadTime",t.PerformanceMarkers.create,t.PerformanceMarkers.fullLoad);const e=performance.getEntriesByName("loadTime")[0].duration,i=performance.getEntriesByName("fullLoadTime")[0].duration,r=yh.length,n=1/(yh.reduce(((t,e)=>t+e),0)/r/1e3),s=yh.filter((t=>t>xh)).reduce(((t,e)=>t+(e-xh)/xh),0);return{loadTime:e,fullLoadTime:i,fps:n,percentDroppedFrames:s/(r+s)*100}}};t.AJAXError=G,t.ARRAY_TYPE=po,t.Actor=class{constructor(t,e,i){this.target=t,this.parent=e,this.mapId=i,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},c(["receive","process"],this),this.invoker=new Xc(this.process),this.target.addEventListener("message",this.receive,!1),this.globalScope=_()?t:window}send(t,e,i,r,n=!1){const s=Math.round(1e18*Math.random()).toString(36).substring(0,10);i&&(this.callbacks[s]=i);const o=w(this.globalScope)?void 0:[];return this.target.postMessage({id:s,type:t,hasCallback:!!i,targetMapId:r,mustQueue:n,sourceMapId:this.mapId,data:zr(e,o)},o),{cancel:()=>{i&&delete this.callbacks[s],this.target.postMessage({id:s,type:"",targetMapId:r,sourceMapId:this.mapId})}}}receive(t){const e=t.data,i=e.id;if(i&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[i];const t=this.cancelCallbacks[i];delete this.cancelCallbacks[i],t&&t()}else _()||e.mustQueue?(this.tasks[i]=e,this.taskQueue.push(i),this.invoker.trigger()):this.processTask(i,e)}process(){if(!this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}processTask(t,e){if(""===e.type){const i=this.callbacks[t];delete this.callbacks[t],i&&(e.error?i(Cr(e.error)):i(null,Cr(e.data)))}else{let i=!1;const r=w(this.globalScope)?void 0:[],n=e.hasCallback?(e,n)=>{i=!0,delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:"",sourceMapId:this.mapId,error:e?zr(e):null,data:zr(n,r)},r)}:t=>{i=!0};let s=null;const o=Cr(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,o,n);else if(this.parent.getWorkerSource){const t=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,t[0],o.source)[t[1]](o,n)}else n(new Error(`Could not find function ${e.type}`));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)}},t.AlphaImage=Co,t.CanonicalTileID=sh,t.CollisionBoxArray=qn,t.CollisionCircleLayoutArray=class extends Pn{},t.Color=Lt,t.DEMData=ch,t.DataConstantProperty=ln,t.DictionaryCoder=hh,t.EXTENT=Gs,t.ErrorEvent=et,t.EvaluationParameters=Yr,t.Event=tt,t.Evented=it,t.FeatureIndex=ph,t.FillBucket=ga,t.FillExtrusionBucket=Fa,t.GeoJSONFeature=uh,t.ImageAtlas=Fl,t.ImagePosition=Rl,t.LineBucket=Ka,t.LineStripIndexArray=class extends Nn{},t.LngLat=Hc,t.LngLatBounds=Kc,t.MercatorCoordinate=rh,t.ONE_EM=ll,t.OverscaledTileID=ah,t.PerformanceUtils=vh,t.PosArray=Qn,t.Properties=dn,t.QuadTriangleArray=class extends Ln{},t.RGBAImage=Mo,t.RasterBoundsArray=class extends wn{},t.RequestPerformance=class{constructor(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let t=performance.getEntriesByName(this._marks.measure);return 0===t.length&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),t=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),t}},t.ResourceType=N,t.SegmentVector=fs,t.SymbolBucket=Fc,t.Transitionable=en,t.TriangleIndexArray=us,t.Uniform1f=zs,t.Uniform1i=class extends As{constructor(t,e){super(t,e),this.current=0}set(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))}},t.Uniform2f=class extends As{constructor(t,e){super(t,e),this.current=[0,0]}set(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))}},t.Uniform3f=class extends As{constructor(t,e){super(t,e),this.current=[0,0,0]}set(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))}},t.Uniform4f=Cs,t.UniformColor=Ms,t.UniformMatrix4f=class extends As{constructor(t,e){super(t,e),this.current=ks}set(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(let e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}}},t.UnwrappedTileID=oh,t.ValidationError=nt,t.ZoomHistory=Mr,t.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t},t.addDynamicAttributes=Dc,t.asyncAll=function(t,e,i){if(!t.length)return i(null,[]);let r=t.length;const n=new Array(t.length);let s=null;t.forEach(((t,o)=>{e(t,((t,e)=>{t&&(s=t),n[o]=e,0==--r&&i(s,n)}))}))},t.bezier=r,t.bindAll=c,t.cacheEntryPossiblyAdded=function(t){L++,L>P&&(t.getActor().send("enforceCacheSizeLimit",k),L=0)},t.clamp=s,t.clearTileCache=function(t){const e=caches.delete(z);t&&e.catch(t).then((()=>t()))},t.clipLine=hc,t.clone=function(t){var e=new po(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=p,t.clone$2=function(t){var e=new po(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=sl,t.config=A,t.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.create=function(){var t=new po(16);return po!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=mo,t.createExpression=Li,t.createFilter=Wi,t.createLayout=xn,t.createStyleLayer=function(t){return"custom"===t.type?new jc(t):new Zc[t.type](t)},t.cross=function(t,e,i){var r=e[0],n=e[1],s=e[2],o=i[0],a=i[1],l=i[2];return t[0]=n*l-s*a,t[1]=s*o-r*l,t[2]=r*a-n*o,t},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=n,t.emitValidationErrors=Tr,t.enforceCacheSizeLimit=function(t){D(),C&&C.then((e=>{e.keys().then((i=>{for(let r=0;r{}}},t.identity=fo,t.invert=function(t,e){var i=e[0],r=e[1],n=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],h=e[8],u=e[9],p=e[10],d=e[11],m=e[12],f=e[13],g=e[14],_=e[15],y=i*a-r*o,x=i*l-n*o,v=i*c-s*o,b=r*l-n*a,w=r*c-s*a,T=n*c-s*l,E=h*f-u*m,S=h*g-p*m,I=h*_-d*m,A=u*g-p*f,z=u*_-d*f,C=p*_-d*g,M=y*C-x*z+v*A+b*I-w*S+T*E;return M?(t[0]=(a*C-l*z+c*A)*(M=1/M),t[1]=(n*z-r*C-s*A)*M,t[2]=(f*T-g*w+_*b)*M,t[3]=(p*w-u*T-d*b)*M,t[4]=(l*I-o*C-c*S)*M,t[5]=(i*C-n*I+s*S)*M,t[6]=(g*v-m*T-_*x)*M,t[7]=(h*T-p*v+d*x)*M,t[8]=(o*z-a*I+c*E)*M,t[9]=(r*I-i*z-s*E)*M,t[10]=(m*w-f*v+_*y)*M,t[11]=(u*v-h*w-d*y)*M,t[12]=(a*S-o*A-l*E)*M,t[13]=(i*A-r*S+n*E)*M,t[14]=(f*x-m*b-g*y)*M,t[15]=(h*b-u*x+p*y)*M,t):null},t.isImageBitmap=T,t.isSafari=w,t.isWorker=_,t.keysDifference=function(t,e){const i=[];for(const r in t)r in e||i.push(r);return i},t.lazyLoadRTLTextPlugin=function(){Jr.isLoading()||Jr.isLoaded()||"deferred"!==Hr()||Kr()},t.makeRequest=j,t.mapObject=h,t.mercatorXfromLng=Qc,t.mercatorYfromLat=th,t.mercatorZfromAltitude=eh,t.mul=yo,t.mul$1=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t[2]=e[2]*i[2],t[3]=e[3]*i[3],t},t.multiply=go,t.nextPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},t.normalize=function(t,e){var i=e[0],r=e[1],n=e[2],s=i*i+r*r+n*n;return s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t},t.number=Se,t.ortho=function(t,e,i,r,n,s,o){var a=1/(e-i),l=1/(r-n),c=1/(s-o);return t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*a,t[13]=(n+r)*l,t[14]=(o+s)*c,t[15]=1,t},t.parseCacheControl=y,t.parseGlyphPbf=function(t){return new cl(t).readFields(Pl,[])},t.pbf=cl,t.performSymbolLayout=function(e){e.bucket.createArrays(),e.bucket.tilePixelRatio=Gs/(512*e.bucket.overscaling),e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;const i=e.bucket.layers[0].layout,r=e.bucket.layers[0]._unevaluatedLayout._values,n={layoutIconSize:r["icon-size"].possiblyEvaluate(new Yr(e.bucket.zoom+1),e.canonical),layoutTextSize:r["text-size"].possiblyEvaluate(new Yr(e.bucket.zoom+1),e.canonical),textMaxSize:r["text-size"].possiblyEvaluate(new Yr(18))};if("composite"===e.bucket.textSizeData.kind){const{minZoom:t,maxZoom:i}=e.bucket.textSizeData;n.compositeTextSizes=[r["text-size"].possiblyEvaluate(new Yr(t),e.canonical),r["text-size"].possiblyEvaluate(new Yr(i),e.canonical)]}if("composite"===e.bucket.iconSizeData.kind){const{minZoom:t,maxZoom:i}=e.bucket.iconSizeData;n.compositeIconSizes=[r["icon-size"].possiblyEvaluate(new Yr(t),e.canonical),r["icon-size"].possiblyEvaluate(new Yr(i),e.canonical)]}const s=i.get("text-line-height")*ll,o="viewport"!==i.get("text-rotation-alignment")&&"point"!==i.get("symbol-placement"),a=i.get("text-keep-upright"),l=i.get("text-size");for(const r of e.bucket.features){const c=i.get("text-font").evaluate(r,{},e.canonical).join(","),h=l.evaluate(r,{},e.canonical),u=n.layoutTextSize.evaluate(r,{},e.canonical),p=n.layoutIconSize.evaluate(r,{},e.canonical),d={horizontal:{},vertical:void 0},f=r.text;let g,_=[0,0];if(f){const n=f.toString(),l=i.get("text-letter-spacing").evaluate(r,{},e.canonical)*ll,p=Dr(n)?l:0,m=i.get("text-anchor").evaluate(r,{},e.canonical),g=i.get("text-variable-anchor");if(!g){const t=i.get("text-radial-offset").evaluate(r,{},e.canonical);_=t?Tc(m,[t*ll,wc]):i.get("text-offset").evaluate(r,{},e.canonical).map((t=>t*ll))}let y=o?"center":i.get("text-justify").evaluate(r,{},e.canonical);const x=i.get("symbol-placement"),v="point"===x?i.get("text-max-width").evaluate(r,{},e.canonical)*ll:0,b=()=>{e.bucket.allowVerticalPlacement&&Pr(n)&&(d.vertical=Nl(f,e.glyphMap,e.glyphPositions,e.imagePositions,c,v,s,m,"left",p,_,t.WritingMode.vertical,!0,x,u,h))};if(!o&&g){const i="auto"===y?g.map((t=>Ec(t))):[y];let r=!1;for(let n=0;nthis._layers[t.id])),i=e[0];if("none"===i.visibility)continue;const r=i.source||"";let n=this.familiesBySource[r];n||(n=this.familiesBySource[r]={});const s=i.sourceLayer||"_geojsonTileLayer";let o=n[s];o||(o=n[s]=[]),o.push(e)}}}class n{constructor(e){const i={},r=[];for(const t in e){const n=e[t],s=i[t]={};for(const t in n){const e=n[+t];if(!e||0===e.bitmap.width||0===e.bitmap.height)continue;const i={x:0,y:0,w:e.bitmap.width+2,h:e.bitmap.height+2};r.push(i),s[t]={rect:i,metrics:e.metrics}}}const{w:n,h:s}=t.potpack(r),o=new t.AlphaImage({width:n||1,height:s||1});for(const r in e){const n=e[r];for(const e in n){const s=n[+e];if(!s||0===s.bitmap.width||0===s.bitmap.height)continue;const a=i[r][e].rect;t.AlphaImage.copy(s.bitmap,o,{x:0,y:0},{x:a.x+1,y:a.y+1},s.bitmap)}}this.image=o,this.positions=i}}t.register("GlyphAtlas",n);class s{constructor(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId}parse(e,i,r,s,a){this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;const l=new t.DictionaryCoder(Object.keys(e.layers).sort()),c=new t.FeatureIndex(this.tileID,this.promoteId);c.bucketLayerIDs=[];const h={},u={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:r},p=i.familiesBySource[this.source];for(const i in p){const n=e.layers[i];if(!n)continue;1===n.version&&t.warnOnce(`Vector tile source "${this.source}" layer "${i}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const s=l.encode(i),a=[];for(let t=0;t=e.maxzoom||"none"!==e.visibility&&(o(t,this.zoom,r),(h[e.id]=e.createBucket({index:c.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:s,sourceID:this.source})).populate(a,u,this.tileID.canonical),c.bucketLayerIDs.push(t.map((t=>t.id))))}}let d,m,f,g;const _=t.mapObject(u.glyphDependencies,(t=>Object.keys(t).map(Number)));Object.keys(_).length?s.send("getGlyphs",{uid:this.uid,stacks:_},((t,e)=>{d||(d=t,m=e,v.call(this))})):m={};const y=Object.keys(u.iconDependencies);y.length?s.send("getImages",{icons:y,source:this.source,tileID:this.tileID,type:"icons"},((t,e)=>{d||(d=t,f=e,v.call(this))})):f={};const x=Object.keys(u.patternDependencies);function v(){if(d)return a(d);if(m&&f&&g){const e=new n(m),i=new t.ImageAtlas(f,g);for(const n in h){const s=h[n];s instanceof t.SymbolBucket?(o(s.layers,this.zoom,r),t.performSymbolLayout({bucket:s,glyphMap:m,glyphPositions:e.positions,imageMap:f,imagePositions:i.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):s.hasPattern&&(s instanceof t.LineBucket||s instanceof t.FillBucket||s instanceof t.FillExtrusionBucket)&&(o(s.layers,this.zoom,r),s.addFeatures(u,this.tileID.canonical,i.patternPositions))}this.status="done",a(null,{buckets:Object.values(h).filter((t=>!t.isEmpty())),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:i,glyphMap:this.returnDependencies?m:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?e.positions:null})}}x.length?s.send("getImages",{icons:x,source:this.source,tileID:this.tileID,type:"patterns"},((t,e)=>{d||(d=t,g=e,v.call(this))})):g={},v.call(this)}}function o(e,i,r){const n=new t.EvaluationParameters(i);for(const t of e)t.recalculate(n,r)}function a(e,i){const r=t.getArrayBuffer(e.request,((e,r,n,s)=>{e?i(e):r&&i(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(r)),rawData:r,cacheControl:n,expires:s})}));return()=>{r.cancel(),i()}}class l{constructor(t,e,i,r){this.actor=t,this.layerIndex=e,this.availableImages=i,this.loadVectorData=r||a,this.loading={},this.loaded={}}loadTile(e,i){const r=e.uid;this.loading||(this.loading={});const n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),o=this.loading[r]=new s(e);o.abort=this.loadVectorData(e,((e,s)=>{if(delete this.loading[r],e||!s)return o.status="done",this.loaded[r]=o,i(e);const a=s.rawData,l={};s.expires&&(l.expires=s.expires),s.cacheControl&&(l.cacheControl=s.cacheControl);const c={};if(n){const t=n.finish();t&&(c.resourceTiming=JSON.parse(JSON.stringify(t)))}o.vectorTile=s.vectorTile,o.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,((e,r)=>{if(e||!r)return i(e);i(null,t.extend({rawTileData:a.slice(0)},r,l,c))})),this.loaded=this.loaded||{},this.loaded[r]=o}))}reloadTile(t,e){const i=this.loaded,r=t.uid,n=this;if(i&&i[r]){const s=i[r];s.showCollisionBoxes=t.showCollisionBoxes;const o=(t,i)=>{const r=s.reloadCallback;r&&(delete s.reloadCallback,s.parse(s.vectorTile,n.layerIndex,this.availableImages,n.actor,r)),e(t,i)};"parsing"===s.status?s.reloadCallback=o:"done"===s.status&&(s.vectorTile?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,o):o())}}abortTile(t,e){const i=this.loading,r=t.uid;i&&i[r]&&i[r].abort&&(i[r].abort(),delete i[r]),e()}removeTile(t,e){const i=this.loaded,r=t.uid;i&&i[r]&&delete i[r],e()}}class c{constructor(){this.loaded={}}loadTile(e,i){const{uid:r,encoding:n,rawImageData:s}=e,o=t.isImageBitmap(s)?this.getImageData(s):s,a=new t.DEMData(r,o,n);this.loaded=this.loaded||{},this.loaded[r]=a,i(null,a)}getImageData(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);const i=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:i.width,height:i.height},i.data)}removeTile(t){const e=this.loaded,i=t.uid;e&&e[i]&&delete e[i]}}var h=function t(e,i){var r,n=e&&e.type;if("FeatureCollection"===n)for(r=0;r=Math.abs(a)?i-l+a:a-l+i,i=l}i+r>=0!=!!e&&t.reverse()}const d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON;class m{constructor(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))}loadGeometry(){if(1===this._feature.type){const e=[];for(const i of this._feature.geometry)e.push([new t.pointGeometry(i[0],i[1])]);return e}{const e=[];for(const i of this._feature.geometry){const r=[];for(const e of i)r.push(new t.pointGeometry(e[0],e[1]));e.push(r)}return e}}toGeoJSON(t,e,i){return d.call(this,t,e,i)}}class f{constructor(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.EXTENT,this.length=e.length,this._features=e}feature(t){return new m(this._features[t])}}var g={exports:{}},_=t.pointGeometry,y=t.vectorTile.VectorTileFeature,x=v;function v(t,e){this.options=e||{},this.features=t,this.length=t.length}function b(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}v.prototype.feature=function(t){return new b(this.features[t],this.options.extent)},b.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e>31}function M(t,e){for(var i=t.loadGeometry(),r=t.type,n=0,s=0,o=i.length,a=0;a>1;D(t,e,o,r,n,s%2),P(t,e,i,r,o-1,s+1),P(t,e,i,o+1,n,s+1)}function D(t,e,i,r,n,s){for(;n>r;){if(n-r>600){const o=n-r+1,a=i-r+1,l=Math.log(o),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(o-c)/o)*(a-o/2<0?-1:1);D(t,e,i,Math.max(r,Math.floor(i-a*c/o+h)),Math.min(n,Math.floor(i+(o-a)*c/o+h)),s)}const o=e[2*i+s];let a=r,l=n;for(L(t,e,r,i),e[2*n+s]>o&&L(t,e,r,n);ao;)l--}e[2*r+s]===o?L(t,e,r,l):(l++,L(t,e,l,n)),l<=i&&(r=l+1),i<=l&&(n=l-1)}}function L(t,e,i,r){B(t,i,r),B(e,2*i,2*r),B(e,2*i+1,2*r+1)}function B(t,e,i){const r=t[e];t[e]=t[i],t[i]=r}function R(t,e,i,r){const n=t-i,s=e-r;return n*n+s*s}g.exports=E,g.exports.fromVectorTileJs=E,g.exports.fromGeojsonVt=function(t,e){e=e||{};var i={};for(var r in t)i[r]=new T(t[r].features,e),i[r].name=r,i[r].version=e.version,i[r].extent=e.extent;return E({layers:i})},g.exports.GeoJSONWrapper=T;const F=t=>t[0],O=t=>t[1];class U{constructor(t,e=F,i=O,r=64,n=Float64Array){this.nodeSize=r,this.points=t;const s=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new s(t.length),a=this.coords=new n(2*t.length);for(let r=0;r=i&&c<=n&&h>=r&&h<=s&&l.push(t[o]);continue}const m=Math.floor((d+p)/2);c=e[2*m],h=e[2*m+1],c>=i&&c<=n&&h>=r&&h<=s&&l.push(t[m]);const f=(u+1)%2;(0===u?i<=c:r<=h)&&(a.push(d),a.push(m-1),a.push(f)),(0===u?n>=c:s>=h)&&(a.push(m+1),a.push(p),a.push(f))}return l}(this.ids,this.coords,t,e,i,r,this.nodeSize)}within(t,e,i){return function(t,e,i,r,n,s){const o=[0,t.length-1,0],a=[],l=n*n;for(;o.length;){const c=o.pop(),h=o.pop(),u=o.pop();if(h-u<=s){for(let n=u;n<=h;n++)R(e[2*n],e[2*n+1],i,r)<=l&&a.push(t[n]);continue}const p=Math.floor((u+h)/2),d=e[2*p],m=e[2*p+1];R(d,m,i,r)<=l&&a.push(t[p]);const f=(c+1)%2;(0===c?i-n<=d:r-n<=m)&&(o.push(u),o.push(p-1),o.push(f)),(0===c?i+n>=d:r+n>=m)&&(o.push(p+1),o.push(h),o.push(f))}return a}(this.ids,this.coords,t,e,i,this.nodeSize)}}const V={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},N=Math.fround||(G=new Float32Array(1),t=>(G[0]=+t,G[0]));var G;class ${constructor(t){this.options=J(Object.create(V),t),this.trees=new Array(this.options.maxZoom+1)}load(t){const{log:e,minZoom:i,maxZoom:r,nodeSize:n}=this.options;e&&console.time("total time");const s=`prepare ${t.length} points`;e&&console.time(s),this.points=t;let o=[];for(let e=0;e=i;t--){const i=+Date.now();o=this._cluster(o,t),this.trees[t]=new U(o,Y,Q,n,Float32Array),e&&console.log("z%d: %d clusters in %dms",t,o.length,+Date.now()-i)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let i=((t[0]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,t[1]));let n=180===t[2]?180:((t[2]+180)%360+360)%360-180;const s=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)i=-180,n=180;else if(i>n){const t=this.getClusters([i,r,180,s],e),o=this.getClusters([-180,r,n,s],e);return t.concat(o)}const o=this.trees[this._limitZoom(e)],a=o.range(W(i),H(s),W(n),H(r)),l=[];for(const t of a){const e=o.points[t];l.push(e.numPoints?Z(e):this.points[e.index])}return l}getChildren(t){const e=this._getOriginId(t),i=this._getOriginZoom(t),r="No cluster with the specified id.",n=this.trees[i];if(!n)throw new Error(r);const s=n.points[e];if(!s)throw new Error(r);const o=this.options.radius/(this.options.extent*Math.pow(2,i-1)),a=n.within(s.x,s.y,o),l=[];for(const e of a){const i=n.points[e];i.parentId===t&&l.push(i.numPoints?Z(i):this.points[i.index])}if(0===l.length)throw new Error(r);return l}getLeaves(t,e,i){const r=[];return this._appendLeaves(r,t,e=e||10,i=i||0,0),r}getTile(t,e,i){const r=this.trees[this._limitZoom(t)],n=Math.pow(2,t),{extent:s,radius:o}=this.options,a=o/s,l=(i-a)/n,c=(i+1+a)/n,h={features:[]};return this._addTileFeatures(r.range((e-a)/n,l,(e+1+a)/n,c),r.points,e,i,n,h),0===e&&this._addTileFeatures(r.range(1-a/n,l,1,c),r.points,n,i,n,h),e===n-1&&this._addTileFeatures(r.range(0,l,a/n,c),r.points,-1,i,n,h),h.features.length?h:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const i=this.getChildren(t);if(e++,1!==i.length)break;t=i[0].properties.cluster_id}return e}_appendLeaves(t,e,i,r,n){const s=this.getChildren(e);for(const e of s){const s=e.properties;if(s&&s.cluster?n+s.point_count<=r?n+=s.point_count:n=this._appendLeaves(t,s.cluster_id,i,r,n):ne&&(u+=i.numPoints||1)}if(u>h&&u>=o){let t=n.x*h,o=n.y*h,a=s&&h>1?this._map(n,!0):null;const p=(r<<5)+(e+1)+this.points.length;for(const i of c){const r=l.points[i];if(r.zoom<=e)continue;r.zoom=e;const c=r.numPoints||1;t+=r.x*c,o+=r.y*c,r.parentId=p,s&&(a||(a=this._map(n,!0)),s(a,this._map(r)))}n.parentId=p,i.push(q(t/u,o/u,p,u,a))}else if(i.push(n),u>1)for(const t of c){const r=l.points[t];r.zoom<=e||(r.zoom=e,i.push(r))}}return i}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e){if(t.numPoints)return e?J({},t.properties):t.properties;const i=this.points[t.index].properties,r=this.options.map(i);return e&&r===i?J({},r):r}}function q(t,e,i,r,n){return{x:N(t),y:N(e),zoom:1/0,id:i,parentId:-1,numPoints:r,properties:n}}function j(t,e){const[i,r]=t.geometry.coordinates;return{x:N(W(i)),y:N(H(r)),zoom:1/0,index:e,parentId:-1}}function Z(t){return{type:"Feature",id:t.id,properties:X(t),geometry:{type:"Point",coordinates:[(e=t.x,360*(e-.5)),K(t.y)]}};var e}function X(t){const e=t.numPoints,i=e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?Math.round(e/100)/10+"k":e;return J(J({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:i})}function W(t){return t/360+.5}function H(t){const e=Math.sin(t*Math.PI/180),i=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return i<0?0:i>1?1:i}function K(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function J(t,e){for(const i in e)t[i]=e[i];return t}function Y(t){return t.x}function Q(t){return t.y}function tt(t,e,i,r){for(var n,s=r,o=i-e>>1,a=i-e,l=t[e],c=t[e+1],h=t[i],u=t[i+1],p=e+3;ps)n=p,s=d;else if(d===s){var m=Math.abs(p-o);mr&&(n-e>3&&tt(t,e,n,r),t[n+2]=s,i-n>3&&tt(t,n,i,r))}function et(t,e,i,r,n,s){var o=n-i,a=s-r;if(0!==o||0!==a){var l=((t-i)*o+(e-r)*a)/(o*o+a*a);l>1?(i=n,r=s):l>0&&(i+=o*l,r+=a*l)}return(o=t-i)*o+(a=e-r)*a}function it(t,e,i,r){var n={id:void 0===t?null:t,type:e,geometry:i,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,i=t.type;if("Point"===i||"MultiPoint"===i||"LineString"===i)rt(t,e);else if("Polygon"===i||"MultiLineString"===i)for(var r=0;r0&&(o+=r?(n*c-l*s)/2:Math.sqrt(Math.pow(l-n,2)+Math.pow(c-s,2))),n=l,s=c}var h=e.length-3;e[2]=1,tt(e,0,h,i),e[h+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,i,r){for(var n=0;n1?1:i}function ht(t,e,i,r,n,s,o,a){if(r/=e,s>=(i/=e)&&o=r)return null;for(var l=[],c=0;c=i&&m=r)){var f=[];if("Point"===p||"MultiPoint"===p)ut(u,f,i,r,n);else if("LineString"===p)pt(u,f,i,r,n,!1,a.lineMetrics);else if("MultiLineString"===p)mt(u,f,i,r,n,!1);else if("Polygon"===p)mt(u,f,i,r,n,!0);else if("MultiPolygon"===p)for(var g=0;g=i&&o<=r&&(e.push(t[s]),e.push(t[s+1]),e.push(t[s+2]))}}function pt(t,e,i,r,n,s,o){for(var a,l,c=dt(t),h=0===n?gt:_t,u=t.start,p=0;pi&&(l=h(c,d,m,g,_,i),o&&(c.start=u+a*l)):y>r?x=i&&(l=h(c,d,m,g,_,i),v=!0),x>r&&y<=r&&(l=h(c,d,m,g,_,r),v=!0),!s&&v&&(o&&(c.end=u+a*l),e.push(c),c=dt(t)),o&&(u+=a)}var b=t.length-3;d=t[b],m=t[b+1],f=t[b+2],(y=0===n?d:m)>=i&&y<=r&&ft(c,d,m,f),b=c.length-3,s&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&ft(c,c[0],c[1],c[2]),c.length&&e.push(c)}function dt(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function mt(t,e,i,r,n,s){for(var o=0;oo.maxX&&(o.maxX=h),u>o.maxY&&(o.maxY=u)}return o}function Tt(t,e,i,r){var n=e.geometry,s=e.type,o=[];if("Point"===s||"MultiPoint"===s)for(var a=0;a0&&e.size<(n?o:r))i.numPoints+=e.length/3;else{for(var a=[],l=0;lo)&&(i.numSimplified++,a.push(e[l]),a.push(e[l+1])),i.numPoints++;n&&function(t,e){for(var i=0,r=0,n=t.length,s=n-2;r0===e)for(r=0,n=t.length;r24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var r=function(t,e){var i=[];if("FeatureCollection"===t.type)for(var r=0;r1&&console.time("creation"),p=this.tiles[u]=wt(t,e,i,r,l),this.tileCoords.push({z:e,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,i,r,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));var d="z"+e;this.stats[d]=(this.stats[d]||0)+1,this.total++}if(p.source=t,n){if(e===l.maxZoom||e===n)continue;var m=1<1&&console.time("clipping");var f,g,_,y,x,v,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,E=1+b;f=g=_=y=null,x=ht(t,h,i-b,i+T,0,p.minX,p.maxX,l),v=ht(t,h,i+w,i+E,0,p.minX,p.maxX,l),t=null,x&&(f=ht(x,h,r-b,r+T,1,p.minY,p.maxY,l),g=ht(x,h,r+w,r+E,1,p.minY,p.maxY,l),x=null),v&&(_=ht(v,h,r-b,r+T,1,p.minY,p.maxY,l),y=ht(v,h,r+w,r+E,1,p.minY,p.maxY,l),v=null),c>1&&console.timeEnd("clipping"),a.push(f||[],e+1,2*i,2*r),a.push(g||[],e+1,2*i,2*r+1),a.push(_||[],e+1,2*i+1,2*r),a.push(y||[],e+1,2*i+1,2*r+1)}}},St.prototype.getTile=function(t,e,i){var r=this.options,n=r.extent,s=r.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,i);for(var l,c=t,h=e,u=i;!l&&c>0;)c--,h=Math.floor(h/2),u=Math.floor(u/2),l=this.tiles[It(c,h,u)];return l&&l.source?(s>1&&console.log("found parent tile z%d-%d-%d",c,h,u),s>1&&console.time("drilling down"),this.splitTile(l.source,c,h,u,t,e,i),s>1&&console.timeEnd("drilling down"),this.tiles[a]?vt(this.tiles[a],n):null):null};class zt extends l{constructor(t,e,i,r){super(t,e,i,At),r&&(this.loadGeoJSON=r)}loadData(e,i){var r;null===(r=this._pendingRequest)||void 0===r||r.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});const n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request);this._pendingCallback=i,this._pendingRequest=this.loadGeoJSON(e,((r,s)=>{if(delete this._pendingCallback,delete this._pendingRequest,r||!s)return i(r);if("object"!=typeof s)return i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));{h(s,!0);try{if(e.filter){const i=t.createExpression(e.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));const r=s.features.filter((t=>i.value.evaluate({zoom:0},t)));s={type:"FeatureCollection",features:r}}this._geoJSONIndex=e.cluster?new $(function({superclusterOptions:e,clusterProperties:i}){if(!i||!e)return e;const r={},n={},s={accumulated:null,zoom:0},o={properties:null},a=Object.keys(i);for(const e of a){const[s,o]=i[e],a=t.createExpression(o),l=t.createExpression("string"==typeof s?[s,["accumulated"],["get",e]]:s);r[e]=a.value,n[e]=l.value}return e.map=t=>{o.properties=t;const e={};for(const t of a)e[t]=r[t].evaluate(s,o);return e},e.reduce=(t,e)=>{o.properties=e;for(const e of a)s.accumulated=t[e],t[e]=n[e].evaluate(s,o)},e}(e)).load(s.features):function(t,e){return new St(t,e)}(s,e.geojsonVtOptions)}catch(r){return i(r)}this.loaded={};const o={};if(n){const t=n.finish();t&&(o.resourceTiming={},o.resourceTiming[e.source]=JSON.parse(JSON.stringify(t)))}i(null,o)}}))}reloadTile(t,e){const i=this.loaded;return i&&i[t.uid]?super.reloadTile(t,e):this.loadTile(t,e)}loadGeoJSON(e,i){if(e.request)return t.getJSON(e.request,i);if("string"==typeof e.data)try{i(null,JSON.parse(e.data))}catch(t){i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`))}else i(new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}}removeSource(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()}getClusterExpansionZoom(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}}getClusterChildren(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}}getClusterLeaves(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}}}class Ct{constructor(e){this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:zt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(t,e)=>{if(this.workerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=e=>{if(t.plugin.isParsed())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}}setReferrer(t,e){this.referrer=e}setImages(t,e,i){this.availableImages[t]=e;for(const i in this.workerSources[t]){const r=this.workerSources[t][i];for(const t in r)r[t].availableImages=e}i()}setLayers(t,e,i){this.getLayerIndex(t).replace(e),i()}updateLayers(t,e,i){this.getLayerIndex(t).update(e.layers,e.removedIds),i()}loadTile(t,e,i){this.getWorkerSource(t,e.type,e.source).loadTile(e,i)}loadDEMTile(t,e,i){this.getDEMWorkerSource(t,e.source).loadTile(e,i)}reloadTile(t,e,i){this.getWorkerSource(t,e.type,e.source).reloadTile(e,i)}abortTile(t,e,i){this.getWorkerSource(t,e.type,e.source).abortTile(e,i)}removeTile(t,e,i){this.getWorkerSource(t,e.type,e.source).removeTile(e,i)}removeDEMTile(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)}removeSource(t,e,i){if(!this.workerSources[t]||!this.workerSources[t][e.type]||!this.workerSources[t][e.type][e.source])return;const r=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==r.removeSource?r.removeSource(e,i):i()}loadWorkerSource(t,e,i){try{this.self.importScripts(e.url),i()}catch(t){i(t.toString())}}syncRTLPluginState(e,i,r){try{t.plugin.setState(i);const e=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=e){this.self.importScripts(e);const i=t.plugin.isParsed();r(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${e}`),i)}}catch(t){r(t.toString())}}getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}getLayerIndex(t){let e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new r),e}getWorkerSource(t,e,i){if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][i]){const r={send:(e,i,r)=>{this.actor.send(e,i,r,t)}};this.workerSources[t][e][i]=new this.workerSourceTypes[e](r,this.getLayerIndex(t),this.getAvailableImages(t))}return this.workerSources[t][e][i]}getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new c),this.demWorkerSources[t][e]}enforceCacheSizeLimit(e,i){t.enforceCacheSizeLimit(i)}}return t.isWorker()&&(self.worker=new Ct(self)),Ct})),r(["./shared"],(function(t){var e=i;function i(t){return!function(t){return"undefined"==typeof window||"undefined"==typeof document?"not a browser":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?"JSON"in window&&"parse"in JSON&&"stringify"in JSON?function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var t,e,i=new Blob([""],{type:"text/javascript"}),r=URL.createObjectURL(i);try{e=new Worker(r),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(r),t}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var t=document.createElement("canvas");t.width=t.height=1;var e=t.getContext("2d");if(!e)return!1;var i=e.getImageData(0,0,1,1);return i&&i.width===t.width}()?(void 0===r[e=t&&t.failIfMajorPerformanceCaveat]&&(r[e]=function(t){var e,r=function(t){var e=document.createElement("canvas"),r=Object.create(i.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=t,e.getContext("webgl",r)||e.getContext("experimental-webgl",r)}(t);if(!r)return!1;try{e=r.createShader(r.VERTEX_SHADER)}catch(t){return!1}return!(!e||r.isContextLost())&&(r.shaderSource(e,"void main() {}"),r.compileShader(e),!0===r.getShaderParameter(e,r.COMPILE_STATUS))}(e)),r[e]?document.documentMode?"insufficient ECMAScript 6 support":void 0:"insufficient WebGL support"):"insufficient Canvas/getImageData support":"insufficient ArrayBuffer support":"insufficient Uint8ClampedArray support":"insufficient worker support":"insufficient JSON support":"insufficient Object support":"insufficient Function support":"insufficent Array support";var e}(t)}var r={};function n(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let i=0;i{window.removeEventListener("click",s.suppressClickInternal,!0)}),0)}static mousePos(e,i){const r=e.getBoundingClientRect();return new t.pointGeometry(i.clientX-r.left-e.clientLeft,i.clientY-r.top-e.clientTop)}static touchPos(e,i){const r=e.getBoundingClientRect(),n=[];for(let s=0;s-1);l++,s[l]=a,o[l]=c,o[l+1]=u}for(let a=0,l=0;a{let r=this.entries[t];r||(r=this.entries[t]={glyphs:{},requests:{},ranges:{}});let n=r.glyphs[e];if(void 0!==n)return void i(null,{stack:t,id:e,glyph:n});if(n=this._tinySDF(r,t,e),n)return r.glyphs[e]=n,void i(null,{stack:t,id:e,glyph:n});const s=Math.floor(e/256);if(256*s>65535)return void i(new Error("glyphs > 65535 not supported"));if(r.ranges[s])return void i(null,{stack:t,id:e,glyph:n});let o=r.requests[s];o||(o=r.requests[s]=[],m.loadGlyphRange(t,s,this.url,this.requestManager,((t,e)=>{if(e){for(const t in e)this._doesCharSupportLocalGlyph(+t)||(r.glyphs[+t]=e[+t]);r.ranges[s]=!0}for(const i of o)i(t,e);delete r.requests[s]}))),o.push(((r,n)=>{r?i(r):n&&i(null,{stack:t,id:e,glyph:n[e]||null})}))}),((t,e)=>{if(t)i(t);else if(e){const t={};for(const{stack:i,id:r,glyph:n}of e)(t[i]||(t[i]={}))[r]=n&&{id:n.id,bitmap:n.bitmap.clone(),metrics:n.metrics};i(null,t)}}))}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&(t.unicodeBlockLookup["CJK Unified Ideographs"](e)||t.unicodeBlockLookup["Hangul Syllables"](e)||t.unicodeBlockLookup.Hiragana(e)||t.unicodeBlockLookup.Katakana(e))}_tinySDF(e,i,r){const n=this.localIdeographFontFamily;if(!n)return;if(!this._doesCharSupportLocalGlyph(r))return;let s=e.tinySDF;if(!s){let t="400";/bold/i.test(i)?t="900":/medium/i.test(i)?t="500":/light/i.test(i)&&(t="200"),s=e.tinySDF=new m.TinySDF({fontSize:24,buffer:3,radius:8,cutoff:.25,fontFamily:n,fontWeight:t})}const o=s.draw(String.fromCharCode(r));return{id:r,bitmap:new t.AlphaImage({width:o.width||30,height:o.height||30},o.data),metrics:{width:o.glyphWidth||24,height:o.glyphHeight||24,left:o.glyphLeft||0,top:o.glyphTop-27||-8,advance:o.glyphAdvance||24}}}}m.loadGlyphRange=function(e,i,r,n,s){const o=256*i,a=o+255,l=n.transformRequest(r.replace("{fontstack}",e).replace("{range}",`${o}-${a}`),t.ResourceType.Glyphs);t.getArrayBuffer(l,((e,i)=>{if(e)s(e);else if(i){const e={};for(const r of t.parseGlyphPbf(i))e[r.id]=r;s(null,e)}}))},m.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:r=.25,fontFamily:n="sans-serif",fontWeight:s="normal",fontStyle:o="normal"}={}){this.buffer=e,this.cutoff=r,this.radius=i;const a=this.size=t+4*e,l=this._createCanvas(a),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${o} ${s} ${t}px ${n}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Uint16Array(a)}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:r,actualBoundingBoxLeft:n,actualBoundingBoxRight:s}=this.ctx.measureText(t),o=Math.ceil(i),a=Math.min(this.size-this.buffer,Math.ceil(s-n)),l=Math.min(this.size-this.buffer,o+Math.ceil(r)),c=a+2*this.buffer,h=l+2*this.buffer,d=Math.max(c*h,0),m=new Uint8ClampedArray(d),f={data:m,width:c,height:h,glyphWidth:a,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:e};if(0===a||0===l)return f;const{ctx:g,buffer:_,gridInner:y,gridOuter:x}=this;g.clearRect(_,_,a,l),g.fillText(t,_,_+o);const v=g.getImageData(_,_,a,l);x.fill(u,0,d),y.fill(0,0,d);for(let t=0;t0?t*t:0,y[r]=t<0?t*t:0}}p(x,0,0,c,h,c,this.f,this.v,this.z),p(y,_,_,a,l,c,this.f,this.v,this.z);for(let t=0;t1&&(o=t[++s]);const l=Math.abs(a-o.left),c=Math.abs(a-o.right),h=Math.min(l,c);let u;const p=e/i*(r+1);if(o.isDash){const t=r-Math.abs(p);u=Math.sqrt(h*h+t*t)}else u=r-Math.sqrt(h*h+p*p);this.data[n+a]=Math.max(0,Math.min(255,u+128))}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const i=t[e],r=t[e+1];i.zeroLength?t.splice(e,1):r&&r.isDash===i.isDash&&(r.left=i.left,t.splice(e,1))}const e=t[0],i=t[t.length-1];e.isDash===i.isDash&&(e.left=i.left-this.width,i.right=e.right+this.width);const r=this.width*this.nextRow;let n=0,s=t[n];for(let e=0;e1&&(s=t[++n]);const i=Math.abs(e-s.left),o=Math.abs(e-s.right),a=Math.min(i,o);this.data[r+e]=Math.max(0,Math.min(255,(s.isDash?a:-a)+128))}}addDash(e,i){const r=i?7:0,n=2*r+1;if(this.nextRow+n>this.height)return t.warnOnce("LineAtlas out of space"),null;let s=0;for(let t=0;t{t.send(e,i,r)}),r=r||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((t=>{t.remove()})),this.actors=[],this.workerPool.release(this.id)}}function v(e,i,r){const n=function(i,n){if(i)return r(i);if(n){const i=t.pick(t.extend(n,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);n.vector_layers&&(i.vectorLayers=n.vector_layers,i.vectorLayerIds=i.vectorLayers.map((t=>t.id))),r(null,i)}};return e.url?t.getJSON(i.transformRequest(e.url,t.ResourceType.Source),n):t.exported.frame((()=>n(null,e)))}x.Actor=t.Actor;class b{constructor(e,i,r){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=r||24}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(e){const i=Math.pow(2,e.z),r=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),n=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),s=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=r&&e.x=n&&e.y{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))}loaded(){return this._loaded}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load()}setSourceProperty(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.load()}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}serialize(){return t.extend({},this._options)}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:this.map._requestManager.transformRequest(r,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function s(r,n){return delete e.request,e.aborted?i(null):r&&404!==r.status?i(r):(n&&n.resourceTiming&&(e.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&n&&e.setExpiryData(n),e.loadVectorData(n,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}n.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=i:e.request=e.actor.send("reloadTile",n,s.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",n,s.bind(this)))}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0)}unloadTile(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class T extends t.Evented{constructor(e,i,r,n){super(),this.id=e,this.dispatcher=r,this.setEventedParent(n),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},i),t.extend(this,t.pick(i,["url","scheme","tileSize"]))}load(){this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=v(this._options,this.map._requestManager,((e,i)=>{this._tileJSONRequest=null,this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}serialize(){return t.extend({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),((r,n,s)=>{if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(r)e.state="errored",i(r);else if(n){this.map._refreshExpiredTiles&&e.setExpiryData(s);const r=this.map.painter.context,o=r.gl;e.texture=this.map.painter.getTileTexture(n.width),e.texture?e.texture.update(n,{useMipmap:!0}):(e.texture=new l(r,n,o.RGBA,{useMipmap:!0}),e.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),r.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,r.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,r.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(this.dispatcher),i(null)}}))}abortTile(t,e){t.request&&(t.request.cancel(),delete t.request),e()}unloadTile(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()}hasTransition(){return!1}}let E;class S extends T{constructor(e,i,r,n){super(e,i,r,n),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox"}serialize(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}}loadTile(e,i){const r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);function n(t,r){t&&(e.state="errored",i(t)),r&&(e.dem=r,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded",i(null))}e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),function(r,s){if(delete e.request,e.aborted)e.state="unloaded",i(null);else if(r)e.state="errored",i(r);else if(s){this.map._refreshExpiredTiles&&e.setExpiryData(s),delete s.cacheControl,delete s.expires;const i=t.isImageBitmap(s)&&(null==E&&(E="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),E)?s:t.exported.getImageData(s,1),r={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",r,n.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)}_getNeighboringTiles(e){const i=e.canonical,r=Math.pow(2,i.z),n=(i.x-1+r)%r,s=0===i.x?e.wrap-1:e.wrap,o=(i.x+1+r)%r,a=i.x+1===r?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,a,i.z,o,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,a,i.z,o,i.y-1).key]={backfilled:!1}),i.y+1{if(this._pendingLoads--,this._removed||r&&r.abandoned)return void this.fire(new t.Event("dataabort",{dataType:"source",sourceDataType:e}));let n=null;if(r&&r.resourceTiming&&r.resourceTiming[this.id]&&(n=r.resourceTiming[this.id].slice(0)),i)return void this.fire(new t.ErrorEvent(i));const s={dataType:"source",sourceDataType:e};this._collectResourceTiming&&n&&n.length>0&&t.extend(s,{resourceTiming:n}),this.fire(new t.Event("data",s))}))}loaded(){return 0===this._pendingLoads}loadTile(t,e){const i=t.actor?"reloadTile":"loadTile";t.actor=this.actor;const r={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,r,((r,n)=>(delete t.request,t.unloadVectorData(),t.aborted?e(null):r?e(r):(t.loadVectorData(n,this.map.painter,"reloadTile"===i),e(null)))))}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0}unloadTile(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})}serialize(){return t.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var A=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class z extends t.Evented{constructor(t,e,i,r){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=e}load(e,i){this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),((r,n)=>{this._loaded=!0,r?this.fire(new t.ErrorEvent(r)):n&&(this.image=n,e&&(this.coordinates=e),i&&i(),this._finishLoading())}))}loaded(){return this._loaded}updateImage(t){return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}setCoordinates(e){this.coordinates=e;const i=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){let i=1/0,r=1/0,n=-1/0,s=-1/0;for(const t of e)i=Math.min(i,t.x),r=Math.min(r,t.y),n=Math.max(n,t.x),s=Math.max(s,t.y);const o=Math.max(n-i,s-r),a=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),l=Math.pow(2,a);return new t.CanonicalTileID(a,Math.floor((i+n)/2*l),Math.floor((r+s)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const r=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new t.RasterBoundsArray,this._boundsArray.emplaceBack(r[0].x,r[0].y,0,0),this._boundsArray.emplaceBack(r[1].x,r[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(r[3].x,r[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(r[2].x,r[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new l(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}loadTile(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class C extends z{constructor(t,e,i,r){super(t,e,i,r),this.roundZoom=!0,this.type="video",this.options=e}load(){this._loaded=!1;const e=this.options;this.urls=[];for(const i of e.urls)this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url);t.getVideo(this.urls,((e,i)=>{this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(this.video=i,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading())}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){const i=this.video.seekable;ei.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new l(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class M extends z{constructor(e,i,r,n){super(e,i,r,n),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>"number"!=typeof t))))||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,r=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new l(i,this.canvas,r.RGBA,{premultiply:!0});for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture)}}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}}const k={vector:w,raster:T,"raster-dem":S,geojson:I,video:C,image:z,canvas:M};function P(e,i){const r=t.create();return t.translate(r,r,[1,1,0]),t.scale(r,r,[.5*e.width,.5*e.height,1]),t.multiply(r,r,e.calculatePosMatrix(i.toUnwrapped()))}function D(t,e,i,r,n,s){const o=function(t,e,i){if(t)for(const r of t){const t=e[r];if(t&&t.source===i&&"fill-extrusion"===t.type)return!0}else for(const t in e){const r=e[t];if(r.source===i&&"fill-extrusion"===r.type)return!0}return!1}(n&&n.layers,e,t.id),a=s.maxPitchScaleFactor(),l=t.tilesIn(r,a,o);l.sort(L);const c=[];for(const r of l)c.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(e,i,t._state,r.queryGeometry,r.cameraQueryGeometry,r.scale,n,s,a,P(t.transform,r.tileID))});const h=function(t){const e={},i={};for(const r of t){const t=r.queryResults,n=r.wrappedTileID,s=i[n]=i[n]||{};for(const i in t){const r=t[i],n=s[i]=s[i]||{},o=e[i]=e[i]||[];for(const t of r)n[t.featureIndex]||(n[t.featureIndex]=!0,o.push(t))}}return e}(c);for(const e in h)h[e].forEach((e=>{const i=e.feature,r=t.getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=r}));return h}function L(t,e){const i=t.tileID,r=e.tileID;return i.overscaledZ-r.overscaledZ||i.canonical.y-r.canonical.y||i.wrap-r.wrap||i.canonical.x-r.canonical.x}class B{constructor(e,i){this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.textures=[],this.textureCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(e){const i=e+this.timeAdded;it.saveTileTexture(e))),this.demTexture=null,this.textures=[],this.textureCoords={}}loadVectorData(e,i,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",e){e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(t,e){const i={};if(!e)return i;for(const r of t){const t=r.layerIds.map((t=>e.getLayer(t))).filter(Boolean);if(0!==t.length){r.layers=t,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=r}}return i}(e.buckets,i.style),this.hasSymbolBuckets=!1;for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket&&i.hasRTLText){this.hasRTLText=!0,t.lazyLoadRTLTextPlugin();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.CollisionBoxArray}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new l(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new l(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,e,i,r,n,s,o,a,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:n,scale:s,tileSize:this.tileSize,pixelPosMatrix:c,transform:a,params:o,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(e,i){const r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;const n=r.loadVTLayers(),s=i?i.sourceLayer:"",o=n._geojsonTileLayer||n[s];if(!o)return;const a=t.createFilter(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,n)}),i)),this.data[r].push(n),this.order.push(r),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,r=void 0===e?0:this.data[i].indexOf(e),n=this.data[i][r];return this.data[i].splice(r,1),n.timeout&&clearTimeout(n.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(n.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const i in this.data)for(const r of this.data[i])t(r.value)||e.push(r);for(const t of e)this.remove(t.value.tileID,t)}}class F{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,i,r){const n=String(i);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][n]=this.stateChanges[e][n]||{},t.extend(this.stateChanges[e][n],r),null===this.deletedStates[e]){this.deletedStates[e]={};for(const t in this.state[e])t!==n&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]&&null===this.deletedStates[e][n]){this.deletedStates[e][n]={};for(const t in this.state[e][n])r[t]||(this.deletedStates[e][n][t]=null)}else for(const t in r)this.deletedStates[e]&&this.deletedStates[e][n]&&null===this.deletedStates[e][n][t]&&delete this.deletedStates[e][n][t]}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const r=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][r]&&(this.deletedStates[t][r]=this.deletedStates[t][r]||{},this.deletedStates[t][r][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][r])for(i in this.deletedStates[t][r]={},this.stateChanges[t][r])this.deletedStates[t][r][i]=null;else this.deletedStates[t][r]=null;else this.deletedStates[t]=null}getState(e,i){const r=String(i),n=t.extend({},(this.state[e]||{})[r],(this.stateChanges[e]||{})[r]);if(null===this.deletedStates[e])return{};if(this.deletedStates[e]){const t=this.deletedStates[e][i];if(null===t)return{};for(const e in t)delete n[e]}return n}initializeTileState(t,e){t.setFeatureState(this.state,e)}coalesceChanges(e,i){const r={};for(const e in this.stateChanges){this.state[e]=this.state[e]||{};const i={};for(const r in this.stateChanges[e])this.state[e][r]||(this.state[e][r]={}),t.extend(this.state[e][r],this.stateChanges[e][r]),i[r]=this.state[e][r];r[e]=i}for(const e in this.deletedStates){this.state[e]=this.state[e]||{};const i={};if(null===this.deletedStates[e])for(const t in this.state[e])i[t]={},this.state[e][t]={};else for(const t in this.deletedStates[e]){if(null===this.deletedStates[e][t])this.state[e][t]={};else for(const i of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][i];i[t]=this.state[e][t]}r[e]=r[e]||{},t.extend(r[e],i)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(const t in e)e[t].setFeatureState(r,i)}}class O extends t.Evented{constructor(e,i,r){super(),this.id=e,this.dispatcher=r,this.on("data",(t=>{"source"===t.dataType&&"metadata"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform,this.terrain))})),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=function(e,i,r,n){const s=new k[i.type](e,i,r,n);if(s.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${s.id}`);return t.bindAll(["load","abort","unload","serialize","prepare"],s),s}(e,i,r,this),this._tiles={},this._cache=new R(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new F}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const t in this._tiles){const e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(t,e){return this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(e){this._source.abortTile&&this._source.abortTile(e,(()=>{})),this._source.fire(new t.Event("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(U).map((t=>t.key))}getRenderableIds(e){const i=[];for(const t in this._tiles)this._isIdRenderable(t,e)&&i.push(this._tiles[t]);return e?i.sort(((e,i)=>{const r=e.tileID,n=i.tileID,s=new t.pointGeometry(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),o=new t.pointGeometry(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return r.overscaledZ-n.overscaledZ||o.y-s.y||o.x-s.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(U).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")}}_reloadTile(t,e){const i=this._tiles[t];i&&("loading"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)))}_tileLoaded(e,i,r,n){if(n)return e.state="errored",void(404!==n.status?this._source.fire(new t.ErrorEvent(n,{tile:e})):this.update(this.transform,this.terrain));e.timeAdded=t.exported.now(),"expired"===r&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(i,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(t){const e=this.getRenderableIds();for(let r=0;r1||(Math.abs(i)>1&&(1===Math.abs(i+n)?i+=n:1===Math.abs(i-n)&&(i-=n)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,r),t.neighboringTiles&&t.neighboringTiles[s]&&(t.neighboringTiles[s].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,r){for(const n in this._tiles){let s=this._tiles[n];if(r[n]||!s.hasData()||s.tileID.overscaledZ<=e||s.tileID.overscaledZ>i)continue;let o=s.tileID;for(;s&&s.tileID.overscaledZ>e+1;){const t=s.tileID.scaledTo(s.tileID.overscaledZ-1);s=this._tiles[t.key],s&&s.hasData()&&(o=t)}let a=o;for(;a.overscaledZ>e;)if(a=a.scaledTo(a.overscaledZ-1),t[a.key]){r[o.key]=o;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),r=this._getLoadedTile(e);if(r)return r}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const e=Math.ceil(t.width/this._source.tileSize)+1,i=Math.ceil(t.height/this._source.tileSize)+1,r=Math.floor(e*i*5),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const r=this._tiles[i];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),t[r.tileID.key]=r}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(t,this._tiles[t])}}update(e,i){if(this.transform=e,this.terrain=i,!this._sourceLoaded||this._paused)return;let r;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(r=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(r=r.filter((t=>this._source.hasTile(t))))):r=[];const n=e.coveringZoomLevel(this._source),s=Math.max(n-O.maxOverzooming,this._source.minzoom),o=Math.max(n+O.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of r)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const r=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[r.key]=r}r=r.concat(Object.values(t))}const a=this._updateRetainedTiles(r,n);if(V(this._source.type)){const e={},l={},c=Object.keys(a);for(const i of c){const r=a[i],n=this._tiles[i];if(!n||n.fadeEndTime&&n.fadeEndTime<=t.exported.now())continue;const o=this.findLoadedParent(r,s);o&&(this._addTile(o.tileID),e[o.tileID.key]=o.tileID),l[i]=r}this._retainLoadedChildren(l,n,o,a);for(const t in e)a[t]||(this._coveredTiles[t]=!0,a[t]=e[t]);if(i){const t={},e={};for(const i of r)this._tiles[i.key].hasData()?t[i.key]=i:e[i.key]=i;for(const i in e){const r=e[i].children(this._source.maxzoom);this._tiles[r[0].key]&&this._tiles[r[1].key]&&this._tiles[r[2].key]&&this._tiles[r[3].key]&&(t[r[0].key]=a[r[0].key]=r[0],t[r[1].key]=a[r[1].key]=r[1],t[r[2].key]=a[r[2].key]=r[2],t[r[3].key]=a[r[3].key]=r[3],delete e[i])}for(const i in e){const r=this.findLoadedParent(e[i],this._source.minzoom);if(r){t[r.tileID.key]=a[r.tileID.key]=r.tileID;for(const e in t)t[e].isChildOf(r.tileID)&&delete t[e]}}for(const e in this._tiles)t[e]||(this._coveredTiles[e]=!0)}}for(const t in a)this._tiles[t].clearFadeHold();const l=t.keysDifference(this._tiles,a);for(const t of l){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t)}this._updateLoadedParentTileCache()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,e){const i={},r={},n=Math.max(e-O.maxOverzooming,this._source.minzoom),s=Math.max(e+O.maxUnderzooming,this._source.minzoom),o={};for(const r of t){const t=this._addTile(r);i[r.key]=r,t.hasData()||ethis._source.maxzoom){const t=s.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){i[t.key]=t;continue}}else{const t=s.children(this._source.maxzoom);if(i[t[0].key]&&i[t[1].key]&&i[t[2].key]&&i[t[3].key])continue}let o=t.wasRequested();for(let e=s.overscaledZ-1;e>=n;--e){const n=s.scaledTo(e);if(r[n.key])break;if(r[n.key]=!0,t=this.getTile(n),!t&&o&&(t=this._addTile(n)),t&&(i[n.key]=n,o=t.wasRequested(),t.hasData()))break}}return i}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,r=this._tiles[t].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){i=this._loadedParentTiles[r.key];break}e.push(r.key);const t=r.scaledTo(r.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;r=t}for(const t of e)this._loadedParentTiles[t]=i}}_addTile(e){let i=this._tiles[e.key];if(i)return i;i=this._cache.getAndRemove(e),i&&(this._setTileReloadTimer(e.key,i),i.tileID=e,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,i)));const r=i;return i||(i=new B(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i.uses++,this._tiles[e.key]=i,r||this._source.fire(new t.Event("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t]}),i))}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(e,i,r){const n=[],s=this.transform;if(!s)return n;const o=r?s.getCameraQueryGeometry(e):e,a=e.map((t=>s.pointCoordinate(t,this.terrain))),l=o.map((t=>s.pointCoordinate(t,this.terrain))),c=this.getIds();let h=1/0,u=1/0,p=-1/0,d=-1/0;for(const t of l)h=Math.min(h,t.x),u=Math.min(u,t.y),p=Math.max(p,t.x),d=Math.max(d,t.y);for(let e=0;e=0&&g[1].y+f>=0){const t=a.map((t=>o.getTilePoint(t))),e=l.map((t=>o.getTilePoint(t)));n.push({tile:r,tileID:o,queryGeometry:t,cameraQueryGeometry:e,scale:m})}}return n}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return!0;if(V(this._source.type))for(const e in this._tiles){const i=this._tiles[e];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=t.exported.now())return!0}return!1}setFeatureState(t,e,i){this._state.updateState(t=t||"_geojsonTileLayer",e,i)}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,i)}getFeatureState(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)}setDependencies(t,e,i){const r=this._tiles[t];r&&r.setDependencies(e,i)}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,"reloading");this._cache.filter((i=>!i.hasDependency(t,e)))}}function U(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),r=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||r-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function V(t){return"raster"===t||"image"===t||"video"===t}O.maxOverzooming=10,O.maxUnderzooming=3;const N="mapboxgl_preloaded_worker_pool";class G{constructor(){this.active={}}acquire(t){if(!this.workers)for(this.workers=[];this.workers.length{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[N]}numActive(){return Object.keys(this.active).length}}const $=Math.floor(t.exported.hardwareConcurrency/2);let q;function j(){return q||(q=new G),q}function Z(e,i){const r={};for(const t in e)"ref"!==t&&(r[t]=e[t]);return t.refProperties.forEach((t=>{t in i&&(r[t]=i[t])})),r}function X(t){t=t.slice();const e=Object.create(null);for(let i=0;i0?(n-o)/a:0;return this.points[s].mult(1-l).add(this.points[i].mult(l))}}function rt(t,e){let i=!0;return"always"===t||"never"!==t&&"never"!==e||(i=!1),i}class nt{constructor(t,e,i){const r=this.boxCells=[],n=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||r<0||e>this.height)return[];const a=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=r){if(n)return[{key:null,x1:t,y1:e,x2:i,y2:r}];for(let t=0;t0}hitTestCircle(t,e,i,r,n){const s=t-i,o=t+i,a=e-i,l=e+i;if(o<0||s>this.width||l<0||a>this.height)return!1;const c=[];return this._forEachCell(s,a,o,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:r,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},n),c.length>0}_queryCell(t,e,i,r,n,s,o,a){const{seenUids:l,hitTest:c,overlapMode:h}=o,u=this.boxCells[n];if(null!==u){const n=this.bboxes;for(const o of u)if(!l.box[o]){l.box[o]=!0;const u=4*o,p=this.boxKeys[o];if(t<=n[u+2]&&e<=n[u+3]&&i>=n[u+0]&&r>=n[u+1]&&(!a||a(p))&&(!c||!rt(h,p.overlapMode))&&(s.push({key:p,x1:n[u],y1:n[u+1],x2:n[u+2],y2:n[u+3]}),c))return!0}}const p=this.circleCells[n];if(null!==p){const n=this.circles;for(const o of p)if(!l.circle[o]){l.circle[o]=!0;const u=3*o,p=this.circleKeys[o];if(this._circleAndRectCollide(n[u],n[u+1],n[u+2],t,e,i,r)&&(!a||a(p))&&(!c||!rt(h,p.overlapMode))){const t=n[u],e=n[u+1],i=n[u+2];if(s.push({key:p,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),c)return!0}}}return!1}_queryCellCircle(t,e,i,r,n,s,o,a){const{circle:l,seenUids:c,overlapMode:h}=o,u=this.boxCells[n];if(null!==u){const t=this.bboxes;for(const e of u)if(!c.box[e]){c.box[e]=!0;const i=4*e,r=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!a||a(r))&&!rt(h,r.overlapMode))return s.push(!0),!0}}const p=this.circleCells[n];if(null!==p){const t=this.circles;for(const e of p)if(!c.circle[e]){c.circle[e]=!0;const i=3*e,r=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!a||a(r))&&!rt(h,r.overlapMode))return s.push(!0),!0}}}_forEachCell(t,e,i,r,n,s,o,a){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(r);for(let p=l;p<=h;p++)for(let l=c;l<=u;l++)if(n.call(this,t,e,i,r,this.xCellCount*l+p,s,o,a))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,r,n,s){const o=r-t,a=n-e,l=i+s;return l*l>o*o+a*a}_circleAndRectCollide(t,e,i,r,n,s,o){const a=(s-r)/2,l=Math.abs(t-(r+a));if(l>a+i)return!1;const c=(o-n)/2,h=Math.abs(e-(n+c));if(h>c+i)return!1;if(l<=a||h<=c)return!0;const u=l-a,p=h-c;return u*u+p*p<=i*i}}function st(e,i,r,n,s){const o=t.create();return i?(t.scale(o,o,[1/s,1/s,1]),r||t.rotateZ(o,o,n.angle)):t.multiply(o,n.labelPlaneMatrix,e),o}function ot(e,i,r,n,s){if(i){const i=t.clone(e);return t.scale(i,i,[s,s,1]),r||t.rotateZ(i,i,-n.angle),i}return n.glCoordMatrix}function at(e,i,r){let n;r?(n=[e.x,e.y,r(e.x,e.y),1],t.transformMat4(n,n,i)):(n=[e.x,e.y,0,1],yt(n,n,i));const s=n[3];return{point:new t.pointGeometry(n[0]/s,n[1]/s),signedDistanceFromCamera:s}}function lt(t,e){return.5+t/e*.5}function ct(t,e){const i=t[0]/t[3],r=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&r>=-e[1]&&r<=e[1]}function ht(e,i,r,n,s,o,a,l,c,h){const u=n?e.textSizeData:e.iconSizeData,p=t.evaluateSizeForZoom(u,r.transform.zoom),d=[256/r.width*2+1,256/r.height*2+1],m=n?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;m.clear();const f=e.lineVertexArray,g=n?e.text.placedSymbolArray:e.icon.placedSymbolArray,_=r.transform.width/r.transform.height;let y=!1;for(let n=0;nMath.abs(r.x-i.x)*n?{useVertical:!0}:(e===t.WritingMode.vertical?i.yr.x)?{needsFlipping:!0}:null}function dt(e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g){const _=i/24,y=e.lineOffsetX*_,x=e.lineOffsetY*_;let v;if(e.numGlyphs>1){const t=e.glyphStartIndex+e.numGlyphs,i=e.lineStartIndex,s=e.lineStartIndex+e.lineLength,h=ut(_,l,y,x,r,u,p,e,c,o,d,f,g);if(!h)return{notEnoughRoom:!0};const b=at(h.first.point,a,g).point,w=at(h.last.point,a,g).point;if(n&&!r){const t=pt(e.writingMode,b,w,m);if(t)return t}v=[h.first];for(let n=e.glyphStartIndex+1;n0?o.point:mt(p,n,i,1,s,g),l=pt(e.writingMode,i,a,m);if(l)return l}const i=ft(_*l.getoffsetX(e.glyphStartIndex),y,x,r,u,p,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,d,f,g);if(!i)return{notEnoughRoom:!0};v=[i]}for(const e of v)t.addDynamicAttributes(h,e.point,e.angle);return{}}function mt(t,e,i,r,n,s){const o=at(t.add(t.sub(e)._unit()),n,s).point,a=i.sub(o);return i.add(a._mult(r/a.mag()))}function ft(e,i,r,n,s,o,a,l,c,h,u,p,d,m){const f=n?e-i:e+i;let g=f>0?1:-1,_=0;n&&(g*=-1,_=Math.PI),g<0&&(_+=Math.PI);let y=g>0?l+a:l+a+1,x=s,v=s,b=0,w=0;const T=Math.abs(f),E=[];for(;b+w<=T;){if(y+=g,y=c)return null;if(v=x,E.push(x),x=p[y],void 0===x){const e=new t.pointGeometry(h.getx(y),h.gety(y)),i=at(e,u,m);if(i.signedDistanceFromCamera>0)x=p[y]=i.point;else{const i=y-g;x=mt(0===b?o:new t.pointGeometry(h.getx(i),h.gety(i)),e,v,T-b+1,u,m)}}b+=w,w=v.dist(x)}const S=(T-b)/w,I=x.sub(v),A=I.mult(S)._add(v);A._add(I._unit()._perp()._mult(r*g));const z=_+Math.atan2(x.y-v.y,x.x-v.x);return E.push(A),{point:A,angle:d?z:0,path:E}}const gt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function _t(t,e){for(let i=0;i=1;t--)h.push(o.path[t]);for(let t=1;tat(t,l,m)));h=t.some((t=>t.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point))}let _=[];if(h.length>0){const e=h[0].clone(),i=h[0].clone();for(let t=1;t=r.x&&i.x<=n.x&&e.y>=r.y&&i.y<=n.y?[h]:i.xn.x||i.yn.y?[]:t.clipLine([h],r.x,r.y,n.x,n.y)}for(const t of _){s.reset(t,.25*i);let r=0;r=s.length<=.5*i?1:Math.ceil(s.paddedLength/g)+1;for(let t=0;t=this.screenRightBoundary||rthis.screenBottomBoundary}isInsideGrid(t,e,i,r){return i>=0&&t=0&&et.collisionGroupID===e}}return this.collisionGroups[t]}}function zt(e,i,r,n,s){const{horizontalAlign:o,verticalAlign:a}=t.getAnchorAlignment(e),l=-(o-.5)*i,c=-(a-.5)*r,h=t.evaluateVariableOffset(e,n);return new t.pointGeometry(l+h[0]*s,c+h[1]*s)}function Ct(e,i,r,n,s,o){const{x1:a,x2:l,y1:c,y2:h,anchorPointX:u,anchorPointY:p}=e,d=new t.pointGeometry(i,r);return n&&d._rotate(s?o:-o),{x1:a+d.x,y1:c+d.y,x2:l+d.x,y2:h+d.y,anchorPointX:u,anchorPointY:p}}class Mt{constructor(t,e,i,r,n){this.transform=t.clone(),this.terrain=e,this.collisionIndex=new vt(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=i,this.retainedQueryData={},this.collisionGroups=new At(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(e,i,r,n){const s=r.getBucket(i),o=r.latestFeatureIndex;if(!s||!o||i.id!==s.layerIds[0])return;const a=r.collisionBoxArray,l=s.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),h=r.tileSize/t.EXTENT,u=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),p="map"===l.get("text-pitch-alignment"),d="map"===l.get("text-rotation-alignment"),m=bt(r,1,this.transform.zoom),f=st(u,p,d,this.transform,m);let g=null;if(p){const e=ot(u,p,d,this.transform,m);g=t.multiply([],this.transform.labelPlaneMatrix,e)}this.retainedQueryData[s.bucketInstanceId]=new It(s.bucketInstanceId,o,s.sourceLayerIndex,s.index,r.tileID);const _={bucket:s,layout:l,posMatrix:u,textLabelPlaneMatrix:f,labelToScreenMatrix:g,scale:c,textPixelRatio:h,holdingForFade:r.holdingForFade(),collisionBoxArray:a,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(s.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(s.sourceID)};if(n)for(const t of s.sortKeyRanges){const{sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n}=t;e.push({sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n,parameters:_})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:s.symbolInstances.length,parameters:_})}attemptAnchorPlacement(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f){const g=[u.textOffset0,u.textOffset1],_=zt(t,i,r,g,n),y=this.collisionIndex.placeCollisionBox(Ct(e,_.x,_.y,s,o,this.transform.angle),h,a,l,c.predicate,f);if((!m||0!==this.collisionIndex.placeCollisionBox(Ct(m,_.x,_.y,s,o,this.transform.angle),h,a,l,c.predicate,f).box.length)&&y.box.length>0){let e;return this.prevPlacement&&this.prevPlacement.variableOffsets[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID].text&&(e=this.prevPlacement.variableOffsets[u.crossTileID].anchor),this.variableOffsets[u.crossTileID]={textOffset:g,width:i,height:r,anchor:t,textBoxScale:n,prevAnchor:e},this.markUsedJustification(p,t,u,d),p.allowVerticalPlacement&&(this.markUsedOrientation(p,d,u),this.placedOrientations[u.crossTileID]=d),{shift:_,placedGlyphBoxes:y}}}placeLayerBucketPart(e,i,r){const{bucket:n,layout:s,posMatrix:o,textLabelPlaneMatrix:a,labelToScreenMatrix:l,textPixelRatio:c,holdingForFade:h,collisionBoxArray:u,partiallyEvaluatedTextSize:p,collisionGroup:d}=e.parameters,m=s.get("text-optional"),f=s.get("icon-optional"),g=t.getOverlapMode(s,"text-overlap","text-allow-overlap"),_="always"===g,y=t.getOverlapMode(s,"icon-overlap","icon-allow-overlap"),x="always"===y,v="map"===s.get("text-rotation-alignment"),b="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),E=_&&(x||!n.hasIconData()||f),S=x&&(_||!n.hasTextData()||m);!n.collisionArrays&&u&&n.deserializeCollisionBoxes(u);const I=(e,u)=>{if(i[e.crossTileID])return;if(h)return void(this.placements[e.crossTileID]=new Et(!1,!1,!1));let x=!1,T=!1,I=!0,A=null,z={box:null,offscreen:null},C={box:null,offscreen:null},M=null,k=null,P=null,D=0,L=0,B=0;u.textFeatureIndex?D=u.textFeatureIndex:e.useRuntimeCollisionCircles&&(D=e.featureIndex),u.verticalTextFeatureIndex&&(L=u.verticalTextFeatureIndex);const R=this.retainedQueryData[n.bucketInstanceId].tileID,F=this.terrain?(t,e)=>this.terrain.getElevation(R,t,e):null;for(const t of["textBox","verticalTextBox","iconBox","verticalIconBox"]){const e=u[t];e&&(e.elevation=F?F(e.anchorPointX,e.anchorPointY):0)}const O=u.textBox;if(O){const i=i=>{let r=t.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&this.prevPlacement){const t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,r=t,this.markUsedOrientation(n,r,e))}return r},r=(i,r)=>{if(n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&u.verticalTextBox){for(const e of n.writingModes)if(e===t.WritingMode.vertical?(z=r(),C=z):z=i(),z&&z.box&&z.box.length)break}else z=i()};if(s.get("text-variable-anchor")){let a=s.get("text-variable-anchor");if(this.prevPlacement&&this.prevPlacement.variableOffsets[e.crossTileID]){const t=this.prevPlacement.variableOffsets[e.crossTileID];a.indexOf(t.anchor)>0&&(a=a.filter((e=>e!==t.anchor)),a.unshift(t.anchor))}const l=(t,i,r)=>{const s=t.x2-t.x1,l=t.y2-t.y1,h=e.textBoxScale,u=w&&"never"===y?i:null;let p={box:[],offscreen:!1};const m="never"!==g?2*a.length:a.length;for(let i=0;i=a.length?g:"never",e,n,r,u,F);if(m&&(p=m.placedGlyphBoxes,p&&p.box&&p.box.length)){x=!0,A=m.shift;break}}return p};r((()=>l(O,u.iconBox,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return n.allowVerticalPlacement&&!(z&&z.box&&z.box.length)&&e.numVerticalGlyphVertices>0&&i?l(i,u.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),z&&(x=z.box,I=z.offscreen);const h=i(z&&z.box);if(!x&&this.prevPlacement){const t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(n,t.anchor,e,h))}}else{const s=(t,i)=>{const r=this.collisionIndex.placeCollisionBox(t,g,c,o,d.predicate,F);return r&&r.box&&r.box.length&&(this.markUsedOrientation(n,i,e),this.placedOrientations[e.crossTileID]=i),r};r((()=>s(O,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?s(i,t.WritingMode.vertical):{box:null,offscreen:null}})),i(z&&z.box&&z.box.length)}}if(M=z,x=M&&M.box&&M.box.length>0,I=M&&M.offscreen,e.useRuntimeCollisionCircles){const i=n.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),c=t.evaluateSizeForFeature(n.textSizeData,p,i),h=s.get("text-padding");k=this.collisionIndex.placeCollisionCircles(g,i,n.lineVertexArray,n.glyphOffsetArray,c,o,a,l,r,b,d.predicate,e.collisionCircleDiameter,h,F),x=_||k.circles.length>0&&!k.collisionDetected,I=I&&k.offscreen}if(u.iconFeatureIndex&&(B=u.iconFeatureIndex),u.iconBox){const t=t=>{const e=w&&A?Ct(t,A.x,A.y,v,b,this.transform.angle):t;return this.collisionIndex.placeCollisionBox(e,y,c,o,d.predicate,F)};C&&C.box&&C.box.length&&u.verticalIconBox?(P=t(u.verticalIconBox),T=P.box.length>0):(P=t(u.iconBox),T=P.box.length>0),I=I&&P.offscreen}const U=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,V=f||0===e.numIconVertices;if(U||V?V?U||(T=T&&x):x=T&&x:T=x=T&&x,x&&M&&M.box&&this.collisionIndex.insertCollisionBox(M.box,g,s.get("text-ignore-placement"),n.bucketInstanceId,C&&C.box&&L?L:D,d.ID),T&&P&&this.collisionIndex.insertCollisionBox(P.box,y,s.get("icon-ignore-placement"),n.bucketInstanceId,B,d.ID),k&&(x&&this.collisionIndex.insertCollisionCircles(k.circles,g,s.get("text-ignore-placement"),n.bucketInstanceId,D,d.ID),r)){const t=n.bucketInstanceId;let e=this.collisionCircleArrays[t];void 0===e&&(e=this.collisionCircleArrays[t]=new St);for(let t=0;t=0;--e){const i=t[e];I(n.symbolInstances.get(i),n.collisionArrays[i])}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=s>=0&&t!==s?0:r.crossTileID)}markUsedOrientation(e,i,r){const n=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,s=i===t.WritingMode.vertical?i:0,o=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];for(const t of o)e.text.placedSymbolArray.get(t).placedOrientation=n;r.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=s)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const r=e?e.symbolFadeChange(t):1,n=e?e.opacities:{},s=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],s=n[t];s?(this.opacities[t]=new Tt(s,r,e.text,e.icon),i=i||e.text!==s.text.placed||e.icon!==s.icon.placed):(this.opacities[t]=new Tt(null,r,e.text,e.icon,e.skipFade),i=i||e.text||e.icon)}for(const t in n){const e=n[t];if(!this.opacities[t]){const n=new Tt(e,r,!1,!1);n.isHidden()||(this.opacities[t]=n,i=i||e.text.placed||e.icon.placed)}}for(const t in s)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=s[t]);for(const t in o)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=o[t]);i?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)}updateLayerOpacities(t,e){const i={};for(const r of e){const e=r.getBucket(t);e&&r.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,i,r.collisionBoxArray)}}updateBucketOpacities(e,i,r){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const n=e.layers[0].layout,s=new Tt(null,0,!1,!1,!0),o=n.get("text-allow-overlap"),a=n.get("icon-allow-overlap"),l=n.get("text-variable-anchor"),c="map"===n.get("text-rotation-alignment"),h="map"===n.get("text-pitch-alignment"),u="none"!==n.get("icon-text-fit"),p=new Tt(null,0,o&&(a||!e.hasIconData()||n.get("icon-optional")),a&&(o||!e.hasTextData()||n.get("text-optional")),!0);!e.collisionArrays&&r&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(r);const d=(t,e,i)=>{for(let r=0;r0,_=this.placedOrientations[n.crossTileID],y=_===t.WritingMode.vertical,x=_===t.WritingMode.horizontal||_===t.WritingMode.horizontalOnly;if(o>0||a>0){const t=Ut(f.text);d(e.text,o,y?Vt:t),d(e.text,a,x?Vt:t);const i=f.text.isHidden();[n.rightJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=i||y?1:0)})),n.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).hidden=i||x?1:0);const r=this.variableOffsets[n.crossTileID];r&&this.markUsedJustification(e,r.anchor,n,_);const s=this.placedOrientations[n.crossTileID];s&&(this.markUsedJustification(e,"left",n,s),this.markUsedOrientation(e,s,n))}if(g){const t=Ut(f.icon),i=!(u&&n.verticalPlacedIconSymbolIndex&&y);n.placedIconSymbolIndex>=0&&(d(e.icon,n.numIconVertices,i?t:Vt),e.icon.placedSymbolArray.get(n.placedIconSymbolIndex).hidden=f.icon.isHidden()),n.verticalPlacedIconSymbolIndex>=0&&(d(e.icon,n.numVerticalIconVertices,i?Vt:t),e.icon.placedSymbolArray.get(n.verticalPlacedIconSymbolIndex).hidden=f.icon.isHidden())}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const i=e.collisionArrays[r];if(i){let r=new t.pointGeometry(0,0);if(i.textBox||i.verticalTextBox){let t=!0;if(l){const e=this.variableOffsets[m];e?(r=zt(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),c&&r._rotate(h?this.transform.angle:-this.transform.angle)):t=!1}i.textBox&&kt(e.textCollisionBox.collisionVertexArray,f.text.placed,!t||y,r.x,r.y),i.verticalTextBox&&kt(e.textCollisionBox.collisionVertexArray,f.text.placed,!t||x,r.x,r.y)}const n=Boolean(!x&&i.verticalIconBox);i.iconBox&&kt(e.iconCollisionBox.collisionVertexArray,f.icon.placed,n,u?r.x:0,u?r.y:0),i.verticalIconBox&&kt(e.iconCollisionBox.collisionVertexArray,f.icon.placed,!n,u?r.x:0,u?r.y:0)}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){const t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function kt(t,e,i,r,n){t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0),t.emplaceBack(e?1:0,i?1:0,r||0,n||0)}const Pt=Math.pow(2,25),Dt=Math.pow(2,24),Lt=Math.pow(2,17),Bt=Math.pow(2,16),Rt=Math.pow(2,9),Ft=Math.pow(2,8),Ot=Math.pow(2,1);function Ut(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Pt+e*Dt+i*Lt+e*Bt+i*Rt+e*Ft+i*Ot+e}const Vt=0;class Nt{constructor(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&!t.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(t,e,i,r,n){const s=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex{const e=t.exported.now()-n;return!this._forceFullPlacement&&e>2};for(;this._currentPlacementIndex>=0;){const t=i[e[this._currentPlacementIndex]],n=this.placement.collisionIndex.transform.zoom;if("symbol"===t.type&&(!t.minzoom||t.minzoom<=n)&&(!t.maxzoom||t.maxzoom>n)){if(this._inProgressLayer||(this._inProgressLayer=new Nt(t)),this._inProgressLayer.continuePlacement(r[t.source],this.placement,this._showCollisionBoxes,t,s))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const $t=512/t.EXTENT/2;class qt{constructor(t,e,i){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(let i=0;it.overscaledZ)for(const i in n){const s=n[i];s.tileID.isChildOf(t)&&s.findMatches(e.symbolInstances,t,r)}else{const s=n[t.scaledTo(Number(i)).key];s&&s.findMatches(e.symbolInstances,t,r)}}for(let t=0;t{e[t]=!0}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t]}}var Wt=t.createLayout([{name:"a_pos",type:"Int16",components:2}]);class Ht extends t.Evented{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.renderHistory=[],this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,this.renderHistorySize=t._cache.max,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null;for(const t in this._tiles){const e=this._tiles[t];e.textures.forEach((t=>t.destroy())),e.textures=[]}}update(e,i){this.sourceCache.update(e,i),this._renderableTilesKeys=[];for(const r of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))this._renderableTilesKeys.push(r.key),this._tiles[r.key]||(r.posMatrix=new Float64Array(16),t.ortho(r.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),this._tiles[r.key]=new B(r,this.tileSize))}removeOutdated(t){const e={};this.renderHistory=this.renderHistory.filter(((t,e)=>this.renderHistory.indexOf(t)===e)).slice(0,this.renderHistorySize);for(const t of this._renderableTilesKeys)e[t]=!0;for(const t of this.renderHistory)e[t]=!0;for(const i in this._tiles)e[i]||(this._tiles[i].clearTextures(t),delete this._tiles[i])}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(e){const i={};for(const r of this._renderableTilesKeys){const n=this._tiles[r].tileID;if(n.canonical.equals(e.canonical)){const n=e.clone();n.posMatrix=new Float64Array(16),t.ortho(n.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),i[r]=n}else if(n.canonical.isChildOf(e.canonical)){const s=e.clone();s.posMatrix=new Float64Array(16);const o=n.canonical.z-e.canonical.z,a=n.canonical.x-(n.canonical.x>>o<>o<>o;t.ortho(s.posMatrix,0,c,0,c,0,1),t.translate(s.posMatrix,s.posMatrix,[-a*c,-l*c,0]),i[r]=s}else if(e.canonical.isChildOf(n.canonical)){const s=e.clone();s.posMatrix=new Float64Array(16);const o=e.canonical.z-n.canonical.z,a=e.canonical.x-(e.canonical.x>>o<>o<>o;t.ortho(s.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),t.translate(s.posMatrix,s.posMatrix,[a*c,l*c,0]),t.scale(s.posMatrix,s.posMatrix,[1/2**o,1/2**o,0]),i[r]=s}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let r=t.overscaledZ-this.deltaZoom;if(r>i.maxzoom&&(r=i.maxzoom),r=i.minzoom&&(!n||!n.dem);)n=this.sourceCache.getTileByID(t.scaledTo(r--).key);return n}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeLoaded>=t))}}class Kt{constructor(t,e,i){this.style=t,this.sourceCache=new Ht(e),this.options=i,this.exaggeration="number"==typeof i.exaggeration?i.exaggeration:1,this.elevationOffset="number"==typeof i.elevationOffset?i.elevationOffset:450,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024,this.clearRerenderCache()}getDEMElevation(e,i,r,n=t.EXTENT){if(!(i>=0&&i=0&&re.canonical.z&&(e.canonical.z>=r?n=e.canonical.z-r:t.warnOnce("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const s=e.canonical.x-(e.canonical.x>>n<>n<>8<<4|t>>8,i[e+3]=0;const r=new t.RGBAImage({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),n=new l(e,r,e.gl.RGBA,{premultiply:!1});return n.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=n,n}pointCoordinate(e){const i=new Uint8Array(4),r=this.style.map.painter,n=r.context,s=n.gl;n.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),s.readPixels(e.x,r.height/devicePixelRatio-e.y-1,1,1,s.RGBA,s.UNSIGNED_BYTE,i),n.bindFramebuffer.set(null);const o=i[0]+(i[2]>>4<<8),a=i[1]+((15&i[2])<<8),l=this.coordsIndex[255-i[3]],c=l&&this.sourceCache.getTileByID(l);if(!c)return null;const h=this._coordsTextureSize,u=(1<t.emitValidationErrors(e,i&&i.filter((t=>"source.canvas"!==t.identifier))),Yt=t.pick(W,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),Qt=t.pick(W,["setCenter","setZoom","setBearing","setPitch"]),te=function(){const e={},i=t.spec.$version;for(const r in t.spec.$root){const n=t.spec.$root[r];if(n.required){let t=null;t="version"===r?i:"array"===n.type?[]:{},null!=t&&(e[r]=t)}}return e}();class ee extends t.Evented{constructor(e,i={}){super(),this.map=e,this.dispatcher=new x(j(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new m(e._requestManager,i.localIdeographFontFamily),this.lineAtlas=new y(256,512),this.crossTileSymbolIndex=new Xt,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());const r=this;this._rtlTextPluginCallback=ee.registerForPluginStateChange((e=>{r.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},((e,i)=>{if(t.triggerPluginCompletionEvent(e),i&&i.every((t=>t)))for(const t in r.sourceCaches)r.sourceCaches[t].reload()}))})),this.on("data",(t=>{if("source"!==t.dataType||"metadata"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===i.id&&this._validateLayer(e)}}))}loadURL(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"}));const r="boolean"!=typeof i.validate||i.validate,n=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(n,((e,i)=>{this._request=null,e?this.fire(new t.ErrorEvent(e)):i&&this._load(i,r)}))}loadJSON(e,i={}){this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.exported.frame((()=>{this._request=null,this._load(e,!1!==i.validate)}))}loadEmpty(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(te,!1)}_load(e,i){if(i&&Jt(this,t.validateStyle(e)))return;this._loaded=!0,this.stylesheet=e;for(const t in e.sources)this.addSource(t,e.sources[t],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);const r=X(this.stylesheet.layers);this._order=r.map((t=>t.id)),this._layers={},this._serializedLayers={};for(let e of r)e=t.createStyleLayer(e),e.setEventedParent(this,{layer:{id:e.id}}),this._layers[e.id]=e,this._serializedLayers[e.id]=e.serialize();this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new _(this.stylesheet.light),this.setTerrain(this.stylesheet.terrain),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}_loadSprite(e){this._spriteRequest=function(e,i,r,n){let s,o,a;const l=r>1?"@2x":"";let c=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,l,".json"),t.ResourceType.SpriteJSON),((t,e)=>{c=null,a||(a=t,s=e,u())})),h=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,l,".png"),t.ResourceType.SpriteImage),((t,e)=>{h=null,a||(a=t,o=e,u())}));function u(){if(a)n(a);else if(s&&o){const e=t.exported.getImageData(o),i={};for(const r in s){const{width:n,height:o,x:a,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:p,content:d}=s[r],m=new t.RGBAImage({width:n,height:o});t.RGBAImage.copy(e,m,{x:a,y:l},{x:0,y:0},{width:n,height:o}),i[r]={data:m,pixelRatio:h,sdf:c,stretchX:u,stretchY:p,content:d}}n(null,i)}}return{cancel(){c&&(c.cancel(),c=null),h&&(h.cancel(),h=null)}}}(e,this.map._requestManager,this.map.getPixelRatio(),((e,i)=>{if(this._spriteRequest=null,e)this.fire(new t.ErrorEvent(e));else if(i)for(const t in i)this.imageManager.addImage(t,i[t]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}))}_validateLayer(e){const i=this.sourceCaches[e.source];if(!i)return;const r=e.sourceLayer;if(!r)return;const n=i.getSource();("geojson"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(new t.ErrorEvent(new Error(`Source layer "${r}" does not exist on source "${n.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeLayers(t){const e=[];for(const i of t){const t=this._layers[i];"custom"!==t.type&&e.push(t.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;const i=this._changed;if(this._changed){const t=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(t.length||i.length)&&this._updateWorkerLayers(t,i);for(const t in this._updatedSources){const e=this._updatedSources[t];"reload"===e?this._reloadSource(t):"clear"===e&&this._clearSource(t)}this._updateTilesForChangedImages();for(const t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}const r={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];r[t]=e.used,e.used=!1}for(const t of this._order){const i=this._layers[t];i.recalculate(e,this._availableImages),!i.isHidden(e.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0)}for(const e in r){const i=this.sourceCaches[e];r[e]!==i.used&&i.fire(new t.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:e}))}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}}setTerrain(e){if(this._checkLoaded(),this._terrainDataCallback&&this.off("data",this._terrainDataCallback),this._terrainfreezeElevationCallback&&this.map.off("freezeElevation",this._terrainfreezeElevationCallback),e){const t=this.sourceCaches[e.source];if(!t)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain=new Kt(this,t,e),this.map.transform.updateElevation(this.terrain),this._terrainfreezeElevationCallback=t=>{t.freeze?this.map.transform.freezeElevation=!0:(this.map.transform.freezeElevation=!1,this.map.transform.recalculateZoom(this.terrain))},this._terrainDataCallback=t=>{t.tile&&(t.sourceId===e.source?(this.map.transform.updateElevation(this.terrain),this.terrain.rememberForRerender(t.sourceId,t.tile.tileID)):"geojson"===t.source.type&&this.terrain.rememberForRerender(t.sourceId,t.tile.tileID))},this.on("data",this._terrainDataCallback),this.map.on("freezeElevation",this._terrainfreezeElevationCallback)}else this.terrain=null,this.map.transform.updateElevation(this.terrain);this.map.fire(new t.Event("terrain",{terrain:e}))}setState(e){if(this._checkLoaded(),Jt(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=X(e.layers);const i=function(t,e){if(!t)return[{command:W.setStyle,args:[e]}];let i=[];try{if(!n(t.version,e.version))return[{command:W.setStyle,args:[e]}];n(t.center,e.center)||i.push({command:W.setCenter,args:[e.center]}),n(t.zoom,e.zoom)||i.push({command:W.setZoom,args:[e.zoom]}),n(t.bearing,e.bearing)||i.push({command:W.setBearing,args:[e.bearing]}),n(t.pitch,e.pitch)||i.push({command:W.setPitch,args:[e.pitch]}),n(t.sprite,e.sprite)||i.push({command:W.setSprite,args:[e.sprite]}),n(t.glyphs,e.glyphs)||i.push({command:W.setGlyphs,args:[e.glyphs]}),n(t.transition,e.transition)||i.push({command:W.setTransition,args:[e.transition]}),n(t.light,e.light)||i.push({command:W.setLight,args:[e.light]});const r={},s=[];!function(t,e,i,r){let s;for(s in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,s)&&(Object.prototype.hasOwnProperty.call(e,s)||K(s,i,r));for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&(Object.prototype.hasOwnProperty.call(t,s)?n(t[s],e[s])||("geojson"===t[s].type&&"geojson"===e[s].type&&Y(t,e,s)?i.push({command:W.setGeoJSONSourceData,args:[s,e[s].data]}):J(s,e,i,r)):H(s,e,i))}(t.sources,e.sources,s,r);const o=[];t.layers&&t.layers.forEach((t=>{r[t.source]?i.push({command:W.removeLayer,args:[t.id]}):o.push(t)})),i=i.concat(s),function(t,e,i){e=e||[];const r=(t=t||[]).map(tt),s=e.map(tt),o=t.reduce(et,{}),a=e.reduce(et,{}),l=r.slice(),c=Object.create(null);let h,u,p,d,m,f,g;for(h=0,u=0;h!(t.command in Qt)));if(0===i.length)return!1;const r=i.filter((t=>!(t.command in Yt)));if(r.length>0)throw new Error(`Unimplemented: ${r.map((t=>t.command)).join(", ")}.`);return i.forEach((t=>{"setTransition"!==t.command&&this[t.command].apply(this,t.args)})),this.stylesheet=e,!0}addImage(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,i),this._afterImageUpdated(e)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,i,r={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source "${e}" already exists.`);if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(i.type)>=0&&this._validate(t.validateStyle.source,`sources.${e}`,i,null,r))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const n=this.sourceCaches[e]=new O(e,i,this.dispatcher);n.style=this,n.setEventedParent(this,(()=>({isSourceLoaded:this.loaded(),source:n.serialize(),sourceId:e}))),n.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(const i in this._layers)if(this._layers[i].source===e)return this.fire(new t.ErrorEvent(new Error(`Source "${e}" cannot be removed while layer "${i}" is using it.`)));const i=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],i.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(e,i,r={}){this._checkLoaded();const n=e.id;if(this.getLayer(n))return void this.fire(new t.ErrorEvent(new Error(`Layer "${n}" already exists on this map.`)));let s;if("custom"===e.type){if(Jt(this,t.validateCustomStyleLayer(e)))return;s=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(n,e.source),e=t.clone$1(e),e=t.extend(e,{source:n})),this._validate(t.validateStyle.layer,`layers.${n}`,e,{arrayIndex:-1},r))return;s=t.createStyleLayer(e),this._validateLayer(s),s.setEventedParent(this,{layer:{id:n}}),this._serializedLayers[s.id]=s.serialize()}const o=i?this._order.indexOf(i):this._order.length;if(i&&-1===o)this.fire(new t.ErrorEvent(new Error(`Cannot add layer "${n}" before non-existing layer "${i}".`)));else{if(this._order.splice(o,0,n),this._layerOrderChanged=!0,this._layers[n]=s,this._removedLayers[n]&&s.source&&"custom"!==s.type){const t=this._removedLayers[n];delete this._removedLayers[n],t.type!==s.type?this._updatedSources[s.source]="clear":(this._updatedSources[s.source]="reload",this.sourceCaches[s.source].pause())}this._updateLayer(s),s.onAdd&&s.onAdd(this.map)}}moveLayer(e,i){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===i)return;const r=this._order.indexOf(e);this._order.splice(r,1);const n=i?this._order.indexOf(i):this._order.length;i&&-1===n?this.fire(new t.ErrorEvent(new Error(`Cannot move layer "${e}" before non-existing layer "${i}".`))):(this._order.splice(n,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();const i=this._layers[e];if(!i)return void this.fire(new t.ErrorEvent(new Error(`Cannot remove non-existing layer "${e}".`)));i.setEventedParent(null);const r=this._order.indexOf(e);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map)}getLayer(t){return this._layers[t]}hasLayer(t){return t in this._layers}setLayerZoomRange(e,i,r){this._checkLoaded();const n=this.getLayer(e);n?n.minzoom===i&&n.maxzoom===r||(null!=i&&(n.minzoom=i),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(new t.ErrorEvent(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,i,r={}){this._checkLoaded();const s=this.getLayer(e);if(s){if(!n(s.filter,i))return null==i?(s.filter=void 0,void this._updateLayer(s)):void(this._validate(t.validateStyle.filter,`layers.${s.id}.filter`,i,null,r)||(s.filter=t.clone$1(i),this._updateLayer(s)))}else this.fire(new t.ErrorEvent(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.clone$1(this.getLayer(e).filter)}setLayoutProperty(e,i,r,s={}){this._checkLoaded();const o=this.getLayer(e);o?n(o.getLayoutProperty(i),r)||(o.setLayoutProperty(i,r,s),this._updateLayer(o)):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,i){const r=this.getLayer(e);if(r)return r.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,i,r,s={}){this._checkLoaded();const o=this.getLayer(e);o?n(o.getPaintProperty(i),r)||(o.setPaintProperty(i,r,s)&&this._updateLayer(o),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(e,i){this._checkLoaded();const r=e.source,n=e.sourceLayer,s=this.sourceCaches[r];if(void 0===s)return void this.fire(new t.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const o=s.getSource().type;"geojson"===o&&n?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||n?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),s.setFeatureState(n,e.id,i)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,i){this._checkLoaded();const r=e.source,n=this.sourceCaches[r];if(void 0===n)return void this.fire(new t.ErrorEvent(new Error(`The source '${r}' does not exist in the map's style.`)));const s=n.getSource().type,o="vector"===s?e.sourceLayer:void 0;"vector"!==s||o?i&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):n.removeFeatureState(o,e.id,i):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();const i=e.source,r=e.sourceLayer,n=this.sourceCaches[i];if(void 0!==n)return"vector"!==n.getSource().type||r?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),n.getFeatureState(r,e.id)):void this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new t.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)))}getTransition(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(t=>t.serialize())),layers:this._serializeLayers(this._order)},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0}_flattenAndSortRenderedFeatures(t){const e=t=>"fill-extrusion"===this._layers[t].type,i={},r=[];for(let n=this._order.length-1;n>=0;n--){const s=this._order[n];if(e(s)){i[s]=n;for(const e of t){const t=e[s];if(t)for(const e of t)r.push(e)}}}r.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const n=[];for(let s=this._order.length-1;s>=0;s--){const o=this._order[s];if(e(o))for(let t=r.length-1;t>=0;t--){const e=r[t].feature;if(i[e.layer.id]{const r=i.featureSortOrder;if(r){const i=r.indexOf(t.featureIndex);return r.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of n)e.push(t)}}for(const e in a)a[e].forEach((r=>{const n=r.feature,s=i[t[e].source].getFeatureState(n.layer["source-layer"],n.id);n.source=n.layer.source,n.layer["source-layer"]&&(n.sourceLayer=n.layer["source-layer"]),n.state=s}));return a}(this._layers,this._serializedLayers,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(s)}querySourceFeatures(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",i.filter,null,i);const r=this.sourceCaches[e];return r?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),r=[],n={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const r=this.crossTileSymbolIndex.addLayer(i,l[i.source],e.center.lng);o=o||r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((s=s||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.exported.now(),e.zoom))&&(this.pauseablePlacement=new Gt(e,this.terrain,this._order,s,i,r,n,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.exported.now()),a=!0),o&&this.pauseablePlacement.placement.setStale()),a||o)for(const t of this._order){const e=this._layers[t];"symbol"===e.type&&this.placement.updateLayerOpacities(e,l[e.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.exported.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();const r=this.sourceCaches[e.source];r&&r.setDependencies(e.tileID.key,e.type,e.icons)}getGlyphs(t,e,i){this.glyphManager.getGlyphs(e.stacks,i)}getResource(e,i,r){return t.makeRequest(i,r)}}ee.getSourceType=function(t){return k[t]},ee.setSourceType=function(t,e){k[t]=e},ee.registerForPluginStateChange=t.registerForPluginStateChange;var ie="attribute vec2 a_pos;uniform mat4 u_matrix;varying vec2 v_texture_pos;varying float v_depth;void main() {v_texture_pos=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);v_depth=gl_Position.z/gl_Position.w;}";const re={prelude:ne("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_offset;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return (elevation+u_terrain_offset)*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}"),background:ne("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:ne("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:ne("varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),clippingMask:ne("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:ne("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),heatmapTexture:ne("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:ne("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:ne("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:ne("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:ne("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),fillOutline:ne("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillOutlinePattern:ne("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillPattern:ne("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),fillExtrusion:ne("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\n#else\nfloat baseDelta=0.0;float ele=0.0;\n#endif\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),fillExtrusionPattern:ne("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\n#else\nfloat baseDelta=0.0;float ele=0.0;\n#endif\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),hillshadePrepare:ne("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:ne("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:ne("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}"),lineGradient:ne("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}"),linePattern:ne("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),lineSDF:ne("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),raster:ne("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:ne("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}"),symbolSDF:ne("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:ne("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}"),terrain:ne("uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}",ie),terrainDepth:ne("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}",ie),terrainCoords:ne("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}",ie)};function ne(t,e){const i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=e.match(/attribute ([\w]+) ([\w]+)/g),n=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),s=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=s?s.concat(n):n,a={};return{fragmentSource:t=t.replace(i,((t,e,i,r,n)=>(a[n]=!0,"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nvarying ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = u_${n};\n#endif\n`))),vertexSource:e=e.replace(i,((t,e,i,r,n)=>{const s="float"===r?"vec2":"vec4",o=n.match(/color/)?"color":s;return a[n]?"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${s} a_${n};\nvarying ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = unpack_mix_${o}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${s} a_${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = unpack_mix_${o}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`})),staticAttributes:r,staticUniforms:o}}class se{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(t,e,i,r,n,s,o,a,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==r.length;for(let t=0;!c&&t({u_depth:new t.Uniform1i(e,i.u_depth),u_terrain:new t.Uniform1i(e,i.u_terrain),u_terrain_dim:new t.Uniform1f(e,i.u_terrain_dim),u_terrain_matrix:new t.UniformMatrix4f(e,i.u_terrain_matrix),u_terrain_unpack:new t.Uniform4f(e,i.u_terrain_unpack),u_terrain_offset:new t.Uniform1f(e,i.u_terrain_offset),u_terrain_exaggeration:new t.Uniform1f(e,i.u_terrain_exaggeration)}))(e,w),this.binderUniforms=n?n.getUniforms(e,w):[]}draw(t,e,i,r,n,s,o,a,l,c,h,u,p,d,m,f,g,_){const y=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(r),t.setColorMode(n),t.setCullFace(s),a){t.activeTexture.set(y.TEXTURE2),y.bindTexture(y.TEXTURE_2D,a.depthTexture),t.activeTexture.set(y.TEXTURE3),y.bindTexture(y.TEXTURE_2D,a.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(a[t])}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(o[t]);m&&m.setUniforms(t,this.binderUniforms,p,{zoom:d});const x={[y.LINES]:2,[y.TRIANGLES]:3,[y.LINE_STRIP]:1}[e];for(const i of u.get()){const r=i.vaos||(i.vaos={});(r[l]||(r[l]=new se)).bind(t,this,c,m?m.getPaintVertexBuffers():[],h,i.vertexOffset,f,g,_),y.drawElements(e,i.primitiveLength*x,y.UNSIGNED_SHORT,i.primitiveOffset*x*2)}}}function le(t,e,i){const r=1/bt(i,1,e.transform.tileZoom),n=Math.pow(2,i.tileID.overscaledZ),s=i.tileSize*Math.pow(2,e.transform.tileZoom)/n,o=s*(i.tileID.canonical.x+i.tileID.wrap*n),a=s*i.tileID.canonical.y;return{u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[r,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,a>>16],u_pixel_coord_lower:[65535&o,65535&a]}}const ce=(e,i,r,n)=>{const s=i.style.light,o=s.properties.get("position"),a=[o.x,o.y,o.z],l=t.create$1();"viewport"===s.properties.get("anchor")&&t.fromRotation(l,-i.transform.angle),t.transformMat3(a,a,l);const c=s.properties.get("color");return{u_matrix:e,u_lightpos:a,u_lightintensity:s.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+r,u_opacity:n}},he=(e,i,r,n,s,o,a)=>t.extend(ce(e,i,r,n),le(o,i,a),{u_height_factor:-Math.pow(2,s.overscaledZ)/a.tileSize/8}),ue=t=>({u_matrix:t}),pe=(e,i,r,n)=>t.extend(ue(e),le(r,i,n)),de=(t,e)=>({u_matrix:t,u_world:e}),me=(e,i,r,n,s)=>t.extend(pe(e,i,r,n),{u_world:s}),fe=(t,e,i,r)=>{const n=t.transform;let s,o;if("map"===r.paint.get("circle-pitch-alignment")){const t=bt(i,1,n.zoom);s=!0,o=[t,t]}else s=!1,o=n.pixelsToGLUnits;return{u_camera_to_center_distance:n.cameraToCenterDistance,u_scale_with_map:+("map"===r.paint.get("circle-pitch-scale")),u_matrix:t.translatePosMatrix(e.posMatrix,i,r.paint.get("circle-translate"),r.paint.get("circle-translate-anchor")),u_pitch_with_map:+s,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:o}},ge=(t,e,i)=>{const r=bt(i,1,e.zoom),n=Math.pow(2,e.zoom-i.tileID.overscaledZ),s=i.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:r,u_extrude_scale:[e.pixelsToGLUnits[0]/(r*n),e.pixelsToGLUnits[1]/(r*n)],u_overscale_factor:s}},_e=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),ye=t=>({u_matrix:t}),xe=(t,e,i,r)=>({u_matrix:t,u_extrude_scale:bt(e,1,i),u_intensity:r});function ve(e,i){const r=Math.pow(2,i.canonical.z),n=i.canonical.y;return[new t.MercatorCoordinate(0,n/r).toLngLat().lat,new t.MercatorCoordinate(0,(n+1)/r).toLngLat().lat]}const be=(t,e,i,r)=>{const n=t.transform;return{u_matrix:Ie(t,e,i,r),u_ratio:1/bt(e,1,n.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/n.pixelsToGLUnits[0],1/n.pixelsToGLUnits[1]]}},we=(e,i,r,n,s)=>t.extend(be(e,i,r,s),{u_image:0,u_image_height:n}),Te=(t,e,i,r,n)=>{const s=t.transform,o=Se(e,s);return{u_matrix:Ie(t,e,i,n),u_texsize:e.imageAtlasTexture.size,u_ratio:1/bt(e,1,s.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[o,r.fromScale,r.toScale],u_fade:r.t,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},Ee=(e,i,r,n,s,o)=>{const a=e.lineAtlas,l=Se(i,e.transform),c="round"===r.layout.get("line-cap"),h=a.getDash(n.from,c),u=a.getDash(n.to,c),p=h.width*s.fromScale,d=u.width*s.toScale;return t.extend(be(e,i,r,o),{u_patternscale_a:[l/p,-h.height/2],u_patternscale_b:[l/d,-u.height/2],u_sdfgamma:a.width/(256*Math.min(p,d)*e.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:s.t})};function Se(t,e){return 1/bt(t,1,e.tileZoom)}function Ie(t,e,i,r){return t.translatePosMatrix(r?r.posMatrix:e.tileID.posMatrix,e,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}const Ae=(t,e,i,r,n)=>{return{u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:r.mix,u_opacity:r.opacity*n.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:n.paint.get("raster-brightness-min"),u_brightness_high:n.paint.get("raster-brightness-max"),u_saturation_factor:(o=n.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(s=n.paint.get("raster-contrast"),s>0?1/(1-s):1+s),u_spin_weights:ze(n.paint.get("raster-hue-rotate"))};var s,o};function ze(t){t*=Math.PI/180;const e=Math.sin(t),i=Math.cos(t);return[(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}const Ce=(t,e,i,r,n,s,o,a,l,c)=>{const h=n.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:h.cameraToCenterDistance,u_pitch:h.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:h.width/h.height,u_fade_change:n.options.fadeDuration?n.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:o,u_coord_matrix:a,u_is_text:+l,u_pitch_with_map:+r,u_texsize:c,u_texture:0}},Me=(e,i,r,n,s,o,a,l,c,h,u)=>{const p=s.transform;return t.extend(Ce(e,i,r,n,s,o,a,l,c,h),{u_gamma_scale:n?Math.cos(p._pitch)*p.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+u})},ke=(e,i,r,n,s,o,a,l,c,h)=>t.extend(Me(e,i,r,n,s,o,a,l,!0,c,!0),{u_texsize_icon:h,u_texture_icon:1}),Pe=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),De=(e,i,r,n,s,o)=>t.extend(function(t,e,i,r){const n=i.imageManager.getPattern(t.from.toString()),s=i.imageManager.getPattern(t.to.toString()),{width:o,height:a}=i.imageManager.getPixelSize(),l=Math.pow(2,r.tileID.overscaledZ),c=r.tileSize*Math.pow(2,i.transform.tileZoom)/l,h=c*(r.tileID.canonical.x+r.tileID.wrap*l),u=c*r.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:n.tl,u_pattern_br_a:n.br,u_pattern_tl_b:s.tl,u_pattern_br_b:s.br,u_texsize:[o,a],u_mix:e.t,u_pattern_size_a:n.displaySize,u_pattern_size_b:s.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/bt(r,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,u>>16],u_pixel_coord_lower:[65535&h,65535&u]}}(n,o,r,s),{u_matrix:e,u_opacity:i}),Le={fillExtrusion:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fillExtrusionPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,i.u_height_factor),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fill:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),fillPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),fillOutline:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}),fillOutlinePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),circle:(e,i)=>({u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,i.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),collisionBox:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,i.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,i.u_overscale_factor)}),collisionCircle:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,i.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,i.u_viewport_size)}),debug:(e,i)=>({u_color:new t.UniformColor(e,i.u_color),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_overlay:new t.Uniform1i(e,i.u_overlay),u_overlay_scale:new t.Uniform1f(e,i.u_overlay_scale)}),clippingMask:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmap:(e,i)=>({u_extrude_scale:new t.Uniform1f(e,i.u_extrude_scale),u_intensity:new t.Uniform1f(e,i.u_intensity),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmapTexture:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_color_ramp:new t.Uniform1i(e,i.u_color_ramp),u_opacity:new t.Uniform1f(e,i.u_opacity)}),hillshade:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_latrange:new t.Uniform2f(e,i.u_latrange),u_light:new t.Uniform2f(e,i.u_light),u_shadow:new t.UniformColor(e,i.u_shadow),u_highlight:new t.UniformColor(e,i.u_highlight),u_accent:new t.UniformColor(e,i.u_accent)}),hillshadePrepare:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_dimension:new t.Uniform2f(e,i.u_dimension),u_zoom:new t.Uniform1f(e,i.u_zoom),u_unpack:new t.Uniform4f(e,i.u_unpack)}),line:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels)}),lineGradient:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_image:new t.Uniform1i(e,i.u_image),u_image_height:new t.Uniform1f(e,i.u_image_height)}),linePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texsize:new t.Uniform2f(e,i.u_texsize),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_image:new t.Uniform1i(e,i.u_image),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),lineSDF:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,i.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,i.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,i.u_sdfgamma),u_image:new t.Uniform1i(e,i.u_image),u_tex_y_a:new t.Uniform1f(e,i.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,i.u_tex_y_b),u_mix:new t.Uniform1f(e,i.u_mix)}),raster:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_tl_parent:new t.Uniform2f(e,i.u_tl_parent),u_scale_parent:new t.Uniform1f(e,i.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,i.u_buffer_scale),u_fade_t:new t.Uniform1f(e,i.u_fade_t),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image0:new t.Uniform1i(e,i.u_image0),u_image1:new t.Uniform1i(e,i.u_image1),u_brightness_low:new t.Uniform1f(e,i.u_brightness_low),u_brightness_high:new t.Uniform1f(e,i.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,i.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,i.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,i.u_spin_weights)}),symbolIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture)}),symbolSDF:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),symbolTextAndIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texsize_icon:new t.Uniform2f(e,i.u_texsize_icon),u_texture:new t.Uniform1i(e,i.u_texture),u_texture_icon:new t.Uniform1i(e,i.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),background:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_color:new t.UniformColor(e,i.u_color)}),backgroundPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image:new t.Uniform1i(e,i.u_image),u_pattern_tl_a:new t.Uniform2f(e,i.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,i.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,i.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,i.u_pattern_br_b),u_texsize:new t.Uniform2f(e,i.u_texsize),u_mix:new t.Uniform1f(e,i.u_mix),u_pattern_size_a:new t.Uniform2f(e,i.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,i.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,i.u_scale_a),u_scale_b:new t.Uniform1f(e,i.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,i.u_tile_units_to_pixels)}),terrain:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture)}),terrainDepth:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),terrainCoords:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_terrain_coords_id:new t.Uniform1f(e,i.u_terrain_coords_id)})};class Be{constructor(t,e,i){this.context=t;const r=t.gl;this.buffer=r.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(t){const e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const Re={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Fe{constructor(t,e,i,r){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=r,this.context=t;const n=t.gl;this.buffer=n.createBuffer(),t.bindVertexBuffer.set(this.buffer),n.bufferData(n.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(t){const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)}enableAttributes(t,e){for(let i=0;i0){const i=t.create(),r=y;t.mul(i,_.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(i,i,_.placementViewportMatrix),u.push({circleArray:v,circleOffset:d,transform:r,invTransform:i,coord:f}),p+=v.length/4,d=p}x&&h.draw(l,c.LINES,wi.disabled,Ei.disabled,e.colorModeForRenderPass(),Si.disabled,ge(y,e.transform,g),e.style.terrain&&e.style.terrain.getTerrainData(f),r.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}if(!a||!u.length)return;const m=e.useProgram("collisionCircle"),f=new t.CollisionCircleLayoutArray;f.resize(4*p),f._trim();let g=0;for(const t of u)for(let e=0;e=0&&(f[g.associatedIconIndex]={shiftedAnchor:S,angle:I})}else _t(g.numGlyphs,d)}if(h){m.clear();const i=e.icon.placedSymbolArray;for(let e=0;ee.style.terrain.getElevation(l,t,i):null,i="map"===r.layout.get("text-rotation-alignment");ht(c,l.posMatrix,e,s,R,F,_,h,i,t)}const V=e.translatePosMatrix(l.posMatrix,n,o,a),N=y||s&&T||U?zi:R,G=e.translatePosMatrix(F,n,o,a,!0),$=d&&0!==r.paint.get(s?"text-halo-width":"icon-halo-width").constantOr(1);let q;q=d?c.iconsInText?ke(w.kind,A,x,_,e,V,N,G,C,D):Me(w.kind,A,x,_,e,V,N,G,s,C,!0):Ce(w.kind,A,x,_,e,V,N,G,s,C);const j={program:I,buffers:u,uniformValues:q,atlasTexture:M,atlasTextureIcon:L,atlasInterpolation:k,atlasInterpolationIcon:P,isSDF:d,hasHalo:$};if(v&&c.canOverlap){b=!0;const e=u.segments.get();for(const i of e)E.push({segments:new t.SegmentVector([i]),sortKey:i.sortKey,state:j,terrainData:z})}else E.push({segments:u.segments,sortKey:0,state:j,terrainData:z})}b&&E.sort(((t,e)=>t.sortKey-e.sortKey));for(const t of E){const i=t.state;if(d.activeTexture.set(m.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,m.CLAMP_TO_EDGE),i.atlasTextureIcon&&(d.activeTexture.set(m.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,m.CLAMP_TO_EDGE)),i.isSDF){const n=i.uniformValues;i.hasHalo&&(n.u_is_halo=1,Di(i.buffers,t.segments,r,e,i.program,w,u,p,n,t.terrainData)),n.u_is_halo=0}Di(i.buffers,t.segments,r,e,i.program,w,u,p,i.uniformValues,t.terrainData)}}function Di(t,e,i,r,n,s,o,a,l,c){const h=r.context;n.draw(h,h.gl.TRIANGLES,s,o,a,Si.disabled,l,c,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,r.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function Li(t,e,i,r,n,s,o){const a=t.context.gl,l=i.paint.get("fill-pattern"),c=l&&l.constantOr(1),h=i.getCrossfadeParameters();let u,p,d,m,f;o?(p=c&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",u=a.LINES):(p=c?"fillPattern":"fill",u=a.TRIANGLES);for(const g of r){const r=e.getTile(g);if(c&&!r.patternsLoaded())continue;const _=r.getBucket(i);if(!_)continue;const y=_.programConfigurations.get(i.id),x=t.useProgram(p,y),v=t.style.terrain&&t.style.terrain.getTerrainData(g);c&&(t.context.activeTexture.set(a.TEXTURE0),r.imageAtlasTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),y.updatePaintBuffers(h));const b=l.constantOr(null);if(b&&r.imageAtlas){const t=r.imageAtlas,e=t.patternPositions[b.to.toString()],i=t.patternPositions[b.from.toString()];e&&i&&y.setConstantPatternPositions(e,i)}const w=v?g:null,T=t.translatePosMatrix(w?w.posMatrix:g.posMatrix,r,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor"));if(o){m=_.indexBuffer2,f=_.segments2;const e=[a.drawingBufferWidth,a.drawingBufferHeight];d="fillOutlinePattern"===p&&c?me(T,t,h,r,e):de(T,e)}else m=_.indexBuffer,f=_.segments,d=c?pe(T,t,h,r):ue(T);x.draw(t.context,u,n,t.stencilModeForClipping(g),s,Si.disabled,d,v,i.id,_.layoutVertexBuffer,m,f,i.paint,t.transform.zoom,y)}}function Bi(t,e,i,r,n,s,o){const a=t.context,l=a.gl,c=i.paint.get("fill-extrusion-pattern"),h=c.constantOr(1),u=i.getCrossfadeParameters(),p=i.paint.get("fill-extrusion-opacity");for(const d of r){const r=e.getTile(d),m=r.getBucket(i);if(!m)continue;const f=t.style.terrain&&t.style.terrain.getTerrainData(d),g=m.programConfigurations.get(i.id),_=t.useProgram(h?"fillExtrusionPattern":"fillExtrusion",g);h&&(t.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(u));const y=c.constantOr(null);if(y&&r.imageAtlas){const t=r.imageAtlas,e=t.patternPositions[y.to.toString()],i=t.patternPositions[y.from.toString()];e&&i&&g.setConstantPatternPositions(e,i)}const x=t.translatePosMatrix(d.posMatrix,r,i.paint.get("fill-extrusion-translate"),i.paint.get("fill-extrusion-translate-anchor")),v=i.paint.get("fill-extrusion-vertical-gradient"),b=h?he(x,t,v,p,d,u,r):ce(x,t,v,p);_.draw(a,a.gl.TRIANGLES,n,s,o,Si.backCCW,b,f,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,g,t.style.terrain&&m.centroidVertexBuffer)}}function Ri(t,e,i,r,n,s,o){const a=t.context,l=a.gl,c=i.fbo;if(!c)return;const h=t.useProgram("hillshade"),u=t.style.terrain&&t.style.terrain.getTerrainData(e);a.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),h.draw(a,l.TRIANGLES,n,s,o,Si.disabled,((t,e,i,r)=>{const n=i.paint.get("hillshade-shadow-color"),s=i.paint.get("hillshade-highlight-color"),o=i.paint.get("hillshade-accent-color");let a=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(a-=t.transform.angle);const l=!t.options.moving;return{u_matrix:r?r.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:ve(0,e.tileID),u_light:[i.paint.get("hillshade-exaggeration"),a],u_shadow:n,u_highlight:s,u_accent:o}})(t,i,r,u?e:null),u,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}function Fi(e,i,r,n,s,o){const a=e.context,c=a.gl,h=i.dem;if(h&&h.data){const u=h.dim,p=h.stride,d=h.getPixels();if(a.activeTexture.set(c.TEXTURE1),a.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(p),i.demTexture){const t=i.demTexture;t.update(d,{premultiply:!1}),t.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else i.demTexture=new l(a,d,c.RGBA,{premultiply:!1}),i.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);a.activeTexture.set(c.TEXTURE0);let m=i.fbo;if(!m){const t=new l(a,{width:u,height:u,data:null},c.RGBA);t.bind(c.LINEAR,c.CLAMP_TO_EDGE),m=i.fbo=a.createFramebuffer(u,u,!0),m.colorAttachment.set(t.texture)}a.bindFramebuffer.set(m.framebuffer),a.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(a,c.TRIANGLES,n,s,o,Si.disabled,((e,i)=>{const r=i.stride,n=t.create();return t.ortho(n,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(n,n,[0,-t.EXTENT,0]),{u_matrix:n,u_image:1,u_dimension:[r,r],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,h),null,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1}}function Oi(e,i,r,n,s,o){const a=n.paint.get("raster-fade-duration");if(!o&&a>0){const n=t.exported.now(),o=(n-e.timeAdded)/a,l=i?(n-i.timeAdded)/a:-1,c=r.getSource(),h=s.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=u&&e.refreshedUponExpiration?1:t.clamp(u?o:1-l,0,1);return e.refreshedUponExpiration&&o>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}const Ui=new t.Color(1,0,0,1),Vi=new t.Color(0,1,0,1),Ni=new t.Color(0,0,1,1),Gi=new t.Color(1,0,1,1),$i=new t.Color(0,1,1,1);function qi(t,e,i,r){Zi(t,0,e+i/2,t.transform.width,i,r)}function ji(t,e,i,r){Zi(t,e-i/2,0,i,t.transform.height,r)}function Zi(t,e,i,r,n,s){const o=t.context,a=o.gl;a.enable(a.SCISSOR_TEST),a.scissor(e*t.pixelRatio,i*t.pixelRatio,r*t.pixelRatio,n*t.pixelRatio),o.clear({color:s}),a.disable(a.SCISSOR_TEST)}function Xi(e,i,r){const n=e.context,s=n.gl,o=r.posMatrix,a=e.useProgram("debug"),l=wi.disabled,c=Ei.disabled,h=e.colorModeForRenderPass(),u="$debug",p=e.style.terrain&&e.style.terrain.getTerrainData(r);n.activeTexture.set(s.TEXTURE0),e.emptyTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE);const d=i.getTileByID(r.key).latestRawTileData,m=Math.floor((d&&d.byteLength||0)/1024),f=i.getTile(r).tileSize,g=512/Math.min(f,512)*(r.overscaledZ/e.transform.zoom)*.5;let _=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(_+=` => ${r.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,r=t.context.gl,n=t.debugOverlayCanvas.getContext("2d");n.clearRect(0,0,i.width,i.height),n.shadowColor="white",n.shadowBlur=2,n.lineWidth=1.5,n.strokeStyle="white",n.textBaseline="top",n.font="bold 36px Open Sans, sans-serif",n.fillText(e,5,5),n.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(e,`${_} ${m}kB`),a.draw(n,s.TRIANGLES,l,c,vi.alphaBlended,Si.disabled,_e(o,t.Color.transparent,g),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),a.draw(n,s.LINE_STRIP,l,c,h,Si.disabled,_e(o,t.Color.red),p,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function Wi(t,e,i){const r=t.context,n=r.gl,s=t.colorModeForRenderPass(),o=new wi(n.LEQUAL,wi.ReadWrite,t.depthRangeFor3D),a=t.useProgram("terrain"),l=e.getTerrainMesh(),c=e.getTerrainData(i.tileID);r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height]),r.activeTexture.set(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,e.getRTTFramebuffer().colorAttachment.get());const h=t.transform.calculatePosMatrix(i.tileID.toUnwrapped());a.draw(r,n.TRIANGLES,o,Ei.disabled,s,Si.backCCW,{u_matrix:h,u_texture:0},c,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}function Hi(t,e,i,r){const n=t.context,s=i.tileSize*e.qualityFactor;i.textures[r]||(i.textures[r]=t.getTileTexture(s)||new l(n,{width:s,height:s,data:null},n.gl.RGBA),i.textures[r].bind(n.gl.LINEAR,n.gl.CLAMP_TO_EDGE),0===r&&e.sourceCache.renderHistory.unshift(i.tileID.key));const o=e.getRTTFramebuffer();o.colorAttachment.set(i.textures[r].texture),n.bindFramebuffer.set(o.framebuffer),n.viewport.set([0,0,s,s])}class Ki{constructor(t){this._coordsDescendingInv={},this._coordsDescendingInvStr={},this.painter=t,this._renderToTexture={background:!0,fill:!0,line:!0,raster:!0},this._coordsDescendingInv={},this._coordsDescendingInvStr={},this._stacks=[],this._prevType=null,this._rerender={},this._renderableTiles=t.style.terrain.sourceCache.getRenderableTiles(),this._init()}_init(){const t=this.painter.style,e=t.terrain;for(const i in t.sourceCaches){this._coordsDescendingInv[i]={};const r=t.sourceCaches[i].getVisibleCoordinates();for(const t of r){const r=e.sourceCache.getTerrainCoords(t);for(const t in r)this._coordsDescendingInv[i][t]||(this._coordsDescendingInv[i][t]=[]),this._coordsDescendingInv[i][t].push(r[t])}}for(const e of t._order){const i=t._layers[e],r=i.source;if(this._renderToTexture[i.type]&&!this._coordsDescendingInvStr[r]){this._coordsDescendingInvStr[r]={};for(const t in this._coordsDescendingInv[r])this._coordsDescendingInvStr[r][t]=this._coordsDescendingInv[r][t].map((t=>t.key)).sort().join()}}return this._renderableTiles.forEach((t=>{for(const i in this._coordsDescendingInvStr){const r=this._coordsDescendingInvStr[i][t.tileID.key];r&&r!==t.textureCoords[i]&&t.clearTextures(this.painter),e.needsRerender(i,t.tileID)&&t.clearTextures(this.painter)}this._rerender[t.tileID.key]=!t.textures.length})),e.clearRerenderCache(),e.sourceCache.removeOutdated(this.painter),this}renderLayer(e){const i=e.type,r=this.painter,n=r.style._order,s=r.currentLayer,o=s+1===n.length;if(this._renderToTexture[i]&&(this._prevType&&this._renderToTexture[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(n[s]),!o))return!0;if(this._renderToTexture[this._prevType]||"hillshade"===i||this._renderToTexture[i]&&o){this._prevType=i;const o=this._stacks.length-1,a=this._stacks[o]||[];for(const e of this._renderableTiles){if(Hi(r,r.style.terrain,e,o),this._rerender[e.tileID.key]){r.context.clear({color:t.Color.transparent});for(let t=0;ti.style.terrain.getElevation(s,t,e):null)}}}(n,e,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),s),0!==r.paint.get("icon-opacity").constantOr(1)&&Pi(e,i,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright"),o,a),0!==r.paint.get("text-opacity").constantOr(1)&&Pi(e,i,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright"),o,a),i.map.showCollisionBoxes&&(Ai(e,i,r,n,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),Ai(e,i,r,n,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1))},circle:function(e,i,r,n){if("translucent"!==e.renderPass)return;const s=r.paint.get("circle-opacity"),o=r.paint.get("circle-stroke-width"),a=r.paint.get("circle-stroke-opacity"),l=!r.layout.get("circle-sort-key").isConstant();if(0===s.constantOr(1)&&(0===o.constantOr(1)||0===a.constantOr(1)))return;const c=e.context,h=c.gl,u=e.depthModeForSublayer(0,wi.ReadOnly),p=Ei.disabled,d=e.colorModeForRenderPass(),m=[];for(let s=0;st.sortKey-e.sortKey));for(const t of m){const{programConfiguration:i,program:n,layoutVertexBuffer:s,indexBuffer:o,uniformValues:a,terrainData:l}=t.state;n.draw(c,h.TRIANGLES,u,p,d,Si.disabled,a,l,r.id,s,o,t.segments,r.paint,e.transform.zoom,i)}},heatmap:function(e,i,r,n){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){const s=e.context,o=s.gl,a=Ei.disabled,l=new vi([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){const r=t.gl;t.activeTexture.set(r.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let n=i.heatmapFbo;if(n)r.bindTexture(r.TEXTURE_2D,n.colorAttachment.get()),t.bindFramebuffer.set(n.framebuffer);else{const s=r.createTexture();r.bindTexture(r.TEXTURE_2D,s),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),n=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,i,r){const n=t.gl;n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e.width/4,e.height/4,0,n.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:n.UNSIGNED_BYTE,null),r.colorAttachment.set(i)}(t,e,s,n)}}(s,e,r),s.clear({color:t.Color.transparent});for(let t=0;t{const s=t.create();t.ortho(s,0,e.width,e.height,0,0,1);const o=e.context.gl;return{u_matrix:s,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get("heatmap-opacity")}})(e,i),null,i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom)}(e,r))},line:function(e,i,r,n){if("translucent"!==e.renderPass)return;const s=r.paint.get("line-opacity"),o=r.paint.get("line-width");if(0===s.constantOr(1)||0===o.constantOr(1))return;const a=e.depthModeForSublayer(0,wi.ReadOnly),c=e.colorModeForRenderPass(),h=r.paint.get("line-dasharray"),u=r.paint.get("line-pattern"),p=u.constantOr(1),d=r.paint.get("line-gradient"),m=r.getCrossfadeParameters(),f=p?"linePattern":h?"lineSDF":d?"lineGradient":"line",g=e.context,_=g.gl;let y=!0;for(const s of n){const n=i.getTile(s);if(p&&!n.patternsLoaded())continue;const o=n.getBucket(r);if(!o)continue;const x=o.programConfigurations.get(r.id),v=e.context.program.get(),b=e.useProgram(f,x),w=y||b.program!==v,T=e.style.terrain&&e.style.terrain.getTerrainData(s),E=u.constantOr(null);if(E&&n.imageAtlas){const t=n.imageAtlas,e=t.patternPositions[E.to.toString()],i=t.patternPositions[E.from.toString()];e&&i&&x.setConstantPatternPositions(e,i)}const S=T?s:null,I=p?Te(e,n,r,m,S):h?Ee(e,n,r,h,m,S):d?we(e,n,r,o.lineClipsArray.length,S):be(e,n,r,S);if(p)g.activeTexture.set(_.TEXTURE0),n.imageAtlasTexture.bind(_.LINEAR,_.CLAMP_TO_EDGE),x.updatePaintBuffers(m);else if(h&&(w||e.lineAtlas.dirty))g.activeTexture.set(_.TEXTURE0),e.lineAtlas.bind(g);else if(d){const n=o.gradients[r.id];let a=n.texture;if(r.gradientVersion!==n.version){let c=256;if(r.stepInterpolant){const r=i.getSource().maxzoom,n=s.canonical.z===r?Math.ceil(1<256&&this.clearStencil(),i.setColorMode(vi.disabled),i.setDepthMode(wi.disabled);const n=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,s=this.style.terrain&&this.style.terrain.getTerrainData(t);n.draw(i,r.TRIANGLES,wi.disabled,new Ei({func:r.ALWAYS,mask:0},e,255,r.KEEP,r.KEEP,r.REPLACE),vi.disabled,Si.disabled,ye(t.posMatrix),s,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Ei({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Ei({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),r=i[i.length-1].overscaledZ,n=i[0].overscaledZ-r+1;if(n>1){this.currentStencilSource=void 0,this.nextStencilID+n>256&&this.clearStencil();const t={};for(let i=0;i=0;this.currentLayer--){const t=this.style._layers[r[this.currentLayer]],e=n[t.source],i=o[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer{i.source&&!i.isHidden(this.transform.zoom)&&(i.source!==(e&&e.id)&&(e=this.style.sourceCaches[i.source]),(!t||t.getSource().maxzoom0?e.pop():null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;const e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return!e||!i}useProgram(t,e){this.cache=this.cache||{};const i=t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.terrain?"/terrain":"");return this.cache[i]||(this.cache[i]=new ae(this.context,t,re[t],e,Le[t],this._showOverdrawInspector,this.style.terrain)),this.cache[i]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new l(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}}class Qi{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(e,i,r){const n=Math.pow(2,r),s=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((r=>{const s=1/(r=t.transformMat4([],r,e))[3]/i*n;return t.mul$1(r,r,[s,s,1/r[3],s])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{const i=t.sub([],s[e[0]],s[e[1]]),r=t.sub([],s[e[2]],s[e[1]]),n=t.normalize([],t.cross([],i,r)),o=-t.dot(n,s[e[1]]);return n.concat(o)}));return new Qi(s,o)}}class tr{constructor(e,i){this.min=e,this.max=i,this.center=t.scale$1([],t.add([],this.min,this.max),.5)}quadrant(e){const i=[e%2==0,e<2],r=t.clone$2(this.min),n=t.clone$2(this.max);for(let t=0;t=0&&o++;if(0===o)return 0;o!==i.length&&(r=!1)}if(r)return 2;for(let t=0;t<3;t++){let i=Number.MAX_VALUE,r=-Number.MAX_VALUE;for(let n=0;nthis.max[t]-this.min[t])return 0}return 1}}class er{constructor(t=0,e=0,i=0,r=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(r)||r<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=i,this.right=r}interpolate(e,i,r){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,r)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,r)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,r)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,r)),this}getCenter(e,i){const r=t.clamp((this.left+e-this.right)/2,0,e),n=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.pointGeometry(r,n)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new er(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class ir{constructor(e,i,r,n,s){this.tileSize=512,this.maxValidLatitude=85.051129,this.freezeElevation=!1,this._renderWorldCopies=void 0===s||!!s,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==r?0:r,this._maxPitch=null==n?60:n,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new er,this._posMatrixCache={},this._alignedPosMatrixCache={}}clone(){const t=new ir(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t._elevation=this._elevation,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.pointGeometry(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){const i=-t.wrap(e,-180,180)*Math.PI/180;var r;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(r=new t.ARRAY_TYPE(4),t.ARRAY_TYPE!=Float32Array&&(r[1]=0,r[2]=0),r[0]=1,r[3]=1,r),function(t,e,i){var r=e[0],n=e[1],s=e[2],o=e[3],a=Math.sin(i),l=Math.cos(i);t[0]=r*l+s*a,t[1]=n*l+o*a,t[2]=r*-a+s*l,t[3]=n*-a+o*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices()}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(e){const i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies){const r=this.pointCoordinate(new t.pointGeometry(0,0)),n=this.pointCoordinate(new t.pointGeometry(this.width,0)),s=this.pointCoordinate(new t.pointGeometry(this.width,this.height)),o=this.pointCoordinate(new t.pointGeometry(0,this.height)),a=Math.floor(Math.min(r.x,n.x,s.x,o.x)),l=Math.floor(Math.max(r.x,n.x,s.x,o.x)),c=1;for(let r=a-c;r<=l+c;r++)0!==r&&i.push(new t.UnwrappedTileID(r,e))}return i}coveringTiles(e){var i,r;let n=this.coveringZoomLevel(e);const s=n;if(void 0!==e.minzoom&&ne.maxzoom&&(n=e.maxzoom);const o=this.pointCoordinate(this.getCameraPoint()),a=t.MercatorCoordinate.fromLngLat(this.center),l=Math.pow(2,n),c=[l*o.x,l*o.y,0],h=[l*a.x,l*a.y,0],u=Qi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,n);let p=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(p=n);const d=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,m=t=>({aabb:new tr([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),f=[],g=[],_=n,y=e.reparseOverscaled?s:n;if(this._renderWorldCopies)for(let t=1;t<=3;t++)f.push(m(-t)),f.push(m(t));for(f.push(m(0));f.length>0;){const n=f.pop(),s=n.x,o=n.y;let a=n.fullyVisible;if(!a){const t=n.aabb.intersects(u);if(0===t)continue;a=2===t}const l=e.terrain?c:h,m=n.aabb.distanceX(l),x=n.aabb.distanceY(l),v=Math.max(Math.abs(m),Math.abs(x)),b=d+(1<<_-n.zoom)-2;if(n.zoom===_||v>b&&n.zoom>=p){const e=_-n.zoom,i=c[0]-.5-(s<>1),u=n.zoom+1;let p=n.aabb.quadrant(l);if(e.terrain){const s=new t.OverscaledTileID(u,n.wrap,u,c,h),o=e.terrain.getMinMaxElevation(s),a=null!==(i=o.minElevation)&&void 0!==i?i:this.elevation,l=null!==(r=o.maxElevation)&&void 0!==r?r:this.elevation;p=new tr([p.min[0],p.min[1],a],[p.max[0],p.max[1],l])}f.push({aabb:p,zoom:u,x:c,y:h,wrap:n.wrap,fullyVisible:a})}}return g.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(e){const i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.pointGeometry(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)}unproject(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}updateElevation(t){this.freezeElevation||(this.elevation=t?this.getElevation(this._center,t):0)}getElevation(e,i){const r=t.MercatorCoordinate.fromLngLat(e),n=(1<o&&(n=o-e)}if(this.lngRange){const e=(a+l)/2,i=t.wrap(u.x,e-this.worldSize/2,e+this.worldSize/2),n=c.x/2;i-nl&&(r=l-n)}void 0===r&&void 0===n||(this.center=this.unproject(new t.pointGeometry(void 0!==r?r:u.x,void 0!==n?n:u.y)).wrap()),this._unmodified=h,this._constraining=!1}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,i=this.point.x,r=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize;let n=t.identity(new Float64Array(16));t.scale(n,n,[this.width/2,-this.height/2,1]),t.translate(n,n,[1,-1,0]),this.labelPlaneMatrix=n,n=t.identity(new Float64Array(16)),t.scale(n,n,[1,-1,1]),t.translate(n,n,[-1,-1,0]),t.scale(n,n,[2/this.width,2/this.height,1]),this.glCoordMatrix=n,this.cameraToSeaLevelDistance=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch);const s=Math.PI/2+this._pitch,o=this._fov*(.5+e.y/this.height),a=Math.sin(o)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-s-o,.01,Math.PI-.01)),l=this.getHorizon(),c=2*Math.atan(l/this.cameraToCenterDistance)*(.5+e.y/(2*l)),h=Math.sin(c)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-s-c,.01,Math.PI-.01)),u=Math.cos(Math.PI/2-this._pitch)*a+this.cameraToSeaLevelDistance,p=Math.cos(Math.PI/2-this._pitch)*h+this.cameraToSeaLevelDistance,d=1.01*Math.min(u,p),m=this.height/50;n=new Float64Array(16),t.perspective(n,this._fov,this.width/this.height,m,d),n[8]=2*-e.x/this.width,n[9]=2*e.y/this.height,t.scale(n,n,[1,-1,1]),t.translate(n,n,[0,0,-this.cameraToCenterDistance]),t.rotateX(n,n,this._pitch),t.rotateZ(n,n,this.angle),t.translate(n,n,[-i,-r,0]),this.mercatorMatrix=t.scale([],n,[this.worldSize,this.worldSize,this.worldSize]),t.scale(n,n,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,n),t.translate(n,n,[0,0,-this.elevation]),this.projMatrix=n,this.invProjMatrix=t.invert([],n),this.pixelMatrix3D=t.multiply(new Float64Array(16),this.labelPlaneMatrix,n);const f=this.width%2/2,g=this.height%2/2,_=Math.cos(this.angle),y=Math.sin(this.angle),x=i-Math.round(i)+_*f+y*g,v=r-Math.round(r)+_*g+y*f,b=new Float64Array(n);if(t.translate(b,b,[x>.5?x-1:x,v>.5?v-1:v,0]),this.alignedProjMatrix=b,n=t.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new t.pointGeometry(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.pointGeometry(0,e))}getCameraQueryGeometry(e){const i=this.getCameraPoint();if(1===e.length)return[e[0],i];{let r=i.x,n=i.y,s=i.x,o=i.y;for(const t of e)r=Math.min(r,t.x),n=Math.min(n,t.y),s=Math.max(s,t.x),o=Math.max(o,t.y);return[new t.pointGeometry(r,n),new t.pointGeometry(s,n),new t.pointGeometry(s,o),new t.pointGeometry(r,o),new t.pointGeometry(r,n)]}}}class rr{constructor(e){this._hashName=e&&encodeURIComponent(e),t.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=function(t,e){let i=!1,r=null;const n=()=>{r=null,i&&(t(),r=setTimeout(n,300),i=!1)};return()=>(i=!0,r||n(),r)}(this._updateHashUnthrottled.bind(this))}addTo(t){return this._map=t,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(t){const e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,r=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),n=Math.pow(10,r),s=Math.round(e.lng*n)/n,o=Math.round(e.lat*n)/n,a=this._map.getBearing(),l=this._map.getPitch();let c="";if(c+=t?`/${s}/${o}/${i}`:`${i}/${o}/${s}`,(a||l)&&(c+="/"+Math.round(10*a)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split("&").map((i=>{const r=i.split("=")[0];return r===t?(e=!0,`${r}=${c}`):i})).filter((t=>t));return e||i.push(`${t}=${c}`),`#${i.join("&")}`}return`#${c}`}_getCurrentHash(){const t=window.location.hash.replace("#","");if(this._hashName){let e;return t.split("&").map((t=>t.split("="))).forEach((t=>{t[0]===this._hashName&&(e=t)})),(e&&e[1]||"").split("/")}return t.split("/")}_onHashChange(){const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1}_updateHashUnthrottled(){const t=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,t)}catch(t){}}}const nr={linearity:.3,easing:t.bezier(0,0,.3,1)},sr=t.extend({deceleration:2500,maxSpeed:1400},nr),or=t.extend({deceleration:20,maxSpeed:1400},nr),ar=t.extend({deceleration:1e3,maxSpeed:360},nr),lr=t.extend({deceleration:1e3,maxSpeed:90},nr);class cr{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.exported.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,i=t.exported.now();for(;e.length>0&&i-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new t.pointGeometry(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,n={};if(i.pan.mag()){const s=ur(i.pan.mag(),r,t.extend({},sr,e||{}));n.offset=i.pan.mult(s.amount/i.pan.mag()),n.center=this._map.transform.center,hr(n,s)}if(i.zoom){const t=ur(i.zoom,r,or);n.zoom=this._map.transform.zoom+t.amount,hr(n,t)}if(i.bearing){const e=ur(i.bearing,r,ar);n.bearing=this._map.transform.bearing+t.clamp(e.amount,-179,179),hr(n,e)}if(i.pitch){const t=ur(i.pitch,r,lr);n.pitch=this._map.transform.pitch+t.amount,hr(n,t)}if(n.zoom||n.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;n.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),t.extend(n,{noMoveStart:!0})}}function hr(t,e){(!t.duration||t.durationi.unproject(t))),l=o.reduce(((t,e,i,r)=>t.add(e.div(r.length))),new t.pointGeometry(0,0));super(e,{points:o,point:l,lngLats:a,lngLat:i.unproject(l),originalEvent:r}),this._defaultPrevented=!1}preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}}class mr extends t.Event{constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1}preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}}class fr{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new mr(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new pr(t.type,this._map,t))}mouseup(t){this._map.fire(new pr(t.type,this._map,t))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new pr(t.type,this._map,t))}dblclick(t){return this._firePreventable(new pr(t.type,this._map,t))}mouseover(t){this._map.fire(new pr(t.type,this._map,t))}mouseout(t){this._map.fire(new pr(t.type,this._map,t))}touchstart(t){return this._firePreventable(new dr(t.type,this._map,t))}touchmove(t){this._map.fire(new dr(t.type,this._map,t))}touchend(t){this._map.fire(new dr(t.type,this._map,t))}touchcancel(t){this._map.fire(new dr(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class gr{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,delete this._contextMenuEvent}mousemove(t){this._map.fire(new pr(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new pr("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new pr(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _r{constructor(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(s.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const i=e;if(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)t.fitScreenCoordinates(r,n,this._map.getBearing(),{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair","mapboxgl-crosshair"),this._box&&(s.remove(this._box),this._box=null),s.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))}}function yr(t,e){const i={};for(let r=0;rthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),r.length===this.numTouches&&(this.centroid=function(e){const i=new t.pointGeometry(0,0);for(const t of e)i._add(t);return i.div(e.length)}(i),this.touches=yr(r,i)))}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const r=yr(i,e);for(const t in this.touches){const e=this.touches[t],i=r[t];(!i||i.dist(e)>30)&&(this.aborted=!0)}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class vr{constructor(t){this.singleTap=new xr(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(t,e,i){this.singleTap.touchstart(t,e,i)}touchmove(t,e,i){this.singleTap.touchmove(t,e,i)}touchend(t,e,i){const r=this.singleTap.touchend(t,e,i);if(r){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(r)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class br{constructor(){this._zoomIn=new vr({numTouches:1,numTaps:2}),this._zoomOut=new vr({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i)}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i)}touchend(t,e,i){const r=this._zoomIn.touchend(t,e,i),n=this._zoomOut.touchend(t,e,i);return r?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(r)},{originalEvent:t})}):n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(n)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}const wr={0:1,2:2};class Tr{constructor(t){this.reset(),this._clickTolerance=t.clickTolerance||1}reset(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton}_correctButton(t,e){return!1}_move(t,e){return{}}mousedown(t,e){if(this._lastPoint)return;const i=s.mouseButton(t);this._correctButton(t,i)&&(this._lastPoint=e,this._eventButton=i)}mousemoveWindow(t,e){const i=this._lastPoint;if(i)if(t.preventDefault(),function(t,e){const i=wr[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i){this._cancelCooperativeMessage=!1}),200)}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._map._cooperativeGestures&&(2===this._minTouches&&i.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(t,!1,i.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(i.length0&&(this._active=!0);const n=yr(r,i),s=new t.pointGeometry(0,0),o=new t.pointGeometry(0,0);let a=0;for(const t in n){const e=n[t],i=this._touches[t];i&&(s._add(e),o._add(e.sub(i)),a++,n[t]=e)}if(this._touches=n,aMath.abs(t.x)}class Br extends zr{constructor(t){super(),this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length}_start(t){this._lastPoints=t,Lr(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,e,i){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;const r=t[0].sub(this._lastPoints[0]),n=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(r,n,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(r.y+n.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const r=t.mag()>=2,n=e.mag()>=2;if(!r&&!n)return;if(!r||!n)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const s=t.y>0==e.y>0;return Lr(t)&&Lr(e)&&s}}const Rr={panStep:100,bearingStep:15,pitchStep:10};class Fr{constructor(){const t=Rr;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,r=0,n=0,s=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),n=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),n=1);break;case 38:t.shiftKey?r=1:(t.preventDefault(),s=-1);break;case 40:t.shiftKey?r=-1:(t.preventDefault(),s=1);break;default:return}return this._rotationDisabled&&(i=0,r=0),{cameraAnimation:o=>{const a=o.getZoom();o.easeTo({duration:300,easeId:"keyboardHandler",easing:Or,zoom:e?Math.round(a)+e*(t.shiftKey?2:1):a,bearing:o.getBearing()+i*this._bearingStep,pitch:o.getPitch()+r*this._pitchStep,offset:[-n*this._panStep,-s*this._panStep],center:o.getCenter()},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function Or(t){return t*(2-t)}const Ur=4.000244140625;class Vr{constructor(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(e){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!this._map._metaPress)return;e.preventDefault()}let i=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const r=t.exported.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==i&&i%Ur==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(n*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault()}_onTimeout(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const i=s.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(i)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const e=this._map.transform;if(0!==this._delta){const t="wheel"===this._type&&Math.abs(this._delta)>Ur?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==i&&(i=1/i);const r="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(r*i))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const i="number"==typeof this._targetZoom?this._targetZoom:e.zoom,r=this._startZoom,n=this._easing;let s,o=!1;if("wheel"===this._type&&r&&n){const e=Math.min((t.exported.now()-this._lastWheelEventTime)/200,1),a=n(e);s=t.number(r,i,a),e<1?this._frameId||(this._frameId=!0):o=!0}else s=i,o=!0;return this._active=!0,o&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!o,zoomDelta:s-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let i=t.ease;if(this._prevEase){const e=this._prevEase,r=(t.exported.now()-e.start)/e.duration,n=e.easing(r+.01)-e.easing(r),s=.27/Math.sqrt(n*n+1e-4)*.01,o=Math.sqrt(.0729-s*s);i=t.bezier(s,o,.25,1)}return this._prevEase={start:t.exported.now(),duration:e,easing:i},i}reset(){this._active=!1}}class Nr{constructor(t,e){this._clickZoom=t,this._tapZoom=e}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Gr{constructor(){this.reset()}reset(){this._active=!1}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class $r{constructor(){this._tap=new vr({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()}touchstart(t,e,i){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=e[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(t,e,i))}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const r=e[0],n=r.y-this._swipePoint.y;return this._swipePoint=r,t.preventDefault(),this._active=!0,{zoomDelta:n/128}}}else this._tap.touchmove(t,e,i)}touchend(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp)}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class qr{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan","mapboxgl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan","mapboxgl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class jr{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Zr{constructor(t,e,i,r){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate","mapboxgl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate","mapboxgl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}const Xr=t=>t.zoom||t.drag||t.pitch||t.rotate;class Wr extends t.Event{}function Hr(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class Kr{constructor(e,i){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new cr(e),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(i),t.bindAll(["handleEvent","handleWindowEvent"],this);const r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]];for(const[t,e,i]of this._listeners)s.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i)}destroy(){for(const[t,e,i]of this._listeners)s.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i)}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add("mapEvent",new fr(e,t));const r=e.boxZoom=new _r(e,t);this._add("boxZoom",r);const n=new br,s=new Gr;e.doubleClickZoom=new Nr(s,n),this._add("tapZoom",n),this._add("clickZoom",s);const o=new $r;this._add("tapDragZoom",o);const a=e.touchPitch=new Br(e);this._add("touchPitch",a);const l=new Sr(t),c=new Ir(t);e.dragRotate=new jr(t,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);const h=new Er(t),u=new Ar(t,e);e.dragPan=new qr(i,h,u),this._add("mousePan",h),this._add("touchPan",u,["touchZoom","touchRotate"]);const p=new Dr,d=new kr;e.touchZoomRotate=new Zr(i,d,p,o),this._add("touchRotate",p,["touchPan","touchZoom"]),this._add("touchZoom",d,["touchPan","touchRotate"]);const m=e.scrollZoom=new Vr(e,this);this._add("scrollZoom",m,["mousePan"]);const f=e.keyboard=new Fr;this._add("keyboard",f),this._add("blockableMapEvent",new gr(e));for(const i of["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"])t.interactive&&t[i]&&e[i].enable(t[i])}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return Boolean(Xr(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const r in t)if(r!==i&&(!e||e.indexOf(r)<0))return!0;return!1}handleWindowEvent(t){this.handleEvent(t,`${t.type}Window`)}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}handleEvent(t,e){if("blur"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i="renderFrame"===t.type?void 0:t,r={needsRenderFrame:!1},n={},o={},a=t.touches,l=a?this._getMapTouches(a):void 0,c=l?s.touchPos(this._el,l):s.mousePos(this._el,t);for(const{handlerName:s,handler:a,allowed:h}of this._handlers){if(!a.isEnabled())continue;let u;this._blockedByActive(o,h,s)?a.reset():a[e||t.type]&&(u=a[e||t.type](t,c,l),this.mergeHandlerResult(r,n,u,s,i),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||a.isActive())&&(o[s]=a)}const h={};for(const t in this._previousActiveHandlers)o[t]||(h[t]=i);this._previousActiveHandlers=o,(Object.keys(h).length||Hr(r))&&(this._changes.push([r,n,h]),this._triggerRenderFrame()),(Object.keys(o).length||Hr(r))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=r;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map))}mergeHandlerResult(e,i,r,n,s){if(!r)return;t.extend(e,r);const o={handlerName:n,originalEvent:r.originalEvent||s};void 0!==r.zoomDelta&&(i.zoom=o),void 0!==r.panDelta&&(i.drag=o),void 0!==r.pitchDelta&&(i.pitch=o),void 0!==r.bearingDelta&&(i.rotate=o)}_applyChanges(){const e={},i={},r={};for(const[n,s,o]of this._changes)n.panDelta&&(e.panDelta=(e.panDelta||new t.pointGeometry(0,0))._add(n.panDelta)),n.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+n.zoomDelta),n.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+n.bearingDelta),n.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+n.pitchDelta),void 0!==n.around&&(e.around=n.around),void 0!==n.pinchAround&&(e.pinchAround=n.pinchAround),n.noInertia&&(e.noInertia=n.noInertia),t.extend(i,s),t.extend(r,o);this._updateMapTransform(e,i,r),this._changes=[]}_updateMapTransform(e,i,r){const n=this._map,s=n.transform,o=n.style&&n.style.terrain;if(!(Hr(e)||o&&this._drag))return this._fireEvents(i,r,!0);let{panDelta:a,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,pinchAround:p}=e;void 0!==p&&(u=p),n._stop(!0),u=u||n.transform.centerPoint;const d=s.pointLocation(a?u.sub(a):u);c&&(s.bearing+=c),h&&(s.pitch+=h),l&&(s.zoom+=l),o?i.drag&&!this._drag?(this._drag={center:s.centerPoint,lngLat:s.pointLocation(u),point:u,handlerName:i.drag.handlerName},n.fire(new t.Event("freezeElevation",{freeze:!0}))):this._drag&&r[this._drag.handlerName]?(n.fire(new t.Event("freezeElevation",{freeze:!1})),this._drag=null):i.drag&&this._drag&&(s.center=s.pointLocation(s.centerPoint.sub(a))):s.setLocationAtPoint(d,u),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(i,r,!0)}_fireEvents(e,i,r){const n=Xr(this._eventsInProgress),s=Xr(e),o={};for(const t in e){const{originalEvent:i}=e[t];this._eventsInProgress[t]||(o[`${t}start`]=i),this._eventsInProgress[t]=e[t]}!n&&s&&this._fireEvent("movestart",s.originalEvent);for(const t in o)this._fireEvent(t,o[t]);s&&this._fireEvent("move",s.originalEvent);for(const t in e){const{originalEvent:i}=e[t];this._fireEvent(t,i)}const a={};let l;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:r}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],l=i[e]||r,a[`${t}end`]=l)}for(const t in a)this._fireEvent(t,a[t]);const c=Xr(this._eventsInProgress);if(r&&(n||s)&&!c){this._updatingCamera=!0;const e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Wr("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}const Jr={extend:(e,...i)=>t.extend(e,...i),run(t){t()},logToElement(t,e=!1,i="log"){const r=window.document.getElementById(i);r&&(e&&(r.innerHTML=""),r.innerHTML+=`
${t}`)}};class Yr extends t.Evented{constructor(e,i){super(),this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=i.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}getCenter(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(e,i,r){return e=t.pointGeometry.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),r)}panTo(e,i,r){return this.easeTo(t.extend({center:e},i),r)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(e,i,r){return this.easeTo(t.extend({zoom:e},i),r)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(e,i,r){return this.easeTo(t.extend({bearing:e},i),r)}resetNorth(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this}resetNorthPitch(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(r.zoom=t.number(n,l,e)),this._rotating&&(r.bearing=t.number(s,c,e)),this._pitching&&(r.pitch=t.number(o,h,e)),this._padding&&(r.interpolatePadding(a,u,e),d=r.centerPoint.add(p)),x)r.setLocationAtPoint(x,v);else{const t=r.zoomScale(r.zoom-n),i=l>n?Math.min(2,y):Math.max(.5,y),s=Math.pow(i,1-e),o=r.unproject(g.add(_.mult(e*s)).mult(t));r.setLocationAtPoint(r.renderWorldCopies?o.wrap():o,d)}this._fireMoveEvents(i)}),(t=>{this._afterEase(i,t)}),e),this}_prepareEase(e,i,r={}){this._moving=!0,this.fire(new t.Event("freezeElevation",{freeze:!0})),i||r.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!r.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!r.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!r.pitching&&this.fire(new t.Event("pitchstart",e))}_fireMoveEvents(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))}_afterEase(e,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId,this.fire(new t.Event("freezeElevation",{freeze:!1}));const r=this._zooming,n=this._rotating,s=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new t.Event("zoomend",e)),n&&this.fire(new t.Event("rotateend",e)),s&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}flyTo(e,i){if(!e.essential&&t.exported.prefersReducedMotion){const r=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(r,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);const r=this.transform,n=this.getZoom(),s=this.getBearing(),o=this.getPitch(),a=this.getPadding(),l="zoom"in e?t.clamp(+e.zoom,r.minZoom,r.maxZoom):n,c="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:o,u="padding"in e?e.padding:r.padding,p=r.zoomScale(l-n),d=t.pointGeometry.convert(e.offset);let m=r.centerPoint.add(d);const f=r.pointLocation(m),g=t.LngLat.convert(e.center||f);this._normalizeCenter(g);const _=r.project(f),y=r.project(g).sub(_);let x=e.curve;const v=Math.max(r.width,r.height),b=v/p,w=y.mag();if("minZoom"in e){const i=t.clamp(Math.min(e.minZoom,n,l),r.minZoom,r.maxZoom),s=v/r.zoomScale(i-n);x=Math.sqrt(s/w*2)}const T=x*x;function E(t){const e=(b*b-v*v+(t?-1:1)*T*T*w*w)/(2*(t?b:v)*T*w);return Math.log(Math.sqrt(e*e+1)-e)}function S(t){return(Math.exp(t)-Math.exp(-t))/2}function I(t){return(Math.exp(t)+Math.exp(-t))/2}const A=E(0);let z=function(t){return I(A)/I(A+x*t)},C=function(t){return v*((I(A)*(S(e=A+x*t)/I(e))-S(A))/T)/w;var e},M=(E(1)-A)/x;if(Math.abs(w)<1e-6||!isFinite(M)){if(Math.abs(v-b)<1e-6)return this.easeTo(e,i);const t=be.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==c,this._pitching=h!==o,this._padding=!r.isPaddingEqual(u),this._prepareEase(i,!1),this._ease((e=>{const p=e*M,f=1/z(p);r.zoom=1===e?l:n+r.scaleZoom(f),this._rotating&&(r.bearing=t.number(s,c,e)),this._pitching&&(r.pitch=t.number(o,h,e)),this._padding&&(r.interpolatePadding(a,u,e),m=r.centerPoint.add(d));const x=1===e?g:r.unproject(_.add(y.mult(C(p))).mult(f));r.setLocationAtPoint(r.renderWorldCopies?x.wrap():x,m),this._fireMoveEvents(i)}),(()=>this._afterEase(i)),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e)}if(!t){const t=this.handlers;t&&t.stop(!1)}return this}_ease(e,i,r){!1===r.animate||0===r.duration?(e(1),i()):(this._easeStart=t.exported.now(),this._easeOptions=r,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_renderFrameCallback(){const e=Math.min((t.exported.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()}_normalizeBearing(e,i){e=t.wrap(e,-180,180);const r=Math.abs(e-i);return Math.abs(e-360-i)180?-360:i<-180?360:0}}class Qr{constructor(e={}){this.options=e,t.bindAll(["_toggleAttribution","_updateData","_updateCompact","_updateCompactMinimize"],this)}getDefaultPosition(){return"bottom-right"}onAdd(t){return this._map=t,this._compact=this.options&&this.options.compact,this._container=s.create("details","maplibregl-ctrl maplibregl-ctrl-attrib mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=s.create("summary","maplibregl-ctrl-attrib-button mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=s.create("div","maplibregl-ctrl-attrib-inner mapboxgl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){s.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.title=i,t.setAttribute("aria-label",i)}_toggleAttribution(){this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show","mapboxgl-compact-show")):(this._container.classList.add("maplibregl-compact-show","mapboxgl-compact-show"),this._container.removeAttribute("open")))}_updateData(t){!t||"metadata"!==t.sourceDataType&&"visibility"!==t.sourceDataType&&"style"!==t.dataType||this._updateAttributions()}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>"string"!=typeof t?"":t))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id}const e=this._map.style.sourceCaches;for(const i in e){const r=e[i];if(r.used){const e=r.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution)}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,i)=>{for(let r=i+1;r=0)return!1;return!0}));const i=t.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("maplibregl-attrib-empty","mapboxgl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty","mapboxgl-attrib-empty"),this._updateCompact(),this._editLink=null)}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","mapboxgl-compact","maplibregl-compact-show","mapboxgl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show","mapboxgl-compact","mapboxgl-compact-show"))}_updateCompactMinimize(){this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show","mapboxgl-compact-show")}}class tn{constructor(e={}){this.options=e,t.bindAll(["_updateCompact"],this)}getDefaultPosition(){return"bottom-left"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=s.create("div","maplibregl-ctrl mapboxgl-ctrl");const e=s.create("a","maplibregl-ctrl-logo mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://maplibre.org/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){s.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}_updateCompact(){const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add("maplibregl-compact","mapboxgl-compact"):e.classList.remove("maplibregl-compact","mapboxgl-compact")}}}class en{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const e of i)if(e.id===t)return void(e.cancelled=!0)}run(t=0){const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}const rn={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","TerrainControl.enableTerrain":"Enable terrain","TerrainControl.disableTerrain":"Disable terrain"},nn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:void 0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,fadeDuration:300,crossSourceCollisions:!0},sn={showCompass:!0,showZoom:!0,visualizePitch:!1};class on{constructor(e,i,r=!1){this._clickTolerance=10,this.element=i,this.mouseRotate=new Sr({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,r&&(this.mousePitch=new Ir({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),s.addEventListener(i,"mousedown",this.mousedown),s.addEventListener(i,"touchstart",this.touchstart,{passive:!1}),s.addEventListener(i,"touchmove",this.touchmove),s.addEventListener(i,"touchend",this.touchend),s.addEventListener(i,"touchcancel",this.reset)}down(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),s.disableDrag()}move(t,e){const i=this.map,r=this.mouseRotate.mousemoveWindow(t,e);if(r&&r.bearingDelta&&i.setBearing(i.getBearing()+r.bearingDelta),this.mousePitch){const r=this.mousePitch.mousemoveWindow(t,e);r&&r.pitchDelta&&i.setPitch(i.getPitch()+r.pitchDelta)}}off(){const t=this.element;s.removeEventListener(t,"mousedown",this.mousedown),s.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),s.removeEventListener(t,"touchmove",this.touchmove),s.removeEventListener(t,"touchend",this.touchend),s.removeEventListener(t,"touchcancel",this.reset),this.offTemp()}offTemp(){s.enableDrag(),s.removeEventListener(window,"mousemove",this.mousemove),s.removeEventListener(window,"mouseup",this.mouseup)}mousedown(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),s.mousePos(this.element,e)),s.addEventListener(window,"mousemove",this.mousemove),s.addEventListener(window,"mouseup",this.mouseup)}mousemove(t){this.move(t,s.mousePos(this.element,t))}mouseup(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()}touchstart(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=s.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:()=>t.preventDefault()},this._startPos))}touchmove(t){1!==t.targetTouches.length?this.reset():(this._lastPos=s.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:()=>t.preventDefault()},this._lastPos))}touchend(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)180;){const t=r.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=r.width&&t.y<=r.height)break;e.lng>r.center.lng?e.lng-=360:e.lng+=360}return e}const ln={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function cn(t,e,i){const r=t.classList;for(const t in ln)r.remove(`maplibregl-${i}-anchor-${t}`,`mapboxgl-${i}-anchor-${t}`);r.add(`maplibregl-${i}-anchor-${e}`,`mapboxgl-${i}-anchor-${e}`)}class hn extends t.Evented{constructor(e,i){if(super(),(e instanceof HTMLElement||i)&&(e=t.extend({element:e},i)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,e&&e.element)this._element=e.element,this._offset=t.pointGeometry.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=s.create("div"),this._element.setAttribute("aria-label","Map marker");const i=s.createNS("http://www.w3.org/2000/svg","svg"),r=41,n=27;i.setAttributeNS(null,"display","block"),i.setAttributeNS(null,"height",`${r}px`),i.setAttributeNS(null,"width",`${n}px`),i.setAttributeNS(null,"viewBox",`0 0 ${n} ${r}`);const o=s.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"stroke","none"),o.setAttributeNS(null,"stroke-width","1"),o.setAttributeNS(null,"fill","none"),o.setAttributeNS(null,"fill-rule","evenodd");const a=s.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"fill-rule","nonzero");const l=s.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");const c=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const t of c){const e=s.createNS("http://www.w3.org/2000/svg","ellipse");e.setAttributeNS(null,"opacity","0.04"),e.setAttributeNS(null,"cx","10.5"),e.setAttributeNS(null,"cy","5.80029008"),e.setAttributeNS(null,"rx",t.rx),e.setAttributeNS(null,"ry",t.ry),l.appendChild(e)}const h=s.createNS("http://www.w3.org/2000/svg","g");h.setAttributeNS(null,"fill",this._color);const u=s.createNS("http://www.w3.org/2000/svg","path");u.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),h.appendChild(u);const p=s.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"opacity","0.25"),p.setAttributeNS(null,"fill","#000000");const d=s.createNS("http://www.w3.org/2000/svg","path");d.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),p.appendChild(d);const m=s.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(6.0, 7.0)"),m.setAttributeNS(null,"fill","#FFFFFF");const f=s.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"transform","translate(8.0, 8.0)");const g=s.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#000000"),g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962");const _=s.createNS("http://www.w3.org/2000/svg","circle");_.setAttributeNS(null,"fill","#FFFFFF"),_.setAttributeNS(null,"cx","5.5"),_.setAttributeNS(null,"cy","5.5"),_.setAttributeNS(null,"r","5.4999962"),f.appendChild(g),f.appendChild(_),a.appendChild(l),a.appendChild(h),a.appendChild(p),a.appendChild(m),a.appendChild(f),i.appendChild(a),i.setAttributeNS(null,"height",r*this._scale+"px"),i.setAttributeNS(null,"width",n*this._scale+"px"),this._element.appendChild(i),this._offset=t.pointGeometry.convert(e&&e.offset||[0,-14])}this._element.classList.add("maplibregl-marker","mapboxgl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()})),cn(this._element,this._anchor,"marker"),this._popup=null}addTo(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),s.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const e=38.1,i=13.5,r=Math.sqrt(Math.pow(i,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-e],"bottom-left":[r,-1*(e-i+r)],"bottom-right":[-r,-1*(e-i+r)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}_onKeyPress(t){const e=t.code,i=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==i&&13!==i||this.togglePopup()}_onMapClick(t){const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup()}getPopup(){return this._popup}togglePopup(){const t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this}_update(t){if(!this._map)return;this._map.transform.renderWorldCopies&&(this._lngLat=an(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let e="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?e=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(e=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?i="rotateX(0deg)":"map"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),t&&"moveend"!==t.type||(this._pos=this._pos.round()),s.setTransform(this._element,`${ln[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${e}`),this._map.style&&this._map.style.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout((()=>{const t=this._map.unproject(this._pos),e=40075016.686*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=t.distanceTo(this._lngLat)>20*e?"0.2":"1.0",this._opacityTimeout=null}),100))}getOffset(){return this._offset}setOffset(e){return this._offset=t.pointGeometry.convert(e),this._update(),this}_onMove(e){if(!this._isDragging){const t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))}_onUp(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"}_addDragHandler(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}const un={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let pn,dn=0,mn=!1;const fn={maxWidth:100,unit:"metric"};function gn(t,e,i){const r=i&&i.maxWidth||100,n=t._container.clientHeight/2,s=t.unproject([0,n]),o=t.unproject([r,n]),a=s.distanceTo(o);if(i&&"imperial"===i.unit){const i=3.2808*a;i>5280?_n(e,r,i/5280,t._getUIString("ScaleControl.Miles")):_n(e,r,i,t._getUIString("ScaleControl.Feet"))}else i&&"nautical"===i.unit?_n(e,r,a/1852,t._getUIString("ScaleControl.NauticalMiles")):a>=1e3?_n(e,r,a/1e3,t._getUIString("ScaleControl.Kilometers")):_n(e,r,a,t._getUIString("ScaleControl.Meters"))}function _n(t,e,i,r){const n=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(n/i)+"px",t.innerHTML=`${n} ${r}`}const yn={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},xn=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function vn(e){if(e){if("number"==typeof e){const i=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.pointGeometry(0,0),top:new t.pointGeometry(0,e),"top-left":new t.pointGeometry(i,i),"top-right":new t.pointGeometry(-i,i),bottom:new t.pointGeometry(0,-e),"bottom-left":new t.pointGeometry(i,-i),"bottom-right":new t.pointGeometry(-i,-i),left:new t.pointGeometry(e,0),right:new t.pointGeometry(-e,0)}}if(e instanceof t.pointGeometry||Array.isArray(e)){const i=t.pointGeometry.convert(e);return{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}}return{center:t.pointGeometry.convert(e.center||[0,0]),top:t.pointGeometry.convert(e.top||[0,0]),"top-left":t.pointGeometry.convert(e["top-left"]||[0,0]),"top-right":t.pointGeometry.convert(e["top-right"]||[0,0]),bottom:t.pointGeometry.convert(e.bottom||[0,0]),"bottom-left":t.pointGeometry.convert(e["bottom-left"]||[0,0]),"bottom-right":t.pointGeometry.convert(e["bottom-right"]||[0,0]),left:t.pointGeometry.convert(e.left||[0,0]),right:t.pointGeometry.convert(e.right||[0,0])}}return vn(new t.pointGeometry(0,0))}const bn={supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:class extends Yr{constructor(e){var i;if(t.PerformanceUtils.mark(t.PerformanceMarkers.create),null!=(e=t.extend({},nn,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new ir(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._interactive=e.interactive,this._cooperativeGestures=e.cooperativeGestures,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new en,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},rn,e.locale),this._clickTolerance=e.clickTolerance,this._pixelRatio=null!==(i=e.pixelRatio)&&void 0!==i?i:devicePixelRatio,this._requestManager=new o(e.transformRequest),"string"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(()=>this._update(!1))),this.on("moveend",(()=>this._update(!1))),this.on("zoom",(()=>this._update(!0))),this.on("terrain",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})),"undefined"!=typeof window&&(addEventListener("online",this._onWindowOnline,!1),addEventListener("resize",this._onWindowResize,!1),addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Kr(this,e),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=e.hash&&new rr("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Qr({customAttribution:e.customAttribution})),e.maplibreLogo&&this.addControl(new tn,e.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(e=>{this._update("style"===e.dataType),this.fire(new t.Event(`${e.dataType}data`,e))})),this.on("dataloading",(e=>{this.fire(new t.Event(`${e.dataType}dataloading`,e))})),this.on("dataabort",(e=>{this.fire(new t.Event("sourcedataabort",e))}))}_getMapId(){return this._mapId}addControl(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const r=e.onAdd(this);this._controls.push(e);const n=this._controlPositions[i];return-1!==i.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}resize(e){const i=this._containerDimensions(),r=i[0],n=i[1];this._resizeCanvas(r,n,this.getPixelRatio()),this.transform.resize(r,n),this.painter.resize(r,n,this.getPixelRatio());const s=!this._moving;return s&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),s&&this.fire(new t.Event("moveend",e)),this}getPixelRatio(){return this._pixelRatio}setPixelRatio(t){const[e,i]=this._containerDimensions();this._pixelRatio=t,this._resizeCanvas(e,i,t),this.painter.resize(e,i,t)}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(e){return this.transform.locationPoint(t.LngLat.convert(e),this.style&&this.style.terrain)}unproject(e){return this.transform.pointLocation(t.pointGeometry.convert(e),this.style&&this.style.terrain)}isMoving(){return this._moving||this.handlers.isMoving()}isZooming(){return this._zooming||this.handlers.isZooming()}isRotating(){return this._rotating||this.handlers.isRotating()}_createDelegatedListener(t,e,i){if("mouseenter"===t||"mouseover"===t){let r=!1;const n=n=>{const s=this.getLayer(e)?this.queryRenderedFeatures(n.point,{layers:[e]}):[];s.length?r||(r=!0,i.call(this,new pr(t,this,n.originalEvent,{features:s}))):r=!1};return{layer:e,listener:i,delegates:{mousemove:n,mouseout:()=>{r=!1}}}}if("mouseleave"===t||"mouseout"===t){let r=!1;const n=n=>{(this.getLayer(e)?this.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?r=!0:r&&(r=!1,i.call(this,new pr(t,this,n.originalEvent)))},s=e=>{r&&(r=!1,i.call(this,new pr(t,this,e.originalEvent)))};return{layer:e,listener:i,delegates:{mousemove:n,mouseout:s}}}{const r=t=>{const r=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];r.length&&(t.features=r,i.call(this,t),delete t.features)};return{layer:e,listener:i,delegates:{[t]:r}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const r=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(r);for(const t in r.delegates)this.on(t,r.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const r=this._createDelegatedListener(t,e,i);for(const t in r.delegates)this.once(t,r.delegates[t]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(r=>{const n=this._delegatedListeners[t];for(let t=0;t{e?this.fire(new t.ErrorEvent(e)):r&&this._updateDiff(r,i)}))}else"object"==typeof e&&this._updateDiff(e,i)}_updateDiff(e,i){try{this.style.setState(e)&&this._update(!0)}catch(r){t.warnOnce(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(e,i)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(e){const i=this.style&&this.style.sourceCaches[e];if(void 0!==i)return i.loaded();this.fire(new t.ErrorEvent(new Error(`There is no source with ID '${e}'`)))}setTerrain(t){return this.style.setTerrain(t),this}getTerrain(){return this.style.terrain&&this.style.terrain.options}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}}return!0}addSourceType(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(e,i,{pixelRatio:r=1,sdf:n=!1,stretchX:s,stretchY:o,content:a}={}){if(this._lazyInitEmptyStyle(),i instanceof HTMLImageElement||t.isImageBitmap(i)){const{width:l,height:c,data:h}=t.exported.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},h),pixelRatio:r,stretchX:s,stretchY:o,content:a,sdf:n,version:0})}else{if(void 0===i.width||void 0===i.height)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:l,height:c,data:h}=i,u=i;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},new Uint8Array(h)),pixelRatio:r,stretchX:s,stretchY:o,content:a,sdf:n,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e)}}}updateImage(e,i){const r=this.style.getImage(e);if(!r)return this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const n=i instanceof HTMLImageElement||t.isImageBitmap(i)?t.exported.getImageData(i):i,{width:s,height:o,data:a}=n;if(void 0===s||void 0===o)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(s!==r.data.width||o!==r.data.height)return this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")));const l=!(i instanceof HTMLImageElement||t.isImageBitmap(i));r.data.replace(a,l),this.style.updateImage(e,r)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),i)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,r={}){return this.style.setPaintProperty(t,e,i,r),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,r={}){return this.style.setLayoutProperty(t,e,i,r),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add("maplibregl-map","mapboxgl-map");const e=this._canvasContainer=s.create("div","maplibregl-canvas-container mapboxgl-canvas-container",t);this._interactive&&e.classList.add("maplibregl-interactive","mapboxgl-interactive"),this._canvas=s.create("canvas","maplibregl-canvas mapboxgl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map"),this._canvas.setAttribute("role","region");const i=this._containerDimensions();this._resizeCanvas(i[0],i[1],this.getPixelRatio());const r=this._controlContainer=s.create("div","maplibregl-control-container mapboxgl-control-container",t),n=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{n[t]=s.create("div",`maplibregl-ctrl-${t} mapboxgl-ctrl-${t}`,r)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_setupCooperativeGestures(){const t=this._container;this._metaPress=!1,this._cooperativeGesturesScreen=s.create("div","maplibregl-cooperative-gesture-screen",t);let e="Control",i="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:"Use Ctrl + scroll to zoom the map";0===navigator.platform.indexOf("Mac")&&(i="boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:"Use ⌘ + scroll to zoom the map",e="Meta"),this._cooperativeGesturesScreen.innerHTML=`\n
${i}
\n
${"boolean"!=typeof this._cooperativeGestures&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:"Use two fingers to move the map"}
\n `,document.addEventListener("keydown",(t=>{t.key===e&&(this._metaPress=!0)})),document.addEventListener("keyup",(t=>{t.key===e&&(this._metaPress=!1)})),this._canvasContainer.addEventListener("wheel",(t=>{this._onCooperativeGesture(t,this._metaPress,1)}),!1),this._canvasContainer.classList.remove("mapboxgl-touch-drag-pan","maplibregl-touch-drag-pan")}_resizeCanvas(t,e,i){this._canvas.width=i*t,this._canvas.height=i*e,this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const i=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),r=this._canvas.getContext("webgl",i)||this._canvas.getContext("experimental-webgl",i);r?(this.painter=new Yi(r,this.transform),t.exported$1.testSupport(r)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))}_contextLost(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))}_contextRestored(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))}_onMapScroll(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}_onCooperativeGesture(t,e,i){return!e&&i<2&&(this._cooperativeGesturesScreen.classList.add("maplibregl-show"),setTimeout((()=>{this._cooperativeGesturesScreen.classList.remove("maplibregl-show")}),100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t)}_render(e){let i,r=0;const n=this.painter.context.extTimerQuery;if(this.listens("gpu-timing-frame")&&(i=n.createQueryEXT(),n.beginQueryEXT(n.TIME_ELAPSED_EXT,i),r=t.exported.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let s=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const e=this.transform.zoom,i=t.exported.now();this.style.zoomHistory.update(e,i);const r=new t.EvaluationParameters(e,{now:i,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),n=r.crossFadingFactor();1===n&&n===this._crossFadingFactor||(s=!0,this._crossFadingFactor=n),this.style.update(r)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.style.terrain&&this.style.terrain.sourceCache.update(this.transform,this.style.terrain),this.transform.updateElevation(this.style.terrain),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer")}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.load),this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||s)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens("gpu-timing-frame")){const e=t.exported.now()-r;n.endQueryEXT(n.TIME_ELAPSED_EXT,i),setTimeout((()=>{const r=n.getQueryObjectEXT(i,n.QUERY_RESULT_EXT)/1e6;n.deleteQueryEXT(i),this.fire(new t.Event("gpu-timing-frame",{cpuTime:e,gpuTime:r}))}),50)}if(this.listens("gpu-timing-layer")){const e=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(e);this.fire(new t.Event("gpu-timing-layer",{layerTimes:i}))}),50)}const o=this._sourcesDirty||this._styleDirty||this._placementDirty;return o||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event("idle")),!this._loaded||this._fullyLoaded||o||(this._fullyLoaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&(removeEventListener("resize",this._onWindowResize,!1),removeEventListener("orientationchange",this._onWindowResize,!1),removeEventListener("online",this._onWindowOnline,!1));const e=this.painter.context.gl.getExtension("WEBGL_lose_context");e&&e.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),s.remove(this._canvasContainer),s.remove(this._controlContainer),this._cooperativeGestures&&s.remove(this._cooperativeGesturesScreen),this._container.classList.remove("maplibregl-map","mapboxgl-map"),t.PerformanceUtils.clearMetrics(),this._removed=!0,this.fire(new t.Event("remove"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=t.exported.frame((e=>{t.PerformanceUtils.frame(e),this._frame=null,this._render(e)})))}_onWindowOnline(){this._update()}_onWindowResize(t){this._trackResize&&this.resize({originalEvent:t})._update()}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())}get showPadding(){return!!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())}get repaint(){return!!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(t){this._vertices=t,this._update()}_setCacheLimits(e,i){t.setCacheLimits(e,i)}get version(){return"2.3.0"}},NavigationControl:class{constructor(e){this.options=t.extend({},sn,e),this._container=s.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this.options.showZoom&&(t.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in mapboxgl-ctrl-zoom-in",(t=>this._map.zoomIn({},{originalEvent:t}))),s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out mapboxgl-ctrl-zoom-out",(t=>this._map.zoomOut({},{originalEvent:t}))),s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("maplibregl-ctrl-compass mapboxgl-ctrl-compass",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})})),this._compassIcon=s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute("aria-disabled",e.toString()),this._zoomOutButton.setAttribute("aria-disabled",i.toString())}_rotateCompassArrow(){const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new on(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){s.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(t,e){const i=s.create("button",t,this._container);return i.type="button",i.addEventListener("click",e),i}_setButtonTitle(t,e){const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute("aria-label",i)}},GeolocateControl:class extends t.Evented{constructor(e){super(),this.options=t.extend({},un,e),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}onAdd(t){var e;return this._map=t,this._container=s.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),e=this._setupUI,void 0!==pn?e(pn):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then((t=>{pn="denied"!==t.state,e(pn)})):(pn=!!window.navigator.geolocation,e(pn)),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),s.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,dn=0,mn=!1}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting")}}_onSuccess(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale","mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}}_updateCamera(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude),r=e.coords.accuracy,n=this._map.getBearing(),s=t.extend({bearing:n},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(r),s,{geolocateSource:!0})}_updateMarker(e){if(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),i=this._map.unproject([1,t]),r=e.distanceTo(i),n=Math.ceil(2*this._accuracy/r);this._circleElement.style.width=`${n}px`,this._circleElement.style.height=`${n}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_onError(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&mn)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale","mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_setupUI(e){if(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=s.create("button","maplibregl-ctrl-geolocate mapboxgl-ctrl-geolocate",this._container),s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=s.create("div","maplibregl-user-location-dot mapboxgl-user-location-dot"),this._userLocationDotMarker=new hn(this._dotElement),this._circleElement=s.create("div","maplibregl-user-location-accuracy-circle mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new hn({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this.fire(new t.Event("trackuserlocationend")))}))}trigger(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":dn--,mn=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error","mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error","mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background","mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active","mapboxgl-ctrl-geolocate-active")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),dn++,dn>1?(t={maximumAge:6e5,timeout:0},mn=!0):(t=this.options.positionOptions,mn=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting","mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:Qr,LogoControl:tn,ScaleControl:class{constructor(e){this.options=t.extend({},fn,e),t.bindAll(["_onMove","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_onMove(){gn(this._map,this._container,this.options)}onAdd(t){return this._map=t,this._container=s.create("div","maplibregl-ctrl maplibregl-ctrl-scale mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){s.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}setUnit(t){this.options.unit=t,gn(this._map,this._container,this.options)}},FullscreenControl:class{constructor(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=s.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){s.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled||document.webkitFullscreenEnabled)}_setupUI(){const t=this._fullscreenButton=s.create("button","maplibregl-ctrl-fullscreen mapboxgl-ctrl-fullscreen",this._controlContainer);s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},TerrainControl:class{constructor(e){this.options=e,t.bindAll(["_toggleTerrain","_updateTerrainIcon"],this)}onAdd(t){return this._map=t,this._container=s.create("div","maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group"),this._terrainButton=s.create("button","maplibregl-ctrl-terrain mapboxgl-ctrl-terrain",this._container),s.create("span","maplibregl-ctrl-icon mapboxgl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){s.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}_toggleTerrain(){this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()}_updateTerrainIcon(){this._terrainButton.classList.remove("maplibregl-ctrl-terrain","mapboxgl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled","mapboxgl-ctrl-terrain-enabled"),this._map.style.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled","mapboxgl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.disableTerrain")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain","mapboxgl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.enableTerrain"))}},Popup:class extends t.Evented{constructor(e){super(),this.options=t.extend(Object.create(yn),e),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer","mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this}isOpen(){return!!this._map}remove(){return this._content&&s.remove(this._content),this._container&&(s.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer","mapboxgl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer","mapboxgl-track-pointer")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),i=document.createElement("body");let r;for(i.innerHTML=t;r=i.firstChild,r;)e.appendChild(r);return this.setDOMContent(e)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=s.create("div","maplibregl-popup-content mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){this._container&&this._container.classList.add(t)}removeClassName(t){this._container&&this._container.classList.remove(t)}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}_createCloseButton(){this.options.closeButton&&(this._closeButton=s.create("button","maplibregl-popup-close-button mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_onMouseUp(t){this._update(t.point)}_onMouseMove(t){this._update(t.point)}_onDrag(t){this._update(t.point)}_update(t){if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(this._container||(this._container=s.create("div","maplibregl-popup mapboxgl-popup",this._map.getContainer()),this._tip=s.create("div","maplibregl-popup-tip mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((t=>this._container.classList.add(t))),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer","mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=an(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!t)return;const e=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);let i=this.options.anchor;const r=vn(this.options.offset);if(!i){const t=this._container.offsetWidth,n=this._container.offsetHeight;let s;s=e.y+r.bottom.ythis._map.transform.height-n?["bottom"]:[],e.xthis._map.transform.width-t/2&&s.push("right"),i=0===s.length?"bottom":s.join("-")}const n=e.add(r[i]).round();s.setTransform(this._container,`${ln[i]} translate(${n.x}px,${n.y}px)`),cn(this._container,i,"popup")}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(xn);t&&t.focus()}_onClose(){this.remove()}},Marker:hn,Style:ee,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.pointGeometry,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,AJAXError:t.AJAXError,config:t.config,CanvasSource:M,GeoJSONSource:I,ImageSource:z,RasterDEMTileSource:S,RasterTileSource:T,VectorTileSource:w,VideoSource:C,prewarm:function(){j().acquire(N)},clearPrewarmedResources:function(){const t=q;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(N),q=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get version(){return"2.3.0"},get workerCount(){return G.workerCount},set workerCount(t){G.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage(e){t.clearTileCache(e)},workerUrl:"",addProtocol(e,i){t.config.REGISTERED_PROTOCOLS[e]=i},removeProtocol(e){delete t.config.REGISTERED_PROTOCOLS[e]}};return Jr.extend(bn,{isSafari:t.isSafari,getPerformanceMetrics:t.PerformanceUtils.getPerformanceMetrics}),bn})),i}()}(h);var u=h.exports,p=e.Layer.extend({options:{updateInterval:32,padding:.1,interactive:!1,pane:"tilePane"},initialize:function(t){e.setOptions(this,t),this._throttledUpdate=e.Util.throttle(this._update,this.options.updateInterval,this)},onAdd:function(t){this._container||this._initContainer();var i=this.getPaneName();t.getPane(i).appendChild(this._container),this._initGL(),this._offset=this._map.containerPointToLayerPoint([0,0]),t.options.zoomAnimation&&e.DomEvent.on(t._proxy,e.DomUtil.TRANSITION_END,this._transitionEnd,this)},onRemove:function(t){this._map._proxy&&this._map.options.zoomAnimation&&e.DomEvent.off(this._map._proxy,e.DomUtil.TRANSITION_END,this._transitionEnd,this);var i=this.getPaneName();t.getPane(i).removeChild(this._container),this._glMap.remove(),this._glMap=null},getEvents:function(){return{move:this._throttledUpdate,zoomanim:this._animateZoom,zoom:this._pinchZoom,zoomstart:this._zoomStart,zoomend:this._zoomEnd,resize:this._resize}},getMaplibreMap:function(){return this._glMap},getCanvas:function(){return this._glMap.getCanvas()},getSize:function(){return this._map.getSize().multiplyBy(1+2*this.options.padding)},getOpacity:function(){return this.options.opacity},setOpacity:function(t){this.options.opacity=t,this._container.style.opacity=t},getBounds:function(){var t=this.getSize().multiplyBy(.5),i=this._map.latLngToContainerPoint(this._map.getCenter());return e.latLngBounds(this._map.containerPointToLatLng(i.subtract(t)),this._map.containerPointToLatLng(i.add(t)))},getContainer:function(){return this._container},getPaneName:function(){return this._map.getPane(this.options.pane)?this.options.pane:"tilePane"},_initContainer:function(){var t=this._container=e.DomUtil.create("div","leaflet-gl-layer"),i=this.getSize(),r=this._map.getSize().multiplyBy(this.options.padding);t.style.width=i.x+"px",t.style.height=i.y+"px";var n=this._map.containerPointToLayerPoint([0,0]).subtract(r);e.DomUtil.setPosition(t,n)},_initGL:function(){var t=this._map.getCenter(),i=e.extend({},this.options,{container:this._container,center:[t.lng,t.lat],zoom:this._map.getZoom()-1,attributionControl:!1});this._glMap=new u.Map(i),this._glMap.once("styledata",function(t){this.fire("styleLoaded")}.bind(this)),this._glMap.transform.latRange=null,this._glMap.transform.maxValidLatitude=1/0,this._transformGL(this._glMap),this._glMap._canvas.canvas?this._glMap._actualCanvas=this._glMap._canvas.canvas:this._glMap._actualCanvas=this._glMap._canvas;var r=this._glMap._actualCanvas;e.DomUtil.addClass(r,"leaflet-image-layer"),e.DomUtil.addClass(r,"leaflet-zoom-animated"),this.options.interactive&&e.DomUtil.addClass(r,"leaflet-interactive"),this.options.className&&e.DomUtil.addClass(r,this.options.className)},_update:function(t){if(this._offset=this._map.containerPointToLayerPoint([0,0]),!this._zooming){var i=this.getSize(),r=this._container,n=this._glMap,s=this._map.getSize().multiplyBy(this.options.padding),o=this._map.containerPointToLayerPoint([0,0]).subtract(s);e.DomUtil.setPosition(r,o),this._transformGL(n),n.transform.width!==i.x||n.transform.height!==i.y?(r.style.width=i.x+"px",r.style.height=i.y+"px",null!==n._resize&&void 0!==n._resize?n._resize():n.resize()):null!==n._update&&void 0!==n._update?n._update():n.update()}},_transformGL:function(t){var e=this._map.getCenter(),i=t.transform;i.center=u.LngLat.convert([e.lng,e.lat]),i.zoom=this._map.getZoom()-1},_pinchZoom:function(t){this._glMap.jumpTo({zoom:this._map.getZoom()-1,center:this._map.getCenter()})},_animateZoom:function(t){var i=this._map.getZoomScale(t.zoom),r=this._map.getSize().multiplyBy(this.options.padding*i),n=this.getSize()._divideBy(2),s=this._map.project(t.center,t.zoom)._subtract(n)._add(this._map._getMapPanePos().add(r))._round(),o=this._map.project(this._map.getBounds().getNorthWest(),t.zoom)._subtract(s);e.DomUtil.setTransform(this._glMap._actualCanvas,o.subtract(this._offset),i)},_zoomStart:function(t){this._zooming=!0},_zoomEnd:function(){var t=this._map.getZoomScale(this._map.getZoom());e.DomUtil.setTransform(this._glMap._actualCanvas,null,t),this._zooming=!1,this._update()},_transitionEnd:function(t){e.Util.requestAnimFrame((function(){var t=this._map.getZoom(),i=this._map.getCenter(),r=this._map.latLngToContainerPoint(this._map.getBounds().getNorthWest());e.DomUtil.setTransform(this._glMap._actualCanvas,r,1),this._glMap.once("moveend",e.Util.bind((function(){this._zoomEnd()}),this)),this._glMap.jumpTo({center:i,zoom:t-1})}),this)}});function d(t){return new p(t)}var m=e.Layer.extend({options:{key:"ArcGIS:Streets"},initialize:function(t,i){if(i&&e.setOptions(this,i),this.options.apiKey&&(this.options.apikey=this.options.apiKey),this.options.token&&(this.options.apikey=this.options.token),!this.options.apikey&&!this.options.token)throw new Error("API Key or token is required for vectorBasemapLayer.");t&&(this.options.key=t),this._createLayer()},_createLayer:function(){var t,e,i,r=(t=this.options.key,e=this.options.apikey,i="https://basemaps-api.arcgis.com/arcgis/rest/services/styles/"+t+"?type=style",e&&(i=i+"&apiKey="+e),i);this._maplibreGL=d({style:r,pane:this.options.pane,opacity:this.options.opacity}),this._ready=!0,this.fire("ready",{},!0),this._maplibreGL.on("styleLoaded",function(t){this._setupAttribution()}.bind(this))},_setupAttribution:function(){var t=this._map;if(i.Util.setEsriAttribution(t),32===this.options.key.length){var e=this._maplibreGL.getMaplibreMap().style.stylesheet.sources,r=[];Object.keys(e).forEach((function(t){r.push(e[t].attribution),e[t].copyrightText&&e[t].copyrightText&&""!==e[t].copyrightText&&e[t].attribution!==e[t].copyrightText&&r.push(e[t].copyrightText)})),t.attributionControl.addAttribution(''+r.join(", ")+"")}else if(this.options.attributionUrls||(this.options.attributionUrls=this._getAttributionUrls(this.options.key)),this._map&&this.options.attributionUrls){if(this._map.attributionControl){for(let e=0;e')}i.Util._updateMapAttribution({target:this._map})}},_getAttributionUrls:function(t){return 0===t.indexOf("OSM:")?["https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2"]:0===t.indexOf("ArcGIS:Imagery")?["https://static.arcgis.com/attribution/World_Imagery","https://static.arcgis.com/attribution/Vector/World_Basemap_v2"]:["https://static.arcgis.com/attribution/Vector/World_Basemap_v2"]},onAdd:function(t){this._map=t,this._initPane(),this._ready?this._asyncAdd():this.once("ready",(function(){this._asyncAdd()}),this)},_initPane:function(){if(this.options.pane||(this.options.key.indexOf(":Labels")>-1?this.options.pane="esri-labels":this.options.pane="tilePane"),!this._map.getPane(this.options.pane)){var t=this._map.createPane(this.options.pane);t.style.pointerEvents="none",t.style.zIndex="esri-labels"===this.options.pane?550:500}},onRemove:function(t){if(t.off("moveend",i.Util._updateMapAttribution),t.removeLayer(this._maplibreGL),t.attributionControl){var e=document.getElementsByClassName("esri-dynamic-attribution");if(e&&e.length>0){var r=e[0].outerHTML;t.attributionControl.removeAttribution(r)}}},_asyncAdd:function(){var t=this._map;t.on("moveend",i.Util._updateMapAttribution),this._maplibreGL.addTo(t,this)}});var f=e.Layer.extend({options:{pane:"overlayPane",portalUrl:"https://www.arcgis.com"},initialize:function(t,i){if(i&&e.setOptions(this,i),this.options.apiKey&&(this.options.apikey=this.options.apiKey),this.options.apikey&&(this.options.token=this.options.apikey),!t)throw new Error("An ITEM ID or SERVICE URL is required for vectorTileLayer.");t&&(this.options.key=t),this._createLayer()},_createLayer:function(){r(this.options.key,this.options,function(t,e,i,r){if(t)throw new Error(t);var n;if(n=r.tileInfo.spatialReference.wkid,c.indexOf(n)>=0||console.warn('This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The "tileInfo.spatialReference" property is:',r.tileInfo.spatialReference,"\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94."),e=function(t,e,i,r){for(var n=Object.keys(t.sources),s=0;s1&&(c.layout["text-font"]=[c.layout["text-font"][0]])}return t.sprite&&-1===t.sprite.indexOf("http")&&(t.sprite=e.replace("styles/root.json",t.sprite.replace("../","")),t.sprite+=r?"?token="+r:""),t.glyphs&&-1===t.glyphs.indexOf("http")&&(t.glyphs=e.replace("styles/root.json",t.glyphs.replace("../","")),t.glyphs+=r?"?token="+r:""),t}(e,i,r,this.options.token),!this.getAttribution()){var s=Object.keys(e.sources);this.options.attribution=e.sources[s[s.length-1]].attribution,this._map&&this._map.attributionControl&&this._map.attributionControl.addAttribution(this.getAttribution())}this.options.style&&"function"==typeof this.options.style&&(e=this.options.style(e)),this._maplibreGL=d({style:e,pane:this.options.pane,opacity:this.options.opacity}),this._ready=!0,this.fire("ready",{},!0)}.bind(this))},onAdd:function(t){this._map=t,this._ready?this._asyncAdd():this.once("ready",(function(){this._asyncAdd()}),this)},onRemove:function(t){t.removeLayer(this._maplibreGL)},_asyncAdd:function(){var t=this._map;this._maplibreGL.addTo(t,this)}});t.VERSION="4.0.0",t.VectorBasemapLayer=m,t.VectorTileLayer=f,t.vectorBasemapLayer=function(t,e){return new m(t,e)},t.vectorTileLayer=function(t,e){return new f(t,e)},Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=esri-leaflet-vector.js.map diff --git a/dist/esri-leaflet-vector.js.map b/dist/esri-leaflet-vector.js.map new file mode 100644 index 0000000..68f999d --- /dev/null +++ b/dist/esri-leaflet-vector.js.map @@ -0,0 +1 @@ +{"version":3,"file":"esri-leaflet-vector.js","sources":["../src/Util.js","../node_modules/maplibre-gl/dist/maplibre-gl.js","../src/MaplibreGLLayer.js","../src/VectorBasemapLayer.js","../src/VectorTileLayer.js"],"sourcesContent":["import { latLng, latLngBounds } from 'leaflet';\r\nimport { request, Support, Util } from 'esri-leaflet';\r\n\r\n/*\r\n utility to establish a URL for the basemap styles API\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getBasemapStyleUrl (key, apikey) {\r\n var url =\r\n 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' +\r\n key +\r\n '?type=style';\r\n if (apikey) {\r\n url = url + '&apiKey=' + apikey;\r\n }\r\n return url;\r\n}\r\n\r\n/*\r\n utilities to communicate with custom user styles via an ITEM ID or SERVICE URL\r\n used primarily by VectorTileLayer.js\r\n*/\r\nexport function loadStyle (idOrUrl, options, callback) {\r\n var httpRegex = /^https?:\\/\\//;\r\n var serviceRegex = /\\/VectorTileServer\\/?$/;\r\n\r\n if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) {\r\n var serviceUrl = idOrUrl;\r\n loadStyleFromService(serviceUrl, options, callback);\r\n } else {\r\n var itemId = idOrUrl;\r\n loadStyleFromItem(itemId, options, callback);\r\n }\r\n}\r\n\r\nexport function loadService (serviceUrl, options, callback) {\r\n var params = options.token ? { token: options.token } : {};\r\n request(serviceUrl, params, callback);\r\n}\r\n\r\nfunction loadItem (itemId, options, callback) {\r\n var params = options.token ? { token: options.token } : {};\r\n var url = options.portalUrl +\r\n '/sharing/rest/content/items/' +\r\n itemId;\r\n request(url, params, callback);\r\n}\r\n\r\nfunction loadStyleFromItem (itemId, options, callback) {\r\n var itemStyleUrl =\r\n options.portalUrl +\r\n '/sharing/rest/content/items/' +\r\n itemId +\r\n '/resources/styles/root.json';\r\n\r\n loadStyleFromUrl(itemStyleUrl, options, function (error, style) {\r\n if (error) {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n console.error(error);\r\n }\r\n loadStyleFromService(item.url, options, callback);\r\n });\r\n } else {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n console.error(error);\r\n }\r\n loadService(item.url, options, function (error, service) {\r\n callback(error, style, itemStyleUrl, service, item.url);\r\n });\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction loadStyleFromService (serviceUrl, options, callback) {\r\n loadService(serviceUrl, options, function (error, service) {\r\n if (error) {\r\n console.error(error);\r\n }\r\n\r\n var sanitizedServiceUrl = serviceUrl;\r\n // a trailing \"/\" may create invalid paths\r\n if (serviceUrl.charAt(serviceUrl.length - 1) === '/') {\r\n sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1);\r\n }\r\n\r\n var defaultStylesUrl;\r\n // inadvertently inserting more than 1 adjacent \"/\" may create invalid paths\r\n if (service.defaultStyles.charAt(0) === '/') {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + service.defaultStyles + '/root.json';\r\n } else {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json';\r\n }\r\n\r\n loadStyleFromUrl(defaultStylesUrl, options, function (error, style) {\r\n if (error) {\r\n console.error(error);\r\n }\r\n callback(null, style, defaultStylesUrl, service, serviceUrl);\r\n });\r\n });\r\n}\r\n\r\nfunction loadStyleFromUrl (styleUrl, options, callback) {\r\n var params = options.token ? { token: options.token } : {};\r\n request(styleUrl, params, callback);\r\n}\r\n\r\nexport function formatStyle (style, styleUrl, metadata, token) {\r\n // transforms style object in place and also returns it\r\n\r\n // modify each source in style.sources\r\n var sourcesKeys = Object.keys(style.sources);\r\n for (var sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) {\r\n var source = style.sources[sourcesKeys[sourceIndex]];\r\n\r\n // if a relative path is referenced, the default style can be found in a standard location\r\n if (source.url.indexOf('http') === -1) {\r\n source.url = styleUrl.replace('/resources/styles/root.json', '');\r\n }\r\n\r\n // a trailing \"/\" may create invalid paths\r\n if (source.url.charAt(source.url.length - 1) === '/') {\r\n source.url = source.url.slice(0, source.url.length - 1);\r\n }\r\n\r\n // add tiles property if missing\r\n if (!source.tiles) {\r\n // right now ArcGIS Pro published vector services have a slightly different signature\r\n // the '/' is needed in the URL string concatenation below for source.tiles\r\n if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') {\r\n metadata.tiles[0] = '/' + metadata.tiles[0];\r\n }\r\n\r\n source.tiles = [source.url + metadata.tiles[0]];\r\n }\r\n\r\n // some VectorTileServer endpoints may default to returning f=html,\r\n // specify f=json to account for that behavior\r\n source.url += '?f=json';\r\n\r\n // add the token to the source url and tiles properties as a query param\r\n source.url += token ? '&token=' + token : '';\r\n source.tiles[0] += token ? '?token=' + token : '';\r\n\r\n // add minzoom and maxzoom to each source based on the service metadata\r\n source.minzoom = metadata.tileInfo.lods[0].level;\r\n source.maxzoom =\r\n metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level;\r\n }\r\n\r\n // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata\r\n var lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]];\r\n lastSource.attribution = metadata.copyrightText || '';\r\n lastSource.copyrightText = metadata.copyrightText || '';\r\n\r\n // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first\r\n for (var layerIndex = 0; layerIndex < style.layers.length; layerIndex++) {\r\n var layer = style.layers[layerIndex];\r\n if (\r\n layer.layout &&\r\n layer.layout['text-font'] &&\r\n layer.layout['text-font'].length > 1\r\n ) {\r\n layer.layout['text-font'] = [layer.layout['text-font'][0]];\r\n }\r\n }\r\n\r\n if (style.sprite && style.sprite.indexOf('http') === -1) {\r\n // resolve absolute URL for style.sprite\r\n style.sprite = styleUrl.replace(\r\n 'styles/root.json',\r\n style.sprite.replace('../', '')\r\n );\r\n\r\n // add the token to the style.sprite property as a query param\r\n style.sprite += token ? '?token=' + token : '';\r\n }\r\n\r\n if (style.glyphs && style.glyphs.indexOf('http') === -1) {\r\n // resolve absolute URL for style.glyphs\r\n style.glyphs = styleUrl.replace(\r\n 'styles/root.json',\r\n style.glyphs.replace('../', '')\r\n );\r\n\r\n // add the token to the style.glyphs property as a query param\r\n style.glyphs += token ? '?token=' + token : '';\r\n }\r\n\r\n return style;\r\n}\r\n\r\n/*\r\n utility to assist with dynamic attribution data\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getAttributionData (url, map) {\r\n if (Support.cors) {\r\n request(url, {}, function (error, attributions) {\r\n if (error) {\r\n return;\r\n }\r\n map._esriAttributions = map._esriAttributions || [];\r\n for (var c = 0; c < attributions.contributors.length; c++) {\r\n var contributor = attributions.contributors[c];\r\n\r\n for (var i = 0; i < contributor.coverageAreas.length; i++) {\r\n var coverageArea = contributor.coverageAreas[i];\r\n var southWest = latLng(coverageArea.bbox[0], coverageArea.bbox[1]);\r\n var northEast = latLng(coverageArea.bbox[2], coverageArea.bbox[3]);\r\n map._esriAttributions.push({\r\n attribution: contributor.attribution,\r\n score: coverageArea.score,\r\n bounds: latLngBounds(southWest, northEast),\r\n minZoom: coverageArea.zoomMin,\r\n maxZoom: coverageArea.zoomMax\r\n });\r\n }\r\n }\r\n\r\n map._esriAttributions.sort(function (a, b) {\r\n return b.score - a.score;\r\n });\r\n\r\n // pass the same argument as the map's 'moveend' event\r\n var obj = { target: map };\r\n Util._updateMapAttribution(obj);\r\n });\r\n }\r\n}\r\n\r\n/*\r\n utility to check if a service's tileInfo spatial reference is in Web Mercator\r\n used primarily by VectorTileLayer.js\r\n*/\r\nconst WEB_MERCATOR_WKIDS = [3857, 102100, 102113];\r\n\r\nexport function isWebMercator (wkid) {\r\n return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0;\r\n}\r\n","/* MapLibre GL JS is licensed under the 3-Clause BSD License. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v2.3.0/LICENSE.txt */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\ntypeof define === 'function' && define.amd ? define(factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.maplibregl = factory());\n})(this, (function () { 'use strict';\n\n/* eslint-disable */\n\nvar shared, worker, maplibregl;\n// define gets called three times: one for each chunk. we rely on the order\n// they're imported to know which is which\nfunction define(_, chunk) {\n if (!shared) {\n shared = chunk;\n } else if (!worker) {\n worker = chunk;\n } else {\n var workerBundleString = 'var sharedChunk = {}; (' + shared + ')(sharedChunk); (' + worker + ')(sharedChunk);'\n\n var sharedChunk = {};\n shared(sharedChunk);\n maplibregl = chunk(sharedChunk);\n if (typeof window !== 'undefined') {\n maplibregl.workerUrl = window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' }));\n }\n }\n}\n\n\ndefine([\"exports\"],(function(t){\"use strict\";var e=r;function r(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n;}function n(t,r,n,i){const a=new e(t,r,n,i);return function(t){return a.solve(t)}}r.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?s=r:o=r,r=.5*(o-s)+s;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};const i=n(.25,.1,.25,1);function a(t,e,r){return Math.min(r,Math.max(e,t))}function s(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function o(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let l=1;function u(t,e){t.forEach((t=>{e[t]&&(e[t]=e[t].bind(e));}));}function c(t,e,r){const n={};for(const i in t)n[i]=e.call(r||this,t[i],i,t);return n}function h(t,e,r){const n={};for(const i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function p(t){return Array.isArray(t)?t.map(p):\"object\"==typeof t&&t?c(t,p):t}const f={};function d(t){f[t]||(\"undefined\"!=typeof console&&console.warn(t),f[t]=!0);}function y(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function m(t){let e=0;for(let r,n,i=0,a=t.length,s=a-1;i@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,((t,r,n,i)=>{const a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){const t=parseInt(e[\"max-age\"],10);isNaN(t)?delete e[\"max-age\"]:e[\"max-age\"]=t;}return e}let v,b,w=null;function _(t){if(null==w){const e=t.navigator?t.navigator.userAgent:null;w=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")));}return w}function A(t){return \"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap}const k={now:\"undefined\"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frame(t){const e=requestAnimationFrame(t);return {cancel:()=>cancelAnimationFrame(e)}},getImageData(t,e=0){const r=window.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:t=>(v||(v=document.createElement(\"a\")),v.href=t,v.href),hardwareConcurrency:\"undefined\"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return !!matchMedia&&(null==b&&(b=matchMedia(\"(prefers-reduced-motion: reduce)\")),b.matches)}};var S=I;function I(t,e){this.x=t,this.y=e;}I.prototype={clone:function(){return new I(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},I.convert=function(t){return t instanceof I?t:Array.isArray(t)?new I(t[0],t[1]):t};const M={MAX_PARALLEL_IMAGE_REQUESTS:16,REGISTERED_PROTOCOLS:{}},z=\"mapbox-tiles\";let B,C,P=500,V=50;function E(){\"undefined\"==typeof caches||B||(B=caches.open(z));}let F=1/0;const T={supported:!1,testSupport:function(t){!$&&D&&(R?U(t):L=t);}};let L,D,$=!1,R=!1;function U(t){const e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,D),t.isContextLost())return;T.supported=!0;}catch(t){}t.deleteTexture(e),$=!0;}\"undefined\"!=typeof document&&(D=document.createElement(\"img\"),D.onload=function(){L&&U(L),L=null,R=!0;},D.onerror=function(){$=!0,L=null;},D.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");const O={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(O);class q extends Error{constructor(t,e,r,n){super(`AJAXError: ${e} (${t}): ${r}`),this.status=t,this.statusText=e,this.url=r,this.body=n;}}const j=g()?()=>self.worker&&self.worker.referrer:()=>(\"blob:\"===window.location.protocol?window.parent:window).location.href;function N(t,e){const r=new AbortController,n=new Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:j(),signal:r.signal});let i=!1,a=!1;\"json\"===t.type&&n.headers.set(\"Accept\",\"application/json\");return ((r,s,o)=>{if(a)return;const l=Date.now();fetch(n).then((r=>r.ok?((r,s,o)=>{(\"arrayBuffer\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((t=>{a||(s&&o&&function(t,e,r){if(E(),!B)return;const n={status:e.status,statusText:e.statusText,headers:new Headers};e.headers.forEach(((t,e)=>n.headers.set(e,t)));const i=x(e.headers.get(\"Cache-Control\")||\"\");i[\"no-store\"]||(i[\"max-age\"]&&n.headers.set(\"Expires\",new Date(r+1e3*i[\"max-age\"]).toUTCString()),new Date(n.headers.get(\"Expires\")).getTime()-r<42e4||function(t,e){if(void 0===C)try{new Response(new ReadableStream),C=!0;}catch(t){C=!1;}C?e(t.body):t.blob().then(e);}(e,(e=>{const r=new Response(e,n);E(),B&&B.then((e=>e.put(function(t){const e=t.indexOf(\"?\");return e<0?t:t.slice(0,e)}(t.url),r))).catch((t=>d(t.message)));})));}(n,s,o),i=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")));})).catch((t=>{a||e(new Error(t.message));}));})(r,null,l):r.blob().then((n=>e(new q(r.status,r.statusText,t.url,n)))))).catch((t=>{20!==t.code&&e(new Error(t.message));}));})(),{cancel:()=>{a=!0,i||r.abort();}}}const K=function(t,e){if(/:\\/\\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){if(g()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",t,e);if(!g()){const r=t.url.substring(0,t.url.indexOf(\"://\"));return (M.REGISTERED_PROTOCOLS[r]||N)(t,e)}}if(!(/^file:/.test(r=t.url)||/^file:/.test(j())&&!/^\\w+:/.test(r))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return N(t,e);if(g()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",t,e,void 0,!0)}var r;return function(t,e){const r=new XMLHttpRequest;r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(r.responseType=\"arraybuffer\");for(const e in t.headers)r.setRequestHeader(e,t.headers[e]);return \"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=()=>{e(new Error(r.statusText));},r.onload=()=>{if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){let n=r.response;if(\"json\"===t.type)try{n=JSON.parse(r.response);}catch(t){return e(t)}e(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"));}else {const n=new Blob([r.response],{type:r.getResponseHeader(\"Content-Type\")});e(new q(r.status,r.statusText,t.url,n));}},r.send(t.body),{cancel:()=>r.abort()}}(t,e)},Z=function(t,e){return K(o(t,{type:\"arrayBuffer\"}),e)};function G(t){const e=window.document.createElement(\"a\");return e.href=t,e.protocol===window.document.location.protocol&&e.host===window.document.location.host}const J=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";let X,Y;X=[],Y=0;const H=function(t,e){if(T.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),Y>=M.MAX_PARALLEL_IMAGE_REQUESTS){const r={requestParameters:t,callback:e,cancelled:!1,cancel(){this.cancelled=!0;}};return X.push(r),r}Y++;let r=!1;const n=()=>{if(!r)for(r=!0,Y--;X.length&&Y{n(),t?e(t):r&&function(t,e){\"function\"==typeof createImageBitmap?function(t,e){const r=new Blob([new Uint8Array(t)],{type:\"image/png\"});createImageBitmap(r).then((t=>{e(null,t);})).catch((t=>{e(new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));}));}(t,e):function(t,e){const r=new Image;r.onload=()=>{e(null,r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame((()=>{r.src=J;}));},r.onerror=()=>e(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));const n=new Blob([new Uint8Array(t)],{type:\"image/png\"});r.src=t.byteLength?URL.createObjectURL(n):J;}(t,e);}(r,((t,r)=>{null!=t?e(t):null!=r&&e(null,r,{cacheControl:i,expires:a});}));}));return {cancel:()=>{i.cancel(),n();}}};function W(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function Q(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}class tt{constructor(t,e={}){o(this,e),this.type=t;}}class et extends tt{constructor(t,e={}){super(\"error\",o({error:t},e));}}class rt{on(t,e){return this._listeners=this._listeners||{},W(t,e,this._listeners),this}off(t,e){return Q(t,e,this._listeners),Q(t,e,this._oneTimeListeners),this}once(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},W(t,e,this._oneTimeListeners),this}fire(t,e){\"string\"==typeof t&&(t=new tt(t,e||{}));const r=t.type;if(this.listens(r)){t.target=this;const e=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(const r of e)r.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(const e of n)Q(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(o(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t));}else t instanceof et&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var nt={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1},elevationOffset:{type:\"number\",default:450}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};class it{constructor(t,e,r,n){this.message=(t?`${t}: `:\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__);}}function at(t){const e=t.value;return e?[new it(t.key,e,\"constants have been deprecated as of v8\")]:[]}function st(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}function ot(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function lt(t){if(Array.isArray(t))return t.map(lt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){const e={};for(const r in t)e[r]=lt(t[r]);return e}return ot(t)}class ut extends Error{constructor(t,e){super(e),this.message=e,this.key=t;}}class ct{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[t,r]of e)this.bindings[t]=r;}concat(t){return new ct(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(`${t} not found in scope.`)}has(t){return !!this.bindings[t]||!!this.parent&&this.parent.has(t)}}const ht={kind:\"null\"},pt={kind:\"number\"},ft={kind:\"string\"},dt={kind:\"boolean\"},yt={kind:\"color\"},mt={kind:\"object\"},gt={kind:\"value\"},xt={kind:\"collator\"},vt={kind:\"formatted\"},bt={kind:\"padding\"},wt={kind:\"resolvedImage\"};function _t(t,e){return {kind:\"array\",itemType:t,N:e}}function At(t){if(\"array\"===t.kind){const e=At(t.itemType);return \"number\"==typeof t.N?`array<${e}, ${t.N}>`:\"value\"===t.itemType.kind?\"array\":`array<${e}>`}return t.kind}const kt=[ht,pt,ft,dt,yt,vt,mt,_t(gt),bt,wt];function St(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!St(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else {if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(const t of kt)if(!St(t,e))return null}return `Expected ${At(t)} but found ${At(e)} instead.`}function It(t,e){return e.some((e=>e.kind===t.kind))}function Mt(t,e){return e.some((e=>\"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t))}var zt,Bt={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Ct(t){return (t=Math.round(t))<0?0:t>255?255:t}function Pt(t){return Ct(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function Vt(t){return (e=\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e;}function Et(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{zt={}.parseCSSColor=function(t){var e,r=t.replace(/ /g,\"\").toLowerCase();if(r in Bt)return Bt[r].slice();if(\"#\"===r[0])return 4===r.length?(e=parseInt(r.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var n=r.indexOf(\"(\"),i=r.indexOf(\")\");if(-1!==n&&i+1===r.length){var a=r.substr(0,n),s=r.substr(n+1,i-(n+1)).split(\",\"),o=1;switch(a){case\"rgba\":if(4!==s.length)return null;o=Vt(s.pop());case\"rgb\":return 3!==s.length?null:[Pt(s[0]),Pt(s[1]),Pt(s[2]),o];case\"hsla\":if(4!==s.length)return null;o=Vt(s.pop());case\"hsl\":if(3!==s.length)return null;var l=(parseFloat(s[0])%360+360)%360/360,u=Vt(s[1]),c=Vt(s[2]),h=c<=.5?c*(u+1):c+u-c*u,p=2*c-h;return [Ct(255*Et(p,h,l+1/3)),Ct(255*Et(p,h,l)),Ct(255*Et(p,h,l-1/3)),o];default:return null}}return null};}catch(t){}class Ft{constructor(t,e,r,n=1){this.r=t,this.g=e,this.b=r,this.a=n;}static parse(t){if(!t)return;if(t instanceof Ft)return t;if(\"string\"!=typeof t)return;const e=zt(t);return e?new Ft(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]):void 0}toString(){const[t,e,r,n]=this.toArray();return `rgba(${Math.round(t)},${Math.round(e)},${Math.round(r)},${n})`}toArray(){const{r:t,g:e,b:r,a:n}=this;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]}}Ft.black=new Ft(0,0,0,1),Ft.white=new Ft(1,1,1,1),Ft.transparent=new Ft(0,0,0,0),Ft.red=new Ft(1,0,0,1);class Tt{constructor(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"});}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Lt{constructor(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;}}class Dt{constructor(t){this.sections=t;}static fromString(t){return new Dt([new Lt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Dt?t:Dt.fromString(t)}toString(){return 0===this.sections.length?\"\":this.sections.map((t=>t.text)).join(\"\")}}class $t{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof $t)return t;if(\"number\"==typeof t)return new $t([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if(\"number\"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]];}return new $t(t)}}toString(){return JSON.stringify(this.values)}}class Rt{constructor(t){this.name=t.name,this.available=t.available;}toString(){return this.name}static fromString(t){return t?new Rt({name:t,available:!1}):null}}function Ut(t,e,r,n){return \"number\"==typeof t&&t>=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,r,n].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Ot(t){if(null===t)return !0;if(\"string\"==typeof t)return !0;if(\"boolean\"==typeof t)return !0;if(\"number\"==typeof t)return !0;if(t instanceof Ft)return !0;if(t instanceof Tt)return !0;if(t instanceof Dt)return !0;if(t instanceof $t)return !0;if(t instanceof Rt)return !0;if(Array.isArray(t)){for(const e of t)if(!Ot(e))return !1;return !0}if(\"object\"==typeof t){for(const e in t)if(!Ot(t[e]))return !1;return !0}return !1}function qt(t){if(null===t)return ht;if(\"string\"==typeof t)return ft;if(\"boolean\"==typeof t)return dt;if(\"number\"==typeof t)return pt;if(t instanceof Ft)return yt;if(t instanceof Tt)return xt;if(t instanceof Dt)return vt;if(t instanceof $t)return bt;if(t instanceof Rt)return wt;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=qt(e);if(r){if(r===t)continue;r=gt;break}r=t;}return _t(r||gt,e)}return mt}function jt(t){const e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof Ft||t instanceof Dt||t instanceof $t||t instanceof Rt?t.toString():JSON.stringify(t)}class Nt{constructor(t,e){this.type=t,this.value=e;}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Ot(t[1]))return e.error(\"invalid value\");const r=t[1];let n=qt(r);const i=e.expectedType;return \"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new Nt(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return !0}}class Kt{constructor(t){this.name=\"ExpressionEvaluationError\",this.message=t;}toJSON(){return this.message}}const Zt={string:ft,number:pt,boolean:dt,object:mt};class Gt{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");let r,n=1;const i=t[0];if(\"array\"===i){let i,a;if(t.length>2){const r=t[1];if(\"string\"!=typeof r||!(r in Zt)||\"object\"===r)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);i=Zt[r],n++;}else i=gt;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);a=t[2],n++;}r=_t(i,a);}else r=Zt[i];const a=[];for(;nt.outputDefined()))}}const Jt={\"to-boolean\":dt,\"to-color\":yt,\"to-number\":pt,\"to-string\":ft};class Xt{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");const n=Jt[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:Ut(e[0],e[1],e[2],e[3]),!r))return new Ft(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new Kt(r||`Could not parse color from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}if(\"padding\"===this.type.kind){let e;for(const r of this.args){e=r.evaluate(t);const n=$t.parse(e);if(n)return n}throw new Kt(`Could not parse padding from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}if(\"number\"===this.type.kind){let e=null;for(const r of this.args){if(e=r.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new Kt(`Could not convert ${JSON.stringify(e)} to number.`)}return \"formatted\"===this.type.kind?Dt.fromString(jt(this.args[0].evaluate(t))):\"resolvedImage\"===this.type.kind?Rt.fromString(jt(this.args[0].evaluate(t))):jt(this.args[0].evaluate(t))}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const Yt=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Ht{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null;}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?\"number\"==typeof this.feature.type?Yt[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Ft.parse(t)),e}}class Wt{constructor(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t);}outputDefined(){return !1}static parse(t,e){const r=t[0],n=Wt.definitions[r];if(!n)return e.error(`Unknown expression \"${r}\". If you wanted a literal array, use [\"literal\", [...]].`,0);const i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,s=a.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[n,a]of s){o=new we(e.registry,e.path,null,e.scope);const s=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(At).join(\", \")})`:`(${At(e.type)}...)`;var e;})).join(\" | \"),n=[];for(let r=1;r=e[2]||t[1]<=e[1]||t[3]>=e[3])}function ne(t,e){const r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return [Math.round(r*i*te),Math.round(n*i*te)]}function ie(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],a=t[0]-r[0],s=t[1]-r[1];return n*s-a*i==0&&n*a<=0&&i*s<=0}function ae(t,e){let r=!1;for(let s=0,o=e.length;s(n=t)[1]!=(a=o[e+1])[1]>n[1]&&n[0]<(a[0]-i[0])*(n[1]-i[1])/(a[1]-i[1])+i[0]&&(r=!r);}}var n,i,a;return r}function se(t,e){for(let r=0;r0&&o<0||s<0&&o>0}function le(t,e,r){for(const u of r)for(let r=0;rr[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i;}ee(e,t);}function de(t,e,r,n){const i=Math.pow(2,n.z)*te,a=[n.x*te,n.y*te],s=[];for(const n of t)for(const t of n){const n=[t.x+a[0],t.y+a[1]];fe(n,e,r,i),s.push(n);}return s}function ye(t,e,r,n){const i=Math.pow(2,n.z)*te,a=[n.x*te,n.y*te],s=[];for(const r of t){const t=[];for(const n of r){const r=[n.x+a[0],n.y+a[1]];ee(e,r),t.push(r);}s.push(t);}if(e[2]-e[0]<=i/2){(o=e)[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(const t of s)for(const n of t)fe(n,e,r,i);}var o;return s}class me{constructor(t,e){this.type=dt,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Ot(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type)for(let t=0;t{e&&!ge(t)&&(e=!1);})),e}function xe(t){if(t instanceof Wt&&\"feature-state\"===t.name)return !1;let e=!0;return t.eachChild((t=>{e&&!xe(t)&&(e=!1);})),e}function ve(t,e){if(t instanceof Wt&&e.indexOf(t.name)>=0)return !1;let r=!0;return t.eachChild((t=>{r&&!ve(t,e)&&(r=!1);})),r}class be{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e;}static parse(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");const r=t[1];return e.scope.has(r)?new be(r,e.scope.get(r)):e.error(`Unknown variable \"${r}\". Make sure \"${r}\" has been bound in an enclosing \"let\" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return !1}}class we{constructor(t,e=[],r,n=new ct,i=[]){this.registry=t,this.path=e,this.key=e.map((t=>`[${t}]`)).join(\"\"),this.scope=n,this.errors=i,this.expectedType=r;}parse(t,e,r,n,i={}){return e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)}_parse(t,e){function r(t,e,r){return \"assert\"===r?new Gt(e,[t]):\"coerce\"===r?new Xt(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');const n=t[0];if(\"string\"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;const i=this.registry[n];if(i){let n=i.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,i=n.type;if(\"string\"!==t.kind&&\"number\"!==t.kind&&\"boolean\"!==t.kind&&\"object\"!==t.kind&&\"array\"!==t.kind||\"value\"!==i.kind)if(\"color\"!==t.kind&&\"formatted\"!==t.kind&&\"resolvedImage\"!==t.kind||\"value\"!==i.kind&&\"string\"!==i.kind)if(\"padding\"!==t.kind||\"value\"!==i.kind&&\"number\"!==i.kind&&\"array\"!==i.kind){if(this.checkSubtype(t,i))return null}else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"assert\");}if(!(n instanceof Nt)&&\"resolvedImage\"!==n.type.kind&&_e(n)){const t=new Ht;try{n=new Nt(n.type,n.evaluate(t));}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression \"${n}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(void 0===t?\"'undefined' value invalid. Use null instead.\":\"object\"==typeof t?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,r){const n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new we(this.registry,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join(\"\")}`;this.errors.push(new ut(r,t));}checkSubtype(t,e){const r=St(t,e);return r&&this.error(r),r}}function _e(t){if(t instanceof be)return _e(t.boundExpression);if(t instanceof Wt&&\"error\"===t.name)return !1;if(t instanceof Qt)return !1;if(t instanceof me)return !1;const e=t instanceof Xt||t instanceof Gt;let r=!0;return t.eachChild((t=>{r=e?r&&_e(t):r&&t instanceof Nt;})),!!r&&ge(t)&&ve(t,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Ae(t,e){const r=t.length-1;let n,i,a=0,s=r,o=0;for(;a<=s;)if(o=Math.floor((a+s)/2),n=t[o],i=t[o+1],n<=e){if(o===r||ee))throw new Kt(\"Input is not a number.\");s=o-1;}return 0}class ke{constructor(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e);}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");const r=e.parse(t[1],1,pt);if(!r)return null;const n=[];let i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=a)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',o);const u=e.parse(s,l,i);if(!u)return null;i=i||u.type,n.push([a,u]);}return new ke(i,r,n)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Ae(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Se(t,e,r){return t*(1-r)+e*r}var Ie=Object.freeze({__proto__:null,number:Se,color:function(t,e,r){return new Ft(Se(t.r,e.r,r),Se(t.g,e.g,r),Se(t.b,e.b,r),Se(t.a,e.a,r))},array:function(t,e,r){return t.map(((t,n)=>Se(t,e[n],r)))},padding:function(t,e,r){const n=t.values,i=e.values;return new $t([Se(n[0],i[0],r),Se(n[1],i[1],r),Se(n[2],i[2],r),Se(n[3],i[3],r)])}});const Me=.95047,ze=1.08883,Be=4/29,Ce=6/29,Pe=3*Ce*Ce,Ve=Math.PI/180,Ee=180/Math.PI;function Fe(t){return t>.008856451679035631?Math.pow(t,1/3):t/Pe+Be}function Te(t){return t>Ce?t*t*t:Pe*(t-Be)}function Le(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function De(t){return (t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function $e(t){const e=De(t.r),r=De(t.g),n=De(t.b),i=Fe((.4124564*e+.3575761*r+.1804375*n)/Me),a=Fe((.2126729*e+.7151522*r+.072175*n)/1);return {l:116*a-16,a:500*(i-a),b:200*(a-Fe((.0193339*e+.119192*r+.9503041*n)/ze)),alpha:t.a}}function Re(t){let e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*Te(e),r=Me*Te(r),n=ze*Te(n),new Ft(Le(3.2404542*r-1.5371385*e-.4985314*n),Le(-.969266*r+1.8760108*e+.041556*n),Le(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function Ue(t,e,r){const n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}const Oe={forward:$e,reverse:Re,interpolate:function(t,e,r){return {l:Se(t.l,e.l,r),a:Se(t.a,e.a,r),b:Se(t.b,e.b,r),alpha:Se(t.alpha,e.alpha,r)}}},qe={forward:function(t){const{l:e,a:r,b:n}=$e(t),i=Math.atan2(n,r)*Ee;return {h:i<0?i+360:i,c:Math.sqrt(r*r+n*n),l:e,alpha:t.a}},reverse:function(t){const e=t.h*Ve,r=t.c;return Re({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return {h:Ue(t.h,e.h,r),c:Se(t.c,e.c,r),l:Se(t.l,e.l,r),alpha:Se(t.alpha,e.alpha,r)}}};var je=Object.freeze({__proto__:null,lab:Oe,hcl:qe});class Ne{constructor(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(const[t,e]of i)this.labels.push(t),this.outputs.push(e);}static interpolationFactor(t,r,n,i){let a=0;if(\"exponential\"===t.name)a=Ke(r,t.base,n,i);else if(\"linear\"===t.name)a=Ke(r,1,n,i);else if(\"cubic-bezier\"===t.name){const s=t.controlPoints;a=new e(s[0],s[1],s[2],s[3]).solve(Ke(r,1,n,i));}return a}static parse(t,e){let[r,n,i,...a]=t;if(!Array.isArray(n)||0===n.length)return e.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===n[0])n={name:\"linear\"};else if(\"exponential\"===n[0]){const t=n[1];if(\"number\"!=typeof t)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);n={name:\"exponential\",base:t};}else {if(\"cubic-bezier\"!==n[0])return e.error(`Unknown interpolation type ${String(n[0])}`,1,0);{const t=n.slice(1);if(4!==t.length||t.some((t=>\"number\"!=typeof t||t<0||t>1)))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:t};}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(i=e.parse(i,2,pt),!i)return null;const s=[];let o=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?o=yt:e.expectedType&&\"value\"!==e.expectedType.kind&&(o=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,l,o);if(!u)return null;o=o||u.type,s.push([r,u]);}return \"number\"===o.kind||\"color\"===o.kind||\"padding\"===o.kind||\"array\"===o.kind&&\"number\"===o.itemType.kind&&\"number\"==typeof o.N?new Ne(o,r,n,i,s):e.error(`Type ${At(o)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const a=Ae(e,n),s=Ne.interpolationFactor(this.interpolation,n,e[a],e[a+1]),o=r[a].evaluate(t),l=r[a+1].evaluate(t);return \"interpolate\"===this.operator?Ie[this.type.kind.toLowerCase()](o,l,s):\"interpolate-hcl\"===this.operator?qe.reverse(qe.interpolate(qe.forward(o),qe.forward(l),s)):Oe.reverse(Oe.interpolate(Oe.forward(o),Oe.forward(l),s))}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ke(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}class Ze{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");let r=null;const n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);const i=[];for(const n of t.slice(1)){const t=e.parse(n,1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!t)return null;r=r||t.type,i.push(t);}const a=n&&i.some((t=>St(n,t.type)));return new Ze(a?gt:r,i)}evaluate(t){let e,r=null,n=0;for(const i of this.args)if(n++,r=i.evaluate(t),r&&r instanceof Rt&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null!==r)break;return r}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}class Ge{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result);}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const r=[];for(let n=1;n=r.length)throw new Kt(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new Kt(`Array index must be an integer, but found ${e} instead.`);return r[e]}eachChild(t){t(this.index),t(this.input);}outputDefined(){return !1}}class Xe{constructor(t,e){this.type=dt,this.needle=t,this.haystack=e;}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,gt),n=e.parse(t[2],2,gt);return r&&n?It(r.type,[dt,ft,pt,ht,gt])?new Xe(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${At(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return !1;if(!Mt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Kt(`Expected first argument to be of type boolean, string, number or null, but found ${At(qt(e))} instead.`);if(!Mt(r,[\"string\",\"array\"]))throw new Kt(`Expected second argument to be of type array or string, but found ${At(qt(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack);}outputDefined(){return !0}}class Ye{constructor(t,e,r){this.type=pt,this.needle=t,this.haystack=e,this.fromIndex=r;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,gt),n=e.parse(t[2],2,gt);if(!r||!n)return null;if(!It(r.type,[dt,ft,pt,ht,gt]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${At(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,pt);return i?new Ye(r,n,i):null}return new Ye(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Mt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Kt(`Expected first argument to be of type boolean, string, number or null, but found ${At(qt(e))} instead.`);if(!Mt(r,[\"string\",\"array\"]))throw new Kt(`Expected second argument to be of type array or string, but found ${At(qt(r))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);}outputDefined(){return !1}}class He{constructor(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a;}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");let r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);const i={},a=[];for(let s=2;sNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(\"number\"==typeof t&&Math.floor(t)!==t)return u.error(\"Numeric branch labels must be integer values.\");if(r){if(u.checkSubtype(r,qt(t)))return null}else r=qt(t);if(void 0!==i[String(t)])return u.error(\"Branch labels must be unique.\");i[String(t)]=a.length;}const c=e.parse(l,s,n);if(!c)return null;n=n||c.type,a.push(c);}const s=e.parse(t[1],1,gt);if(!s)return null;const o=e.parse(t[t.length-1],t.length-1,n);return o?\"value\"!==s.type.kind&&e.concat(1).checkSubtype(r,s.type)?null:new He(r,n,s,i,a,o):null}evaluate(t){const e=this.input.evaluate(t);return (qt(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class We{constructor(t,e,r){this.type=t,this.branches=e,this.otherwise=r;}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");let r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);const n=[];for(let i=1;ie.outputDefined()))&&this.otherwise.outputDefined()}}class Qe{constructor(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,gt),n=e.parse(t[2],2,pt);if(!r||!n)return null;if(!It(r.type,[_t(gt),ft,gt]))return e.error(`Expected first argument to be of type array or string, but found ${At(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,pt);return i?new Qe(r.type,r,n,i):null}return new Qe(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Mt(e,[\"string\",\"array\"]))throw new Kt(`Expected first argument to be of type array or string, but found ${At(qt(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);}outputDefined(){return !1}}function tr(t,e){return \"==\"===t||\"!=\"===t?\"boolean\"===e.kind||\"string\"===e.kind||\"number\"===e.kind||\"null\"===e.kind||\"value\"===e.kind:\"string\"===e.kind||\"number\"===e.kind||\"value\"===e.kind}function er(t,e,r,n){return 0===n.compare(e,r)}function rr(t,e,r){const n=\"==\"!==t&&\"!=\"!==t;return class i{constructor(t,e,r){this.type=dt,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind;}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");const r=t[0];let a=e.parse(t[1],1,gt);if(!a)return null;if(!tr(r,a.type))return e.concat(1).error(`\"${r}\" comparisons are not supported for type '${At(a.type)}'.`);let s=e.parse(t[2],2,gt);if(!s)return null;if(!tr(r,s.type))return e.concat(2).error(`\"${r}\" comparisons are not supported for type '${At(s.type)}'.`);if(a.type.kind!==s.type.kind&&\"value\"!==a.type.kind&&\"value\"!==s.type.kind)return e.error(`Cannot compare types '${At(a.type)}' and '${At(s.type)}'.`);n&&(\"value\"===a.type.kind&&\"value\"!==s.type.kind?a=new Gt(s.type,[a]):\"value\"!==a.type.kind&&\"value\"===s.type.kind&&(s=new Gt(a.type,[s])));let o=null;if(4===t.length){if(\"string\"!==a.type.kind&&\"string\"!==s.type.kind&&\"value\"!==a.type.kind&&\"value\"!==s.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(o=e.parse(t[3],3,xt),!o)return null}return new i(a,s,o)}evaluate(i){const a=this.lhs.evaluate(i),s=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=qt(a),r=qt(s);if(e.kind!==r.kind||\"string\"!==e.kind&&\"number\"!==e.kind)throw new Kt(`Expected arguments for \"${t}\" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=qt(a),r=qt(s);if(\"string\"!==t.kind||\"string\"!==r.kind)return e(i,a,s)}return this.collator?r(i,a,s,this.collator.evaluate(i)):e(i,a,s)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);}outputDefined(){return !0}}}const nr=rr(\"==\",(function(t,e,r){return e===r}),er),ir=rr(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !er(0,e,r,n)})),ar=rr(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),or=rr(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),lr=rr(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class ur{constructor(t,e,r,n,i){this.type=ft,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i;}static parse(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,pt);if(!r)return null;const n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");let i=null;if(n.locale&&(i=e.parse(n.locale,1,ft),!i))return null;let a=null;if(n.currency&&(a=e.parse(n.currency,1,ft),!a))return null;let s=null;if(n[\"min-fraction-digits\"]&&(s=e.parse(n[\"min-fraction-digits\"],1,pt),!s))return null;let o=null;return n[\"max-fraction-digits\"]&&(o=e.parse(n[\"max-fraction-digits\"],1,pt),!o)?null:new ur(r,i,a,s,o)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits);}outputDefined(){return !1}}class cr{constructor(t){this.type=vt,this.sections=t;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const a=t[r];if(i&&\"object\"==typeof a&&!Array.isArray(a)){i=!1;let t=null;if(a[\"font-scale\"]&&(t=e.parse(a[\"font-scale\"],1,pt),!t))return null;let r=null;if(a[\"text-font\"]&&(r=e.parse(a[\"text-font\"],1,_t(ft)),!r))return null;let s=null;if(a[\"text-color\"]&&(s=e.parse(a[\"text-color\"],1,yt),!s))return null;const o=n[n.length-1];o.scale=t,o.font=r,o.textColor=s;}else {const a=e.parse(t[r],1,gt);if(!a)return null;const s=a.type.kind;if(\"string\"!==s&&\"value\"!==s&&\"null\"!==s&&\"resolvedImage\"!==s)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:a,scale:null,font:null,textColor:null});}}return new cr(n)}evaluate(t){return new Dt(this.sections.map((e=>{const r=e.content.evaluate(t);return qt(r)===wt?new Lt(\"\",r,null,null,null):new Lt(jt(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor);}outputDefined(){return !1}}class hr{constructor(t){this.type=wt,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ft);return r?new hr(r):e.error(\"No image name provided.\")}evaluate(t){const e=this.input.evaluate(t),r=Rt.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input);}outputDefined(){return !1}}class pr{constructor(t){this.type=pt,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(`Expected argument of type string or array, but found ${At(r.type)} instead.`):new pr(r):null}evaluate(t){const e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new Kt(`Expected value to be of type string or array, but found ${At(qt(e))} instead.`)}eachChild(t){t(this.input);}outputDefined(){return !1}}const fr={\"==\":nr,\"!=\":ir,\">\":sr,\"<\":ar,\">=\":lr,\"<=\":or,array:Gt,at:Je,boolean:Gt,case:We,coalesce:Ze,collator:Qt,format:cr,image:hr,in:Xe,\"index-of\":Ye,interpolate:Ne,\"interpolate-hcl\":Ne,\"interpolate-lab\":Ne,length:pr,let:Ge,literal:Nt,match:He,number:Gt,\"number-format\":ur,object:Gt,slice:Qe,step:ke,string:Gt,\"to-boolean\":Xt,\"to-color\":Xt,\"to-number\":Xt,\"to-string\":Xt,var:be,within:me};function dr(t,[e,r,n,i]){e=e.evaluate(t),r=r.evaluate(t),n=n.evaluate(t);const a=i?i.evaluate(t):1,s=Ut(e,r,n,a);if(s)throw new Kt(s);return new Ft(e/255*a,r/255*a,n/255*a,a)}function yr(t,e){return t in e}function mr(t,e){const r=e[t];return void 0===r?null:r}function gr(t){return {type:t}}function xr(t){return {result:\"success\",value:t}}function vr(t){return {result:\"error\",value:t}}function br(t){return \"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function wr(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function _r(t){return !!t.expression&&t.expression.interpolated}function Ar(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function kr(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Sr(t){return t}function Ir(t,e){const r=\"color\"===e.type,n=t.stops&&\"object\"==typeof t.stops[0][0],i=n||!(n||void 0!==t.property),a=t.type||(_r(e)?\"exponential\":\"interval\");if(r||\"padding\"===e.type){const n=r?Ft.parse:$t.parse;(t=st({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],n(t[1])]))),t.default=n(t.default?t.default:e.default);}if(t.colorSpace&&\"rgb\"!==t.colorSpace&&!je[t.colorSpace])throw new Error(`Unknown color space: ${t.colorSpace}`);let s,o,l;if(\"exponential\"===a)s=Cr;else if(\"interval\"===a)s=Br;else if(\"categorical\"===a){s=zr,o=Object.create(null);for(const e of t.stops)o[e[0]]=e[1];l=typeof t.stops[0][0];}else {if(\"identity\"!==a)throw new Error(`Unknown function type \"${a}\"`);s=Pr;}if(n){const r={},n=[];for(let e=0;et[0])),evaluate:({zoom:r},n)=>Cr({stops:i,base:t.base},e,r).evaluate(r,n)}}if(i){const r=\"exponential\"===a?{name:\"exponential\",base:void 0!==t.base?t.base:1}:null;return {kind:\"camera\",interpolationType:r,interpolationFactor:Ne.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>s(t,e,r,o,l)}}return {kind:\"source\",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?Mr(t.default,e.default):s(t,e,i,o,l)}}}function Mr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function zr(t,e,r,n,i){return Mr(typeof r===i?n[r]:void 0,t.default,e.default)}function Br(t,e,r){if(\"number\"!==Ar(r))return Mr(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];const i=Ae(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function Cr(t,e,r){const n=void 0!==t.base?t.base:1;if(\"number\"!==Ar(r))return Mr(t.default,e.default);const i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];const a=Ae(t.stops.map((t=>t[0])),r),s=function(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),o=t.stops[a][1],l=t.stops[a+1][1];let u=Ie[e.type]||Sr;if(t.colorSpace&&\"rgb\"!==t.colorSpace){const e=je[t.colorSpace];u=(t,r)=>e.reverse(e.interpolate(e.forward(t),e.forward(r),s));}return \"function\"==typeof o.evaluate?{evaluate(...t){const e=o.evaluate.apply(void 0,t),r=l.evaluate.apply(void 0,t);if(void 0!==e&&void 0!==r)return u(e,r,s)}}:u(o,l,s)}function Pr(t,e,r){switch(e.type){case\"color\":r=Ft.parse(r);break;case\"formatted\":r=Dt.fromString(r.toString());break;case\"resolvedImage\":r=Rt.fromString(r.toString());break;case\"padding\":r=$t.parse(r);break;default:Ar(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0);}return Mr(r,t.default,e.default)}Wt.register(fr,{error:[{kind:\"error\"},[ft],(t,[e])=>{throw new Kt(e.evaluate(t))}],typeof:[ft,[gt],(t,[e])=>At(qt(e.evaluate(t)))],\"to-rgba\":[_t(pt,4),[yt],(t,[e])=>e.evaluate(t).toArray()],rgb:[yt,[pt,pt,pt],dr],rgba:[yt,[pt,pt,pt,pt],dr],has:{type:dt,overloads:[[[ft],(t,[e])=>yr(e.evaluate(t),t.properties())],[[ft,mt],(t,[e,r])=>yr(e.evaluate(t),r.evaluate(t))]]},get:{type:gt,overloads:[[[ft],(t,[e])=>mr(e.evaluate(t),t.properties())],[[ft,mt],(t,[e,r])=>mr(e.evaluate(t),r.evaluate(t))]]},\"feature-state\":[gt,[ft],(t,[e])=>mr(e.evaluate(t),t.featureState||{})],properties:[mt,[],t=>t.properties()],\"geometry-type\":[ft,[],t=>t.geometryType()],id:[gt,[],t=>t.id()],zoom:[pt,[],t=>t.globals.zoom],\"heatmap-density\":[pt,[],t=>t.globals.heatmapDensity||0],\"line-progress\":[pt,[],t=>t.globals.lineProgress||0],accumulated:[gt,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],\"+\":[pt,gr(pt),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],\"*\":[pt,gr(pt),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],\"-\":{type:pt,overloads:[[[pt,pt],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[pt],(t,[e])=>-e.evaluate(t)]]},\"/\":[pt,[pt,pt],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],\"%\":[pt,[pt,pt],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[pt,[],()=>Math.LN2],pi:[pt,[],()=>Math.PI],e:[pt,[],()=>Math.E],\"^\":[pt,[pt,pt],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[pt,[pt],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))],log2:[pt,[pt],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[pt,[pt],(t,[e])=>Math.sin(e.evaluate(t))],cos:[pt,[pt],(t,[e])=>Math.cos(e.evaluate(t))],tan:[pt,[pt],(t,[e])=>Math.tan(e.evaluate(t))],asin:[pt,[pt],(t,[e])=>Math.asin(e.evaluate(t))],acos:[pt,[pt],(t,[e])=>Math.acos(e.evaluate(t))],atan:[pt,[pt],(t,[e])=>Math.atan(e.evaluate(t))],min:[pt,gr(pt),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[pt,gr(pt),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[pt,[pt],(t,[e])=>Math.abs(e.evaluate(t))],round:[pt,[pt],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[pt,[pt],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[pt,[pt],(t,[e])=>Math.ceil(e.evaluate(t))],\"filter-==\":[dt,[ft,gt],(t,[e,r])=>t.properties()[e.value]===r.value],\"filter-id-==\":[dt,[gt],(t,[e])=>t.id()===e.value],\"filter-type-==\":[dt,[ft],(t,[e])=>t.geometryType()===e.value],\"filter-<\":[dt,[ft,gt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n{const r=t.id(),n=e.value;return typeof r==typeof n&&r\":[dt,[ft,gt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],\"filter-id->\":[dt,[gt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],\"filter-<=\":[dt,[ft,gt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],\"filter-id-<=\":[dt,[gt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],\"filter->=\":[dt,[ft,gt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],\"filter-id->=\":[dt,[gt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],\"filter-has\":[dt,[gt],(t,[e])=>e.value in t.properties()],\"filter-has-id\":[dt,[],t=>null!==t.id()&&void 0!==t.id()],\"filter-type-in\":[dt,[_t(ft)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],\"filter-id-in\":[dt,[_t(gt)],(t,[e])=>e.value.indexOf(t.id())>=0],\"filter-in-small\":[dt,[ft,_t(gt)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],\"filter-in-large\":[dt,[ft,_t(gt)],(t,[e,r])=>function(t,e,r,n){for(;r<=n;){const i=r+n>>1;if(e[i]===t)return !0;e[i]>t?n=i-1:r=i+1;}return !1}(t.properties()[e.value],r.value,0,r.value.length-1)],all:{type:dt,overloads:[[[dt,dt],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[gr(dt),(t,e)=>{for(const r of e)if(!r.evaluate(t))return !1;return !0}]]},any:{type:dt,overloads:[[[dt,dt],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[gr(dt),(t,e)=>{for(const r of e)if(r.evaluate(t))return !0;return !1}]]},\"!\":[dt,[dt],(t,[e])=>!e.evaluate(t)],\"is-supported-script\":[dt,[ft],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return !r||r(e.evaluate(t))}],upcase:[ft,[ft],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ft,[ft],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ft,gr(gt),(t,e)=>e.map((e=>jt(e.evaluate(t)))).join(\"\")],\"resolved-locale\":[ft,[xt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Vr{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new Ht,this._defaultValue=e?function(t){return \"color\"===t.type&&kr(t.default)?new Ft(0,0,0,0):\"color\"===t.type?Ft.parse(t.default)||null:\"padding\"===t.type?$t.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&\"enum\"===e.type?e.values:null;}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||\"number\"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new Kt(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(\", \")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function Er(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in fr}function Fr(t,e){const r=new we(fr,[],e?function(t){const e={color:yt,string:ft,number:pt,enum:ft,boolean:dt,formatted:vt,padding:bt,resolvedImage:wt};return \"array\"===t.type?_t(e[t.value]||gt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?xr(new Vr(n,e)):vr(r.errors)}class Tr{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!xe(e.expression);}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}}class Lr{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!xe(e.expression),this.interpolationType=n;}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}interpolationFactor(t,e,r){return this.interpolationType?Ne.interpolationFactor(this.interpolationType,t,e,r):0}}function Dr(t,e){const r=Fr(t,e);if(\"error\"===r.result)return r;const n=r.value.expression,i=ge(n);if(!i&&!br(e))return vr([new ut(\"\",\"data expressions not supported\")]);const a=ve(n,[\"zoom\"]);if(!a&&!wr(e))return vr([new ut(\"\",\"zoom expressions not supported\")]);const s=Rr(n);return s||a?s instanceof ut?vr([s]):s instanceof Ne&&!_r(e)?vr([new ut(\"\",'\"interpolate\" expressions cannot be used with this property')]):xr(s?new Lr(i?\"camera\":\"composite\",r.value,s.labels,s instanceof Ne?s.interpolation:void 0):new Tr(i?\"constant\":\"source\",r.value)):vr([new ut(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class $r{constructor(t,e){this._parameters=t,this._specification=e,st(this,Ir(this._parameters,this._specification));}static deserialize(t){return new $r(t._parameters,t._specification)}static serialize(t){return {_parameters:t._parameters,_specification:t._specification}}}function Rr(t){let e=null;if(t instanceof Ge)e=Rr(t.result);else if(t instanceof Ze){for(const r of t.args)if(e=Rr(r),e)break}else (t instanceof ke||t instanceof Ne)&&t.input instanceof Wt&&\"zoom\"===t.input.name&&(e=t);return e instanceof ut||t.eachChild((t=>{const r=Rr(t);r instanceof ut?e=r:!e&&r?e=new ut(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):e&&r&&e!==r&&(e=new ut(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),e}function Ur(t){const e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,s=t.styleSpec;let o=[];const l=Ar(r);if(\"object\"!==l)return [new it(e,r,`object expected, ${l} found`)];for(const t in r){const l=t.split(\".\")[0],u=n[l]||n[\"*\"];let c;if(i[l])c=i[l];else if(n[l])c=yn;else if(i[\"*\"])c=i[\"*\"];else {if(!n[\"*\"]){o.push(new it(e,r[t],`unknown property \"${t}\"`));continue}c=yn;}o=o.concat(c({key:(e?`${e}.`:e)+t,value:r[t],valueSpec:u,style:a,styleSpec:s,object:r,objectKey:t},r));}for(const t in n)i[t]||n[t].required&&void 0===n[t].default&&void 0===r[t]&&o.push(new it(e,r,`missing required property \"${t}\"`));return o}function Or(t){const e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,s=t.arrayElementValidator||yn;if(\"array\"!==Ar(e))return [new it(a,e,`array expected, ${Ar(e)} found`)];if(r.length&&e.length!==r.length)return [new it(a,e,`array length ${r.length} expected, length ${e.length} found`)];if(r[\"min-length\"]&&e.lengthn.maximum?[new it(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function jr(t){const e=t.valueSpec,r=ot(t.value.type);let n,i,a,s={};const o=\"categorical\"!==r&&void 0===t.value.property,l=!o,u=\"array\"===Ar(t.value.stops)&&\"array\"===Ar(t.value.stops[0])&&\"object\"===Ar(t.value.stops[0][0]),c=Ur({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===r)return [new it(t.key,t.value,'identity function may not have a \"stops\" property')];let e=[];const n=t.value;return e=e.concat(Or({key:t.key,value:n,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===Ar(n)&&0===n.length&&e.push(new it(t.key,n,\"array must have at least one stop\")),e},default:function(t){return yn({key:t.key,value:t.value,valueSpec:e,style:t.style,styleSpec:t.styleSpec})}}});return \"identity\"===r&&o&&c.push(new it(t.key,t.value,'missing required property \"property\"')),\"identity\"===r||t.value.stops||c.push(new it(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===r&&t.valueSpec.expression&&!_r(t.valueSpec)&&c.push(new it(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!br(t.valueSpec)?c.push(new it(t.key,t.value,\"property functions not supported\")):o&&!wr(t.valueSpec)&&c.push(new it(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==r&&!u||void 0!==t.value.property||c.push(new it(t.key,t.value,'\"property\" property is required')),c;function h(t){let r=[];const n=t.value,o=t.key;if(\"array\"!==Ar(n))return [new it(o,n,`array expected, ${Ar(n)} found`)];if(2!==n.length)return [new it(o,n,`array length 2 expected, length ${n.length} found`)];if(u){if(\"object\"!==Ar(n[0]))return [new it(o,n,`object expected, ${Ar(n[0])} found`)];if(void 0===n[0].zoom)return [new it(o,n,\"object stop key must have zoom\")];if(void 0===n[0].value)return [new it(o,n,\"object stop key must have value\")];if(a&&a>ot(n[0].zoom))return [new it(o,n[0].zoom,\"stop zoom values must appear in ascending order\")];ot(n[0].zoom)!==a&&(a=ot(n[0].zoom),i=void 0,s={}),r=r.concat(Ur({key:`${o}[0]`,value:n[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:qr,value:p}}));}else r=r.concat(p({key:`${o}[0]`,value:n[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},n));return Er(lt(n[1]))?r.concat([new it(`${o}[1]`,n[1],\"expressions are not allowed in function stops.\")]):r.concat(yn({key:`${o}[1]`,value:n[1],valueSpec:e,style:t.style,styleSpec:t.styleSpec}))}function p(t,a){const o=Ar(t.value),l=ot(t.value),u=null!==t.value?t.value:a;if(n){if(o!==n)return [new it(t.key,u,`${o} stop domain type must match previous stop domain type ${n}`)]}else n=o;if(\"number\"!==o&&\"string\"!==o&&\"boolean\"!==o)return [new it(t.key,u,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==o&&\"categorical\"!==r){let n=`number expected, ${o} found`;return br(e)&&void 0===r&&(n+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new it(t.key,u,n)]}return \"categorical\"!==r||\"number\"!==o||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==r&&\"number\"===o&&void 0!==i&&lnew it(`${t.key}${e.key}`,t.value,e.message)));const r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return [new it(t.key,t.value,`Invalid data expression for \"${t.propertyKey}\". Output values must be contained as literals within the expression.`)];if(\"property\"===t.expressionContext&&\"layout\"===t.propertyType&&!xe(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!xe(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!ve(r,[\"zoom\",\"feature-state\"]))return [new it(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!ge(r))return [new it(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return []}function Kr(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(ot(r))&&i.push(new it(e,r,`expected one of [${n.values.join(\", \")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(ot(r))&&i.push(new it(e,r,`expected one of [${Object.keys(n.values).join(\", \")}], ${JSON.stringify(r)} found`)),i}function Zr(t){if(!0===t||!1===t)return !0;if(!Array.isArray(t)||0===t.length)return !1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return !1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(const e of t.slice(1))if(!Zr(e)&&\"boolean\"!=typeof e)return !1;return !0;default:return !0}}const Gr={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Jr(t){if(null==t)return {filter:()=>!0,needGeometry:!1};Zr(t)||(t=Hr(t));const e=Fr(t,Gr);if(\"error\"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return {filter:(t,r,n)=>e.value.evaluate(t,r,{},n),needGeometry:Yr(t)}}function Xr(t,e){return te?1:0}function Yr(t){if(!Array.isArray(t))return !1;if(\"within\"===t[0])return !0;for(let e=1;e\"===e||\"<=\"===e||\">=\"===e?Wr(t[1],t[2],e):\"any\"===e?(r=t.slice(1),[\"any\"].concat(r.map(Hr))):\"all\"===e?[\"all\"].concat(t.slice(1).map(Hr)):\"none\"===e?[\"all\"].concat(t.slice(1).map(Hr).map(en)):\"in\"===e?Qr(t[1],t.slice(2)):\"!in\"===e?en(Qr(t[1],t.slice(2))):\"has\"===e?tn(t[1]):\"!has\"===e?en(tn(t[1])):\"within\"!==e||t;var r;}function Wr(t,e,r){switch(t){case\"$type\":return [`filter-type-${r}`,e];case\"$id\":return [`filter-id-${r}`,e];default:return [`filter-${r}`,t,e]}}function Qr(t,e){if(0===e.length)return !1;switch(t){case\"$type\":return [\"filter-type-in\",[\"literal\",e]];case\"$id\":return [\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?[\"filter-in-large\",t,[\"literal\",e.sort(Xr)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function tn(t){switch(t){case\"$type\":return !0;case\"$id\":return [\"filter-has-id\"];default:return [\"filter-has\",t]}}function en(t){return [\"!\",t]}function rn(t){return Zr(lt(t.value))?Nr(st({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):nn(t)}function nn(t){const e=t.value,r=t.key;if(\"array\"!==Ar(e))return [new it(r,e,`array expected, ${Ar(e)} found`)];const n=t.styleSpec;let i,a=[];if(e.length<1)return [new it(r,e,\"filter array must have at least 1 element\")];switch(a=a.concat(Kr({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),ot(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===ot(e[1])&&a.push(new it(r,e,`\"$type\" cannot be use with operator \"${e[0]}\"`));case\"==\":case\"!=\":3!==e.length&&a.push(new it(r,e,`filter array for operator \"${e[0]}\" must have 3 elements`));case\"in\":case\"!in\":e.length>=2&&(i=Ar(e[1]),\"string\"!==i&&a.push(new it(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let s=2;s{t in r&&e.push(new it(n,r[t],`\"${t}\" is prohibited for ref layers`));})),i.layers.forEach((e=>{ot(e.id)===o&&(t=e);})),t?t.ref?e.push(new it(n,r.ref,\"ref cannot reference another ref layer\")):s=ot(t.type):e.push(new it(n,r.ref,`ref layer \"${o}\" not found`));}else if(\"background\"!==s)if(r.source){const t=i.sources&&i.sources[r.source],a=t&&ot(t.type);t?\"vector\"===a&&\"raster\"===s?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster source`)):\"raster\"===a&&\"raster\"!==s?e.push(new it(n,r.source,`layer \"${r.id}\" requires a vector source`)):\"vector\"!==a||r[\"source-layer\"]?\"raster-dem\"===a&&\"hillshade\"!==s?e.push(new it(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===a&&t.lineMetrics||e.push(new it(n,r,`layer \"${r.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):e.push(new it(n,r,`layer \"${r.id}\" must specify a \"source-layer\"`)):e.push(new it(n,r.source,`source \"${r.source}\" not found`));}else e.push(new it(n,r,'missing required property \"source\"'));return e=e.concat(Ur({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":()=>[],type:()=>yn({key:`${n}.type`,value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"}),filter:rn,layout:t=>Ur({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":t=>on(st({layerType:s},t))}}),paint:t=>Ur({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":t=>sn(st({layerType:s},t))}})}})),e}function un(t){const e=t.value,r=t.key,n=Ar(e);return \"string\"!==n?[new it(r,e,`string expected, ${n} found`)]:[]}const cn={promoteId:function({key:t,value:e}){if(\"string\"===Ar(e))return un({key:t,value:e});{const r=[];for(const n in e)r.push(...un({key:`${t}.${n}`,value:e[n]}));return r}}};function hn(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return [new it(r,e,'\"type\" is required')];const a=ot(e.type);let s;switch(a){case\"vector\":case\"raster\":case\"raster-dem\":return s=Ur({key:r,value:e,valueSpec:n[`source_${a.replace(\"-\",\"_\")}`],style:t.style,styleSpec:n,objectElementValidators:cn}),s;case\"geojson\":if(s=Ur({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:cn}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],a=\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n;s.push(...Nr({key:`${r}.${t}.map`,value:i,expressionContext:\"cluster-map\"})),s.push(...Nr({key:`${r}.${t}.reduce`,value:a,expressionContext:\"cluster-reduce\"}));}return s;case\"video\":return Ur({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case\"image\":return Ur({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case\"canvas\":return [new it(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Kr({key:`${r}.type`,value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,styleSpec:n})}}function pn(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let a=[];const s=Ar(e);if(void 0===e)return a;if(\"object\"!==s)return a=a.concat([new it(\"light\",e,`object expected, ${s} found`)]),a;for(const t in e){const s=t.match(/^(.*)-transition$/);a=a.concat(s&&n[s[1]]&&n[s[1]].transition?yn({key:t,value:e[t],valueSpec:r.transition,style:i,styleSpec:r}):n[t]?yn({key:t,value:e[t],valueSpec:n[t],style:i,styleSpec:r}):[new it(t,e[t],`unknown property \"${t}\"`)]);}return a}function fn(t){const e=t.value,r=t.styleSpec,n=r.terrain,i=t.style;let a=[];const s=Ar(e);if(void 0===e)return a;if(\"object\"!==s)return a=a.concat([new it(\"terrain\",e,`object expected, ${s} found`)]),a;for(const t in e)a=a.concat(n[t]?yn({key:t,value:e[t],valueSpec:n[t],style:i,styleSpec:r}):[new it(t,e[t],`unknown property \"${t}\"`)]);return a}const dn={\"*\":()=>[],array:Or,boolean:function(t){const e=t.value,r=t.key,n=Ar(e);return \"boolean\"!==n?[new it(r,e,`boolean expected, ${n} found`)]:[]},number:qr,color:function(t){const e=t.key,r=t.value,n=Ar(r);return \"string\"!==n?[new it(e,r,`color expected, ${n} found`)]:null===zt(r)?[new it(e,r,`color expected, \"${r}\" found`)]:[]},constants:at,enum:Kr,filter:rn,function:jr,layer:ln,object:Ur,source:hn,light:pn,terrain:fn,string:un,formatted:function(t){return 0===un(t).length?[]:Nr(t)},resolvedImage:function(t){return 0===un(t).length?[]:Nr(t)},padding:function(t){const e=t.key,r=t.value;if(\"array\"===Ar(r)){if(r.length<1||r.length>4)return [new it(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const t={type:\"number\"};let n=[];for(let i=0;i[]}})),t.constants&&(r=r.concat(at({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),xn(r)}function xn(t){return [].concat(t).sort(((t,e)=>t.line-e.line))}function vn(t){return function(...e){return xn(t.apply(this,e))}}gn.source=vn(hn),gn.light=vn(pn),gn.terrain=vn(fn),gn.layer=vn(ln),gn.filter=vn(rn),gn.paintProperty=vn(sn),gn.layoutProperty=vn(on);const bn=gn,wn=bn.light,_n=bn.paintProperty,An=bn.layoutProperty;function kn(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new et(new Error(n.message))),r=!0;return r}class Sn{constructor(t,e,r){const n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(let t=0;t=u[l+0]&&n>=u[l+1])?(s[h]=!0,a.push(i[h])):s[h]=!1;}}}}_forEachCell(t,e,r,n,i,a,s,o){const l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let p=l;p<=c;p++)for(let l=u;l<=h;l++){const u=this.d*l+p;if((!o||o(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+1),this._convertFromCellCoord(l+1)))&&i.call(this,t,e,r,n,u,a,s,o))return}}_convertFromCellCoord(t){return (t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let r=0;for(let t=0;t=0)continue;const a=t[r];i[r]=In[n].shallow.indexOf(r)>=0?a:Bn(a,e);}t instanceof Error&&(i.message=t.message);}if(i.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return \"Object\"!==n&&(i.$name=n),i}throw new Error(\"can't serialize object of type \"+typeof t)}function Cn(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof Blob||zn(t)||A(t)||ArrayBuffer.isView(t)||t instanceof ImageData)return t;if(Array.isArray(t))return t.map(Cn);if(\"object\"==typeof t){const e=t.$name||\"Object\";if(!In[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=In[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(t);const n=Object.create(r.prototype);for(const r of Object.keys(t)){if(\"$name\"===r)continue;const i=t[r];n[r]=In[e].shallow.indexOf(r)>=0?i:Cn(i);}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}class Pn{constructor(){this.first=!0;}update(t,e){const r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,\"Arabic Supplement\":t=>t>=1872&&t<=1919,\"Arabic Extended-A\":t=>t>=2208&&t<=2303,\"Hangul Jamo\":t=>t>=4352&&t<=4607,\"Unified Canadian Aboriginal Syllabics\":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":t=>t>=6320&&t<=6399,\"General Punctuation\":t=>t>=8192&&t<=8303,\"Letterlike Symbols\":t=>t>=8448&&t<=8527,\"Number Forms\":t=>t>=8528&&t<=8591,\"Miscellaneous Technical\":t=>t>=8960&&t<=9215,\"Control Pictures\":t=>t>=9216&&t<=9279,\"Optical Character Recognition\":t=>t>=9280&&t<=9311,\"Enclosed Alphanumerics\":t=>t>=9312&&t<=9471,\"Geometric Shapes\":t=>t>=9632&&t<=9727,\"Miscellaneous Symbols\":t=>t>=9728&&t<=9983,\"Miscellaneous Symbols and Arrows\":t=>t>=11008&&t<=11263,\"CJK Radicals Supplement\":t=>t>=11904&&t<=12031,\"Kangxi Radicals\":t=>t>=12032&&t<=12255,\"Ideographic Description Characters\":t=>t>=12272&&t<=12287,\"CJK Symbols and Punctuation\":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,\"Hangul Compatibility Jamo\":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,\"Bopomofo Extended\":t=>t>=12704&&t<=12735,\"CJK Strokes\":t=>t>=12736&&t<=12783,\"Katakana Phonetic Extensions\":t=>t>=12784&&t<=12799,\"Enclosed CJK Letters and Months\":t=>t>=12800&&t<=13055,\"CJK Compatibility\":t=>t>=13056&&t<=13311,\"CJK Unified Ideographs Extension A\":t=>t>=13312&&t<=19903,\"Yijing Hexagram Symbols\":t=>t>=19904&&t<=19967,\"CJK Unified Ideographs\":t=>t>=19968&&t<=40959,\"Yi Syllables\":t=>t>=40960&&t<=42127,\"Yi Radicals\":t=>t>=42128&&t<=42191,\"Hangul Jamo Extended-A\":t=>t>=43360&&t<=43391,\"Hangul Syllables\":t=>t>=44032&&t<=55215,\"Hangul Jamo Extended-B\":t=>t>=55216&&t<=55295,\"Private Use Area\":t=>t>=57344&&t<=63743,\"CJK Compatibility Ideographs\":t=>t>=63744&&t<=64255,\"Arabic Presentation Forms-A\":t=>t>=64336&&t<=65023,\"Vertical Forms\":t=>t>=65040&&t<=65055,\"CJK Compatibility Forms\":t=>t>=65072&&t<=65103,\"Small Form Variants\":t=>t>=65104&&t<=65135,\"Arabic Presentation Forms-B\":t=>t>=65136&&t<=65279,\"Halfwidth and Fullwidth Forms\":t=>t>=65280&&t<=65519};function En(t){for(const e of t)if(Ln(e.charCodeAt(0)))return !0;return !1}function Fn(t){for(const e of t)if(!Tn(e.charCodeAt(0)))return !1;return !0}function Tn(t){return !(Vn.Arabic(t)||Vn[\"Arabic Supplement\"](t)||Vn[\"Arabic Extended-A\"](t)||Vn[\"Arabic Presentation Forms-A\"](t)||Vn[\"Arabic Presentation Forms-B\"](t))}function Ln(t){return !(746!==t&&747!==t&&(t<4352||!(Vn[\"Bopomofo Extended\"](t)||Vn.Bopomofo(t)||Vn[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||Vn[\"CJK Compatibility Ideographs\"](t)||Vn[\"CJK Compatibility\"](t)||Vn[\"CJK Radicals Supplement\"](t)||Vn[\"CJK Strokes\"](t)||!(!Vn[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Vn[\"CJK Unified Ideographs Extension A\"](t)||Vn[\"CJK Unified Ideographs\"](t)||Vn[\"Enclosed CJK Letters and Months\"](t)||Vn[\"Hangul Compatibility Jamo\"](t)||Vn[\"Hangul Jamo Extended-A\"](t)||Vn[\"Hangul Jamo Extended-B\"](t)||Vn[\"Hangul Jamo\"](t)||Vn[\"Hangul Syllables\"](t)||Vn.Hiragana(t)||Vn[\"Ideographic Description Characters\"](t)||Vn.Kanbun(t)||Vn[\"Kangxi Radicals\"](t)||Vn[\"Katakana Phonetic Extensions\"](t)||Vn.Katakana(t)&&12540!==t||!(!Vn[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Vn[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Vn[\"Unified Canadian Aboriginal Syllabics\"](t)||Vn[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||Vn[\"Vertical Forms\"](t)||Vn[\"Yijing Hexagram Symbols\"](t)||Vn[\"Yi Syllables\"](t)||Vn[\"Yi Radicals\"](t))))}function Dn(t){return !(Ln(t)||function(t){return !!(Vn[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Vn[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Vn[\"Letterlike Symbols\"](t)||Vn[\"Number Forms\"](t)||Vn[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Vn[\"Control Pictures\"](t)&&9251!==t||Vn[\"Optical Character Recognition\"](t)||Vn[\"Enclosed Alphanumerics\"](t)||Vn[\"Geometric Shapes\"](t)||Vn[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||Vn[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Vn[\"CJK Symbols and Punctuation\"](t)||Vn.Katakana(t)||Vn[\"Private Use Area\"](t)||Vn[\"CJK Compatibility Forms\"](t)||Vn[\"Small Form Variants\"](t)||Vn[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function $n(t){return t>=1424&&t<=2303||Vn[\"Arabic Presentation Forms-A\"](t)||Vn[\"Arabic Presentation Forms-B\"](t)}function Rn(t,e){return !(!e&&$n(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Vn.Khmer(t))}function Un(t){for(const e of t)if($n(e.charCodeAt(0)))return !0;return !1}const On=\"deferred\",qn=\"loading\",jn=\"loaded\";let Nn=null,Kn=\"unavailable\",Zn=null;const Gn=function(t){t&&\"string\"==typeof t&&t.indexOf(\"NetworkError\")>-1&&(Kn=\"error\"),Nn&&Nn(t);};function Jn(){Xn.fire(new tt(\"pluginStateChange\",{pluginStatus:Kn,pluginURL:Zn}));}const Xn=new rt,Yn=function(){return Kn},Hn=function(){if(Kn!==On||!Zn)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");Kn=qn,Jn(),Zn&&Z({url:Zn},(t=>{t?Gn(t):(Kn=jn,Jn());}));},Wn={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Kn===jn||null!=Wn.applyArabicShaping,isLoading:()=>Kn===qn,setState(t){Kn=t.pluginStatus,Zn=t.pluginURL;},isParsed:()=>null!=Wn.applyArabicShaping&&null!=Wn.processBidirectionalText&&null!=Wn.processStyledBidirectionalText,getPluginURL:()=>Zn};class Qn{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Pn,this.transition={});}isSupportedScript(t){return function(t,e){for(const r of t)if(!Rn(r.charCodeAt(0),e))return !1;return !0}(t,Wn.isLoaded())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}}}class ti{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(kr(t))return new $r(t,e);if(Er(t)){const r=Dr(t,e);if(\"error\"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return r.value}{let r=t;return \"color\"===e.type&&\"string\"==typeof t?r=Ft.parse(t):\"padding\"!==e.type||\"number\"!=typeof t&&!Array.isArray(t)||(r=$t.parse(t)),{kind:\"constant\",evaluate:()=>r}}}(void 0===e?t.specification.default:e,t.specification);}isDataDriven(){return \"source\"===this.expression.kind||\"composite\"===this.expression.kind}possiblyEvaluate(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)}}class ei{constructor(t){this.property=t,this.value=new ti(t,void 0);}transitioned(t,e){return new ni(this.property,this.value,e,o({},t.transition,this.transition),t.now)}untransitioned(){return new ni(this.property,this.value,null,{},0)}}class ri{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);}getValue(t){return p(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new ei(this._values[t].property)),this._values[t].value=new ti(this._values[t].property,null===e?void 0:p(e));}getTransition(t){return p(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new ei(this._values[t].property)),this._values[t].transition=p(e)||void 0;}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n);}return t}transitioned(t,e){const r=new ii(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(t,e._values[n]);return r}untransitioned(){const t=new ii(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class ni{constructor(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);}possiblyEvaluate(t,e,r){const n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(s))}}return i}}class ii{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);}possiblyEvaluate(t,e,r){const n=new oi(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return !0;return !1}}class ai{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);}getValue(t){return p(this._values[t].value)}setValue(t,e){this._values[t]=new ti(this._values[t].property,null===e?void 0:p(e));}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);}return t}possiblyEvaluate(t,e,r){const n=new oi(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}}class si{constructor(t,e,r){this.property=t,this.value=e,this.parameters=r;}isConstant(){return \"constant\"===this.value.kind}constantOr(t){return \"constant\"===this.value.kind?this.value.value:t}evaluate(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)}}class oi{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);}get(t){return this._values[t]}}class li{constructor(t){this.specification=t;}possiblyEvaluate(t,e){return t.expression.evaluate(e)}interpolate(t,e,r){const n=Ie[this.specification.type];return n?n(t,e,r):t}}class ui{constructor(t,e){this.specification=t,this.overrides=e;}possiblyEvaluate(t,e,r,n){return new si(this,\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)}interpolate(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new si(this,{kind:\"constant\",value:void 0},t.parameters);const n=Ie[this.specification.type];return n?new si(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.parameters):t}evaluate(t,e,r,n,i,a){return \"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,a)}}class ci extends ui{possiblyEvaluate(t,e,r,n){if(void 0===t.value)return new si(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n),a=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,s=this._calculate(a,a,a,e);return new si(this,{kind:\"constant\",value:s},e)}if(\"camera\"===t.expression.kind){const r=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new si(this,{kind:\"constant\",value:r},e)}return new si(this,t.expression,e)}evaluate(t,e,r,n,i,a){if(\"source\"===t.kind){const s=t.evaluate(e,r,n,i,a);return this._calculate(s,s,s,e)}return \"composite\"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class hi{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Qn(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Qn(Math.floor(e.zoom),e)),t.expression.evaluate(new Qn(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class pi{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)}interpolate(){return !1}}class fi{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const r=t[e];r.specification.overridable&&this.overridableProperties.push(e);const n=this.defaultPropertyValues[e]=new ti(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new ei(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}}}Mn(\"DataDrivenProperty\",ui),Mn(\"DataConstantProperty\",li),Mn(\"CrossFadedDataDrivenProperty\",ci),Mn(\"CrossFadedProperty\",hi),Mn(\"ColorRampProperty\",pi);const di=\"-transition\";class yi extends rt{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},\"custom\"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,\"background\"!==t.type&&(this.source=t.source,this.sourceLayer=t[\"source-layer\"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new ai(e.layout)),e.paint)){this._transitionablePaint=new ri(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new oi(e.paint);}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return \"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,r={}){null!=e&&this._validate(An,`layers.${this.id}.layout.${t}`,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);}getPaintProperty(t){return t.endsWith(di)?this._transitionablePaint.getTransition(t.slice(0,-di.length)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e&&this._validate(_n,`layers.${this.id}.paint.${t}`,t,e,r))return !1;if(t.endsWith(di))return this._transitionablePaint.setTransition(t.slice(0,-di.length),e||void 0),!1;{const r=this._transitionablePaint._values[t],n=\"cross-faded-data-driven\"===r.property.specification[\"property-type\"],i=r.value.isDataDriven(),a=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const s=this._transitionablePaint._values[t].value;return s.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(t,a,s)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,r){return !1}isHidden(t){return !!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);}serialize(){const t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),h(t,((t,e)=>!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)))}_validate(t,e,r,n,i={}){return (!i||!1!==i.validate)&&kn(this,t.call(bn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:nt,style:{glyphs:!0,sprite:!0}}))}is3D(){return !1}isTileClipped(){return !1}hasOffscreenPass(){return !1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof si&&br(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return !0}return !1}}const mi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class gi{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8;}}class xi{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0);}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews());}clear(){this.length=0;}resize(t){this.reserve(t),this.length=t;}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function vi(t,e=1){let r=0,n=0;return {members:t.map((t=>{const i=mi[t.type].BYTES_PER_ELEMENT,a=r=bi(r,Math.max(e,i)),s=t.components||1;return n=Math.max(n,i),r+=i*s,{name:t.name,type:t.type,components:s,offset:a}})),size:bi(r,Math.max(n,e)),alignment:e}}function bi(t,e){return Math.ceil(t/e)*e}class wi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t}}wi.prototype.bytesPerElement=4,Mn(\"StructArrayLayout2i4\",wi);class _i extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t}}_i.prototype.bytesPerElement=8,Mn(\"StructArrayLayout4i8\",_i);class Ai extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,s){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=a,this.int16[o+5]=s,t}}Ai.prototype.bytesPerElement=12,Mn(\"StructArrayLayout2i4i12\",Ai);class ki extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,s){const o=4*t,l=8*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=s,t}}ki.prototype.bytesPerElement=8,Mn(\"StructArrayLayout2i4ub8\",ki);class Si extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t}}Si.prototype.bytesPerElement=8,Mn(\"StructArrayLayout2f8\",Si);class Ii extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l,u){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,s,o,l,u)}emplace(t,e,r,n,i,a,s,o,l,u,c){const h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=s,this.uint16[h+6]=o,this.uint16[h+7]=l,this.uint16[h+8]=u,this.uint16[h+9]=c,t}}Ii.prototype.bytesPerElement=20,Mn(\"StructArrayLayout10ui20\",Ii);class Mi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l,u,c,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,a,s,o,l,u,c,h)}emplace(t,e,r,n,i,a,s,o,l,u,c,h,p){const f=12*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=s,this.uint16[f+6]=o,this.uint16[f+7]=l,this.int16[f+8]=u,this.int16[f+9]=c,this.int16[f+10]=h,this.int16[f+11]=p,t}}Mi.prototype.bytesPerElement=24,Mn(\"StructArrayLayout4i4ui4i24\",Mi);class zi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}zi.prototype.bytesPerElement=12,Mn(\"StructArrayLayout3f12\",zi);class Bi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}Bi.prototype.bytesPerElement=4,Mn(\"StructArrayLayout1ul4\",Bi);class Ci extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l){const u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,s,o,l)}emplace(t,e,r,n,i,a,s,o,l,u){const c=10*t,h=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=s,this.uint32[h+3]=o,this.uint16[c+8]=l,this.uint16[c+9]=u,t}}Ci.prototype.bytesPerElement=20,Mn(\"StructArrayLayout6i1ul2ui20\",Ci);class Pi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,s){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=a,this.int16[o+5]=s,t}}Pi.prototype.bytesPerElement=12,Mn(\"StructArrayLayout2i2i2i12\",Pi);class Vi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)}emplace(t,e,r,n,i,a){const s=4*t,o=8*t;return this.float32[s+0]=e,this.float32[s+1]=r,this.float32[s+2]=n,this.int16[o+6]=i,this.int16[o+7]=a,t}}Vi.prototype.bytesPerElement=16,Mn(\"StructArrayLayout2f1f2i16\",Vi);class Ei extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=12*t,s=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[s+1]=n,this.float32[s+2]=i,t}}Ei.prototype.bytesPerElement=12,Mn(\"StructArrayLayout2ub2f12\",Ei);class Fi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t}}Fi.prototype.bytesPerElement=6,Mn(\"StructArrayLayout3ui6\",Fi);class Ti extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m){const g=this.length;return this.resize(g+1),this.emplace(g,t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m)}emplace(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g){const x=24*t,v=12*t,b=48*t;return this.int16[x+0]=e,this.int16[x+1]=r,this.uint16[x+2]=n,this.uint16[x+3]=i,this.uint32[v+2]=a,this.uint32[v+3]=s,this.uint32[v+4]=o,this.uint16[x+10]=l,this.uint16[x+11]=u,this.uint16[x+12]=c,this.float32[v+7]=h,this.float32[v+8]=p,this.uint8[b+36]=f,this.uint8[b+37]=d,this.uint8[b+38]=y,this.uint32[v+10]=m,this.int16[x+22]=g,t}}Ti.prototype.bytesPerElement=48,Mn(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Ti);class Li extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,k,S,I,M){const z=this.length;return this.resize(z+1),this.emplace(z,t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,k,S,I,M)}emplace(t,e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,k,S,I,M,z){const B=34*t,C=17*t;return this.int16[B+0]=e,this.int16[B+1]=r,this.int16[B+2]=n,this.int16[B+3]=i,this.int16[B+4]=a,this.int16[B+5]=s,this.int16[B+6]=o,this.int16[B+7]=l,this.uint16[B+8]=u,this.uint16[B+9]=c,this.uint16[B+10]=h,this.uint16[B+11]=p,this.uint16[B+12]=f,this.uint16[B+13]=d,this.uint16[B+14]=y,this.uint16[B+15]=m,this.uint16[B+16]=g,this.uint16[B+17]=x,this.uint16[B+18]=v,this.uint16[B+19]=b,this.uint16[B+20]=w,this.uint16[B+21]=_,this.uint16[B+22]=A,this.uint32[C+12]=k,this.float32[C+13]=S,this.float32[C+14]=I,this.float32[C+15]=M,this.float32[C+16]=z,t}}Li.prototype.bytesPerElement=68,Mn(\"StructArrayLayout8i15ui1ul4f68\",Li);class Di extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}Di.prototype.bytesPerElement=4,Mn(\"StructArrayLayout1f4\",Di);class $i extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t}}$i.prototype.bytesPerElement=6,Mn(\"StructArrayLayout3i6\",$i);class Ri extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t}}Ri.prototype.bytesPerElement=8,Mn(\"StructArrayLayout1ul2ui8\",Ri);class Ui extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t}}Ui.prototype.bytesPerElement=4,Mn(\"StructArrayLayout2ui4\",Ui);class Oi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}Oi.prototype.bytesPerElement=2,Mn(\"StructArrayLayout1ui2\",Oi);class qi extends xi{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t}}qi.prototype.bytesPerElement=16,Mn(\"StructArrayLayout4f16\",qi);class ji extends gi{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new S(this.anchorPointX,this.anchorPointY)}}ji.prototype.size=20;class Ni extends Ci{get(t){return new ji(this,t)}}Mn(\"CollisionBoxArray\",Ni);class Ki extends gi{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t;}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t;}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t;}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Ki.prototype.size=48;class Zi extends Ti{get(t){return new Ki(this,t)}}Mn(\"PlacedSymbolArray\",Zi);class Gi extends gi{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t;}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get textOffset0(){return this._structArray.float32[this._pos4+14]}get textOffset1(){return this._structArray.float32[this._pos4+15]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+16]}}Gi.prototype.size=68;class Ji extends Li{get(t){return new Gi(this,t)}}Mn(\"SymbolInstanceArray\",Ji);class Xi extends Di{getoffsetX(t){return this.float32[1*t+0]}}Mn(\"GlyphOffsetArray\",Xi);class Yi extends $i{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Mn(\"SymbolLineVertexArray\",Yi);class Hi extends gi{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Hi.prototype.size=8;class Wi extends Ri{get(t){return new Hi(this,t)}}Mn(\"FeatureIndexArray\",Wi);class Qi extends wi{}class ta extends wi{}class ea extends wi{}class ra extends Ai{}class na extends ki{}class ia extends Si{}class aa extends Ii{}class sa extends Mi{}class oa extends zi{}class la extends Bi{}class ua extends Pi{}class ca extends Ei{}class ha extends Fi{}class pa extends Ui{}const fa=vi([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:da}=fa;class ya{constructor(t=[]){this.segments=t;}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>ya.MAX_VERTEX_ARRAY_LENGTH&&d(`Max vertices per segment is ${ya.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>ya.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy();}static simpleSegment(t,e,r,n){return new ya([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function ma(t,e){return 256*(t=a(Math.floor(t),0,255))+a(Math.floor(e),0,255)}ya.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Mn(\"SegmentVector\",ya);const ga=vi([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var xa={exports:{}},va={exports:{}};va.exports=function(t,e){var r,n,i,a,s,o,l,u;for(n=t.length-(r=3&t.length),i=e,s=3432918353,o=461845907,u=0;u>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var ba={exports:{}};ba.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};var wa=va.exports,_a=ba.exports;xa.exports=wa,xa.exports.murmur3=wa,xa.exports.murmur2=_a;class Aa{constructor(){this.ids=[],this.positions=[],this.indexed=!1;}add(t,e,r,n){this.ids.push(ka(t)),this.positions.push(e,r,n);}getPositions(t){const e=ka(t);let r=0,n=this.ids.length-1;for(;r>1;this.ids[t]>=e?n=t:r=t+1;}const i=[];for(;this.ids[r]===e;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(t,e){const r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Sa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new Aa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function ka(t){const e=+t;return !isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:xa.exports(String(t))}function Sa(t,e,r,n){for(;r>1];let a=r-1,s=n+1;for(;;){do{a++;}while(t[a]i);if(a>=s)break;Ia(t,a,s),Ia(e,3*a,3*s),Ia(e,3*a+1,3*s+1),Ia(e,3*a+2,3*s+2);}s-r`u_${t}`)),this.type=r;}setUniform(t,e,r){t.set(r.constantOr(this.value));}getBinding(t,e,r){return \"color\"===this.type?new Ca(t,e):new za(t,e)}}class Fa{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1;}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr;}setUniform(t,e,r,n){const i=\"u_pattern_to\"===n?this.patternTo:\"u_pattern_from\"===n?this.patternFrom:\"u_pixel_ratio_to\"===n?this.pixelRatioTo:\"u_pixel_ratio_from\"===n?this.pixelRatioFrom:null;i&&t.set(i);}getBinding(t,e,r){return \"u_pattern\"===r.substr(0,9)?new Ba(t,e):new za(t,e)}}class Ta{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?2:1,offset:0}))),this.paintVertexArray=new n;}populatePaintArray(t,e,r,n,i){const a=this.paintVertexArray.length,s=this.expression.evaluate(new Qn(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,s);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i);}_setPaintValue(t,e,r){if(\"color\"===this.type){const n=Va(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?4:2,offset:0}))),this.paintVertexArray=new a;}populatePaintArray(t,e,r,n,i){const a=this.expression.evaluate(new Qn(this.zoom),e,{},n,[],i),s=this.expression.evaluate(new Qn(this.zoom+1),e,{},n,[],i),o=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(o,t,a,s);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a);}_setPaintValue(t,e,r,n){if(\"color\"===this.type){const i=Va(r),a=Va(n);for(let r=t;r`#define HAS_UNIFORM_${t}`)));}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const r=this.binders[e];if(r instanceof Ta||r instanceof La)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new $a(n,e,r);this.needsUpload=!1,this._featureMap=new Aa,this._bufferOffset=0;}populatePaintArrays(t,e,r,n,i,a){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;}updatePaintArrays(t,e,r,n){for(const i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(t,this._featureMap,e,i,n)||this.needsUpload;}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy();}}function Ua(t,e){return {\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[t]||[t.replace(`${e}-`,\"\").replace(/-/g,\"_\")]}function Oa(t,e,r){const n={color:{source:Si,composite:qi},number:{source:Di,composite:Si}},i=function(t){return {\"line-pattern\":{source:aa,composite:aa},\"fill-pattern\":{source:aa,composite:aa},\"fill-extrusion-pattern\":{source:aa,composite:aa}}[t]}(t);return i&&i[r]||n[e][r]}Mn(\"ConstantBinder\",Ea),Mn(\"CrossFadedConstantBinder\",Fa),Mn(\"SourceExpressionBinder\",Ta),Mn(\"CrossFadedCompositeBinder\",Da),Mn(\"CompositeExpressionBinder\",La),Mn(\"ProgramConfiguration\",$a,{omit:[\"_buffers\"]}),Mn(\"ProgramConfigurationSet\",Ra);var qa=8192;const ja=Math.pow(2,14)-1,Na=-ja-1;function Ka(t){const e=qa/t.extent,r=t.loadGeometry();for(let t=0;tr.x+1||sr.y+1)&&d(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\");}}return r}function Za(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?Ka(t):[]}}function Ga(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}class Ja{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ta,this.indexArray=new ha,this.segments=new ya,this.programConfigurations=new Ra(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){const n=this.layers[0],i=[];let a=null,s=!1;\"circle\"===n.type&&(a=n.layout.get(\"circle-sort-key\"),s=!a.isConstant());for(const{feature:e,id:n,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Za(e,t);if(!this.layers[0]._featureFilter.filter(new Qn(this.zoom),u,r))continue;const c=s?a.evaluate(u,{},r):void 0,h={id:n,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Ka(e),patterns:{},sortKey:c};i.push(h);}s&&i.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of i){const{geometry:i,index:a,sourceLayerIndex:s}=n,o=t[a].feature;this.addFeature(n,i,a,r),e.featureIndex.insert(o,i,a,s,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,da),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}addFeature(t,e,r,n){for(const r of e)for(const e of r){const r=e.x,n=e.y;if(r<0||r>=qa||n<0||n>=qa)continue;const i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),a=i.vertexLength;Ga(this.layoutVertexArray,r,n,-1,-1),Ga(this.layoutVertexArray,r,n,1,-1),Ga(this.layoutVertexArray,r,n,1,1),Ga(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),i.vertexLength+=4,i.primitiveLength+=2;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);}}function Xa(t,e){for(let r=0;r1){if(Qa(t,e))return !0;for(let n=0;n1?r:r.sub(e)._mult(i)._add(e))}function ns(t,e){let r,n,i,a=!1;for(let s=0;se.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);}return a}function is(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=s.y>e.y&&e.x<(s.x-a.x)*(e.y-a.y)/(s.y-a.y)+a.x&&(r=!r);}return r}function as(t,e,r){const n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return !1;const a=y(t,e,r[0]);return a!==y(t,e,r[1])||a!==y(t,e,r[2])||a!==y(t,e,r[3])}function ss(t,e,r){const n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function os(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ls(t,e,r,n,i){if(!e[0]&&!e[1])return t;const a=S.convert(e)._mult(i);\"viewport\"===r&&a._rotate(-n);const s=[];for(let e=0;et.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");const s=t.data,o=e.data;for(let l=0;l{e[t.evaluationKey]=a;const s=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*s.r/s.a),i.data[r+n+1]=Math.floor(255*s.g/s.a),i.data[r+n+2]=Math.floor(255*s.b/s.a),i.data[r+n+3]=Math.floor(255*s.a);};if(t.clips)for(let e=0,i=0;e80*r){n=a=t[0],i=s=t[1];for(var d=r;da&&(a=o),l>s&&(s=l);u=0!==(u=Math.max(a-n,s-i))?32767/u:0;}return $s(p,f,r,n,i,u,0),f}function Ls(t,e,r,n,i){var a,s;if(i===so(t,e,r,n)>0)for(a=e;a=e;a-=n)s=no(a,t[a],t[a+1],s);return s&&Hs(s,s.next)&&(io(s),s=s.next),s}function Ds(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Hs(n,n.next)&&0!==Ys(n.prev,n,n.next))n=n.next;else {if(io(n),(n=e=n.prev)===n.next)break;r=!0;}}while(r||n!==e);return e}function $s(t,e,r,n,i,a,s){if(t){!s&&a&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=Zs(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,s,o,l,u=1;do{for(r=t,t=null,a=null,s=0;r;){for(s++,n=r,o=0,e=0;e0||l>0&&n;)0!==o&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,o--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n;}a.nextZ=null,u*=2;}while(s>1)}(i);}(t,n,i,a);for(var o,l,u=t;t.prev!==t.next;)if(o=t.prev,l=t.next,a?Us(t,n,i,a):Rs(t))e.push(o.i/r|0),e.push(t.i/r|0),e.push(l.i/r|0),io(t),t=l.next,u=l.next;else if((t=l)===u){s?1===s?$s(t=Os(Ds(t),e,r),e,r,n,i,a,2):2===s&&qs(t,e,r,n,i,a):$s(Ds(t),e,r,n,i,a,1);break}}}function Rs(t){var e=t.prev,r=t,n=t.next;if(Ys(e,r,n)>=0)return !1;for(var i=e.x,a=r.x,s=n.x,o=e.y,l=r.y,u=n.y,c=ia?i>s?i:s:a>s?a:s,f=o>l?o>u?o:u:l>u?l:u,d=n.next;d!==e;){if(d.x>=c&&d.x<=p&&d.y>=h&&d.y<=f&&Js(i,o,a,l,s,u,d.x,d.y)&&Ys(d.prev,d,d.next)>=0)return !1;d=d.next;}return !0}function Us(t,e,r,n){var i=t.prev,a=t,s=t.next;if(Ys(i,a,s)>=0)return !1;for(var o=i.x,l=a.x,u=s.x,c=i.y,h=a.y,p=s.y,f=ol?o>u?o:u:l>u?l:u,m=c>h?c>p?c:p:h>p?h:p,g=Zs(f,d,e,r,n),x=Zs(y,m,e,r,n),v=t.prevZ,b=t.nextZ;v&&v.z>=g&&b&&b.z<=x;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==s&&Js(o,c,l,h,u,p,v.x,v.y)&&Ys(v.prev,v,v.next)>=0)return !1;if(v=v.prevZ,b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==s&&Js(o,c,l,h,u,p,b.x,b.y)&&Ys(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}for(;v&&v.z>=g;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==s&&Js(o,c,l,h,u,p,v.x,v.y)&&Ys(v.prev,v,v.next)>=0)return !1;v=v.prevZ;}for(;b&&b.z<=x;){if(b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==s&&Js(o,c,l,h,u,p,b.x,b.y)&&Ys(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}return !0}function Os(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Hs(i,a)&&Ws(i,n,n.next,a)&&eo(i,a)&&eo(a,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(a.i/r|0),io(n),io(n.next),n=t=a),n=n.next;}while(n!==t);return Ds(n)}function qs(t,e,r,n,i,a){var s=t;do{for(var o=s.next.next;o!==s.prev;){if(s.i!==o.i&&Xs(s,o)){var l=ro(s,o);return s=Ds(s,s.next),l=Ds(l,l.next),$s(s,e,r,n,i,a,0),void $s(l,e,r,n,i,a,0)}o=o.next;}s=s.next;}while(s!==t)}function js(t,e){return t.x-e.x}function Ns(t,e){var r=function(t,e){var r,n=e,i=t.x,a=t.y,s=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var o=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=i&&o>s&&(s=o,r=n.x=n.x&&n.x>=c&&i!==n.x&&Js(ar.x||n.x===r.x&&Ks(r,n)))&&(r=n,p=l)),n=n.next;}while(n!==u);return r}(t,e);if(!r)return e;var n=ro(r,t);return Ds(n,n.next),Ds(r,r.next)}function Ks(t,e){return Ys(t.prev,t,e.prev)<0&&Ys(e.next,t,t.next)<0}function Zs(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Gs(t){var e=t,r=t;do{(e.x=(t-s)*(a-o)&&(t-s)*(n-o)>=(r-s)*(e-o)&&(r-s)*(a-o)>=(i-s)*(n-o)}function Xs(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Ws(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(eo(t,e)&&eo(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(Ys(t.prev,t,e.prev)||Ys(t,e.prev,e))||Hs(t,e)&&Ys(t.prev,t,t.next)>0&&Ys(e.prev,e,e.next)>0)}function Ys(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Hs(t,e){return t.x===e.x&&t.y===e.y}function Ws(t,e,r,n){var i=to(Ys(t,e,r)),a=to(Ys(t,e,n)),s=to(Ys(r,n,t)),o=to(Ys(r,n,e));return i!==a&&s!==o||!(0!==i||!Qs(t,r,e))||!(0!==a||!Qs(t,n,e))||!(0!==s||!Qs(r,t,n))||!(0!==o||!Qs(r,e,n))}function Qs(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function to(t){return t>0?1:t<0?-1:0}function eo(t,e){return Ys(t.prev,t,t.next)<0?Ys(t,e,t.next)>=0&&Ys(t,t.prev,e)>=0:Ys(t,e,t.prev)<0||Ys(t,t.next,e)<0}function ro(t,e){var r=new ao(t.i,t.x,t.y),n=new ao(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function no(t,e,r,n){var i=new ao(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function io(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ);}function ao(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1;}function so(t,e,r,n){for(var i=0,a=e,s=r-n;ar;){if(n-r>600){var a=n-r+1,s=e-r+1,o=Math.log(a),l=.5*Math.exp(2*o/3),u=.5*Math.sqrt(o*l*(a-l)/a)*(s-a/2<0?-1:1);lo(t,e,Math.max(r,Math.floor(e-s*l/a+u)),Math.min(n,Math.floor(e+(a-s)*l/a+u)),i);}var c=t[e],h=r,p=n;for(uo(t,r,e),i(t[n],c)>0&&uo(t,r,n);h0;)p--;}0===i(t[r],c)?uo(t,r,p):uo(t,++p,n),p<=e&&(r=p+1),e<=p&&(n=p-1);}}function uo(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function co(t,e){return te?1:0}function ho(t,e){const r=t.length;if(r<=1)return [t];const n=[];let i,a;for(let e=0;e1)for(let t=0;t0&&r.holes.push(n+=t[i-1].length);}return r};class mo{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ea,this.indexArray=new ha,this.indexArray2=new pa,this.programConfigurations=new Ra(t.layers,t.zoom),this.segments=new ya,this.segments2=new ya,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=fo(\"fill\",this.layers,e);const n=this.layers[0].layout.get(\"fill-sort-key\"),i=!n.isConstant(),a=[];for(const{feature:s,id:o,index:l,sourceLayerIndex:u}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Za(s,t);if(!this.layers[0]._featureFilter.filter(new Qn(this.zoom),c,r))continue;const h=i?n.evaluate(c,{},r,e.availableImages):void 0,p={id:o,properties:s.properties,type:s.type,sourceLayerIndex:u,index:l,geometry:t?c.geometry:Ka(s),patterns:{},sortKey:h};a.push(p);}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:s}=n;if(this.hasPattern){const t=yo(\"fill\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,a,r,{});e.featureIndex.insert(t[a].feature,i,a,s,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Es),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy());}addFeature(t,e,r,n,i){for(const t of ho(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],a=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&a.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3;}if(i--,1===n||2===n)a+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&o.push(e),e=[]),e.push(new Ao(a,s));else {if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone());}}return e&&o.push(e),o},So.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,s=1/0,o=-1/0,l=1/0,u=-1/0;t.pos>3;}if(n--,1===r||2===r)(i+=t.readSVarint())o&&(o=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return [s,l,o,u]},So.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),s=this.extent*t,o=this.extent*e,l=this.loadGeometry(),u=So.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null;}return e}(r));}Co.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new zo(this._pbf,e,this.extent,this._keys,this._values)};var Vo=Bo;function Eo(t,e,r){if(3===t){var n=new Vo(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}_o.VectorTile=function(t,e){this.layers=t.readFields(Eo,{},e);},_o.VectorTileFeature=ko,_o.VectorTileLayer=Bo;const Fo=_o.VectorTileFeature.types,To=Math.pow(2,13);function Lo(t,e,r,n,i,a,s,o){t.emplaceBack(e,r,2*Math.floor(n*To)+s,i*To*2,a*To*2,Math.round(o));}class Do{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.centroidVertexArray=new Qi,this.indexArray=new ha,this.programConfigurations=new Ra(t.layers,t.zoom),this.segments=new ya,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.features=[],this.hasPattern=fo(\"fill-extrusion\",this.layers,e);for(const{feature:n,id:i,index:a,sourceLayerIndex:s}of t){const t=this.layers[0]._featureFilter.needGeometry,o=Za(n,t);if(!this.layers[0]._featureFilter.filter(new Qn(this.zoom),o,r))continue;const l={id:i,sourceLayerIndex:s,index:a,geometry:t?o.geometry:Ka(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(yo(\"fill-extrusion\",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,a,r,{}),e.featureIndex.insert(n,l.geometry,a,s,this.index,!0);}}addFeatures(t,e,r){for(const t of this.features){const{geometry:n}=t;this.addFeature(t,n,t.index,e,r);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,wo),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,bo.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy());}addFeature(t,e,r,n,i){const a={x:0,y:0,vertexCount:0};for(const r of ho(e,500)){let e=0;for(const t of r)e+=t.length;let n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of r){if(0===t.length)continue;if(Ro(t))continue;let e=0;for(let r=0;r=1){const s=t[r-1];if(!$o(i,s)){n.vertexLength+4>ya.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=i.sub(s)._perp()._unit(),r=s.dist(i);e+r>32768&&(e=0),Lo(this.layoutVertexArray,i.x,i.y,t.x,t.y,0,0,e),Lo(this.layoutVertexArray,i.x,i.y,t.x,t.y,0,1,e),a.x+=2*i.x,a.y+=2*i.y,a.vertexCount+=2,e+=r,Lo(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,0,e),Lo(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,1,e),a.x+=2*s.x,a.y+=2*s.y,a.vertexCount+=2;const o=n.vertexLength;this.indexArray.emplaceBack(o,o+2,o+1),this.indexArray.emplaceBack(o+1,o+2,o+3),n.vertexLength+=4,n.primitiveLength+=2;}}}}if(n.vertexLength+e>ya.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray)),\"Polygon\"!==Fo[t.type])continue;const i=[],s=[],o=n.vertexLength;for(const t of r)if(0!==t.length){t!==r[0]&&s.push(i.length/2);for(let e=0;eqa)||t.y===e.y&&(t.y<0||t.y>qa)}function Ro(t){return t.every((t=>t.x<0))||t.every((t=>t.x>qa))||t.every((t=>t.y<0))||t.every((t=>t.y>qa))}Mn(\"FillExtrusionBucket\",Do,{omit:[\"layers\",\"features\"]});var Uo={paint:new fi({\"fill-extrusion-opacity\":new li(nt[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new ui(nt[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new li(nt[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new li(nt[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new ci(nt[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new ui(nt[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new ui(nt[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new li(nt[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})};function Oo(t,e){return t.x*e.x+t.y*e.y}function qo(t,e){if(1===t.length){let r=0;const n=e[r++];let i;for(;!i||n.equals(i);)if(i=e[r++],!i)return 1/0;for(;rt.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={};})),this.layoutVertexArray=new na,this.layoutVertexArray2=new ia,this.indexArray=new ha,this.programConfigurations=new Ra(t.layers,t.zoom),this.segments=new ya,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=fo(\"line\",this.layers,e);const n=this.layers[0].layout.get(\"line-sort-key\"),i=!n.isConstant(),a=[];for(const{feature:e,id:s,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Za(e,t);if(!this.layers[0]._featureFilter.filter(new Qn(this.zoom),u,r))continue;const c=i?n.evaluate(u,{},r):void 0,h={id:s,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Ka(e),patterns:{},sortKey:c};a.push(h);}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:s}=n;if(this.hasPattern){const t=yo(\"line\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,a,r,{});e.featureIndex.insert(t[a].feature,i,a,s,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Zo)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,No),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_end\"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i){const a=this.layers[0].layout,s=a.get(\"line-join\").evaluate(t,{}),o=a.get(\"line-cap\"),l=a.get(\"line-miter-limit\"),u=a.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,s,o,l,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);}addLine(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[o-1].equals(t[o-2]);)o--;let l=0;for(;l0;if(w&&e>l){const t=h.dist(p);if(t>2*u){const e=h.sub(h.sub(p)._mult(u/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,d,0,0,c),p=e;}}const A=p&&f;let k=A?r:s?\"butt\":n;if(A&&\"round\"===k&&(vi&&(k=\"bevel\"),\"bevel\"===k&&(v>2&&(k=\"flipbevel\"),v100)m=y.mult(-1);else {const t=v*d.add(y).mag()/d.sub(y).mag();m._perp()._mult(t*(_?-1:1));}this.addCurrentVertex(h,m,0,0,c),this.addCurrentVertex(h,m.mult(-1),0,0,c);}else if(\"bevel\"===k||\"fakeround\"===k){const t=-Math.sqrt(v*v-1),e=_?t:0,r=_?0:t;if(p&&this.addCurrentVertex(h,d,e,r,c),\"fakeround\"===k){const t=Math.round(180*b/Math.PI/20);for(let e=1;e2*u){const e=h.add(f.sub(h)._mult(u/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,y,0,0,c),h=e;}}}}addCurrentVertex(t,e,r,n,i,a=!1){const s=e.y*n-e.x,o=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,a,!1,r,i),this.addHalfVertex(t,s,o,a,!0,-n,i),this.distance>Xo/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a));}addHalfVertex({x:t,y:e},r,n,i,a,s,o){const l=.5*(this.lineClips?this.scaledDistance*(Xo-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(a?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===s?0:s<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),a?this.e2=u:this.e1=u;}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance;}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance();}}Mn(\"LineBucket\",Yo,{omit:[\"layers\",\"patternFeatures\"]});const Ho=new fi({\"line-cap\":new li(nt.layout_line[\"line-cap\"]),\"line-join\":new ui(nt.layout_line[\"line-join\"]),\"line-miter-limit\":new li(nt.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new li(nt.layout_line[\"line-round-limit\"]),\"line-sort-key\":new ui(nt.layout_line[\"line-sort-key\"])});var Wo={paint:new fi({\"line-opacity\":new ui(nt.paint_line[\"line-opacity\"]),\"line-color\":new ui(nt.paint_line[\"line-color\"]),\"line-translate\":new li(nt.paint_line[\"line-translate\"]),\"line-translate-anchor\":new li(nt.paint_line[\"line-translate-anchor\"]),\"line-width\":new ui(nt.paint_line[\"line-width\"]),\"line-gap-width\":new ui(nt.paint_line[\"line-gap-width\"]),\"line-offset\":new ui(nt.paint_line[\"line-offset\"]),\"line-blur\":new ui(nt.paint_line[\"line-blur\"]),\"line-dasharray\":new hi(nt.paint_line[\"line-dasharray\"]),\"line-pattern\":new ci(nt.paint_line[\"line-pattern\"]),\"line-gradient\":new pi(nt.paint_line[\"line-gradient\"])}),layout:Ho};const Qo=new class extends ui{possiblyEvaluate(t,e){return e=new Qn(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,r,n){return e=o({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}(Wo.paint.properties[\"line-width\"].specification);function tl(t,e){return e>0?e+2*t:t}Qo.useIntegerZoom=!0;const el=vi([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),rl=vi([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);vi([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);const nl=vi([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]);vi([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);const il=vi([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),al=vi([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function sl(t,e,r){return t.sections.forEach((t=>{t.text=function(t,e,r){const n=e.layout.get(\"text-transform\").evaluate(r,{});return \"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),Wn.applyArabicShaping&&(t=Wn.applyArabicShaping(t)),t}(t.text,e,r);})),t}vi([{name:\"triangle\",components:3,type:\"Uint16\"}]),vi([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),vi([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),vi([{type:\"Float32\",name:\"offsetX\"}]),vi([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);const ol={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};var ll=24,ul=pl,cl=function(t,e,r,n,i){var a,s,o=8*i-n-1,l=(1<>1,c=-7,h=r?i-1:0,p=r?-1:1,f=t[e+h];for(h+=p,a=f&(1<<-c)-1,f>>=-c,c+=o;c>0;a=256*a+t[e+h],h+=p,c-=8);for(s=a&(1<<-c)-1,a>>=-c,c+=n;c>0;s=256*s+t[e+h],h+=p,c-=8);if(0===a)a=1-u;else {if(a===l)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,n),a-=u;}return (f?-1:1)*s*Math.pow(2,a-n)},hl=function(t,e,r,n,i,a){var s,o,l,u=8*a-i-1,c=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),(e+=s+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=c?(o=0,s=c):s+h>=1?(o=(e*l-1)*Math.pow(2,i),s+=h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;t[r+f]=255&o,f+=d,o/=256,i-=8);for(s=s<0;t[r+f]=255&s,f+=d,s/=256,u-=8);t[r+f-d]|=128*y;};function pl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}pl.Varint=0,pl.Fixed64=1,pl.Bytes=2,pl.Fixed32=5;var fl,dl=4294967296,yl=1/dl,ml=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function gl(t){return t.type===pl.Bytes?t.readVarint()+t.pos:t.pos+1}function xl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function vl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i];}function bl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function Pl(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function Vl(t,e,r){1===t&&r.readMessage(El,e);}function El(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:a,left:s,top:o,advance:l}=r.readMessage(Fl,{});e.push({id:t,bitmap:new zs({width:i+6,height:a+6},n),metrics:{width:i,height:a,left:s,top:o,advance:l}});}}function Fl(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint());}function Tl(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,a=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,a=Math.max(a,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();t>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Bl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Pl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Bl(this.buf,this.pos)+Bl(this.buf,this.pos+4)*dl;return this.pos+=8,t},readSFixed64:function(){var t=Bl(this.buf,this.pos)+Pl(this.buf,this.pos+4)*dl;return this.pos+=8,t},readFloat:function(){var t=cl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=cl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return xl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return xl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return xl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return xl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return xl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return xl(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&ml?function(t,e,r){return ml.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(s=t[i+2],128==(192&(a=t[i+1]))&&128==(192&s)&&((u=(15&l)<<12|(63&a)<<6|63&s)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(s=t[i+2],o=t[i+3],128==(192&(a=t[i+1]))&&128==(192&s)&&128==(192&o)&&((u=(15&l)<<18|(63&a)<<12|(63&s)<<6|63&o)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c;}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==pl.Bytes)return t.push(this.readVarint(e));var r=gl(this);for(t=t||[];this.pos127;);else if(e===pl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===pl.Fixed32)this.pos+=4;else {if(e!==pl.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8;}},writeTag:function(t,e){this.writeVarint(t<<3|e);},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))));}(n,e);}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))));},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t);},writeBoolean:function(t){this.writeVarint(Boolean(t));},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null;}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128);}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&vl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),hl(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),hl(this.buf,t,this.pos,!0,52,8),this.pos+=8;},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&vl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,pl.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,bl,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,wl,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,kl,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,_l,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Al,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Sl,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Il,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Ml,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,zl,e);},writeBytesField:function(t,e){this.writeTag(t,pl.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,pl.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,pl.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,pl.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,pl.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,pl.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,pl.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};class Ll{constructor(t,{pixelRatio:e,version:r,stretchX:n,stretchY:i,content:a}){this.paddedRect=t,this.pixelRatio=e,this.stretchX=n,this.stretchY=i,this.content=a,this.version=r;}get tl(){return [this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return [this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return [(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class Dl{constructor(t,e){const r={},n={};this.haveRenderCallbacks=[];const i=[];this.addImages(t,r,i),this.addImages(e,n,i);const{w:a,h:s}=Tl(i),o=new Bs({width:a||1,height:s||1});for(const e in t){const n=t[e],i=r[e].paddedRect;Bs.copy(n.data,o,{x:0,y:0},{x:i.x+1,y:i.y+1},n.data);}for(const t in e){const r=e[t],i=n[t].paddedRect,a=i.x+1,s=i.y+1,l=r.data.width,u=r.data.height;Bs.copy(r.data,o,{x:0,y:0},{x:a,y:s},r.data),Bs.copy(r.data,o,{x:0,y:u-1},{x:a,y:s-1},{width:l,height:1}),Bs.copy(r.data,o,{x:0,y:0},{x:a,y:s+u},{width:l,height:1}),Bs.copy(r.data,o,{x:l-1,y:0},{x:a-1,y:s},{width:1,height:u}),Bs.copy(r.data,o,{x:0,y:0},{x:a+l,y:s},{width:1,height:u});}this.image=o,this.iconPositions=r,this.patternPositions=n;}addImages(t,e,r){for(const n in t){const i=t[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),e[n]=new Ll(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n);}}patchUpdatedImages(t,e){t.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const r in t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e);}patchUpdatedImage(t,e,r){if(!t||!e)return;if(t.version===e.version)return;t.version=e.version;const[n,i]=t.tl;r.update(e.data,void 0,{x:n,y:i});}}Mn(\"ImagePosition\",Ll),Mn(\"ImageAtlas\",Dl),t.WritingMode=void 0,(fl=t.WritingMode||(t.WritingMode={}))[fl.none=0]=\"none\",fl[fl.horizontal=1]=\"horizontal\",fl[fl.vertical=2]=\"vertical\",fl[fl.horizontalOnly=3]=\"horizontalOnly\";const $l=-17;class Rl{constructor(){this.scale=1,this.fontStack=\"\",this.imageName=null;}static forText(t,e){const r=new Rl;return r.scale=t||1,r.fontStack=e,r}static forImage(t){const e=new Rl;return e.imageName=t,e}}class Ul{constructor(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null;}static fromFeature(t,e){const r=new Ul;for(let n=0;n=0&&r>=t&&ql[this.text.charCodeAt(r)];r--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e);}substring(t,e){const r=new Ul;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Rl.forText(t.scale,t.fontStack||e));const r=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Ol(e,r,n,i,a,s,o,l,u,c,h,p,f,d,y,m){const g=Ul.fromFeature(e,a);let x;p===t.WritingMode.vertical&&g.verticalizePunctuation();const{processBidirectionalText:v,processStyledBidirectionalText:b}=Wn;if(v&&1===g.sections.length){x=[];const t=v(g.toString(),Xl(g,c,s,r,i,d,y));for(const e of t){const t=new Ul;t.text=e,t.sections=g.sections;for(let r=0;r0&&n>_&&(_=n);}else {const t=n[y.fontStack],e=t&&t[g];if(e&&e.rect)A=e.rect,b=e.metrics;else {const t=r[y.fontStack],e=t&&t[g];if(!e)continue;b=e.metrics;}x=(a-y.scale)*ll;}I?(e.verticalizable=!0,w.push({glyph:g,imageName:k,x:f,y:d+x,vertical:I,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=S*y.scale+c):(w.push({glyph:g,imageName:k,x:f,y:d+x,vertical:I,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=b.advance*y.scale+c);}0!==w.length&&(y=Math.max(f-c,y),Hl(w,0,w.length-1,g,_)),f=0;const A=s*a+_;b.lineOffset=Math.max(_,l),d+=A,m=Math.max(A,m),++x;}var v;const b=d-$l,{horizontalAlign:w,verticalAlign:_}=Yl(o);((function(t,e,r,n,i,a,s,o,l){const u=(e-r)*i;let c=0;c=a!==s?-o*n-$l:(-n*l+.5)*s;for(const e of t)for(const t of e.positionedGlyphs)t.x+=u,t.y+=c;}))(e.positionedLines,g,w,_,y,m,s,b,a.length),e.top+=-_*b,e.bottom=e.top+b,e.left+=-w*y,e.right=e.left+y;}(_,r,n,i,x,o,l,u,p,c,f,m),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return !1;return !0}(w)&&_}const ql={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},jl={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function Nl(t,e,r,n,i,a){if(e.imageName){const t=n[e.imageName];return t?t.displaySize[0]*e.scale*ll/a+i:0}{const n=r[e.fontStack],a=n&&n[t];return a?a.metrics.advance*e.scale+i:0}}function Kl(t,e,r,n){const i=Math.pow(t-e,2);return n?t=0;let c=0;for(let r=0;r-r/2;){if(s--,s<0)return !1;o-=t[s].dist(a),a=t[s];}o+=t[s].dist(t[s+1]),s++;const l=[];let u=0;for(;on;)u-=l.shift().angleDelta;if(u>i)return !1;s++,o+=e.dist(r);}return !0}function iu(t){let e=0;for(let r=0;ru){const c=(u-l)/a,h=Se(n.x,i.x,c),p=Se(n.y,i.y,c),f=new ru(h,p,i.angleTo(n),r);return f._round(),!s||nu(t,f,o,s,e)?f:void 0}l+=a;}}function lu(t,e,r,n,i,a,s,o,l){const u=au(n,a,s),c=su(n,i),h=c*s,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&g=0&&x=0&&p+u<=c){const r=new ru(g,x,y,e);r._round(),n&&!nu(t,r,a,n,i)||f.push(r);}}h+=d;}return o||f.length||s||(f=uu(t,h/2,r,n,i,a,s,!0,l)),f}function cu(t,e,r,n,i){const a=[];for(let s=0;s=n&&u.x>=n||(s.x>=n?s=new S(n,s.y+(n-s.x)/(u.x-s.x)*(u.y-s.y))._round():u.x>=n&&(u=new S(n,s.y+(n-s.x)/(u.x-s.x)*(u.y-s.y))._round()),s.y>=i&&u.y>=i||(s.y>=i?s=new S(s.x+(i-s.y)/(u.y-s.y)*(u.x-s.x),i)._round():u.y>=i&&(u=new S(s.x+(i-s.y)/(u.y-s.y)*(u.x-s.x),i)._round()),l&&s.equals(l[l.length-1])||(l=[s],a.push(l)),l.push(u)))));}}return a}function hu(t,e,r,n){const i=[],a=t.image,s=a.pixelRatio,o=a.paddedRect.w-2,l=a.paddedRect.h-2,u=t.right-t.left,c=t.bottom-t.top,h=a.stretchX||[[0,o]],p=a.stretchY||[[0,l]],f=(t,e)=>t+e[1]-e[0],d=h.reduce(f,0),y=p.reduce(f,0),m=o-d,g=l-y;let x=0,v=d,b=0,w=y,_=0,A=m,k=0,I=g;if(a.content&&n){const t=a.content;x=pu(h,0,t[0]),b=pu(p,0,t[1]),v=pu(h,t[0],t[2]),w=pu(p,t[1],t[3]),_=t[0]-x,k=t[1]-b,A=t[2]-t[0]-v,I=t[3]-t[1]-w;}const M=(n,i,o,l)=>{const h=du(n.stretch-x,v,u,t.left),p=yu(n.fixed-_,A,n.stretch,d),f=du(i.stretch-b,w,c,t.top),m=yu(i.fixed-k,I,i.stretch,y),g=du(o.stretch-x,v,u,t.left),M=yu(o.fixed-_,A,o.stretch,d),z=du(l.stretch-b,w,c,t.top),B=yu(l.fixed-k,I,l.stretch,y),C=new S(h,f),P=new S(g,f),V=new S(g,z),E=new S(h,z),F=new S(p/s,m/s),T=new S(M/s,B/s),L=e*Math.PI/180;if(L){const t=Math.sin(L),e=Math.cos(L),r=[e,-t,t,e];C._matMult(r),P._matMult(r),E._matMult(r),V._matMult(r);}const D=n.stretch+n.fixed,$=i.stretch+i.fixed;return {tl:C,tr:P,bl:E,br:V,tex:{x:a.paddedRect.x+1+D,y:a.paddedRect.y+1+$,w:o.stretch+o.fixed-D,h:l.stretch+l.fixed-$},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:F,pixelOffsetBR:T,minFontScaleX:A/s/u,minFontScaleY:I/s/c,isSDF:r}};if(n&&(a.stretchX||a.stretchY)){const t=fu(h,m,d),e=fu(p,g,y);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n);}else {let l=a.top*s-o[0],c=a.bottom*s+o[2],h=a.left*s-o[3],p=a.right*s+o[1];const f=a.collisionPadding;if(f&&(h-=f[0]*s,l-=f[1]*s,p+=f[2]*s,c+=f[3]*s),u){const t=new S(h,l),e=new S(p,l),r=new S(h,c),n=new S(p,c),i=u*Math.PI/180;t._rotate(i),e._rotate(i),r._rotate(i),n._rotate(i),h=Math.min(t.x,e.x,r.x,n.x),p=Math.max(t.x,e.x,r.x,n.x),l=Math.min(t.y,e.y,r.y,n.y),c=Math.max(t.y,e.y,r.y,n.y);}t.emplaceBack(e.x,e.y,h,l,p,c,r,n,i);}this.boxEndIndex=t.length;}}class gu{constructor(t=[],e=xu){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this.length++,this._up(this.length-1);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=a,t=n;}e[t]=i;}}function xu(t,e){return te?1:0}function vu(t,e=1,r=!1){let n=1/0,i=1/0,a=-1/0,s=-1/0;const o=t[0];for(let t=0;ta)&&(a=e.x),(!t||e.y>s)&&(s=e.y);}const l=Math.min(a-n,s-i);let u=l/2;const c=new gu([],bu);if(0===l)return new S(n,i);for(let e=n;eh.d||!h.d)&&(h=n,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*n.d)/1e4,p)),n.max-h.d<=e||(u=n.h/2,c.push(new wu(n.p.x-u,n.p.y-u,u,t)),c.push(new wu(n.p.x+u,n.p.y-u,u,t)),c.push(new wu(n.p.x-u,n.p.y+u,u,t)),c.push(new wu(n.p.x+u,n.p.y+u,u,t)),p+=4);}return r&&(console.log(`num probes: ${p}`),console.log(`best distance: ${h.d}`)),h.p}function bu(t,e){return e.max-t.max}function wu(t,e,r,n){this.p=new S(t,e),this.h=r,this.d=function(t,e){let r=!1,n=1/0;for(let i=0;it.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(r=!r),n=Math.min(n,rs(t,i,o));}}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}const _u=Number.POSITIVE_INFINITY;function Au(t,e){return e[1]!==_u?function(t,e,r){let n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-7;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=7-r;}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e;}return [n,i]}(t,e[0],e[1]):function(t,e){let r=0,n=0;e<0&&(e=0);const i=e/Math.sqrt(2);switch(t){case\"top-right\":case\"top-left\":n=i-7;break;case\"bottom-right\":case\"bottom-left\":n=7-i;break;case\"bottom\":n=7-e;break;case\"top\":n=e-7;}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e;}return [r,n]}(t,e[0])}function ku(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return \"right\";case\"left\":case\"top-left\":case\"bottom-left\":return \"left\"}return \"center\"}function Su(e,r,n,i,a,s,o,l,u,c,h){let p=s.textMaxSize.evaluate(r,{});void 0===p&&(p=o);const f=e.layers[0].layout,y=f.get(\"icon-offset\").evaluate(r,{},h),m=zu(n.horizontal),g=o/24,x=e.tilePixelRatio*g,v=e.tilePixelRatio*p/24,b=e.tilePixelRatio*l,w=e.tilePixelRatio*f.get(\"symbol-spacing\"),_=f.get(\"text-padding\")*e.tilePixelRatio,A=function(t,e,r,n=1){const i=t.get(\"icon-padding\").evaluate(e,{},r),a=i&&i.values;return [a[0]*n,a[1]*n,a[2]*n,a[3]*n]}(f,r,h,e.tilePixelRatio),k=f.get(\"text-max-angle\")/180*Math.PI,S=\"viewport\"!==f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),I=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),M=f.get(\"symbol-placement\"),z=w/2,B=f.get(\"icon-text-fit\");let C;i&&\"none\"!==B&&(e.allowVerticalPlacement&&n.vertical&&(C=Ql(i,n.vertical,B,f.get(\"icon-text-fit-padding\"),y,g)),m&&(i=Ql(i,m,B,f.get(\"icon-text-fit-padding\"),y,g)));const P=(l,p)=>{p.x<0||p.x>=qa||p.y<0||p.y>=qa||function(e,r,n,i,a,s,o,l,u,c,h,p,f,y,m,g,x,v,b,w,_,A,k,S,I){const M=e.addToLineVertexArray(r,n);let z,B,C,P,V=0,E=0,F=0,T=0,L=-1,D=-1;const $={};let R=xa.exports(\"\"),U=0,O=0;if(void 0===l._unevaluatedLayout.getValue(\"text-radial-offset\")?[U,O]=l.layout.get(\"text-offset\").evaluate(_,{},S).map((t=>t*ll)):(U=l.layout.get(\"text-radial-offset\").evaluate(_,{},S)*ll,O=_u),e.allowVerticalPlacement&&i.vertical){const t=l.layout.get(\"text-rotate\").evaluate(_,{},S)+90;C=new mu(u,r,c,h,p,i.vertical,f,y,m,t),o&&(P=new mu(u,r,c,h,p,o,x,v,m,t));}if(a){const n=l.layout.get(\"icon-rotate\").evaluate(_,{}),i=\"none\"!==l.layout.get(\"icon-text-fit\"),s=hu(a,n,k,i),f=o?hu(o,n,k,i):void 0;B=new mu(u,r,c,h,p,a,x,v,!1,n),V=4*s.length;const y=e.iconSizeData;let m=null;\"source\"===y.kind?(m=[tu*l.layout.get(\"icon-size\").evaluate(_,{})],m[0]>Iu&&d(`${e.layerIds[0]}: Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".`)):\"composite\"===y.kind&&(m=[tu*A.compositeIconSizes[0].evaluate(_,{},S),tu*A.compositeIconSizes[1].evaluate(_,{},S)],(m[0]>Iu||m[1]>Iu)&&d(`${e.layerIds[0]}: Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".`)),e.addSymbols(e.icon,s,m,w,b,_,t.WritingMode.none,r,M.lineStartIndex,M.lineLength,-1,S),L=e.icon.placedSymbolArray.length-1,f&&(E=4*f.length,e.addSymbols(e.icon,f,m,w,b,_,t.WritingMode.vertical,r,M.lineStartIndex,M.lineLength,-1,S),D=e.icon.placedSymbolArray.length-1);}const q=Object.keys(i.horizontal);for(const n of q){const a=i.horizontal[n];if(!z){R=xa.exports(a.text);const t=l.layout.get(\"text-rotate\").evaluate(_,{},S);z=new mu(u,r,c,h,p,a,f,y,m,t);}const o=1===a.positionedLines.length;if(F+=Mu(e,r,a,s,l,m,_,g,M,i.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,o?q:[n],$,L,A,S),o)break}i.vertical&&(T+=Mu(e,r,i.vertical,s,l,m,_,g,M,t.WritingMode.vertical,[\"vertical\"],$,D,A,S));const j=z?z.boxStartIndex:e.collisionBoxArray.length,N=z?z.boxEndIndex:e.collisionBoxArray.length,K=C?C.boxStartIndex:e.collisionBoxArray.length,Z=C?C.boxEndIndex:e.collisionBoxArray.length,G=B?B.boxStartIndex:e.collisionBoxArray.length,J=B?B.boxEndIndex:e.collisionBoxArray.length,X=P?P.boxStartIndex:e.collisionBoxArray.length,Y=P?P.boxEndIndex:e.collisionBoxArray.length;let H=-1;const W=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;H=W(z,H),H=W(C,H),H=W(B,H),H=W(P,H);const Q=H>-1?1:0;Q&&(H*=I/ll),e.glyphOffsetArray.length>=Du.MAX_GLYPHS&&d(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==_.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,_.sortKey),e.symbolInstances.emplaceBack(r.x,r.y,$.right>=0?$.right:-1,$.center>=0?$.center:-1,$.left>=0?$.left:-1,$.vertical||-1,L,D,R,j,N,K,Z,G,J,X,Y,c,F,T,V,E,Q,0,f,U,O,H);}(e,p,l,n,i,a,C,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,x,[_,_,_,_],S,u,b,A,I,y,r,s,c,h,o);};if(\"line\"===M)for(const t of cu(r.geometry,0,0,qa,qa)){const r=lu(t,w,k,n.vertical||m,i,24,v,e.overscaling,qa);for(const n of r){const r=m;r&&Bu(e,r.text,z,n)||P(t,n);}}else if(\"line-center\"===M){for(const t of r.geometry)if(t.length>1){const e=ou(t,k,n.vertical||m,i,24,v);e&&P(t,e);}}else if(\"Polygon\"===r.type)for(const t of ho(r.geometry,0)){const e=vu(t,16);P(t[0],new ru(e.x,e.y,0));}else if(\"LineString\"===r.type)for(const t of r.geometry)P(t,new ru(t[0].x,t[0].y,0));else if(\"Point\"===r.type)for(const t of r.geometry)for(const e of t)P([e],new ru(e.x,e.y,0));}const Iu=32640;function Mu(t,e,r,n,i,a,s,o,l,u,c,h,p,f,y){const m=function(t,e,r,n,i,a,s,o){const l=n.layout.get(\"text-rotate\").evaluate(a,{})*Math.PI/180,u=[];for(const t of e.positionedLines)for(const n of t.positionedGlyphs){if(!n.rect)continue;const a=n.rect||{};let c=4,h=!0,p=1,f=0;const d=(i||o)&&n.vertical,y=n.metrics.advance*n.scale/2;if(o&&e.verticalizable){const e=(n.scale-1)*ll,r=(ll-n.metrics.width*n.scale)/2;f=t.lineOffset/2-(n.imageName?-r:e);}if(n.imageName){const t=s[n.imageName];h=t.sdf,p=t.pixelRatio,c=1/p;}const m=i?[n.x+y,n.y]:[0,0];let g=i?[0,0]:[n.x+y+r[0],n.y+r[1]-f],x=[0,0];d&&(x=g,g=[0,0]);const v=(n.metrics.left-c)*n.scale-y+g[0],b=(-n.metrics.top-c)*n.scale+g[1],w=v+a.w*n.scale/p,_=b+a.h*n.scale/p,A=new S(v,b),k=new S(w,b),I=new S(v,_),M=new S(w,_);if(d){const t=new S(-y,y-$l),e=-Math.PI/2,r=12-y,i=new S(22-r,-(n.imageName?r:0)),a=new S(...x);A._rotateAround(e,t)._add(i)._add(a),k._rotateAround(e,t)._add(i)._add(a),I._rotateAround(e,t)._add(i)._add(a),M._rotateAround(e,t)._add(i)._add(a);}if(l){const t=Math.sin(l),e=Math.cos(l),r=[e,-t,t,e];A._matMult(r),k._matMult(r),I._matMult(r),M._matMult(r);}const z=new S(0,0),B=new S(0,0);u.push({tl:A,tr:k,bl:I,br:M,tex:a,writingMode:e.writingMode,glyphOffset:m,sectionIndex:n.sectionIndex,isSDF:h,pixelOffsetTL:z,pixelOffsetBR:B,minFontScaleX:0,minFontScaleY:0});}return u}(0,r,o,i,a,s,n,t.allowVerticalPlacement),g=t.textSizeData;let x=null;\"source\"===g.kind?(x=[tu*i.layout.get(\"text-size\").evaluate(s,{})],x[0]>Iu&&d(`${t.layerIds[0]}: Value for \"text-size\" is >= 255. Reduce your \"text-size\".`)):\"composite\"===g.kind&&(x=[tu*f.compositeTextSizes[0].evaluate(s,{},y),tu*f.compositeTextSizes[1].evaluate(s,{},y)],(x[0]>Iu||x[1]>Iu)&&d(`${t.layerIds[0]}: Value for \"text-size\" is >= 255. Reduce your \"text-size\".`)),t.addSymbols(t.text,m,x,o,a,s,u,e,l.lineStartIndex,l.lineLength,p,y);for(const e of c)h[e]=t.text.placedSymbolArray.length-1;return 4*m.length}function zu(t){for(const e in t)return t[e];return null}function Bu(t,e,r,n){const i=t.compareText;if(e in i){const t=i[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])t.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=ds([]),this.placementViewportMatrix=ds([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=eu(this.zoom,r[\"text-size\"]),this.iconSizeData=eu(this.zoom,r[\"icon-size\"]);const n=this.layers[0].layout,i=n.get(\"symbol-sort-key\"),a=n.get(\"symbol-z-order\");this.canOverlap=\"never\"!==qu(n,\"text-overlap\",\"text-allow-overlap\")||\"never\"!==qu(n,\"icon-overlap\",\"icon-allow-overlap\")||n.get(\"text-ignore-placement\")||n.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==a&&!i.isConstant(),this.sortFeaturesByY=(\"viewport-y\"===a||\"auto\"===a&&!this.sortFeaturesByKey)&&this.canOverlap,\"point\"===n.get(\"symbol-placement\")&&(this.writingModes=n.get(\"text-writing-mode\").map((e=>t.WritingMode[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID;}createArrays(){this.text=new Tu(new Ra(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new Tu(new Ra(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Xi,this.lineVertexArray=new Yi,this.symbolInstances=new Ji;}calculateGlyphDependencies(t,e,r,n,i){for(let a=0;a0)&&(\"constant\"!==s.value.kind||s.value.value.length>0),c=\"constant\"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=a.get(\"symbol-sort-key\");if(this.features=[],!u&&!c)return;const p=r.iconDependencies,f=r.glyphDependencies,d=r.availableImages,y=new Qn(this.zoom);for(const{feature:r,id:o,index:l,sourceLayerIndex:m}of e){const e=i._featureFilter.needGeometry,g=Za(r,e);if(!i._featureFilter.filter(y,g,n))continue;let x,v;if(e||(g.geometry=Ka(r)),u){const t=i.getValueAndResolveTokens(\"text-field\",g,n,d),e=Dt.factory(t);Fu(e)&&(this.hasRTLText=!0),(!this.hasRTLText||\"unavailable\"===Yn()||this.hasRTLText&&Wn.isParsed())&&(x=sl(e,i,g));}if(c){const t=i.getValueAndResolveTokens(\"icon-image\",g,n,d);v=t instanceof Rt?t:Rt.fromString(t);}if(!x&&!v)continue;const b=this.sortFeaturesByKey?h.evaluate(g,{},n):void 0;if(this.features.push({id:o,text:x,icon:v,index:l,sourceLayerIndex:m,geometry:g.geometry,properties:r.properties,type:Cu[r.type],sortKey:b}),v&&(p[v.name]=!0),x){const e=s.evaluate(g,{},n).join(\",\"),r=\"viewport\"!==a.get(\"text-rotation-alignment\")&&\"point\"!==a.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.WritingMode.vertical)>=0;for(const t of x.sections)if(t.image)p[t.image.name]=!0;else {const n=En(x.toString()),i=t.fontStack||e,a=f[i]=f[i]||{};this.calculateGlyphDependencies(t.text,a,r,this.allowVerticalPlacement,n);}}}\"line\"===a.get(\"symbol-placement\")&&(this.features=function(t){const e={},r={},n=[];let i=0;function a(e){n.push(t[e]),i++;}function s(t,e,i){const a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function o(t,r,i){const a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return `${t}:${n.x}:${n.y}`}for(let u=0;ut.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey));}update(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r));}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment){let r=t.dist(e[t.segment+1]),n=t.dist(e[t.segment]);const i={};for(let n=t.segment+1;n=0;r--)i[r]={x:e[r].x,y:e[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=e[r-1].dist(e[r]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),a}addToSortKeyRanges(t,e){const r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,r)=>{t>=0&&r.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t);})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}}}Mn(\"SymbolBucket\",Du,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),Du.MAX_GLYPHS=65535,Du.addDynamicAttributes=Eu;const $u=new fi({\"symbol-placement\":new li(nt.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new li(nt.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new li(nt.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new ui(nt.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new li(nt.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new li(nt.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new li(nt.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new li(nt.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new li(nt.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new li(nt.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new ui(nt.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new li(nt.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new li(nt.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new ui(nt.layout_symbol[\"icon-image\"]),\"icon-rotate\":new ui(nt.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new ui(nt.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new li(nt.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new ui(nt.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new ui(nt.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new li(nt.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new li(nt.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new li(nt.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new ui(nt.layout_symbol[\"text-field\"]),\"text-font\":new ui(nt.layout_symbol[\"text-font\"]),\"text-size\":new ui(nt.layout_symbol[\"text-size\"]),\"text-max-width\":new ui(nt.layout_symbol[\"text-max-width\"]),\"text-line-height\":new li(nt.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new ui(nt.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new ui(nt.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new ui(nt.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new li(nt.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new ui(nt.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new li(nt.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new li(nt.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new ui(nt.layout_symbol[\"text-rotate\"]),\"text-padding\":new li(nt.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new li(nt.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new ui(nt.layout_symbol[\"text-transform\"]),\"text-offset\":new ui(nt.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new li(nt.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new li(nt.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new li(nt.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new li(nt.layout_symbol[\"text-optional\"])});var Ru={paint:new fi({\"icon-opacity\":new ui(nt.paint_symbol[\"icon-opacity\"]),\"icon-color\":new ui(nt.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new ui(nt.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new ui(nt.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new ui(nt.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new li(nt.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new li(nt.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new ui(nt.paint_symbol[\"text-opacity\"]),\"text-color\":new ui(nt.paint_symbol[\"text-color\"],{runtimeType:yt,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),\"text-halo-color\":new ui(nt.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new ui(nt.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new ui(nt.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new li(nt.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new li(nt.paint_symbol[\"text-translate-anchor\"])}),layout:$u};class Uu{constructor(t){this.type=t.property.overrides?t.property.overrides.runtimeType:ht,this.defaultValue=t;}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);}outputDefined(){return !1}serialize(){return null}}Mn(\"FormatSectionOverride\",Uu,{omit:[\"defaultValue\"]});class Ou extends yi{constructor(t){super(t,Ru);}recalculate(t,e){if(super.recalculate(t,e),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(this.layout._values[\"icon-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(this.layout._values[\"text-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=\"map\"===this.layout.get(\"text-rotation-alignment\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){const t=this.layout.get(\"text-writing-mode\");if(t){const e=[];for(const r of t)e.indexOf(r)<0&&e.push(r);this.layout._values[\"text-writing-mode\"]=e;}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"];}this._setPaintOverrides();}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Er(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>r in t?String(t[r]):\"\"))}(e.properties,i)}createBucket(t){return new Du(t)}queryRadius(){return 0}queryIntersectsFeature(){return !1}_setPaintOverrides(){for(const t of Ru.paint.overridableProperties){if(!Ou.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new Uu(e),n=new Vr(r,e.property.specification);let i=null;i=\"constant\"===e.value.kind||\"source\"===e.value.kind?new Tr(\"source\",n):new Lr(\"composite\",n,e.value.zoomStops,e.value._interpolationType),this.paint._values[t]=new si(e.property,i,e.parameters);}}_handleOverridablePaintPropertyUpdate(t,e,r){return !(!this.layout||e.isDataDriven()||r.isDataDriven())&&Ou.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get(\"text-field\"),n=Ru.paint.properties[e];let i=!1;const a=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof Dt)a(r.value.value.sections);else if(\"source\"===r.value.kind){const t=e=>{i||(e instanceof Nt&&qt(e.value)===vt?a(e.value.sections):e instanceof cr?a(e.sections):e.eachChild(t));},e=r.value;e._styleExpression&&t(e._styleExpression.expression);}return i}}function qu(t,e,r){let n=\"never\";const i=t.get(e);return i?n=i:t.get(r)&&(n=\"always\"),n}var ju={paint:new fi({\"background-color\":new li(nt.paint_background[\"background-color\"]),\"background-pattern\":new hi(nt.paint_background[\"background-pattern\"]),\"background-opacity\":new li(nt.paint_background[\"background-opacity\"])})},Nu={paint:new fi({\"raster-opacity\":new li(nt.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new li(nt.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new li(nt.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new li(nt.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new li(nt.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new li(nt.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new li(nt.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new li(nt.paint_raster[\"raster-fade-duration\"])})};class Ku extends yi{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl);},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl);},this.implementation=t;}is3D(){return \"3d\"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return !1}serialize(){}}const Zu={circle:class extends yi{constructor(t){super(t,cs);}createBucket(t){return new Ja(t)}queryRadius(t){const e=t;return ss(\"circle-radius\",this,e)+ss(\"circle-stroke-width\",this,e)+os(this.paint.get(\"circle-translate\"))}queryIntersectsFeature(t,e,r,n,i,a,s,o){const l=ls(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),a.angle,s),u=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r),c=\"map\"===this.paint.get(\"circle-pitch-alignment\"),h=c?l:function(t,e){return t.map((t=>_s(t,e)))}(l,o),p=c?u*s:u;for(const t of n)for(const e of t){const t=c?e:_s(e,o);let r=p;const n=bs([],[e.x,e.y,0,1],o);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?r*=n[3]/a.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(r*=a.cameraToCenterDistance/n[3]),Ya(h,t,r))return !0}return !1}},heatmap:class extends yi{constructor(t){super(t,ks),this._updateColorRamp();}createBucket(t){return new As(t)}_handleSpecialPaintPropertyUpdate(t){\"heatmap-color\"===t&&this._updateColorRamp();}_updateColorRamp(){this.colorRamp=Cs({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null;}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null);}queryRadius(){return 0}queryIntersectsFeature(){return !1}hasOffscreenPass(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility}},hillshade:class extends yi{constructor(t){super(t,Ps);}hasOffscreenPass(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility}},fill:class extends yi{constructor(t){super(t,xo);}recalculate(t,e){super.recalculate(t,e);const r=this.paint._values[\"fill-outline-color\"];\"constant\"===r.value.kind&&void 0===r.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"]);}createBucket(t){return new mo(t)}queryRadius(){return os(this.paint.get(\"fill-translate\"))}queryIntersectsFeature(t,e,r,n,i,a,s){return Ha(ls(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),a.angle,s),n)}isTileClipped(){return !0}},\"fill-extrusion\":class extends yi{constructor(t){super(t,Uo);}createBucket(t){return new Do(t)}queryRadius(){return os(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return !0}queryIntersectsFeature(t,e,r,n,i,a,s,o){const l=ls(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),a.angle,s),u=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),c=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),h=function(t,e,r,n){const i=[];for(const r of t){const t=[r.x,r.y,0,1];bs(t,t,e),i.push(new S(t[0]/t[3],t[1]/t[3]));}return i}(l,o),p=function(t,e,r,n){const i=[],a=[],s=n[8]*e,o=n[9]*e,l=n[10]*e,u=n[11]*e,c=n[8]*r,h=n[9]*r,p=n[10]*r,f=n[11]*r;for(const e of t){const t=[],r=[];for(const i of e){const e=i.x,a=i.y,d=n[0]*e+n[4]*a+n[12],y=n[1]*e+n[5]*a+n[13],m=n[2]*e+n[6]*a+n[14],g=n[3]*e+n[7]*a+n[15],x=m+l,v=g+u,b=d+c,w=y+h,_=m+p,A=g+f,k=new S((d+s)/v,(y+o)/v);k.z=x/v,t.push(k);const I=new S(b/A,w/A);I.z=_/A,r.push(I);}i.push(t),a.push(r);}return [i,a]}(n,c,u,o);return function(t,e,r){let n=1/0;Ha(r,e)&&(n=qo(r,e[0]));for(let i=0;i=3)for(let e=0;e{this._triggered=!1,this._callback();});}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback();}),0));}remove(){delete this._channel,this._callback=()=>{};}}const Ju=6371008.8;class Xu{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new Xu(s(this.lng,-180,180),this.lat)}toArray(){return [this.lng,this.lat]}toString(){return `LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ju*Math.acos(Math.min(i,1))}toBounds(t=0){const e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Yu(new Xu(this.lng-r,this.lat-e),new Xu(this.lng+r,this.lat+e))}static convert(t){if(t instanceof Xu)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Xu(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Xu(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}class Yu{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]));}setNorthEast(t){return this._ne=t instanceof Xu?new Xu(t.lng,t.lat):Xu.convert(t),this}setSouthWest(t){return this._sw=t instanceof Xu?new Xu(t.lng,t.lat):Xu.convert(t),this}extend(t){const e=this._sw,r=this._ne;let n,i;if(t instanceof Xu)n=t,i=t;else {if(!(t instanceof Yu))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Yu.convert(t)):this.extend(Xu.convert(t)):this;if(n=t._sw,i=t._ne,!n||!i)return this}return e||r?(e.lng=Math.min(n.lng,e.lng),e.lat=Math.min(n.lat,e.lat),r.lng=Math.max(i.lng,r.lng),r.lat=Math.max(i.lat,r.lat)):(this._sw=new Xu(n.lng,n.lat),this._ne=new Xu(i.lng,i.lat)),this}getCenter(){return new Xu((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new Xu(this.getWest(),this.getNorth())}getSouthEast(){return new Xu(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return [this._sw.toArray(),this._ne.toArray()]}toString(){return `LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return !(this._sw&&this._ne)}contains(t){const{lng:e,lat:r}=Xu.convert(t);let n=this._sw.lng<=e&&e<=this._ne.lng;return this._sw.lng>this._ne.lng&&(n=this._sw.lng>=e&&e>=this._ne.lng),this._sw.lat<=r&&r<=this._ne.lat&&n}static convert(t){return t instanceof Yu?t:t?new Yu(t):t}}const Hu=2*Math.PI*Ju;function Wu(t){return Hu*Math.cos(t*Math.PI/180)}function Qu(t){return (180+t)/360}function tc(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function ec(t,e){return t/Wu(e)}function rc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class nc{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r;}static fromLngLat(t,e=0){const r=Xu.convert(t);return new nc(Qu(r.lng),tc(r.lat),ec(e,r.lat))}toLngLat(){return new Xu(360*this.x-180,rc(this.y))}toAltitude(){return this.z*Wu(rc(this.y))}meterInMercatorCoordinateUnits(){return 1/Hu*(t=rc(this.y),1/Math.cos(t*Math.PI/180));var t;}}function ic(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return [t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class ac{constructor(t,e,r){this.z=t,this.x=e,this.y=r,this.key=lc(0,t,t,e,r);}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,r){const n=(a=this.y,s=this.z,o=ic(256*(i=this.x),256*(a=Math.pow(2,s)-a-1),s),l=ic(256*(i+1),256*(a+1),s),o[0]+\",\"+o[1]+\",\"+l[0]+\",\"+l[1]);var i,a,s,o,l;const u=function(t,e,r){let n,i=\"\";for(let a=t;a>0;a--)n=1<1?\"@2x\":\"\").replace(/{quadkey}/g,u).replace(/{bbox-epsg-3857}/g,n)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new S((t.x*e-this.x)*qa,(t.y*e-this.y)*qa)}toString(){return `${this.z}/${this.x}/${this.y}`}}class sc{constructor(t,e){this.wrap=t,this.canonical=e,this.key=lc(t,e.z,e.z,e.x,e.y);}}class oc{constructor(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new ac(r,+n,+i),this.key=lc(e,t,r,n,i);}clone(){return new oc(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){const e=this.canonical.z-t;return t>this.canonical.z?new oc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new oc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){const r=this.canonical.z-t;return t>this.canonical.z?lc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):lc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(t){if(t.wrap!==this.wrap)return !1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return [new oc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new oc(e,this.wrap,e,r,n),new oc(e,this.wrap,e,r+1,n),new oc(e,this.wrap,e,r,n+1),new oc(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return (e+1)*this.stride+(t+1)}_unpackMapbox(t,e,r){return (256*t*256+256*e+r)/10-1e4}_unpackTerrarium(t,e,r){return 256*t+e+r/256-32768}getPixels(){return new Bs({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");let n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,s=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:a=s-1;break;case 1:s=a+1;}const o=-e*this.dim,l=-r*this.dim;for(let e=a;e=0&&n[3]>=0&&o.insert(s,n[0],n[1],n[2],n[3]);}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new _o.VectorTile(new ul(this.rawTileData)).layers,this.sourceLayerCoder=new cc(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},a=qa/t.tileSize/t.scale,s=Jr(i.filter),o=t.queryGeometry,l=t.queryPadding*a,u=dc(o),c=this.grid.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l),h=dc(t.cameraQueryGeometry),p=this.grid3D.query(h.minX-l,h.minY-l,h.maxX+l,h.maxY+l,((e,r,n,i)=>function(t,e,r,n,i){for(const a of t)if(e<=a.x&&r<=a.y&&n>=a.x&&i>=a.y)return !0;const a=[new S(e,r),new S(e,i),new S(n,i),new S(n,r)];if(t.length>2)for(const e of a)if(is(t,e))return !0;for(let e=0;e(p||(p=Ka(e)),r.queryIntersectsFeature(o,e,n,p,this.z,t.transform,a,t.pixelPosMatrix))));}return f}loadMatchingFeature(t,e,r,n,i,a,s,l,u,c,h){const p=this.bucketLayerIDs[e];if(a&&!function(t,e){for(let r=0;r=0)return !0;return !1}(a,p))return;const f=this.sourceLayerCoder.decode(r),d=this.vtLayers[f].feature(n);if(i.needGeometry){const t=Za(d,!0);if(!i.filter(new Qn(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new Qn(this.tileID.overscaledZ),d))return;const y=this.getId(d,f);for(let e=0;e{const s=e instanceof oi?e.get(a):null;return s&&s.evaluate?s.evaluate(r,n,i):s}))}function dc(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const a of t)e=Math.min(e,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return {minX:e,minY:r,maxX:n,maxY:i}}function yc(t,e){return e-t}var mc;Mn(\"FeatureIndex\",pc,{omit:[\"rawTileData\",\"sourceLayerCoder\"]}),t.PerformanceMarkers=void 0,(mc=t.PerformanceMarkers||(t.PerformanceMarkers={})).create=\"create\",mc.load=\"load\",mc.fullLoad=\"fullLoad\";let gc=null,xc=[];const vc=1e3/30,bc={mark(t){performance.mark(t);},frame(t){const e=t;null!=gc&&xc.push(e-gc),gc=e;},clearMetrics(){gc=null,xc=[],performance.clearMeasures(\"loadTime\"),performance.clearMeasures(\"fullLoadTime\");for(const e in t.PerformanceMarkers)performance.clearMarks(t.PerformanceMarkers[e]);},getPerformanceMetrics(){performance.measure(\"loadTime\",t.PerformanceMarkers.create,t.PerformanceMarkers.load),performance.measure(\"fullLoadTime\",t.PerformanceMarkers.create,t.PerformanceMarkers.fullLoad);const e=performance.getEntriesByName(\"loadTime\")[0].duration,r=performance.getEntriesByName(\"fullLoadTime\")[0].duration,n=xc.length,i=1/(xc.reduce(((t,e)=>t+e),0)/n/1e3),a=xc.filter((t=>t>vc)).reduce(((t,e)=>t+(e-vc)/vc),0);return {loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100}}};t.AJAXError=q,t.ARRAY_TYPE=ps,t.Actor=class{constructor(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},u([\"receive\",\"process\"],this),this.invoker=new Gu(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=g()?t:window;}send(t,e,r,n,i=!1){const a=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[a]=r);const s=_(this.globalScope)?void 0:[];return this.target.postMessage({id:a,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:Bn(e,s)},s),{cancel:()=>{r&&delete this.callbacks[a],this.target.postMessage({id:a,type:\"\",targetMapId:n,sourceMapId:this.mapId});}}}receive(t){const e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(\"\"===e.type){delete this.tasks[r];const t=this.cancelCallbacks[r];delete this.cancelCallbacks[r],t&&t();}else g()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e);}process(){if(!this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e);}processTask(t,e){if(\"\"===e.type){const r=this.callbacks[t];delete this.callbacks[t],r&&(e.error?r(Cn(e.error)):r(null,Cn(e.data)));}else {let r=!1;const n=_(this.globalScope)?void 0:[],i=e.hasCallback?(e,i)=>{r=!0,delete this.cancelCallbacks[t],this.target.postMessage({id:t,type:\"\",sourceMapId:this.mapId,error:e?Bn(e):null,data:Bn(i,n)},n);}:t=>{r=!0;};let a=null;const s=Cn(e.data);if(this.parent[e.type])a=this.parent[e.type](e.sourceMapId,s,i);else if(this.parent.getWorkerSource){const t=e.type.split(\".\");a=this.parent.getWorkerSource(e.sourceMapId,t[0],s.source)[t[1]](s,i);}else i(new Error(`Could not find function ${e.type}`));!r&&a&&a.cancel&&(this.cancelCallbacks[t]=a.cancel);}}remove(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1);}},t.AlphaImage=zs,t.CanonicalTileID=ac,t.CollisionBoxArray=Ni,t.CollisionCircleLayoutArray=class extends Vi{},t.Color=Ft,t.DEMData=uc,t.DataConstantProperty=li,t.DictionaryCoder=cc,t.EXTENT=qa,t.ErrorEvent=et,t.EvaluationParameters=Qn,t.Event=tt,t.Evented=rt,t.FeatureIndex=pc,t.FillBucket=mo,t.FillExtrusionBucket=Do,t.GeoJSONFeature=hc,t.ImageAtlas=Dl,t.ImagePosition=Ll,t.LineBucket=Yo,t.LineStripIndexArray=class extends Oi{},t.LngLat=Xu,t.LngLatBounds=Yu,t.MercatorCoordinate=nc,t.ONE_EM=ll,t.OverscaledTileID=oc,t.PerformanceUtils=bc,t.PosArray=Qi,t.Properties=fi,t.QuadTriangleArray=class extends Fi{},t.RGBAImage=Bs,t.RasterBoundsArray=class extends _i{},t.RequestPerformance=class{constructor(t){this._marks={start:[t.url,\"start\"].join(\"#\"),end:[t.url,\"end\"].join(\"#\"),measure:t.url.toString()},performance.mark(this._marks.start);}finish(){performance.mark(this._marks.end);let t=performance.getEntriesByName(this._marks.measure);return 0===t.length&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),t=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),t}},t.ResourceType=O,t.SegmentVector=ya,t.SymbolBucket=Du,t.Transitionable=ri,t.TriangleIndexArray=ha,t.Uniform1f=za,t.Uniform1i=class extends Ma{constructor(t,e){super(t,e),this.current=0;}set(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t));}},t.Uniform2f=class extends Ma{constructor(t,e){super(t,e),this.current=[0,0];}set(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]));}},t.Uniform3f=class extends Ma{constructor(t,e){super(t,e),this.current=[0,0,0];}set(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]));}},t.Uniform4f=Ba,t.UniformColor=Ca,t.UniformMatrix4f=class extends Ma{constructor(t,e){super(t,e),this.current=Pa;}set(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(let e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}}},t.UnwrappedTileID=sc,t.ValidationError=it,t.ZoomHistory=Pn,t.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},t.addDynamicAttributes=Eu,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);let n=t.length;const i=new Array(t.length);let a=null;t.forEach(((t,s)=>{e(t,((t,e)=>{t&&(a=t),i[s]=e,0==--n&&r(a,i);}));}));},t.bezier=n,t.bindAll=u,t.cacheEntryPossiblyAdded=function(t){F++,F>V&&(t.getActor().send(\"enforceCacheSizeLimit\",P),F=0);},t.clamp=a,t.clearTileCache=function(t){const e=caches.delete(z);t&&e.catch(t).then((()=>t()));},t.clipLine=cu,t.clone=function(t){var e=new ps(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=p,t.clone$2=function(t){var e=new ps(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=al,t.config=M,t.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.create=function(){var t=new ps(16);return ps!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=fs,t.createExpression=Fr,t.createFilter=Jr,t.createLayout=vi,t.createStyleLayer=function(t){return \"custom\"===t.type?new Ku(t):new Zu[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],s=r[0],o=r[1],l=r[2];return t[0]=i*l-a*o,t[1]=a*s-n*l,t[2]=n*o-i*s,t},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=i,t.emitValidationErrors=kn,t.enforceCacheSizeLimit=function(t){E(),B&&B.then((e=>{e.keys().then((r=>{for(let n=0;n{}}},t.identity=ds,t.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],p=e[10],f=e[11],d=e[12],y=e[13],m=e[14],g=e[15],x=r*o-n*s,v=r*l-i*s,b=r*u-a*s,w=n*l-i*o,_=n*u-a*o,A=i*u-a*l,k=c*y-h*d,S=c*m-p*d,I=c*g-f*d,M=h*m-p*y,z=h*g-f*y,B=p*g-f*m,C=x*B-v*z+b*M+w*I-_*S+A*k;return C?(t[0]=(o*B-l*z+u*M)*(C=1/C),t[1]=(i*z-n*B-a*M)*C,t[2]=(y*A-m*_+g*w)*C,t[3]=(p*_-h*A-f*w)*C,t[4]=(l*I-s*B-u*S)*C,t[5]=(r*B-i*I+a*S)*C,t[6]=(m*b-d*A-g*v)*C,t[7]=(c*A-p*b+f*v)*C,t[8]=(s*z-o*I+u*k)*C,t[9]=(n*I-r*z-a*k)*C,t[10]=(d*_-y*b+g*x)*C,t[11]=(h*b-c*_-f*x)*C,t[12]=(o*S-s*M-l*k)*C,t[13]=(r*M-n*S+i*k)*C,t[14]=(y*v-d*w-m*x)*C,t[15]=(c*w-h*v+p*x)*C,t):null},t.isImageBitmap=A,t.isSafari=_,t.isWorker=g,t.keysDifference=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r},t.lazyLoadRTLTextPlugin=function(){Wn.isLoading()||Wn.isLoaded()||\"deferred\"!==Yn()||Hn();},t.makeRequest=K,t.mapObject=c,t.mercatorXfromLng=Qu,t.mercatorYfromLat=tc,t.mercatorZfromAltitude=ec,t.mul=gs,t.mul$1=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t},t.multiply=ys,t.nextPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},t.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Se,t.ortho=function(t,e,r,n,i,a,s){var o=1/(e-r),l=1/(n-i),u=1/(a-s);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*o,t[13]=(i+n)*l,t[14]=(s+a)*u,t[15]=1,t},t.parseCacheControl=x,t.parseGlyphPbf=function(t){return new ul(t).readFields(Vl,[])},t.pbf=ul,t.performSymbolLayout=function(e){e.bucket.createArrays(),e.bucket.tilePixelRatio=qa/(512*e.bucket.overscaling),e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;const r=e.bucket.layers[0].layout,n=e.bucket.layers[0]._unevaluatedLayout._values,i={layoutIconSize:n[\"icon-size\"].possiblyEvaluate(new Qn(e.bucket.zoom+1),e.canonical),layoutTextSize:n[\"text-size\"].possiblyEvaluate(new Qn(e.bucket.zoom+1),e.canonical),textMaxSize:n[\"text-size\"].possiblyEvaluate(new Qn(18))};if(\"composite\"===e.bucket.textSizeData.kind){const{minZoom:t,maxZoom:r}=e.bucket.textSizeData;i.compositeTextSizes=[n[\"text-size\"].possiblyEvaluate(new Qn(t),e.canonical),n[\"text-size\"].possiblyEvaluate(new Qn(r),e.canonical)];}if(\"composite\"===e.bucket.iconSizeData.kind){const{minZoom:t,maxZoom:r}=e.bucket.iconSizeData;i.compositeIconSizes=[n[\"icon-size\"].possiblyEvaluate(new Qn(t),e.canonical),n[\"icon-size\"].possiblyEvaluate(new Qn(r),e.canonical)];}const a=r.get(\"text-line-height\")*ll,s=\"viewport\"!==r.get(\"text-rotation-alignment\")&&\"point\"!==r.get(\"symbol-placement\"),o=r.get(\"text-keep-upright\"),l=r.get(\"text-size\");for(const n of e.bucket.features){const u=r.get(\"text-font\").evaluate(n,{},e.canonical).join(\",\"),c=l.evaluate(n,{},e.canonical),h=i.layoutTextSize.evaluate(n,{},e.canonical),p=i.layoutIconSize.evaluate(n,{},e.canonical),f={horizontal:{},vertical:void 0},y=n.text;let m,g=[0,0];if(y){const i=y.toString(),l=r.get(\"text-letter-spacing\").evaluate(n,{},e.canonical)*ll,p=Fn(i)?l:0,d=r.get(\"text-anchor\").evaluate(n,{},e.canonical),m=r.get(\"text-variable-anchor\");if(!m){const t=r.get(\"text-radial-offset\").evaluate(n,{},e.canonical);g=t?Au(d,[t*ll,_u]):r.get(\"text-offset\").evaluate(n,{},e.canonical).map((t=>t*ll));}let x=s?\"center\":r.get(\"text-justify\").evaluate(n,{},e.canonical);const v=r.get(\"symbol-placement\"),b=\"point\"===v?r.get(\"text-max-width\").evaluate(n,{},e.canonical)*ll:0,w=()=>{e.bucket.allowVerticalPlacement&&En(i)&&(f.vertical=Ol(y,e.glyphMap,e.glyphPositions,e.imagePositions,u,b,a,d,\"left\",p,g,t.WritingMode.vertical,!0,v,h,c));};if(!s&&m){const r=\"auto\"===x?m.map((t=>ku(t))):[x];let n=!1;for(let i=0;ithis._layers[e.id])),o=t[0];if(\"none\"===o.visibility)continue;const i=o.source||\"\";let r=this.familiesBySource[i];r||(r=this.familiesBySource[i]={});const n=o.sourceLayer||\"_geojsonTileLayer\";let s=r[n];s||(s=r[n]=[]),s.push(t);}}}class r{constructor(t){const o={},i=[];for(const e in t){const r=t[e],n=o[e]={};for(const e in r){const t=r[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;const o={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};i.push(o),n[e]={rect:o,metrics:t.metrics};}}const{w:r,h:n}=e.potpack(i),s=new e.AlphaImage({width:r||1,height:n||1});for(const i in t){const r=t[i];for(const t in r){const n=r[+t];if(!n||0===n.bitmap.width||0===n.bitmap.height)continue;const a=o[i][t].rect;e.AlphaImage.copy(n.bitmap,s,{x:0,y:0},{x:a.x+1,y:a.y+1},n.bitmap);}}this.image=s,this.positions=o;}}e.register(\"GlyphAtlas\",r);class n{constructor(t){this.tileID=new e.OverscaledTileID(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId;}parse(t,o,i,n,a){this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.CollisionBoxArray;const l=new e.DictionaryCoder(Object.keys(t.layers).sort()),c=new e.FeatureIndex(this.tileID,this.promoteId);c.bucketLayerIDs=[];const u={},h={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:i},p=o.familiesBySource[this.source];for(const o in p){const r=t.layers[o];if(!r)continue;1===r.version&&e.warnOnce(`Vector tile source \"${this.source}\" layer \"${o}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);const n=l.encode(o),a=[];for(let e=0;e=t.maxzoom||\"none\"!==t.visibility&&(s(e,this.zoom,i),(u[t.id]=t.createBucket({index:c.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:n,sourceID:this.source})).populate(a,h,this.tileID.canonical),c.bucketLayerIDs.push(e.map((e=>e.id))));}}let f,d,g,m;const y=e.mapObject(h.glyphDependencies,(e=>Object.keys(e).map(Number)));Object.keys(y).length?n.send(\"getGlyphs\",{uid:this.uid,stacks:y},((e,t)=>{f||(f=e,d=t,w.call(this));})):d={};const v=Object.keys(h.iconDependencies);v.length?n.send(\"getImages\",{icons:v,source:this.source,tileID:this.tileID,type:\"icons\"},((e,t)=>{f||(f=e,g=t,w.call(this));})):g={};const x=Object.keys(h.patternDependencies);function w(){if(f)return a(f);if(d&&g&&m){const t=new r(d),o=new e.ImageAtlas(g,m);for(const r in u){const n=u[r];n instanceof e.SymbolBucket?(s(n.layers,this.zoom,i),e.performSymbolLayout({bucket:n,glyphMap:d,glyphPositions:t.positions,imageMap:g,imagePositions:o.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):n.hasPattern&&(n instanceof e.LineBucket||n instanceof e.FillBucket||n instanceof e.FillExtrusionBucket)&&(s(n.layers,this.zoom,i),n.addFeatures(h,this.tileID.canonical,o.patternPositions));}this.status=\"done\",a(null,{buckets:Object.values(u).filter((e=>!e.isEmpty())),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:o,glyphMap:this.returnDependencies?d:null,iconMap:this.returnDependencies?g:null,glyphPositions:this.returnDependencies?t.positions:null});}}x.length?n.send(\"getImages\",{icons:x,source:this.source,tileID:this.tileID,type:\"patterns\"},((e,t)=>{f||(f=e,m=t,w.call(this));})):m={},w.call(this);}}function s(t,o,i){const r=new e.EvaluationParameters(o);for(const e of t)e.recalculate(r,i);}function a(t,o){const i=e.getArrayBuffer(t.request,((t,i,r,n)=>{t?o(t):i&&o(null,{vectorTile:new e.vectorTile.VectorTile(new e.pbf(i)),rawData:i,cacheControl:r,expires:n});}));return ()=>{i.cancel(),o();}}class l{constructor(e,t,o,i){this.actor=e,this.layerIndex=t,this.availableImages=o,this.loadVectorData=i||a,this.loading={},this.loaded={};}loadTile(t,o){const i=t.uid;this.loading||(this.loading={});const r=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request),s=this.loading[i]=new n(t);s.abort=this.loadVectorData(t,((t,n)=>{if(delete this.loading[i],t||!n)return s.status=\"done\",this.loaded[i]=s,o(t);const a=n.rawData,l={};n.expires&&(l.expires=n.expires),n.cacheControl&&(l.cacheControl=n.cacheControl);const c={};if(r){const e=r.finish();e&&(c.resourceTiming=JSON.parse(JSON.stringify(e)));}s.vectorTile=n.vectorTile,s.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor,((t,i)=>{if(t||!i)return o(t);o(null,e.extend({rawTileData:a.slice(0)},i,l,c));})),this.loaded=this.loaded||{},this.loaded[i]=s;}));}reloadTile(e,t){const o=this.loaded,i=e.uid,r=this;if(o&&o[i]){const n=o[i];n.showCollisionBoxes=e.showCollisionBoxes;const s=(e,o)=>{const i=n.reloadCallback;i&&(delete n.reloadCallback,n.parse(n.vectorTile,r.layerIndex,this.availableImages,r.actor,i)),t(e,o);};\"parsing\"===n.status?n.reloadCallback=s:\"done\"===n.status&&(n.vectorTile?n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s());}}abortTile(e,t){const o=this.loading,i=e.uid;o&&o[i]&&o[i].abort&&(o[i].abort(),delete o[i]),t();}removeTile(e,t){const o=this.loaded,i=e.uid;o&&o[i]&&delete o[i],t();}}class c{constructor(){this.loaded={};}loadTile(t,o){const{uid:i,encoding:r,rawImageData:n}=t,s=e.isImageBitmap(n)?this.getImageData(n):n,a=new e.DEMData(i,s,r);this.loaded=this.loaded||{},this.loaded[i]=a,o(null,a);}getImageData(t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);const o=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:o.width,height:o.height},o.data)}removeTile(e){const t=this.loaded,o=e.uid;t&&t[o]&&delete t[o];}}var u=function e(t,o){var i,r=t&&t.type;if(\"FeatureCollection\"===r)for(i=0;i=Math.abs(a)?o-l+a:a-l+o,o=l;}o+i>=0!=!!t&&e.reverse();}const f=e.vectorTile.VectorTileFeature.prototype.toGeoJSON;class d{constructor(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,\"id\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10));}loadGeometry(){if(1===this._feature.type){const t=[];for(const o of this._feature.geometry)t.push([new e.pointGeometry(o[0],o[1])]);return t}{const t=[];for(const o of this._feature.geometry){const i=[];for(const t of o)i.push(new e.pointGeometry(t[0],t[1]));t.push(i);}return t}}toGeoJSON(e,t,o){return f.call(this,e,t,o)}}class g{constructor(t){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=e.EXTENT,this.length=t.length,this._features=t;}feature(e){return new d(this._features[e])}}var m={exports:{}},y=e.pointGeometry,v=e.vectorTile.VectorTileFeature,x=w;function w(e,t){this.options=t||{},this.features=e,this.length=e.length;}function S(e,t){this.id=\"number\"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096;}w.prototype.feature=function(e){return new S(this.features[e],this.options.extent)},S.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var t=0;t>31}function D(e,t){for(var o=e.loadGeometry(),i=e.type,r=0,n=0,s=o.length,a=0;a>1;O(e,t,s,i,r,n%2),z(e,t,o,i,s-1,n+1),z(e,t,o,s+1,r,n+1);}function O(e,t,o,i,r,n){for(;r>i;){if(r-i>600){const s=r-i+1,a=o-i+1,l=Math.log(s),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(s-c)/s)*(a-s/2<0?-1:1);O(e,t,o,Math.max(i,Math.floor(o-a*c/s+u)),Math.min(r,Math.floor(o+(s-a)*c/s+u)),n);}const s=t[2*o+n];let a=i,l=r;for(E(e,t,i,o),t[2*r+n]>s&&E(e,t,i,r);as;)l--;}t[2*i+n]===s?E(e,t,i,l):(l++,E(e,t,l,r)),l<=o&&(i=l+1),o<=l&&(r=l-1);}}function E(e,t,o,i){F(e,o,i),F(t,2*o,2*i),F(t,2*o+1,2*i+1);}function F(e,t,o){const i=e[t];e[t]=e[o],e[o]=i;}function N(e,t,o,i){const r=e-o,n=t-i;return r*r+n*n}m.exports=b,m.exports.fromVectorTileJs=b,m.exports.fromGeojsonVt=function(e,t){t=t||{};var o={};for(var i in e)o[i]=new I(e[i].features,t),o[i].name=i,o[i].version=t.version,o[i].extent=t.extent;return b({layers:o})},m.exports.GeoJSONWrapper=I;const A=e=>e[0],B=e=>e[1];class J{constructor(e,t=A,o=B,i=64,r=Float64Array){this.nodeSize=i,this.points=e;const n=e.length<65536?Uint16Array:Uint32Array,s=this.ids=new n(e.length),a=this.coords=new r(2*e.length);for(let i=0;i=o&&c<=r&&u>=i&&u<=n&&l.push(e[s]);continue}const d=Math.floor((f+p)/2);c=t[2*d],u=t[2*d+1],c>=o&&c<=r&&u>=i&&u<=n&&l.push(e[d]);const g=(h+1)%2;(0===h?o<=c:i<=u)&&(a.push(f),a.push(d-1),a.push(g)),(0===h?r>=c:n>=u)&&(a.push(d+1),a.push(p),a.push(g));}return l}(this.ids,this.coords,e,t,o,i,this.nodeSize)}within(e,t,o){return function(e,t,o,i,r,n){const s=[0,e.length-1,0],a=[],l=r*r;for(;s.length;){const c=s.pop(),u=s.pop(),h=s.pop();if(u-h<=n){for(let r=h;r<=u;r++)N(t[2*r],t[2*r+1],o,i)<=l&&a.push(e[r]);continue}const p=Math.floor((h+u)/2),f=t[2*p],d=t[2*p+1];N(f,d,o,i)<=l&&a.push(e[p]);const g=(c+1)%2;(0===c?o-r<=f:i-r<=d)&&(s.push(h),s.push(p-1),s.push(g)),(0===c?o+r>=f:i+r>=d)&&(s.push(p+1),s.push(u),s.push(g));}return a}(this.ids,this.coords,e,t,o,this.nodeSize)}}const Z={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},G=Math.fround||(j=new Float32Array(1),e=>(j[0]=+e,j[0]));var j;class Y{constructor(e){this.options=H(Object.create(Z),e),this.trees=new Array(this.options.maxZoom+1);}load(e){const{log:t,minZoom:o,maxZoom:i,nodeSize:r}=this.options;t&&console.time(\"total time\");const n=`prepare ${e.length} points`;t&&console.time(n),this.points=e;let s=[];for(let t=0;t=o;e--){const o=+Date.now();s=this._cluster(s,e),this.trees[e]=new J(s,K,Q,r,Float32Array),t&&console.log(\"z%d: %d clusters in %dms\",e,s.length,+Date.now()-o);}return t&&console.timeEnd(\"total time\"),this}getClusters(e,t){let o=((e[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[1]));let r=180===e[2]?180:((e[2]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,r=180;else if(o>r){const e=this.getClusters([o,i,180,n],t),s=this.getClusters([-180,i,r,n],t);return e.concat(s)}const s=this.trees[this._limitZoom(t)],a=s.range(q(o),$(n),q(r),$(i)),l=[];for(const e of a){const t=s.points[e];l.push(t.numPoints?R(t):this.points[t.index]);}return l}getChildren(e){const t=this._getOriginId(e),o=this._getOriginZoom(e),i=\"No cluster with the specified id.\",r=this.trees[o];if(!r)throw new Error(i);const n=r.points[t];if(!n)throw new Error(i);const s=this.options.radius/(this.options.extent*Math.pow(2,o-1)),a=r.within(n.x,n.y,s),l=[];for(const t of a){const o=r.points[t];o.parentId===e&&l.push(o.numPoints?R(o):this.points[o.index]);}if(0===l.length)throw new Error(i);return l}getLeaves(e,t,o){const i=[];return this._appendLeaves(i,e,t=t||10,o=o||0,0),i}getTile(e,t,o){const i=this.trees[this._limitZoom(e)],r=Math.pow(2,e),{extent:n,radius:s}=this.options,a=s/n,l=(o-a)/r,c=(o+1+a)/r,u={features:[]};return this._addTileFeatures(i.range((t-a)/r,l,(t+1+a)/r,c),i.points,t,o,r,u),0===t&&this._addTileFeatures(i.range(1-a/r,l,1,c),i.points,r,o,r,u),t===r-1&&this._addTileFeatures(i.range(0,l,a/r,c),i.points,-1,o,r,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const o=this.getChildren(e);if(t++,1!==o.length)break;e=o[0].properties.cluster_id;}return t}_appendLeaves(e,t,o,i,r){const n=this.getChildren(t);for(const t of n){const n=t.properties;if(n&&n.cluster?r+n.point_count<=i?r+=n.point_count:r=this._appendLeaves(e,n.cluster_id,o,i,r):rt&&(h+=o.numPoints||1);}if(h>u&&h>=s){let e=r.x*u,s=r.y*u,a=n&&u>1?this._map(r,!0):null;const p=(i<<5)+(t+1)+this.points.length;for(const o of c){const i=l.points[o];if(i.zoom<=t)continue;i.zoom=t;const c=i.numPoints||1;e+=i.x*c,s+=i.y*c,i.parentId=p,n&&(a||(a=this._map(r,!0)),n(a,this._map(i)));}r.parentId=p,o.push(V(e/h,s/h,p,h,a));}else if(o.push(r),h>1)for(const e of c){const i=l.points[e];i.zoom<=t||(i.zoom=t,o.push(i));}}return o}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return (e-this.points.length)%32}_map(e,t){if(e.numPoints)return t?H({},e.properties):e.properties;const o=this.points[e.index].properties,i=this.options.map(o);return t&&i===o?H({},i):i}}function V(e,t,o,i,r){return {x:G(e),y:G(t),zoom:1/0,id:o,parentId:-1,numPoints:i,properties:r}}function X(e,t){const[o,i]=e.geometry.coordinates;return {x:G(q(o)),y:G($(i)),zoom:1/0,index:t,parentId:-1}}function R(e){return {type:\"Feature\",id:e.id,properties:W(e),geometry:{type:\"Point\",coordinates:[(t=e.x,360*(t-.5)),U(e.y)]}};var t;}function W(e){const t=e.numPoints,o=t>=1e4?`${Math.round(t/1e3)}k`:t>=1e3?Math.round(t/100)/10+\"k\":t;return H(H({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:o})}function q(e){return e/360+.5}function $(e){const t=Math.sin(e*Math.PI/180),o=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return o<0?0:o>1?1:o}function U(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function H(e,t){for(const o in t)e[o]=t[o];return e}function K(e){return e.x}function Q(e){return e.y}function ee(e,t,o,i){for(var r,n=i,s=o-t>>1,a=o-t,l=e[t],c=e[t+1],u=e[o],h=e[o+1],p=t+3;pn)r=p,n=f;else if(f===n){var d=Math.abs(p-s);di&&(r-t>3&&ee(e,t,r,i),e[r+2]=n,o-r>3&&ee(e,r,o,i));}function te(e,t,o,i,r,n){var s=r-o,a=n-i;if(0!==s||0!==a){var l=((e-o)*s+(t-i)*a)/(s*s+a*a);l>1?(o=r,i=n):l>0&&(o+=s*l,i+=a*l);}return (s=e-o)*s+(a=t-i)*a}function oe(e,t,o,i){var r={id:void 0===e?null:e,type:t,geometry:o,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,o=e.type;if(\"Point\"===o||\"MultiPoint\"===o||\"LineString\"===o)ie(e,t);else if(\"Polygon\"===o||\"MultiLineString\"===o)for(var i=0;i0&&(s+=i?(r*c-l*n)/2:Math.sqrt(Math.pow(l-r,2)+Math.pow(c-n,2))),r=l,n=c;}var u=t.length-3;t[2]=1,ee(t,0,u,o),t[u+2]=1,t.size=Math.abs(s),t.start=0,t.end=t.size;}function ae(e,t,o,i){for(var r=0;r1?1:o}function ue(e,t,o,i,r,n,s,a){if(i/=t,n>=(o/=t)&&s=i)return null;for(var l=[],c=0;c=o&&d=i)){var g=[];if(\"Point\"===p||\"MultiPoint\"===p)he(h,g,o,i,r);else if(\"LineString\"===p)pe(h,g,o,i,r,!1,a.lineMetrics);else if(\"MultiLineString\"===p)de(h,g,o,i,r,!1);else if(\"Polygon\"===p)de(h,g,o,i,r,!0);else if(\"MultiPolygon\"===p)for(var m=0;m=o&&s<=i&&(t.push(e[n]),t.push(e[n+1]),t.push(e[n+2]));}}function pe(e,t,o,i,r,n,s){for(var a,l,c=fe(e),u=0===r?me:ye,h=e.start,p=0;po&&(l=u(c,f,d,m,y,o),s&&(c.start=h+a*l)):v>i?x=o&&(l=u(c,f,d,m,y,o),w=!0),x>i&&v<=i&&(l=u(c,f,d,m,y,i),w=!0),!n&&w&&(s&&(c.end=h+a*l),t.push(c),c=fe(e)),s&&(h+=a);}var S=e.length-3;f=e[S],d=e[S+1],g=e[S+2],(v=0===r?f:d)>=o&&v<=i&&ge(c,f,d,g),S=c.length-3,n&&S>=3&&(c[S]!==c[0]||c[S+1]!==c[1])&&ge(c,c[0],c[1],c[2]),c.length&&t.push(c);}function fe(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function de(e,t,o,i,r,n){for(var s=0;ss.maxX&&(s.maxX=u),h>s.maxY&&(s.maxY=h);}return s}function Ie(e,t,o,i){var r=t.geometry,n=t.type,s=[];if(\"Point\"===n||\"MultiPoint\"===n)for(var a=0;a0&&t.size<(r?s:i))o.numPoints+=t.length/3;else {for(var a=[],l=0;ls)&&(o.numSimplified++,a.push(t[l]),a.push(t[l+1])),o.numPoints++;r&&function(e,t){for(var o=0,i=0,r=e.length,n=r-2;i0===t)for(i=0,r=e.length;i24)throw new Error(\"maxZoom should be in the 0-24 range\");if(t.promoteId&&t.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var i=function(e,t){var o=[];if(\"FeatureCollection\"===e.type)for(var i=0;i1&&console.time(\"creation\"),p=this.tiles[h]=Me(e,t,o,i,l),this.tileCoords.push({z:t,x:o,y:i}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,o,i,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd(\"creation\"));var f=\"z\"+t;this.stats[f]=(this.stats[f]||0)+1,this.total++;}if(p.source=e,r){if(t===l.maxZoom||t===r)continue;var d=1<1&&console.time(\"clipping\");var g,m,y,v,x,w,S=.5*l.buffer/l.extent,M=.5-S,I=.5+S,b=1+S;g=m=y=v=null,x=ue(e,u,o-S,o+I,0,p.minX,p.maxX,l),w=ue(e,u,o+M,o+b,0,p.minX,p.maxX,l),e=null,x&&(g=ue(x,u,i-S,i+I,1,p.minY,p.maxY,l),m=ue(x,u,i+M,i+b,1,p.minY,p.maxY,l),x=null),w&&(y=ue(w,u,i-S,i+I,1,p.minY,p.maxY,l),v=ue(w,u,i+M,i+b,1,p.minY,p.maxY,l),w=null),c>1&&console.timeEnd(\"clipping\"),a.push(g||[],t+1,2*o,2*i),a.push(m||[],t+1,2*o,2*i+1),a.push(y||[],t+1,2*o+1,2*i),a.push(v||[],t+1,2*o+1,2*i+1);}}},ke.prototype.getTile=function(e,t,o){var i=this.options,r=i.extent,n=i.debug;if(e<0||e>24)return null;var s=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,o);for(var l,c=e,u=t,h=o;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[Pe(c,u,h)];return l&&l.source?(n>1&&console.log(\"found parent tile z%d-%d-%d\",c,u,h),n>1&&console.time(\"drilling down\"),this.splitTile(l.source,c,u,h,e,t,o),n>1&&console.timeEnd(\"drilling down\"),this.tiles[a]?we(this.tiles[a],r):null):null};class Ce extends l{constructor(e,t,o,i){super(e,t,o,Te),i&&(this.loadGeoJSON=i);}loadData(t,o){var i;null===(i=this._pendingRequest)||void 0===i||i.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});const r=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request);this._pendingCallback=o,this._pendingRequest=this.loadGeoJSON(t,((i,n)=>{if(delete this._pendingCallback,delete this._pendingRequest,i||!n)return o(i);if(\"object\"!=typeof n)return o(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));{u(n,!0);try{if(t.filter){const o=e.createExpression(t.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===o.result)throw new Error(o.value.map((e=>`${e.key}: ${e.message}`)).join(\", \"));const i=n.features.filter((e=>o.value.evaluate({zoom:0},e)));n={type:\"FeatureCollection\",features:i};}this._geoJSONIndex=t.cluster?new Y(function({superclusterOptions:t,clusterProperties:o}){if(!o||!t)return t;const i={},r={},n={accumulated:null,zoom:0},s={properties:null},a=Object.keys(o);for(const t of a){const[n,s]=o[t],a=e.createExpression(s),l=e.createExpression(\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n);i[t]=a.value,r[t]=l.value;}return t.map=e=>{s.properties=e;const t={};for(const e of a)t[e]=i[e].evaluate(n,s);return t},t.reduce=(e,t)=>{s.properties=t;for(const t of a)n.accumulated=e[t],e[t]=r[t].evaluate(n,s);},t}(t)).load(n.features):function(e,t){return new ke(e,t)}(n,t.geojsonVtOptions);}catch(i){return o(i)}this.loaded={};const s={};if(r){const e=r.finish();e&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)));}o(null,s);}}));}reloadTile(e,t){const o=this.loaded;return o&&o[e.uid]?super.reloadTile(e,t):this.loadTile(e,t)}loadGeoJSON(t,o){if(t.request)return e.getJSON(t.request,o);if(\"string\"==typeof t.data)try{o(null,JSON.parse(t.data));}catch(e){o(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));}else o(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));return {cancel:()=>{}}}removeSource(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),t();}getClusterExpansionZoom(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId));}catch(e){t(e);}}getClusterChildren(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId));}catch(e){t(e);}}getClusterLeaves(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset));}catch(e){t(e);}}}class _e{constructor(t){this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:Ce},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(e,t)=>{if(this.workerSourceTypes[e])throw new Error(`Worker source with name \"${e}\" already registered.`);this.workerSourceTypes[e]=t;},this.self.registerRTLTextPlugin=t=>{if(e.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText;};}setReferrer(e,t){this.referrer=t;}setImages(e,t,o){this.availableImages[e]=t;for(const o in this.workerSources[e]){const i=this.workerSources[e][o];for(const e in i)i[e].availableImages=t;}o();}setLayers(e,t,o){this.getLayerIndex(e).replace(t),o();}updateLayers(e,t,o){this.getLayerIndex(e).update(t.layers,t.removedIds),o();}loadTile(e,t,o){this.getWorkerSource(e,t.type,t.source).loadTile(t,o);}loadDEMTile(e,t,o){this.getDEMWorkerSource(e,t.source).loadTile(t,o);}reloadTile(e,t,o){this.getWorkerSource(e,t.type,t.source).reloadTile(t,o);}abortTile(e,t,o){this.getWorkerSource(e,t.type,t.source).abortTile(t,o);}removeTile(e,t,o){this.getWorkerSource(e,t.type,t.source).removeTile(t,o);}removeDEMTile(e,t){this.getDEMWorkerSource(e,t.source).removeTile(t);}removeSource(e,t,o){if(!this.workerSources[e]||!this.workerSources[e][t.type]||!this.workerSources[e][t.type][t.source])return;const i=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==i.removeSource?i.removeSource(t,o):o();}loadWorkerSource(e,t,o){try{this.self.importScripts(t.url),o();}catch(e){o(e.toString());}}syncRTLPluginState(t,o,i){try{e.plugin.setState(o);const t=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=t){this.self.importScripts(t);const o=e.plugin.isParsed();i(o?void 0:new Error(`RTL Text Plugin failed to import scripts from ${t}`),o);}}catch(e){i(e.toString());}}getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}getLayerIndex(e){let t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new i),t}getWorkerSource(e,t,o){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][o]){const i={send:(t,o,i)=>{this.actor.send(t,o,i,e);}};this.workerSources[e][t][o]=new this.workerSourceTypes[t](i,this.getLayerIndex(e),this.getAvailableImages(e));}return this.workerSources[e][t][o]}getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new c),this.demWorkerSources[e][t]}enforceCacheSizeLimit(t,o){e.enforceCacheSizeLimit(o);}}return e.isWorker()&&(self.worker=new _e(self)),_e}));\n\ndefine([\"./shared\"],(function(t){\"use strict\";var e=i;function i(t){return !function(t){return \"undefined\"==typeof window||\"undefined\"==typeof document?\"not a browser\":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON?function(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return !1;var t,e,i=new Blob([\"\"],{type:\"text/javascript\"}),o=URL.createObjectURL(i);try{e=new Worker(o),t=!0;}catch(e){t=!1;}return e&&e.terminate(),URL.revokeObjectURL(o),t}()?\"Uint8ClampedArray\"in window?ArrayBuffer.isView?function(){var t=document.createElement(\"canvas\");t.width=t.height=1;var e=t.getContext(\"2d\");if(!e)return !1;var i=e.getImageData(0,0,1,1);return i&&i.width===t.width}()?(void 0===o[e=t&&t.failIfMajorPerformanceCaveat]&&(o[e]=function(t){var e,o=function(t){var e=document.createElement(\"canvas\"),o=Object.create(i.webGLContextAttributes);return o.failIfMajorPerformanceCaveat=t,e.getContext(\"webgl\",o)||e.getContext(\"experimental-webgl\",o)}(t);if(!o)return !1;try{e=o.createShader(o.VERTEX_SHADER);}catch(t){return !1}return !(!e||o.isContextLost())&&(o.shaderSource(e,\"void main() {}\"),o.compileShader(e),!0===o.getShaderParameter(e,o.COMPILE_STATUS))}(e)),o[e]?document.documentMode?\"insufficient ECMAScript 6 support\":void 0:\"insufficient WebGL support\"):\"insufficient Canvas/getImageData support\":\"insufficient ArrayBuffer support\":\"insufficient Uint8ClampedArray support\":\"insufficient worker support\":\"insufficient JSON support\":\"insufficient Object support\":\"insufficient Function support\":\"insufficent Array support\";var e;}(t)}var o={};function a(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return !1;for(let i=0;i{window.removeEventListener(\"click\",s.suppressClickInternal,!0);}),0);}static mousePos(e,i){const o=e.getBoundingClientRect();return new t.pointGeometry(i.clientX-o.left-e.clientLeft,i.clientY-o.top-e.clientTop)}static touchPos(e,i){const o=e.getBoundingClientRect(),a=[];for(let s=0;s-1);l++,s[l]=n,r[l]=c,r[l+1]=u;}for(let n=0,l=0;n{let o=this.entries[t];o||(o=this.entries[t]={glyphs:{},requests:{},ranges:{}});let a=o.glyphs[e];if(void 0!==a)return void i(null,{stack:t,id:e,glyph:a});if(a=this._tinySDF(o,t,e),a)return o.glyphs[e]=a,void i(null,{stack:t,id:e,glyph:a});const s=Math.floor(e/256);if(256*s>65535)return void i(new Error(\"glyphs > 65535 not supported\"));if(o.ranges[s])return void i(null,{stack:t,id:e,glyph:a});let r=o.requests[s];r||(r=o.requests[s]=[],m.loadGlyphRange(t,s,this.url,this.requestManager,((t,e)=>{if(e){for(const t in e)this._doesCharSupportLocalGlyph(+t)||(o.glyphs[+t]=e[+t]);o.ranges[s]=!0;}for(const i of r)i(t,e);delete o.requests[s];}))),r.push(((o,a)=>{o?i(o):a&&i(null,{stack:t,id:e,glyph:a[e]||null});}));}),((t,e)=>{if(t)i(t);else if(e){const t={};for(const{stack:i,id:o,glyph:a}of e)(t[i]||(t[i]={}))[o]=a&&{id:a.id,bitmap:a.bitmap.clone(),metrics:a.metrics};i(null,t);}}));}_doesCharSupportLocalGlyph(e){return !!this.localIdeographFontFamily&&(t.unicodeBlockLookup[\"CJK Unified Ideographs\"](e)||t.unicodeBlockLookup[\"Hangul Syllables\"](e)||t.unicodeBlockLookup.Hiragana(e)||t.unicodeBlockLookup.Katakana(e))}_tinySDF(e,i,o){const a=this.localIdeographFontFamily;if(!a)return;if(!this._doesCharSupportLocalGlyph(o))return;let s=e.tinySDF;if(!s){let t=\"400\";/bold/i.test(i)?t=\"900\":/medium/i.test(i)?t=\"500\":/light/i.test(i)&&(t=\"200\"),s=e.tinySDF=new m.TinySDF({fontSize:24,buffer:3,radius:8,cutoff:.25,fontFamily:a,fontWeight:t});}const r=s.draw(String.fromCharCode(o));return {id:o,bitmap:new t.AlphaImage({width:r.width||30,height:r.height||30},r.data),metrics:{width:r.glyphWidth||24,height:r.glyphHeight||24,left:r.glyphLeft||0,top:r.glyphTop-27||-8,advance:r.glyphAdvance||24}}}}m.loadGlyphRange=function(e,i,o,a,s){const r=256*i,n=r+255,l=a.transformRequest(o.replace(\"{fontstack}\",e).replace(\"{range}\",`${r}-${n}`),t.ResourceType.Glyphs);t.getArrayBuffer(l,((e,i)=>{if(e)s(e);else if(i){const e={};for(const o of t.parseGlyphPbf(i))e[o.id]=o;s(null,e);}}));},m.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:o=.25,fontFamily:a=\"sans-serif\",fontWeight:s=\"normal\",fontStyle:r=\"normal\"}={}){this.buffer=e,this.cutoff=o,this.radius=i;const n=this.size=t+4*e,l=this._createCanvas(n),c=this.ctx=l.getContext(\"2d\",{willReadFrequently:!0});c.font=`${r} ${s} ${t}px ${a}`,c.textBaseline=\"alphabetic\",c.textAlign=\"left\",c.fillStyle=\"black\",this.gridOuter=new Float64Array(n*n),this.gridInner=new Float64Array(n*n),this.f=new Float64Array(n),this.z=new Float64Array(n+1),this.v=new Uint16Array(n);}_createCanvas(t){const e=document.createElement(\"canvas\");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:o,actualBoundingBoxLeft:a,actualBoundingBoxRight:s}=this.ctx.measureText(t),r=Math.ceil(i),n=Math.min(this.size-this.buffer,Math.ceil(s-a)),l=Math.min(this.size-this.buffer,r+Math.ceil(o)),c=n+2*this.buffer,h=l+2*this.buffer,_=Math.max(c*h,0),m=new Uint8ClampedArray(_),p={data:m,width:c,height:h,glyphWidth:n,glyphHeight:l,glyphTop:r,glyphLeft:0,glyphAdvance:e};if(0===n||0===l)return p;const{ctx:f,buffer:g,gridInner:x,gridOuter:v}=this;f.clearRect(g,g,n,l),f.fillText(t,g,g+r);const y=f.getImageData(g,g,n,l);v.fill(u,0,_),x.fill(0,0,_);for(let t=0;t0?t*t:0,x[o]=t<0?t*t:0;}}d(v,0,0,c,h,c,this.f,this.v,this.z),d(x,g,g,n,l,c,this.f,this.v,this.z);for(let t=0;t<_;t++){const e=Math.sqrt(v[t])-Math.sqrt(x[t]);m[t]=Math.round(255-255*(e/this.radius+this.cutoff));}return p}};const p=new t.Properties({anchor:new t.DataConstantProperty(t.spec.light.anchor),position:new class{constructor(){this.specification=t.spec.light.position;}possiblyEvaluate(e,i){return t.sphericalToCartesian(e.expression.evaluate(i))}interpolate(e,i,o){return {x:t.number(e.x,i.x,o),y:t.number(e.y,i.y,o),z:t.number(e.z,i.z,o)}}},color:new t.DataConstantProperty(t.spec.light.color),intensity:new t.DataConstantProperty(t.spec.light.intensity)}),f=\"-transition\";class g extends t.Evented{constructor(e){super(),this._transitionable=new t.Transitionable(p),this.setLight(e),this._transitioning=this._transitionable.untransitioned();}getLight(){return this._transitionable.serialize()}setLight(e,i={}){if(!this._validate(t.validateLight,e,i))for(const t in e){const i=e[t];t.endsWith(f)?this._transitionable.setTransition(t.slice(0,-f.length),i):this._transitionable.setValue(t,i);}}updateTransitions(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning);}hasTransition(){return this._transitioning.hasTransition()}recalculate(t){this.properties=this._transitioning.possiblyEvaluate(t);}_validate(e,i,o){return (!o||!1!==o.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:i,style:{glyphs:!0,sprite:!0},styleSpec:t.spec})))}}class x{constructor(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={};}getDash(t,e){const i=t.join(\",\")+String(e);return this.dashEntry[i]||(this.dashEntry[i]=this.addDash(t,e)),this.dashEntry[i]}getDashRanges(t,e,i){const o=[];let a=t.length%2==1?-t[t.length-1]*i:0,s=t[0]*i,r=!0;o.push({left:a,right:s,isDash:r,zeroLength:0===t[0]});let n=t[0];for(let e=1;e1&&(r=t[++s]);const l=Math.abs(n-r.left),c=Math.abs(n-r.right),h=Math.min(l,c);let u;const d=e/i*(o+1);if(r.isDash){const t=o-Math.abs(d);u=Math.sqrt(h*h+t*t);}else u=o-Math.sqrt(h*h+d*d);this.data[a+n]=Math.max(0,Math.min(255,u+128));}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const i=t[e],o=t[e+1];i.zeroLength?t.splice(e,1):o&&o.isDash===i.isDash&&(o.left=i.left,t.splice(e,1));}const e=t[0],i=t[t.length-1];e.isDash===i.isDash&&(e.left=i.left-this.width,i.right=e.right+this.width);const o=this.width*this.nextRow;let a=0,s=t[a];for(let e=0;e1&&(s=t[++a]);const i=Math.abs(e-s.left),r=Math.abs(e-s.right),n=Math.min(i,r);this.data[o+e]=Math.max(0,Math.min(255,(s.isDash?n:-n)+128));}}addDash(e,i){const o=i?7:0,a=2*o+1;if(this.nextRow+a>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;let s=0;for(let t=0;t{t.send(e,i,o);}),o=o||function(){});}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((t=>{t.remove();})),this.actors=[],this.workerPool.release(this.id);}}function y(e,i,o){const a=function(i,a){if(i)return o(i);if(a){const i=t.pick(t.extend(a,e),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);a.vector_layers&&(i.vectorLayers=a.vector_layers,i.vectorLayerIds=i.vectorLayers.map((t=>t.id))),o(null,i);}};return e.url?t.getJSON(i.transformRequest(e.url,t.ResourceType.Source),a):t.exported.frame((()=>a(null,e)))}v.Actor=t.Actor;class b{constructor(e,i,o){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=o||24;}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(e){const i=Math.pow(2,e.z),o=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),a=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),s=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),r=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=o&&e.x=a&&e.y{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));}loaded(){return this._loaded}hasTile(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load();}setSourceProperty(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.load();}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t;})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t;})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);}serialize(){return t.extend({},this._options)}loadTile(e,i){const o=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a={request:this.map._requestManager.transformRequest(o,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function s(o,a){return delete e.request,e.aborted?i(null):o&&404!==o.status?i(o):(a&&a.resourceTiming&&(e.resourceTiming=a.resourceTiming),this.map._refreshExpiredTiles&&a&&e.setExpiryData(a),e.loadVectorData(a,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}a.request.collectResourceTiming=this._collectResourceTiming,e.actor&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=i:e.request=e.actor.send(\"reloadTile\",a,s.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send(\"loadTile\",a,s.bind(this)));}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0);}unloadTile(t){t.unloadVectorData(),t.actor&&t.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0);}hasTransition(){return !1}}class T extends t.Evented{constructor(e,i,o,a){super(),this.id=e,this.dispatcher=o,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:\"raster\"},i),t.extend(this,t.pick(i,[\"url\",\"scheme\",\"tileSize\"]));}load(){this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=y(this._options,this.map._requestManager,((e,i)=>{this._tileJSONRequest=null,this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(t.extend(this,i),i.bounds&&(this.tileBounds=new b(i.bounds,this.minzoom,this.maxzoom)),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));}loaded(){return this._loaded}onAdd(t){this.map=t,this.load();}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);}serialize(){return t.extend({},this._options)}hasTile(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(e,i){const o=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.request=t.getImage(this.map._requestManager.transformRequest(o,t.ResourceType.Tile),((o,a,s)=>{if(delete e.request,e.aborted)e.state=\"unloaded\",i(null);else if(o)e.state=\"errored\",i(o);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(s);const o=this.map.painter.context,r=o.gl;e.texture=this.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new l(o,a,r.RGBA,{useMipmap:!0}),e.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE,r.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&r.texParameterf(r.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state=\"loaded\",t.cacheEntryPossiblyAdded(this.dispatcher),i(null);}}));}abortTile(t,e){t.request&&(t.request.cancel(),delete t.request),e();}unloadTile(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e();}hasTransition(){return !1}}let E;class I extends T{constructor(e,i,o,a){super(e,i,o,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.extend({type:\"raster-dem\"},i),this.encoding=i.encoding||\"mapbox\";}serialize(){return {type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}}loadTile(e,i){const o=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);function a(t,o){t&&(e.state=\"errored\",i(t)),o&&(e.dem=o,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state=\"loaded\",i(null));}e.request=t.getImage(this.map._requestManager.transformRequest(o,t.ResourceType.Tile),function(o,s){if(delete e.request,e.aborted)e.state=\"unloaded\",i(null);else if(o)e.state=\"errored\",i(o);else if(s){this.map._refreshExpiredTiles&&e.setExpiryData(s),delete s.cacheControl,delete s.expires;const i=t.isImageBitmap(s)&&(null==E&&(E=\"undefined\"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof createImageBitmap),E)?s:t.exported.getImageData(s,1),o={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&\"expired\"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send(\"loadDEMTile\",o,a.bind(this)));}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID);}_getNeighboringTiles(e){const i=e.canonical,o=Math.pow(2,i.z),a=(i.x-1+o)%o,s=0===i.x?e.wrap-1:e.wrap,r=(i.x+1+o)%o,n=i.x+1===o?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,s,i.z,a,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,n,i.z,r,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,s,i.z,a,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,n,i.z,r,i.y-1).key]={backfilled:!1}),i.y+1{if(this._pendingLoads--,this._removed||o&&o.abandoned)return void this.fire(new t.Event(\"dataabort\",{dataType:\"source\",sourceDataType:e}));let a=null;if(o&&o.resourceTiming&&o.resourceTiming[this.id]&&(a=o.resourceTiming[this.id].slice(0)),i)return void this.fire(new t.ErrorEvent(i));const s={dataType:\"source\",sourceDataType:e};this._collectResourceTiming&&a&&a.length>0&&t.extend(s,{resourceTiming:a}),this.fire(new t.Event(\"data\",s));}));}loaded(){return 0===this._pendingLoads}loadTile(t,e){const i=t.actor?\"reloadTile\":\"loadTile\";t.actor=this.actor;const o={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,o,((o,a)=>(delete t.request,t.unloadVectorData(),t.aborted?e(null):o?e(o):(t.loadVectorData(a,this.map.painter,\"reloadTile\"===i),e(null)))));}abortTile(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0;}unloadTile(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id});}onRemove(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id});}serialize(){return t.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return !1}}var S=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class D extends t.Evented{constructor(t,e,i,o){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(o),this.options=e;}load(e,i){this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),((o,a)=>{this._loaded=!0,o?this.fire(new t.ErrorEvent(o)):a&&(this.image=a,e&&(this.coordinates=e),i&&i(),this._finishLoading());}));}loaded(){return this._loaded}updateImage(t){return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(()=>{this.texture=null;})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));}onAdd(t){this.map=t,this.load();}setCoordinates(e){this.coordinates=e;const i=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){let i=1/0,o=1/0,a=-1/0,s=-1/0;for(const t of e)i=Math.min(i,t.x),o=Math.min(o,t.y),a=Math.max(a,t.x),s=Math.max(s,t.y);const r=Math.max(a-i,s-o),n=Math.max(0,Math.floor(-Math.log(r)/Math.LN2)),l=Math.pow(2,n);return new t.CanonicalTileID(n,Math.floor((i+a)/2*l),Math.floor((o+s)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const o=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new t.RasterBoundsArray,this._boundsArray.emplaceBack(o[0].x,o[0].y,0,0),this._boundsArray.emplaceBack(o[1].x,o[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(o[3].x,o[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(o[2].x,o[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,S.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new l(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture);}}loadTile(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null));}serialize(){return {type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return !1}}class z extends D{constructor(t,e,i,o){super(t,e,i,o),this.roundZoom=!0,this.type=\"video\",this.options=e;}load(){this._loaded=!1;const e=this.options;this.urls=[];for(const i of e.urls)this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url);t.getVideo(this.urls,((e,i)=>{this._loaded=!0,e?this.fire(new t.ErrorEvent(e)):i&&(this.video=i,this.video.loop=!0,this.video.addEventListener(\"playing\",(()=>{this.map.triggerRepaint();})),this.map&&this.video.play(),this._finishLoading());}));}pause(){this.video&&this.video.pause();}play(){this.video&&this.video.play();}seek(e){if(this.video){const i=this.video.seekable;ei.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=e;}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const e=this.map.painter.context,i=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,S.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new l(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture);}}serialize(){return {type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class P extends D{constructor(e,i,o,a){super(e,i,o,a),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>\"number\"!=typeof t))))||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property \"coordinates\"'))),i.animate&&\"boolean\"!=typeof i.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'optional \"animate\" property must be a boolean value'))),i.canvas?\"string\"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(`sources.${e}`,null,'missing required property \"canvas\"'))),this.options=i,this.animate=void 0===i.animate||i.animate;}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint();},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1);},this._finishLoading());}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play();}onRemove(){this.pause();}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,o=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,S.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new l(i,this.canvas,o.RGBA,{premultiply:!0});for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture);}}serialize(){return {type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of [this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return !0;return !1}}const M={vector:w,raster:T,\"raster-dem\":I,geojson:C,video:z,image:D,canvas:P};function A(e,i){const o=t.create();return t.translate(o,o,[1,1,0]),t.scale(o,o,[.5*e.width,.5*e.height,1]),t.multiply(o,o,e.calculatePosMatrix(i.toUnwrapped()))}function R(t,e,i,o,a,s){const r=function(t,e,i){if(t)for(const o of t){const t=e[o];if(t&&t.source===i&&\"fill-extrusion\"===t.type)return !0}else for(const t in e){const o=e[t];if(o.source===i&&\"fill-extrusion\"===o.type)return !0}return !1}(a&&a.layers,e,t.id),n=s.maxPitchScaleFactor(),l=t.tilesIn(o,n,r);l.sort(L);const c=[];for(const o of l)c.push({wrappedTileID:o.tileID.wrapped().key,queryResults:o.tile.queryRenderedFeatures(e,i,t._state,o.queryGeometry,o.cameraQueryGeometry,o.scale,a,s,n,A(t.transform,o.tileID))});const h=function(t){const e={},i={};for(const o of t){const t=o.queryResults,a=o.wrappedTileID,s=i[a]=i[a]||{};for(const i in t){const o=t[i],a=s[i]=s[i]||{},r=e[i]=e[i]||[];for(const t of o)a[t.featureIndex]||(a[t.featureIndex]=!0,r.push(t));}}return e}(c);for(const e in h)h[e].forEach((e=>{const i=e.feature,o=t.getFeatureState(i.layer[\"source-layer\"],i.id);i.source=i.layer.source,i.layer[\"source-layer\"]&&(i.sourceLayer=i.layer[\"source-layer\"]),i.state=o;}));return h}function L(t,e){const i=t.tileID,o=e.tileID;return i.overscaledZ-o.overscaledZ||i.canonical.y-o.canonical.y||i.wrap-o.wrap||i.canonical.x-o.canonical.x}class k{constructor(e,i){this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.textures=[],this.textureCoords={},this.expiredRequestCount=0,this.state=\"loading\";}registerFadeDuration(e){const i=e+this.timeAdded;it.saveTileTexture(e))),this.demTexture=null,this.textures=[],this.textureCoords={};}loadVectorData(e,i,o){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",e){e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(t,e){const i={};if(!e)return i;for(const o of t){const t=o.layerIds.map((t=>e.getLayer(t))).filter(Boolean);if(0!==t.length){o.layers=t,o.stateDependentLayerIds&&(o.stateDependentLayers=o.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=o;}}return i}(e.buckets,i.style),this.hasSymbolBuckets=!1;for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket){if(this.hasSymbolBuckets=!0,!o)break;i.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const e in this.buckets){const i=this.buckets[e];if(i instanceof t.SymbolBucket&&i.hasRTLText){this.hasRTLText=!0,t.lazyLoadRTLTextPlugin();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e));}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage);}else this.collisionBoxArray=new t.CollisionBoxArray;}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\";}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t);}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new l(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new l(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null);}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);}queryRenderedFeatures(t,e,i,o,a,s,r,n,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:o,cameraQueryGeometry:a,scale:s,tileSize:this.tileSize,pixelPosMatrix:c,transform:n,params:r,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(e,i){const o=this.latestFeatureIndex;if(!o||!o.rawTileData)return;const a=o.loadVTLayers(),s=i?i.sourceLayer:\"\",r=a._geojsonTileLayer||a[s];if(!r)return;const n=t.createFilter(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,a);}),i)),this.data[o].push(a),this.order.push(o),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,o=void 0===e?0:this.data[i].indexOf(e),a=this.data[i][o];return this.data[i].splice(o,1),a.timeout&&clearTimeout(a.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(a.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}filter(t){const e=[];for(const i in this.data)for(const o of this.data[i])t(o.value)||e.push(o);for(const t of e)this.remove(t.value.tileID,t);}}class F{constructor(){this.state={},this.stateChanges={},this.deletedStates={};}updateState(e,i,o){const a=String(i);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][a]=this.stateChanges[e][a]||{},t.extend(this.stateChanges[e][a],o),null===this.deletedStates[e]){this.deletedStates[e]={};for(const t in this.state[e])t!==a&&(this.deletedStates[e][t]=null);}else if(this.deletedStates[e]&&null===this.deletedStates[e][a]){this.deletedStates[e][a]={};for(const t in this.state[e][a])o[t]||(this.deletedStates[e][a][t]=null);}else for(const t in o)this.deletedStates[e]&&this.deletedStates[e][a]&&null===this.deletedStates[e][a][t]&&delete this.deletedStates[e][a][t];}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const o=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][o]&&(this.deletedStates[t][o]=this.deletedStates[t][o]||{},this.deletedStates[t][o][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][o])for(i in this.deletedStates[t][o]={},this.stateChanges[t][o])this.deletedStates[t][o][i]=null;else this.deletedStates[t][o]=null;else this.deletedStates[t]=null;}getState(e,i){const o=String(i),a=t.extend({},(this.state[e]||{})[o],(this.stateChanges[e]||{})[o]);if(null===this.deletedStates[e])return {};if(this.deletedStates[e]){const t=this.deletedStates[e][i];if(null===t)return {};for(const e in t)delete a[e];}return a}initializeTileState(t,e){t.setFeatureState(this.state,e);}coalesceChanges(e,i){const o={};for(const e in this.stateChanges){this.state[e]=this.state[e]||{};const i={};for(const o in this.stateChanges[e])this.state[e][o]||(this.state[e][o]={}),t.extend(this.state[e][o],this.stateChanges[e][o]),i[o]=this.state[e][o];o[e]=i;}for(const e in this.deletedStates){this.state[e]=this.state[e]||{};const i={};if(null===this.deletedStates[e])for(const t in this.state[e])i[t]={},this.state[e][t]={};else for(const t in this.deletedStates[e]){if(null===this.deletedStates[e][t])this.state[e][t]={};else for(const i of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][i];i[t]=this.state[e][t];}o[e]=o[e]||{},t.extend(o[e],i);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(o).length)for(const t in e)e[t].setFeatureState(o,i);}}class O extends t.Evented{constructor(e,i,o){super(),this.id=e,this.dispatcher=o,this.on(\"data\",(t=>{\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform,this.terrain));})),this.on(\"dataloading\",(()=>{this._sourceErrored=!1;})),this.on(\"error\",(()=>{this._sourceErrored=this._source.loaded();})),this._source=function(e,i,o,a){const s=new M[i.type](e,i,o,a);if(s.id!==e)throw new Error(`Expected Source id to be ${e} instead of ${s.id}`);return t.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],s),s}(e,i,o,this),this._tiles={},this._cache=new B(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new F;}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t);}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t);}loaded(){if(this._sourceErrored)return !0;if(!this._sourceLoaded)return !1;if(!this._source.loaded())return !1;for(const t in this._tiles){const e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}return !0}getSource(){return this._source}pause(){this._paused=!0;}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain);}_loadTile(t,e){return this._source.loadTile(t,e)}_unloadTile(t){if(this._source.unloadTile)return this._source.unloadTile(t,(()=>{}))}_abortTile(e){this._source.abortTile&&this._source.abortTile(e,(()=>{})),this._source.fire(new t.Event(\"dataabort\",{tile:e,coord:e.tileID,dataType:\"source\"}));}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager);}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(U).map((t=>t.key))}getRenderableIds(e){const i=[];for(const t in this._tiles)this._isIdRenderable(t,e)&&i.push(this._tiles[t]);return e?i.sort(((e,i)=>{const o=e.tileID,a=i.tileID,s=new t.pointGeometry(o.canonical.x,o.canonical.y)._rotate(this.transform.angle),r=new t.pointGeometry(a.canonical.x,a.canonical.y)._rotate(this.transform.angle);return o.overscaledZ-a.overscaledZ||r.y-s.y||r.x-s.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(U).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else {this._cache.reset();for(const t in this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\");}}_reloadTile(t,e){const i=this._tiles[t];i&&(\"loading\"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)));}_tileLoaded(e,i,o,a){if(a)return e.state=\"errored\",void(404!==a.status?this._source.fire(new t.ErrorEvent(a,{tile:e})):this.update(this.transform,this.terrain));e.timeAdded=t.exported.now(),\"expired\"===o&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(i,e),\"raster-dem\"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.Event(\"data\",{dataType:\"source\",tile:e,coord:e.tileID}));}_backfillDEM(t){const e=this.getRenderableIds();for(let o=0;o1||(Math.abs(i)>1&&(1===Math.abs(i+a)?i+=a:1===Math.abs(i-a)&&(i-=a)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,o),t.neighboringTiles&&t.neighboringTiles[s]&&(t.neighboringTiles[s].backfilled=!0)));}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,o){for(const a in this._tiles){let s=this._tiles[a];if(o[a]||!s.hasData()||s.tileID.overscaledZ<=e||s.tileID.overscaledZ>i)continue;let r=s.tileID;for(;s&&s.tileID.overscaledZ>e+1;){const t=s.tileID.scaledTo(s.tileID.overscaledZ-1);s=this._tiles[t.key],s&&s.hasData()&&(r=t);}let n=r;for(;n.overscaledZ>e;)if(n=n.scaledTo(n.overscaledZ-1),t[n.key]){o[r.key]=r;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),o=this._getLoadedTile(e);if(o)return o}}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const e=Math.ceil(t.width/this._source.tileSize)+1,i=Math.ceil(t.height/this._source.tileSize)+1,o=Math.floor(e*i*5),a=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(a);}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const o=this._tiles[i];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),t[o.tileID.key]=o;}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(t,this._tiles[t]);}}update(e,i){if(this.transform=e,this.terrain=i,!this._sourceLoaded||this._paused)return;let o;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?o=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(o=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(o=o.filter((t=>this._source.hasTile(t))))):o=[];const a=e.coveringZoomLevel(this._source),s=Math.max(a-O.maxOverzooming,this._source.minzoom),r=Math.max(a+O.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of o)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const o=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[o.key]=o;}o=o.concat(Object.values(t));}const n=this._updateRetainedTiles(o,a);if(N(this._source.type)){const e={},l={},c=Object.keys(n);for(const i of c){const o=n[i],a=this._tiles[i];if(!a||a.fadeEndTime&&a.fadeEndTime<=t.exported.now())continue;const r=this.findLoadedParent(o,s);r&&(this._addTile(r.tileID),e[r.tileID.key]=r.tileID),l[i]=o;}this._retainLoadedChildren(l,a,r,n);for(const t in e)n[t]||(this._coveredTiles[t]=!0,n[t]=e[t]);if(i){const t={},e={};for(const i of o)this._tiles[i.key].hasData()?t[i.key]=i:e[i.key]=i;for(const i in e){const o=e[i].children(this._source.maxzoom);this._tiles[o[0].key]&&this._tiles[o[1].key]&&this._tiles[o[2].key]&&this._tiles[o[3].key]&&(t[o[0].key]=n[o[0].key]=o[0],t[o[1].key]=n[o[1].key]=o[1],t[o[2].key]=n[o[2].key]=o[2],t[o[3].key]=n[o[3].key]=o[3],delete e[i]);}for(const i in e){const o=this.findLoadedParent(e[i],this._source.minzoom);if(o){t[o.tileID.key]=n[o.tileID.key]=o.tileID;for(const e in t)t[e].isChildOf(o.tileID)&&delete t[e];}}for(const e in this._tiles)t[e]||(this._coveredTiles[e]=!0);}}for(const t in n)this._tiles[t].clearFadeHold();const l=t.keysDifference(this._tiles,n);for(const t of l){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t);}this._updateLoadedParentTileCache();}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t);}_updateRetainedTiles(t,e){const i={},o={},a=Math.max(e-O.maxOverzooming,this._source.minzoom),s=Math.max(e+O.maxUnderzooming,this._source.minzoom),r={};for(const o of t){const t=this._addTile(o);i[o.key]=o,t.hasData()||ethis._source.maxzoom){const t=s.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){i[t.key]=t;continue}}else {const t=s.children(this._source.maxzoom);if(i[t[0].key]&&i[t[1].key]&&i[t[2].key]&&i[t[3].key])continue}let r=t.wasRequested();for(let e=s.overscaledZ-1;e>=a;--e){const a=s.scaledTo(e);if(o[a.key])break;if(o[a.key]=!0,t=this.getTile(a),!t&&r&&(t=this._addTile(a)),t&&(i[a.key]=a,r=t.wasRequested(),t.hasData()))break}}return i}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,o=this._tiles[t].tileID;for(;o.overscaledZ>0;){if(o.key in this._loadedParentTiles){i=this._loadedParentTiles[o.key];break}e.push(o.key);const t=o.scaledTo(o.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;o=t;}for(const t of e)this._loadedParentTiles[t]=i;}}_addTile(e){let i=this._tiles[e.key];if(i)return i;i=this._cache.getAndRemove(e),i&&(this._setTileReloadTimer(e.key,i),i.tileID=e,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,i)));const o=i;return i||(i=new k(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i.uses++,this._tiles[e.key]=i,o||this._source.fire(new t.Event(\"dataloading\",{tile:i,coord:i.tileID,dataType:\"source\"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,\"expired\"),delete this._timers[t];}),i));}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset();}tilesIn(e,i,o){const a=[],s=this.transform;if(!s)return a;const r=o?s.getCameraQueryGeometry(e):e,n=e.map((t=>s.pointCoordinate(t,this.terrain))),l=r.map((t=>s.pointCoordinate(t,this.terrain))),c=this.getIds();let h=1/0,u=1/0,d=-1/0,_=-1/0;for(const t of l)h=Math.min(h,t.x),u=Math.min(u,t.y),d=Math.max(d,t.x),_=Math.max(_,t.y);for(let e=0;e=0&&f[1].y+p>=0){const t=n.map((t=>r.getTilePoint(t))),e=l.map((t=>r.getTilePoint(t)));a.push({tile:o,tileID:r,queryGeometry:t,cameraQueryGeometry:e,scale:m});}}return a}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return !0;if(N(this._source.type))for(const e in this._tiles){const i=this._tiles[e];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=t.exported.now())return !0}return !1}setFeatureState(t,e,i){this._state.updateState(t=t||\"_geojsonTileLayer\",e,i);}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||\"_geojsonTileLayer\",e,i);}getFeatureState(t,e){return this._state.getState(t=t||\"_geojsonTileLayer\",e)}setDependencies(t,e,i){const o=this._tiles[t];o&&o.setDependencies(e,i);}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,\"reloading\");this._cache.filter((i=>!i.hasDependency(t,e)));}}function U(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),o=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||o-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function N(t){return \"raster\"===t||\"image\"===t||\"video\"===t}O.maxOverzooming=10,O.maxUnderzooming=3;const G=\"mapboxgl_preloaded_worker_pool\";class Z{constructor(){this.active={};}acquire(t){if(!this.workers)for(this.workers=[];this.workers.length{t.terminate();})),this.workers=null);}isPreloaded(){return !!this.active[G]}numActive(){return Object.keys(this.active).length}}const q=Math.floor(t.exported.hardwareConcurrency/2);let V;function j(){return V||(V=new Z),V}function X(e,i){const o={};for(const t in e)\"ref\"!==t&&(o[t]=e[t]);return t.refProperties.forEach((t=>{t in i&&(o[t]=i[t]);})),o}function $(t){t=t.slice();const e=Object.create(null);for(let i=0;i0?(a-r)/n:0;return this.points[s].mult(1-l).add(this.points[i].mult(l))}}function ot(t,e){let i=!0;return \"always\"===t||\"never\"!==t&&\"never\"!==e||(i=!1),i}class at{constructor(t,e,i){const o=this.boxCells=[],a=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||o<0||e>this.height)return [];const n=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=o){if(a)return [{key:null,x1:t,y1:e,x2:i,y2:o}];for(let t=0;t0}hitTestCircle(t,e,i,o,a){const s=t-i,r=t+i,n=e-i,l=e+i;if(r<0||s>this.width||l<0||n>this.height)return !1;const c=[];return this._forEachCell(s,n,r,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:o,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},a),c.length>0}_queryCell(t,e,i,o,a,s,r,n){const{seenUids:l,hitTest:c,overlapMode:h}=r,u=this.boxCells[a];if(null!==u){const a=this.bboxes;for(const r of u)if(!l.box[r]){l.box[r]=!0;const u=4*r,d=this.boxKeys[r];if(t<=a[u+2]&&e<=a[u+3]&&i>=a[u+0]&&o>=a[u+1]&&(!n||n(d))&&(!c||!ot(h,d.overlapMode))&&(s.push({key:d,x1:a[u],y1:a[u+1],x2:a[u+2],y2:a[u+3]}),c))return !0}}const d=this.circleCells[a];if(null!==d){const a=this.circles;for(const r of d)if(!l.circle[r]){l.circle[r]=!0;const u=3*r,d=this.circleKeys[r];if(this._circleAndRectCollide(a[u],a[u+1],a[u+2],t,e,i,o)&&(!n||n(d))&&(!c||!ot(h,d.overlapMode))){const t=a[u],e=a[u+1],i=a[u+2];if(s.push({key:d,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),c)return !0}}}return !1}_queryCellCircle(t,e,i,o,a,s,r,n){const{circle:l,seenUids:c,overlapMode:h}=r,u=this.boxCells[a];if(null!==u){const t=this.bboxes;for(const e of u)if(!c.box[e]){c.box[e]=!0;const i=4*e,o=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!n||n(o))&&!ot(h,o.overlapMode))return s.push(!0),!0}}const d=this.circleCells[a];if(null!==d){const t=this.circles;for(const e of d)if(!c.circle[e]){c.circle[e]=!0;const i=3*e,o=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!n||n(o))&&!ot(h,o.overlapMode))return s.push(!0),!0}}}_forEachCell(t,e,i,o,a,s,r,n){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(o);for(let d=l;d<=h;d++)for(let l=c;l<=u;l++)if(a.call(this,t,e,i,o,this.xCellCount*l+d,s,r,n))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,o,a,s){const r=o-t,n=a-e,l=i+s;return l*l>r*r+n*n}_circleAndRectCollide(t,e,i,o,a,s,r){const n=(s-o)/2,l=Math.abs(t-(o+n));if(l>n+i)return !1;const c=(r-a)/2,h=Math.abs(e-(a+c));if(h>c+i)return !1;if(l<=n||h<=c)return !0;const u=l-n,d=h-c;return u*u+d*d<=i*i}}function st(e,i,o,a,s){const r=t.create();return i?(t.scale(r,r,[1/s,1/s,1]),o||t.rotateZ(r,r,a.angle)):t.multiply(r,a.labelPlaneMatrix,e),r}function rt(e,i,o,a,s){if(i){const i=t.clone(e);return t.scale(i,i,[s,s,1]),o||t.rotateZ(i,i,-a.angle),i}return a.glCoordMatrix}function nt(e,i,o){let a;o?(a=[e.x,e.y,o(e.x,e.y),1],t.transformMat4(a,a,i)):(a=[e.x,e.y,0,1],xt(a,a,i));const s=a[3];return {point:new t.pointGeometry(a[0]/s,a[1]/s),signedDistanceFromCamera:s}}function lt(t,e){return .5+t/e*.5}function ct(t,e){const i=t[0]/t[3],o=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&o>=-e[1]&&o<=e[1]}function ht(e,i,o,a,s,r,n,l,c,h){const u=a?e.textSizeData:e.iconSizeData,d=t.evaluateSizeForZoom(u,o.transform.zoom),_=[256/o.width*2+1,256/o.height*2+1],m=a?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;m.clear();const p=e.lineVertexArray,f=a?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=o.transform.width/o.transform.height;let x=!1;for(let a=0;aMath.abs(o.x-i.x)*a?{useVertical:!0}:(e===t.WritingMode.vertical?i.yo.x)?{needsFlipping:!0}:null}function _t(e,i,o,a,s,r,n,l,c,h,u,d,_,m,p,f){const g=i/24,x=e.lineOffsetX*g,v=e.lineOffsetY*g;let y;if(e.numGlyphs>1){const t=e.glyphStartIndex+e.numGlyphs,i=e.lineStartIndex,s=e.lineStartIndex+e.lineLength,h=ut(g,l,x,v,o,u,d,e,c,r,_,p,f);if(!h)return {notEnoughRoom:!0};const b=nt(h.first.point,n,f).point,w=nt(h.last.point,n,f).point;if(a&&!o){const t=dt(e.writingMode,b,w,m);if(t)return t}y=[h.first];for(let a=e.glyphStartIndex+1;a0?r.point:mt(d,a,i,1,s,f),l=dt(e.writingMode,i,n,m);if(l)return l}const i=pt(g*l.getoffsetX(e.glyphStartIndex),x,v,o,u,d,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,r,_,p,f);if(!i)return {notEnoughRoom:!0};y=[i];}for(const e of y)t.addDynamicAttributes(h,e.point,e.angle);return {}}function mt(t,e,i,o,a,s){const r=nt(t.add(t.sub(e)._unit()),a,s).point,n=i.sub(r);return i.add(n._mult(o/n.mag()))}function pt(e,i,o,a,s,r,n,l,c,h,u,d,_,m){const p=a?e-i:e+i;let f=p>0?1:-1,g=0;a&&(f*=-1,g=Math.PI),f<0&&(g+=Math.PI);let x=f>0?l+n:l+n+1,v=s,y=s,b=0,w=0;const T=Math.abs(p),E=[];for(;b+w<=T;){if(x+=f,x=c)return null;if(y=v,E.push(v),v=d[x],void 0===v){const e=new t.pointGeometry(h.getx(x),h.gety(x)),i=nt(e,u,m);if(i.signedDistanceFromCamera>0)v=d[x]=i.point;else {const i=x-f;v=mt(0===b?r:new t.pointGeometry(h.getx(i),h.gety(i)),e,y,T-b+1,u,m);}}b+=w,w=y.dist(v);}const I=(T-b)/w,C=v.sub(y),S=C.mult(I)._add(y);S._add(C._unit()._perp()._mult(o*f));const D=g+Math.atan2(v.y-y.y,v.x-y.x);return E.push(S),{point:S,angle:_?D:0,path:E}}const ft=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function gt(t,e){for(let i=0;i=1;t--)h.push(r.path[t]);for(let t=1;tnt(t,l,m)));h=t.some((t=>t.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point));}let g=[];if(h.length>0){const e=h[0].clone(),i=h[0].clone();for(let t=1;t=o.x&&i.x<=a.x&&e.y>=o.y&&i.y<=a.y?[h]:i.xa.x||i.ya.y?[]:t.clipLine([h],o.x,o.y,a.x,a.y);}for(const t of g){s.reset(t,.25*i);let o=0;o=s.length<=.5*i?1:Math.ceil(s.paddedLength/f)+1;for(let t=0;t=this.screenRightBoundary||othis.screenBottomBoundary}isInsideGrid(t,e,i,o){return i>=0&&t=0&&et.collisionGroupID===e};}return this.collisionGroups[t]}}function Dt(e,i,o,a,s){const{horizontalAlign:r,verticalAlign:n}=t.getAnchorAlignment(e),l=-(r-.5)*i,c=-(n-.5)*o,h=t.evaluateVariableOffset(e,a);return new t.pointGeometry(l+h[0]*s,c+h[1]*s)}function zt(e,i,o,a,s,r){const{x1:n,x2:l,y1:c,y2:h,anchorPointX:u,anchorPointY:d}=e,_=new t.pointGeometry(i,o);return a&&_._rotate(s?r:-r),{x1:n+_.x,y1:c+_.y,x2:l+_.x,y2:h+_.y,anchorPointX:u,anchorPointY:d}}class Pt{constructor(t,e,i,o,a){this.transform=t.clone(),this.terrain=e,this.collisionIndex=new yt(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=i,this.retainedQueryData={},this.collisionGroups=new St(o),this.collisionCircleArrays={},this.prevPlacement=a,a&&(a.prevPlacement=void 0),this.placedOrientations={};}getBucketParts(e,i,o,a){const s=o.getBucket(i),r=o.latestFeatureIndex;if(!s||!r||i.id!==s.layerIds[0])return;const n=o.collisionBoxArray,l=s.layers[0].layout,c=Math.pow(2,this.transform.zoom-o.tileID.overscaledZ),h=o.tileSize/t.EXTENT,u=this.transform.calculatePosMatrix(o.tileID.toUnwrapped()),d=\"map\"===l.get(\"text-pitch-alignment\"),_=\"map\"===l.get(\"text-rotation-alignment\"),m=bt(o,1,this.transform.zoom),p=st(u,d,_,this.transform,m);let f=null;if(d){const e=rt(u,d,_,this.transform,m);f=t.multiply([],this.transform.labelPlaneMatrix,e);}this.retainedQueryData[s.bucketInstanceId]=new Ct(s.bucketInstanceId,r,s.sourceLayerIndex,s.index,o.tileID);const g={bucket:s,layout:l,posMatrix:u,textLabelPlaneMatrix:p,labelToScreenMatrix:f,scale:c,textPixelRatio:h,holdingForFade:o.holdingForFade(),collisionBoxArray:n,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(s.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(s.sourceID)};if(a)for(const t of s.sortKeyRanges){const{sortKey:i,symbolInstanceStart:o,symbolInstanceEnd:a}=t;e.push({sortKey:i,symbolInstanceStart:o,symbolInstanceEnd:a,parameters:g});}else e.push({symbolInstanceStart:0,symbolInstanceEnd:s.symbolInstances.length,parameters:g});}attemptAnchorPlacement(t,e,i,o,a,s,r,n,l,c,h,u,d,_,m,p){const f=[u.textOffset0,u.textOffset1],g=Dt(t,i,o,f,a),x=this.collisionIndex.placeCollisionBox(zt(e,g.x,g.y,s,r,this.transform.angle),h,n,l,c.predicate,p);if((!m||0!==this.collisionIndex.placeCollisionBox(zt(m,g.x,g.y,s,r,this.transform.angle),h,n,l,c.predicate,p).box.length)&&x.box.length>0){let e;return this.prevPlacement&&this.prevPlacement.variableOffsets[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID]&&this.prevPlacement.placements[u.crossTileID].text&&(e=this.prevPlacement.variableOffsets[u.crossTileID].anchor),this.variableOffsets[u.crossTileID]={textOffset:f,width:i,height:o,anchor:t,textBoxScale:a,prevAnchor:e},this.markUsedJustification(d,t,u,_),d.allowVerticalPlacement&&(this.markUsedOrientation(d,_,u),this.placedOrientations[u.crossTileID]=_),{shift:g,placedGlyphBoxes:x}}}placeLayerBucketPart(e,i,o){const{bucket:a,layout:s,posMatrix:r,textLabelPlaneMatrix:n,labelToScreenMatrix:l,textPixelRatio:c,holdingForFade:h,collisionBoxArray:u,partiallyEvaluatedTextSize:d,collisionGroup:_}=e.parameters,m=s.get(\"text-optional\"),p=s.get(\"icon-optional\"),f=t.getOverlapMode(s,\"text-overlap\",\"text-allow-overlap\"),g=\"always\"===f,x=t.getOverlapMode(s,\"icon-overlap\",\"icon-allow-overlap\"),v=\"always\"===x,y=\"map\"===s.get(\"text-rotation-alignment\"),b=\"map\"===s.get(\"text-pitch-alignment\"),w=\"none\"!==s.get(\"icon-text-fit\"),T=\"viewport-y\"===s.get(\"symbol-z-order\"),E=g&&(v||!a.hasIconData()||p),I=v&&(g||!a.hasTextData()||m);!a.collisionArrays&&u&&a.deserializeCollisionBoxes(u);const C=(e,u)=>{if(i[e.crossTileID])return;if(h)return void(this.placements[e.crossTileID]=new Et(!1,!1,!1));let v=!1,T=!1,C=!0,S=null,D={box:null,offscreen:null},z={box:null,offscreen:null},P=null,M=null,A=null,R=0,L=0,k=0;u.textFeatureIndex?R=u.textFeatureIndex:e.useRuntimeCollisionCircles&&(R=e.featureIndex),u.verticalTextFeatureIndex&&(L=u.verticalTextFeatureIndex);const B=this.retainedQueryData[a.bucketInstanceId].tileID,F=this.terrain?(t,e)=>this.terrain.getElevation(B,t,e):null;for(const t of [\"textBox\",\"verticalTextBox\",\"iconBox\",\"verticalIconBox\"]){const e=u[t];e&&(e.elevation=F?F(e.anchorPointX,e.anchorPointY):0);}const O=u.textBox;if(O){const i=i=>{let o=t.WritingMode.horizontal;if(a.allowVerticalPlacement&&!i&&this.prevPlacement){const t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,o=t,this.markUsedOrientation(a,o,e));}return o},o=(i,o)=>{if(a.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&u.verticalTextBox){for(const e of a.writingModes)if(e===t.WritingMode.vertical?(D=o(),z=D):D=i(),D&&D.box&&D.box.length)break}else D=i();};if(s.get(\"text-variable-anchor\")){let n=s.get(\"text-variable-anchor\");if(this.prevPlacement&&this.prevPlacement.variableOffsets[e.crossTileID]){const t=this.prevPlacement.variableOffsets[e.crossTileID];n.indexOf(t.anchor)>0&&(n=n.filter((e=>e!==t.anchor)),n.unshift(t.anchor));}const l=(t,i,o)=>{const s=t.x2-t.x1,l=t.y2-t.y1,h=e.textBoxScale,u=w&&\"never\"===x?i:null;let d={box:[],offscreen:!1};const m=\"never\"!==f?2*n.length:n.length;for(let i=0;i=n.length?f:\"never\",e,a,o,u,F);if(m&&(d=m.placedGlyphBoxes,d&&d.box&&d.box.length)){v=!0,S=m.shift;break}}return d};o((()=>l(O,u.iconBox,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return a.allowVerticalPlacement&&!(D&&D.box&&D.box.length)&&e.numVerticalGlyphVertices>0&&i?l(i,u.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),D&&(v=D.box,C=D.offscreen);const h=i(D&&D.box);if(!v&&this.prevPlacement){const t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(a,t.anchor,e,h));}}else {const s=(t,i)=>{const o=this.collisionIndex.placeCollisionBox(t,f,c,r,_.predicate,F);return o&&o.box&&o.box.length&&(this.markUsedOrientation(a,i,e),this.placedOrientations[e.crossTileID]=i),o};o((()=>s(O,t.WritingMode.horizontal)),(()=>{const i=u.verticalTextBox;return a.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?s(i,t.WritingMode.vertical):{box:null,offscreen:null}})),i(D&&D.box&&D.box.length);}}if(P=D,v=P&&P.box&&P.box.length>0,C=P&&P.offscreen,e.useRuntimeCollisionCircles){const i=a.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),c=t.evaluateSizeForFeature(a.textSizeData,d,i),h=s.get(\"text-padding\");M=this.collisionIndex.placeCollisionCircles(f,i,a.lineVertexArray,a.glyphOffsetArray,c,r,n,l,o,b,_.predicate,e.collisionCircleDiameter,h,F),v=g||M.circles.length>0&&!M.collisionDetected,C=C&&M.offscreen;}if(u.iconFeatureIndex&&(k=u.iconFeatureIndex),u.iconBox){const t=t=>{const e=w&&S?zt(t,S.x,S.y,y,b,this.transform.angle):t;return this.collisionIndex.placeCollisionBox(e,x,c,r,_.predicate,F)};z&&z.box&&z.box.length&&u.verticalIconBox?(A=t(u.verticalIconBox),T=A.box.length>0):(A=t(u.iconBox),T=A.box.length>0),C=C&&A.offscreen;}const U=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,N=p||0===e.numIconVertices;if(U||N?N?U||(T=T&&v):v=T&&v:T=v=T&&v,v&&P&&P.box&&this.collisionIndex.insertCollisionBox(P.box,f,s.get(\"text-ignore-placement\"),a.bucketInstanceId,z&&z.box&&L?L:R,_.ID),T&&A&&this.collisionIndex.insertCollisionBox(A.box,x,s.get(\"icon-ignore-placement\"),a.bucketInstanceId,k,_.ID),M&&(v&&this.collisionIndex.insertCollisionCircles(M.circles,f,s.get(\"text-ignore-placement\"),a.bucketInstanceId,R,_.ID),o)){const t=a.bucketInstanceId;let e=this.collisionCircleArrays[t];void 0===e&&(e=this.collisionCircleArrays[t]=new It);for(let t=0;t=0;--e){const i=t[e];C(a.symbolInstances.get(i),a.collisionArrays[i]);}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(t).crossTileID=s>=0&&t!==s?0:o.crossTileID);}markUsedOrientation(e,i,o){const a=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,s=i===t.WritingMode.vertical?i:0,r=[o.leftJustifiedTextSymbolIndex,o.centerJustifiedTextSymbolIndex,o.rightJustifiedTextSymbolIndex];for(const t of r)e.text.placedSymbolArray.get(t).placedOrientation=a;o.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(o.verticalPlacedTextSymbolIndex).placedOrientation=s);}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const o=e?e.symbolFadeChange(t):1,a=e?e.opacities:{},s=e?e.variableOffsets:{},r=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],s=a[t];s?(this.opacities[t]=new Tt(s,o,e.text,e.icon),i=i||e.text!==s.text.placed||e.icon!==s.icon.placed):(this.opacities[t]=new Tt(null,o,e.text,e.icon,e.skipFade),i=i||e.text||e.icon);}for(const t in a){const e=a[t];if(!this.opacities[t]){const a=new Tt(e,o,!1,!1);a.isHidden()||(this.opacities[t]=a,i=i||e.text.placed||e.icon.placed);}}for(const t in s)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=s[t]);for(const t in r)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=r[t]);i?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t);}updateLayerOpacities(t,e){const i={};for(const o of e){const e=o.getBucket(t);e&&o.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,i,o.collisionBoxArray);}}updateBucketOpacities(e,i,o){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const a=e.layers[0].layout,s=new Tt(null,0,!1,!1,!0),r=a.get(\"text-allow-overlap\"),n=a.get(\"icon-allow-overlap\"),l=a.get(\"text-variable-anchor\"),c=\"map\"===a.get(\"text-rotation-alignment\"),h=\"map\"===a.get(\"text-pitch-alignment\"),u=\"none\"!==a.get(\"icon-text-fit\"),d=new Tt(null,0,r&&(n||!e.hasIconData()||a.get(\"icon-optional\")),n&&(r||!e.hasTextData()||a.get(\"text-optional\")),!0);!e.collisionArrays&&o&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(o);const _=(t,e,i)=>{for(let o=0;o0,g=this.placedOrientations[a.crossTileID],x=g===t.WritingMode.vertical,v=g===t.WritingMode.horizontal||g===t.WritingMode.horizontalOnly;if(r>0||n>0){const t=Ut(p.text);_(e.text,r,x?Nt:t),_(e.text,n,v?Nt:t);const i=p.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=i||x?1:0);})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=i||v?1:0);const o=this.variableOffsets[a.crossTileID];o&&this.markUsedJustification(e,o.anchor,a,g);const s=this.placedOrientations[a.crossTileID];s&&(this.markUsedJustification(e,\"left\",a,s),this.markUsedOrientation(e,s,a));}if(f){const t=Ut(p.icon),i=!(u&&a.verticalPlacedIconSymbolIndex&&x);a.placedIconSymbolIndex>=0&&(_(e.icon,a.numIconVertices,i?t:Nt),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=p.icon.isHidden()),a.verticalPlacedIconSymbolIndex>=0&&(_(e.icon,a.numVerticalIconVertices,i?Nt:t),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=p.icon.isHidden());}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const i=e.collisionArrays[o];if(i){let o=new t.pointGeometry(0,0);if(i.textBox||i.verticalTextBox){let t=!0;if(l){const e=this.variableOffsets[m];e?(o=Dt(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),c&&o._rotate(h?this.transform.angle:-this.transform.angle)):t=!1;}i.textBox&&Mt(e.textCollisionBox.collisionVertexArray,p.text.placed,!t||x,o.x,o.y),i.verticalTextBox&&Mt(e.textCollisionBox.collisionVertexArray,p.text.placed,!t||v,o.x,o.y);}const a=Boolean(!v&&i.verticalIconBox);i.iconBox&&Mt(e.iconCollisionBox.collisionVertexArray,p.icon.placed,a,u?o.x:0,u?o.y:0),i.verticalIconBox&&Mt(e.iconCollisionBox.collisionVertexArray,p.icon.placed,!a,u?o.x:0,u?o.y:0);}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){const t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId];}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0;}}function Mt(t,e,i,o,a){t.emplaceBack(e?1:0,i?1:0,o||0,a||0),t.emplaceBack(e?1:0,i?1:0,o||0,a||0),t.emplaceBack(e?1:0,i?1:0,o||0,a||0),t.emplaceBack(e?1:0,i?1:0,o||0,a||0);}const At=Math.pow(2,25),Rt=Math.pow(2,24),Lt=Math.pow(2,17),kt=Math.pow(2,16),Bt=Math.pow(2,9),Ft=Math.pow(2,8),Ot=Math.pow(2,1);function Ut(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*At+e*Rt+i*Lt+e*kt+i*Bt+e*Ft+i*Ot+e}const Nt=0;class Gt{constructor(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&!t.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[];}continuePlacement(t,e,i,o,a){const s=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex{const e=t.exported.now()-a;return !this._forceFullPlacement&&e>2};for(;this._currentPlacementIndex>=0;){const t=i[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===t.type&&(!t.minzoom||t.minzoom<=a)&&(!t.maxzoom||t.maxzoom>a)){if(this._inProgressLayer||(this._inProgressLayer=new Gt(t)),this._inProgressLayer.continuePlacement(o[t.source],this.placement,this._showCollisionBoxes,t,s))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;}commit(t){return this.placement.commit(t),this.placement}}const qt=512/t.EXTENT/2;class Vt{constructor(t,e,i){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(let i=0;it.overscaledZ)for(const i in a){const s=a[i];s.tileID.isChildOf(t)&&s.findMatches(e.symbolInstances,t,o);}else {const s=a[t.scaledTo(Number(i)).key];s&&s.findMatches(e.symbolInstances,t,o);}}for(let t=0;t{e[t]=!0;}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t];}}var Wt=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]);class Ht extends t.Evented{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.renderHistory=[],this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,this.renderHistorySize=t._cache.max,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom;}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null;for(const t in this._tiles){const e=this._tiles[t];e.textures.forEach((t=>t.destroy())),e.textures=[];}}update(e,i){this.sourceCache.update(e,i),this._renderableTilesKeys=[];for(const o of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))this._renderableTilesKeys.push(o.key),this._tiles[o.key]||(o.posMatrix=new Float64Array(16),t.ortho(o.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),this._tiles[o.key]=new k(o,this.tileSize));}removeOutdated(t){const e={};this.renderHistory=this.renderHistory.filter(((t,e)=>this.renderHistory.indexOf(t)===e)).slice(0,this.renderHistorySize);for(const t of this._renderableTilesKeys)e[t]=!0;for(const t of this.renderHistory)e[t]=!0;for(const i in this._tiles)e[i]||(this._tiles[i].clearTextures(t),delete this._tiles[i]);}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(e){const i={};for(const o of this._renderableTilesKeys){const a=this._tiles[o].tileID;if(a.canonical.equals(e.canonical)){const a=e.clone();a.posMatrix=new Float64Array(16),t.ortho(a.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),i[o]=a;}else if(a.canonical.isChildOf(e.canonical)){const s=e.clone();s.posMatrix=new Float64Array(16);const r=a.canonical.z-e.canonical.z,n=a.canonical.x-(a.canonical.x>>r<>r<>r;t.ortho(s.posMatrix,0,c,0,c,0,1),t.translate(s.posMatrix,s.posMatrix,[-n*c,-l*c,0]),i[o]=s;}else if(e.canonical.isChildOf(a.canonical)){const s=e.clone();s.posMatrix=new Float64Array(16);const r=e.canonical.z-a.canonical.z,n=e.canonical.x-(e.canonical.x>>r<>r<>r;t.ortho(s.posMatrix,0,t.EXTENT,0,t.EXTENT,0,1),t.translate(s.posMatrix,s.posMatrix,[n*c,l*c,0]),t.scale(s.posMatrix,s.posMatrix,[1/2**r,1/2**r,0]),i[o]=s;}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let o=t.overscaledZ-this.deltaZoom;if(o>i.maxzoom&&(o=i.maxzoom),o=i.minzoom&&(!a||!a.dem);)a=this.sourceCache.getTileByID(t.scaledTo(o--).key);return a}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeLoaded>=t))}}class Kt{constructor(t,e,i){this.style=t,this.sourceCache=new Ht(e),this.options=i,this.exaggeration=\"number\"==typeof i.exaggeration?i.exaggeration:1,this.elevationOffset=\"number\"==typeof i.elevationOffset?i.elevationOffset:450,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024,this.clearRerenderCache();}getDEMElevation(e,i,o,a=t.EXTENT){if(!(i>=0&&i=0&&oe.canonical.z&&(e.canonical.z>=o?a=e.canonical.z-o:t.warnOnce(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));const s=e.canonical.x-(e.canonical.x>>a<>a<>8<<4|t>>8,i[e+3]=0;const o=new t.RGBAImage({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),a=new l(e,o,e.gl.RGBA,{premultiply:!1});return a.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=a,a}pointCoordinate(e){const i=new Uint8Array(4),o=this.style.map.painter,a=o.context,s=a.gl;a.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),s.readPixels(e.x,o.height/devicePixelRatio-e.y-1,1,1,s.RGBA,s.UNSIGNED_BYTE,i),a.bindFramebuffer.set(null);const r=i[0]+(i[2]>>4<<8),n=i[1]+((15&i[2])<<8),l=this.coordsIndex[255-i[3]],c=l&&this.sourceCache.getTileByID(l);if(!c)return null;const h=this._coordsTextureSize,u=(1<t.emitValidationErrors(e,i&&i.filter((t=>\"source.canvas\"!==t.identifier))),Jt=t.pick(W,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),Qt=t.pick(W,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),te=function(){const e={},i=t.spec.$version;for(const o in t.spec.$root){const a=t.spec.$root[o];if(a.required){let t=null;t=\"version\"===o?i:\"array\"===a.type?[]:{},null!=t&&(e[o]=t);}}return e}();class ee extends t.Evented{constructor(e,i={}){super(),this.map=e,this.dispatcher=new v(j(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new m(e._requestManager,i.localIdeographFontFamily),this.lineAtlas=new x(256,512),this.crossTileSymbolIndex=new $t,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",t.getReferrer());const o=this;this._rtlTextPluginCallback=ee.registerForPluginStateChange((e=>{o.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},((e,i)=>{if(t.triggerPluginCompletionEvent(e),i&&i.every((t=>t)))for(const t in o.sourceCaches)o.sourceCaches[t].reload();}));})),this.on(\"data\",(t=>{if(\"source\"!==t.dataType||\"metadata\"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===i.id&&this._validateLayer(e);}}));}loadURL(e,i={}){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"}));const o=\"boolean\"!=typeof i.validate||i.validate,a=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(a,((e,i)=>{this._request=null,e?this.fire(new t.ErrorEvent(e)):i&&this._load(i,o);}));}loadJSON(e,i={}){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._request=t.exported.frame((()=>{this._request=null,this._load(e,!1!==i.validate);}));}loadEmpty(){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._load(te,!1);}_load(e,i){if(i&&Yt(this,t.validateStyle(e)))return;this._loaded=!0,this.stylesheet=e;for(const t in e.sources)this.addSource(t,e.sources[t],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);const o=$(this.stylesheet.layers);this._order=o.map((t=>t.id)),this._layers={},this._serializedLayers={};for(let e of o)e=t.createStyleLayer(e),e.setEventedParent(this,{layer:{id:e.id}}),this._layers[e.id]=e,this._serializedLayers[e.id]=e.serialize();this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new g(this.stylesheet.light),this.setTerrain(this.stylesheet.terrain),this.fire(new t.Event(\"data\",{dataType:\"style\"})),this.fire(new t.Event(\"style.load\"));}_loadSprite(e){this._spriteRequest=function(e,i,o,a){let s,r,n;const l=o>1?\"@2x\":\"\";let c=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,l,\".json\"),t.ResourceType.SpriteJSON),((t,e)=>{c=null,n||(n=t,s=e,u());})),h=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,l,\".png\"),t.ResourceType.SpriteImage),((t,e)=>{h=null,n||(n=t,r=e,u());}));function u(){if(n)a(n);else if(s&&r){const e=t.exported.getImageData(r),i={};for(const o in s){const{width:a,height:r,x:n,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:d,content:_}=s[o],m=new t.RGBAImage({width:a,height:r});t.RGBAImage.copy(e,m,{x:n,y:l},{x:0,y:0},{width:a,height:r}),i[o]={data:m,pixelRatio:h,sdf:c,stretchX:u,stretchY:d,content:_};}a(null,i);}}return {cancel(){c&&(c.cancel(),c=null),h&&(h.cancel(),h=null);}}}(e,this.map._requestManager,this.map.getPixelRatio(),((e,i)=>{if(this._spriteRequest=null,e)this.fire(new t.ErrorEvent(e));else if(i)for(const t in i)this.imageManager.addImage(t,i[t]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}));}));}_validateLayer(e){const i=this.sourceCaches[e.source];if(!i)return;const o=e.sourceLayer;if(!o)return;const a=i.getSource();(\"geojson\"===a.type||a.vectorLayerIds&&-1===a.vectorLayerIds.indexOf(o))&&this.fire(new t.ErrorEvent(new Error(`Source layer \"${o}\" does not exist on source \"${a.id}\" as specified by style layer \"${e.id}\".`)));}loaded(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return !1;return !!this.imageManager.isLoaded()}_serializeLayers(t){const e=[];for(const i of t){const t=this._layers[i];\"custom\"!==t.type&&e.push(t.serialize());}return e}hasTransitions(){if(this.light&&this.light.hasTransition())return !0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return !0;for(const t in this._layers)if(this._layers[t].hasTransition())return !0;return !1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(e){if(!this._loaded)return;const i=this._changed;if(this._changed){const t=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(t.length||i.length)&&this._updateWorkerLayers(t,i);for(const t in this._updatedSources){const e=this._updatedSources[t];\"reload\"===e?this._reloadSource(t):\"clear\"===e&&this._clearSource(t);}this._updateTilesForChangedImages();for(const t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates();}const o={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];o[t]=e.used,e.used=!1;}for(const t of this._order){const i=this._layers[t];i.recalculate(e,this._availableImages),!i.isHidden(e.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0);}for(const e in o){const i=this.sourceCaches[e];o[e]!==i.used&&i.fire(new t.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:e}));}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event(\"data\",{dataType:\"style\"}));}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={};}}_updateWorkerLayers(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e});}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={};}setTerrain(e){if(this._checkLoaded(),this._terrainDataCallback&&this.off(\"data\",this._terrainDataCallback),this._terrainfreezeElevationCallback&&this.map.off(\"freezeElevation\",this._terrainfreezeElevationCallback),e){const t=this.sourceCaches[e.source];if(!t)throw new Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain=new Kt(this,t,e),this.map.transform.updateElevation(this.terrain),this._terrainfreezeElevationCallback=t=>{t.freeze?this.map.transform.freezeElevation=!0:(this.map.transform.freezeElevation=!1,this.map.transform.recalculateZoom(this.terrain));},this._terrainDataCallback=t=>{t.tile&&(t.sourceId===e.source?(this.map.transform.updateElevation(this.terrain),this.terrain.rememberForRerender(t.sourceId,t.tile.tileID)):\"geojson\"===t.source.type&&this.terrain.rememberForRerender(t.sourceId,t.tile.tileID));},this.on(\"data\",this._terrainDataCallback),this.map.on(\"freezeElevation\",this._terrainfreezeElevationCallback);}else this.terrain=null,this.map.transform.updateElevation(this.terrain);this.map.fire(new t.Event(\"terrain\",{terrain:e}));}setState(e){if(this._checkLoaded(),Yt(this,t.validateStyle(e)))return !1;(e=t.clone$1(e)).layers=$(e.layers);const i=function(t,e){if(!t)return [{command:W.setStyle,args:[e]}];let i=[];try{if(!a(t.version,e.version))return [{command:W.setStyle,args:[e]}];a(t.center,e.center)||i.push({command:W.setCenter,args:[e.center]}),a(t.zoom,e.zoom)||i.push({command:W.setZoom,args:[e.zoom]}),a(t.bearing,e.bearing)||i.push({command:W.setBearing,args:[e.bearing]}),a(t.pitch,e.pitch)||i.push({command:W.setPitch,args:[e.pitch]}),a(t.sprite,e.sprite)||i.push({command:W.setSprite,args:[e.sprite]}),a(t.glyphs,e.glyphs)||i.push({command:W.setGlyphs,args:[e.glyphs]}),a(t.transition,e.transition)||i.push({command:W.setTransition,args:[e.transition]}),a(t.light,e.light)||i.push({command:W.setLight,args:[e.light]});const o={},s=[];!function(t,e,i,o){let s;for(s in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,s)&&(Object.prototype.hasOwnProperty.call(e,s)||K(s,i,o));for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&(Object.prototype.hasOwnProperty.call(t,s)?a(t[s],e[s])||(\"geojson\"===t[s].type&&\"geojson\"===e[s].type&&J(t,e,s)?i.push({command:W.setGeoJSONSourceData,args:[s,e[s].data]}):Y(s,e,i,o)):H(s,e,i));}(t.sources,e.sources,s,o);const r=[];t.layers&&t.layers.forEach((t=>{o[t.source]?i.push({command:W.removeLayer,args:[t.id]}):r.push(t);})),i=i.concat(s),function(t,e,i){e=e||[];const o=(t=t||[]).map(tt),s=e.map(tt),r=t.reduce(et,{}),n=e.reduce(et,{}),l=o.slice(),c=Object.create(null);let h,u,d,_,m,p,f;for(h=0,u=0;h!(t.command in Qt)));if(0===i.length)return !1;const o=i.filter((t=>!(t.command in Jt)));if(o.length>0)throw new Error(`Unimplemented: ${o.map((t=>t.command)).join(\", \")}.`);return i.forEach((t=>{\"setTransition\"!==t.command&&this[t.command].apply(this,t.args);})),this.stylesheet=e,!0}addImage(e,i){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named \"${e}\" already exists.`)));this.imageManager.addImage(e,i),this._afterImageUpdated(e);}updateImage(t,e){this.imageManager.updateImage(t,e);}getImage(t){return this.imageManager.getImage(t)}removeImage(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(`An image named \"${e}\" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e);}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}));}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,i,o={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(`Source \"${e}\" already exists.`);if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(i.type)>=0&&this._validate(t.validateStyle.source,`sources.${e}`,i,null,o))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const a=this.sourceCaches[e]=new O(e,i,this.dispatcher);a.style=this,a.setEventedParent(this,(()=>({isSourceLoaded:this.loaded(),source:a.serialize(),sourceId:e}))),a.onAdd(this.map),this._changed=!0;}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(const i in this._layers)if(this._layers[i].source===e)return this.fire(new t.ErrorEvent(new Error(`Source \"${e}\" cannot be removed while layer \"${i}\" is using it.`)));const i=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],i.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0;}setGeoJSONSourceData(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0;}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(e,i,o={}){this._checkLoaded();const a=e.id;if(this.getLayer(a))return void this.fire(new t.ErrorEvent(new Error(`Layer \"${a}\" already exists on this map.`)));let s;if(\"custom\"===e.type){if(Yt(this,t.validateCustomStyleLayer(e)))return;s=t.createStyleLayer(e);}else {if(\"object\"==typeof e.source&&(this.addSource(a,e.source),e=t.clone$1(e),e=t.extend(e,{source:a})),this._validate(t.validateStyle.layer,`layers.${a}`,e,{arrayIndex:-1},o))return;s=t.createStyleLayer(e),this._validateLayer(s),s.setEventedParent(this,{layer:{id:a}}),this._serializedLayers[s.id]=s.serialize();}const r=i?this._order.indexOf(i):this._order.length;if(i&&-1===r)this.fire(new t.ErrorEvent(new Error(`Cannot add layer \"${a}\" before non-existing layer \"${i}\".`)));else {if(this._order.splice(r,0,a),this._layerOrderChanged=!0,this._layers[a]=s,this._removedLayers[a]&&s.source&&\"custom\"!==s.type){const t=this._removedLayers[a];delete this._removedLayers[a],t.type!==s.type?this._updatedSources[s.source]=\"clear\":(this._updatedSources[s.source]=\"reload\",this.sourceCaches[s.source].pause());}this._updateLayer(s),s.onAdd&&s.onAdd(this.map);}}moveLayer(e,i){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.ErrorEvent(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===i)return;const o=this._order.indexOf(e);this._order.splice(o,1);const a=i?this._order.indexOf(i):this._order.length;i&&-1===a?this.fire(new t.ErrorEvent(new Error(`Cannot move layer \"${e}\" before non-existing layer \"${i}\".`))):(this._order.splice(a,0,e),this._layerOrderChanged=!0);}removeLayer(e){this._checkLoaded();const i=this._layers[e];if(!i)return void this.fire(new t.ErrorEvent(new Error(`Cannot remove non-existing layer \"${e}\".`)));i.setEventedParent(null);const o=this._order.indexOf(e);this._order.splice(o,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map);}getLayer(t){return this._layers[t]}hasLayer(t){return t in this._layers}setLayerZoomRange(e,i,o){this._checkLoaded();const a=this.getLayer(e);a?a.minzoom===i&&a.maxzoom===o||(null!=i&&(a.minzoom=i),null!=o&&(a.maxzoom=o),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(`Cannot set the zoom range of non-existing layer \"${e}\".`)));}setFilter(e,i,o={}){this._checkLoaded();const s=this.getLayer(e);if(s){if(!a(s.filter,i))return null==i?(s.filter=void 0,void this._updateLayer(s)):void(this._validate(t.validateStyle.filter,`layers.${s.id}.filter`,i,null,o)||(s.filter=t.clone$1(i),this._updateLayer(s)))}else this.fire(new t.ErrorEvent(new Error(`Cannot filter non-existing layer \"${e}\".`)));}getFilter(e){return t.clone$1(this.getLayer(e).filter)}setLayoutProperty(e,i,o,s={}){this._checkLoaded();const r=this.getLayer(e);r?a(r.getLayoutProperty(i),o)||(r.setLayoutProperty(i,o,s),this._updateLayer(r)):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer \"${e}\".`)));}getLayoutProperty(e,i){const o=this.getLayer(e);if(o)return o.getLayoutProperty(i);this.fire(new t.ErrorEvent(new Error(`Cannot get style of non-existing layer \"${e}\".`)));}setPaintProperty(e,i,o,s={}){this._checkLoaded();const r=this.getLayer(e);r?a(r.getPaintProperty(i),o)||(r.setPaintProperty(i,o,s)&&this._updateLayer(r),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(`Cannot style non-existing layer \"${e}\".`)));}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(e,i){this._checkLoaded();const o=e.source,a=e.sourceLayer,s=this.sourceCaches[o];if(void 0===s)return void this.fire(new t.ErrorEvent(new Error(`The source '${o}' does not exist in the map's style.`)));const r=s.getSource().type;\"geojson\"===r&&a?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==r||a?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),s.setFeatureState(a,e.id,i)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}removeFeatureState(e,i){this._checkLoaded();const o=e.source,a=this.sourceCaches[o];if(void 0===a)return void this.fire(new t.ErrorEvent(new Error(`The source '${o}' does not exist in the map's style.`)));const s=a.getSource().type,r=\"vector\"===s?e.sourceLayer:void 0;\"vector\"!==s||r?i&&\"string\"!=typeof e.id&&\"number\"!=typeof e.id?this.fire(new t.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\"))):a.removeFeatureState(r,e.id,i):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}getFeatureState(e){this._checkLoaded();const i=e.source,o=e.sourceLayer,a=this.sourceCaches[i];if(void 0!==a)return \"vector\"!==a.getSource().type||o?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.getFeatureState(o,e.id)):void this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new t.ErrorEvent(new Error(`The source '${i}' does not exist in the map's style.`)));}getTransition(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(t=>t.serialize())),layers:this._serializeLayers(this._order)},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0;}_flattenAndSortRenderedFeatures(t){const e=t=>\"fill-extrusion\"===this._layers[t].type,i={},o=[];for(let a=this._order.length-1;a>=0;a--){const s=this._order[a];if(e(s)){i[s]=a;for(const e of t){const t=e[s];if(t)for(const e of t)o.push(e);}}}o.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const a=[];for(let s=this._order.length-1;s>=0;s--){const r=this._order[s];if(e(r))for(let t=o.length-1;t>=0;t--){const e=o[t].feature;if(i[e.layer.id]{const o=i.featureSortOrder;if(o){const i=o.indexOf(t.featureIndex);return o.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of a)e.push(t);}}for(const e in n)n[e].forEach((o=>{const a=o.feature,s=i[t[e].source].getFeatureState(a.layer[\"source-layer\"],a.id);a.source=a.layer.source,a.layer[\"source-layer\"]&&(a.sourceLayer=a.layer[\"source-layer\"]),a.state=s;}));return n}(this._layers,this._serializedLayers,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(s)}querySourceFeatures(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,\"querySourceFeatures.filter\",i.filter,null,i);const o=this.sourceCaches[e];return o?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),o=[],a={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)));}const o=this.crossTileSymbolIndex.addLayer(i,l[i.source],e.center.lng);r=r||o;}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((s=s||this._layerOrderChanged||0===o)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.exported.now(),e.zoom))&&(this.pauseablePlacement=new Zt(e,this.terrain,this._order,s,i,o,a,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.exported.now()),n=!0),r&&this.pauseablePlacement.placement.setStale()),n||r)for(const t of this._order){const e=this._layers[t];\"symbol\"===e.type&&this.placement.updateLayerOpacities(e,l[e.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.exported.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles();}getImages(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();const o=this.sourceCaches[e.source];o&&o.setDependencies(e.tileID.key,e.type,e.icons);}getGlyphs(t,e,i){this.glyphManager.getGlyphs(e.stacks,i);}getResource(e,i,o){return t.makeRequest(i,o)}}ee.getSourceType=function(t){return M[t]},ee.setSourceType=function(t,e){M[t]=e;},ee.registerForPluginStateChange=t.registerForPluginStateChange;var ie=\"attribute vec2 a_pos;uniform mat4 u_matrix;varying vec2 v_texture_pos;varying float v_depth;void main() {v_texture_pos=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);v_depth=gl_Position.z/gl_Position.w;}\";const oe={prelude:ae(\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\",\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\\n#ifdef TERRAIN3D\\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_offset;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\\n#endif\\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\\n#ifdef TERRAIN3D\\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\\n#else\\nreturn 1.0;\\n#endif\\n}float calculate_visibility(vec4 pos) {\\n#ifdef TERRAIN3D\\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\\n#else\\nreturn 1.0;\\n#endif\\n}float ele(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\\n#else\\nreturn 0.0;\\n#endif\\n}float get_elevation(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return (elevation+u_terrain_offset)*u_terrain_exaggeration;\\n#else\\nreturn 0.0;\\n#endif\\n}\"),background:ae(\"uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:ae(\"uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:ae(\"varying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}\"),clippingMask:ae(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:ae(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}\"),heatmapTexture:ae(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:ae(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:ae(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:ae(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:ae(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),fillOutline:ae(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),fillOutlinePattern:ae(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),fillPattern:ae(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),fillExtrusion:ae(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;\\n#ifdef TERRAIN3D\\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\\n#else\\nfloat baseDelta=0.0;float ele=0.0;\\n#endif\\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),fillExtrusionPattern:ae(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\\n#ifdef TERRAIN3D\\nfloat baseDelta=10.0;float ele=get_elevation(a_centroid);\\n#else\\nfloat baseDelta=0.0;float ele=0.0;\\n#endif\\nbase=max(0.0,ele+base-baseDelta);height=max(0.0,ele+height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),hillshadePrepare:ae(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:ae(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:ae(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_width2=vec2(outset,inset);}\"),lineGradient:ae(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_width2=vec2(outset,inset);}\"),linePattern:ae(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),lineSDF:ae(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),raster:ae(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:ae(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}\"),symbolSDF:ae(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),symbolTextAndIcon:ae(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\"),terrain:ae(\"uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}\",ie),terrainDepth:ae(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",ie),terrainCoords:ae(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",ie)};function ae(t,e){const i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,o=e.match(/attribute ([\\w]+) ([\\w]+)/g),a=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),s=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),r=s?s.concat(a):a,n={};return {fragmentSource:t=t.replace(i,((t,e,i,o,a)=>(n[a]=!0,\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${a}\\nvarying ${i} ${o} ${a};\\n#else\\nuniform ${i} ${o} u_${a};\\n#endif\\n`:`\\n#ifdef HAS_UNIFORM_u_${a}\\n ${i} ${o} ${a} = u_${a};\\n#endif\\n`))),vertexSource:e=e.replace(i,((t,e,i,o,a)=>{const s=\"float\"===o?\"vec2\":\"vec4\",r=a.match(/color/)?\"color\":s;return n[a]?\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${a}\\nuniform lowp float u_${a}_t;\\nattribute ${i} ${s} a_${a};\\nvarying ${i} ${o} ${a};\\n#else\\nuniform ${i} ${o} u_${a};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${a} = a_${a};\\n#else\\n ${i} ${o} ${a} = u_${a};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${a} = unpack_mix_${r}(a_${a}, u_${a}_t);\\n#else\\n ${i} ${o} ${a} = u_${a};\\n#endif\\n`:\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${a}\\nuniform lowp float u_${a}_t;\\nattribute ${i} ${s} a_${a};\\n#else\\nuniform ${i} ${o} u_${a};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${i} ${o} ${a} = a_${a};\\n#else\\n ${i} ${o} ${a} = u_${a};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${a}\\n ${i} ${o} ${a} = unpack_mix_${r}(a_${a}, u_${a}_t);\\n#else\\n ${i} ${o} ${a} = u_${a};\\n#endif\\n`})),staticAttributes:o,staticUniforms:r}}class se{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null;}bind(t,e,i,o,a,s,r,n,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==o.length;for(let t=0;!c&&t({u_depth:new t.Uniform1i(e,i.u_depth),u_terrain:new t.Uniform1i(e,i.u_terrain),u_terrain_dim:new t.Uniform1f(e,i.u_terrain_dim),u_terrain_matrix:new t.UniformMatrix4f(e,i.u_terrain_matrix),u_terrain_unpack:new t.Uniform4f(e,i.u_terrain_unpack),u_terrain_offset:new t.Uniform1f(e,i.u_terrain_offset),u_terrain_exaggeration:new t.Uniform1f(e,i.u_terrain_exaggeration)}))(e,w),this.binderUniforms=a?a.getUniforms(e,w):[];}draw(t,e,i,o,a,s,r,n,l,c,h,u,d,_,m,p,f,g){const x=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(o),t.setColorMode(a),t.setCullFace(s),n){t.activeTexture.set(x.TEXTURE2),x.bindTexture(x.TEXTURE_2D,n.depthTexture),t.activeTexture.set(x.TEXTURE3),x.bindTexture(x.TEXTURE_2D,n.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(n[t]);}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(r[t]);m&&m.setUniforms(t,this.binderUniforms,d,{zoom:_});const v={[x.LINES]:2,[x.TRIANGLES]:3,[x.LINE_STRIP]:1}[e];for(const i of u.get()){const o=i.vaos||(i.vaos={});(o[l]||(o[l]=new se)).bind(t,this,c,m?m.getPaintVertexBuffers():[],h,i.vertexOffset,p,f,g),x.drawElements(e,i.primitiveLength*v,x.UNSIGNED_SHORT,i.primitiveOffset*v*2);}}}function le(t,e,i){const o=1/bt(i,1,e.transform.tileZoom),a=Math.pow(2,i.tileID.overscaledZ),s=i.tileSize*Math.pow(2,e.transform.tileZoom)/a,r=s*(i.tileID.canonical.x+i.tileID.wrap*a),n=s*i.tileID.canonical.y;return {u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[o,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[r>>16,n>>16],u_pixel_coord_lower:[65535&r,65535&n]}}const ce=(e,i,o,a)=>{const s=i.style.light,r=s.properties.get(\"position\"),n=[r.x,r.y,r.z],l=t.create$1();\"viewport\"===s.properties.get(\"anchor\")&&t.fromRotation(l,-i.transform.angle),t.transformMat3(n,n,l);const c=s.properties.get(\"color\");return {u_matrix:e,u_lightpos:n,u_lightintensity:s.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+o,u_opacity:a}},he=(e,i,o,a,s,r,n)=>t.extend(ce(e,i,o,a),le(r,i,n),{u_height_factor:-Math.pow(2,s.overscaledZ)/n.tileSize/8}),ue=t=>({u_matrix:t}),de=(e,i,o,a)=>t.extend(ue(e),le(o,i,a)),_e=(t,e)=>({u_matrix:t,u_world:e}),me=(e,i,o,a,s)=>t.extend(de(e,i,o,a),{u_world:s}),pe=(t,e,i,o)=>{const a=t.transform;let s,r;if(\"map\"===o.paint.get(\"circle-pitch-alignment\")){const t=bt(i,1,a.zoom);s=!0,r=[t,t];}else s=!1,r=a.pixelsToGLUnits;return {u_camera_to_center_distance:a.cameraToCenterDistance,u_scale_with_map:+(\"map\"===o.paint.get(\"circle-pitch-scale\")),u_matrix:t.translatePosMatrix(e.posMatrix,i,o.paint.get(\"circle-translate\"),o.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+s,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:r}},fe=(t,e,i)=>{const o=bt(i,1,e.zoom),a=Math.pow(2,e.zoom-i.tileID.overscaledZ),s=i.tileID.overscaleFactor();return {u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:o,u_extrude_scale:[e.pixelsToGLUnits[0]/(o*a),e.pixelsToGLUnits[1]/(o*a)],u_overscale_factor:s}},ge=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),xe=t=>({u_matrix:t}),ve=(t,e,i,o)=>({u_matrix:t,u_extrude_scale:bt(e,1,i),u_intensity:o});function ye(e,i){const o=Math.pow(2,i.canonical.z),a=i.canonical.y;return [new t.MercatorCoordinate(0,a/o).toLngLat().lat,new t.MercatorCoordinate(0,(a+1)/o).toLngLat().lat]}const be=(t,e,i,o)=>{const a=t.transform;return {u_matrix:Ce(t,e,i,o),u_ratio:1/bt(e,1,a.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},we=(e,i,o,a,s)=>t.extend(be(e,i,o,s),{u_image:0,u_image_height:a}),Te=(t,e,i,o,a)=>{const s=t.transform,r=Ie(e,s);return {u_matrix:Ce(t,e,i,a),u_texsize:e.imageAtlasTexture.size,u_ratio:1/bt(e,1,s.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[r,o.fromScale,o.toScale],u_fade:o.t,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},Ee=(e,i,o,a,s,r)=>{const n=e.lineAtlas,l=Ie(i,e.transform),c=\"round\"===o.layout.get(\"line-cap\"),h=n.getDash(a.from,c),u=n.getDash(a.to,c),d=h.width*s.fromScale,_=u.width*s.toScale;return t.extend(be(e,i,o,r),{u_patternscale_a:[l/d,-h.height/2],u_patternscale_b:[l/_,-u.height/2],u_sdfgamma:n.width/(256*Math.min(d,_)*e.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:s.t})};function Ie(t,e){return 1/bt(t,1,e.tileZoom)}function Ce(t,e,i,o){return t.translatePosMatrix(o?o.posMatrix:e.tileID.posMatrix,e,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}const Se=(t,e,i,o,a)=>{return {u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:o.mix,u_opacity:o.opacity*a.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:a.paint.get(\"raster-brightness-min\"),u_brightness_high:a.paint.get(\"raster-brightness-max\"),u_saturation_factor:(r=a.paint.get(\"raster-saturation\"),r>0?1-1/(1.001-r):-r),u_contrast_factor:(s=a.paint.get(\"raster-contrast\"),s>0?1/(1-s):1+s),u_spin_weights:De(a.paint.get(\"raster-hue-rotate\"))};var s,r;};function De(t){t*=Math.PI/180;const e=Math.sin(t),i=Math.cos(t);return [(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}const ze=(t,e,i,o,a,s,r,n,l,c)=>{const h=a.transform;return {u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:h.cameraToCenterDistance,u_pitch:h.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:h.width/h.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:r,u_coord_matrix:n,u_is_text:+l,u_pitch_with_map:+o,u_texsize:c,u_texture:0}},Pe=(e,i,o,a,s,r,n,l,c,h,u)=>{const d=s.transform;return t.extend(ze(e,i,o,a,s,r,n,l,c,h),{u_gamma_scale:a?Math.cos(d._pitch)*d.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+u})},Me=(e,i,o,a,s,r,n,l,c,h)=>t.extend(Pe(e,i,o,a,s,r,n,l,!0,c,!0),{u_texsize_icon:h,u_texture_icon:1}),Ae=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),Re=(e,i,o,a,s,r)=>t.extend(function(t,e,i,o){const a=i.imageManager.getPattern(t.from.toString()),s=i.imageManager.getPattern(t.to.toString()),{width:r,height:n}=i.imageManager.getPixelSize(),l=Math.pow(2,o.tileID.overscaledZ),c=o.tileSize*Math.pow(2,i.transform.tileZoom)/l,h=c*(o.tileID.canonical.x+o.tileID.wrap*l),u=c*o.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:s.tl,u_pattern_br_b:s.br,u_texsize:[r,n],u_mix:e.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:s.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/bt(o,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,u>>16],u_pixel_coord_lower:[65535&h,65535&u]}}(a,r,o,s),{u_matrix:e,u_opacity:i}),Le={fillExtrusion:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fillExtrusionPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,i.u_height_factor),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade),u_opacity:new t.Uniform1f(e,i.u_opacity)}),fill:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),fillPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),fillOutline:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}),fillOutlinePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),circle:(e,i)=>({u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,i.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),collisionBox:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,i.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,i.u_overscale_factor)}),collisionCircle:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,i.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,i.u_viewport_size)}),debug:(e,i)=>({u_color:new t.UniformColor(e,i.u_color),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_overlay:new t.Uniform1i(e,i.u_overlay),u_overlay_scale:new t.Uniform1f(e,i.u_overlay_scale)}),clippingMask:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmap:(e,i)=>({u_extrude_scale:new t.Uniform1f(e,i.u_extrude_scale),u_intensity:new t.Uniform1f(e,i.u_intensity),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),heatmapTexture:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_color_ramp:new t.Uniform1i(e,i.u_color_ramp),u_opacity:new t.Uniform1f(e,i.u_opacity)}),hillshade:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_latrange:new t.Uniform2f(e,i.u_latrange),u_light:new t.Uniform2f(e,i.u_light),u_shadow:new t.UniformColor(e,i.u_shadow),u_highlight:new t.UniformColor(e,i.u_highlight),u_accent:new t.UniformColor(e,i.u_accent)}),hillshadePrepare:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_dimension:new t.Uniform2f(e,i.u_dimension),u_zoom:new t.Uniform1f(e,i.u_zoom),u_unpack:new t.Uniform4f(e,i.u_unpack)}),line:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels)}),lineGradient:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_image:new t.Uniform1i(e,i.u_image),u_image_height:new t.Uniform1f(e,i.u_image_height)}),linePattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texsize:new t.Uniform2f(e,i.u_texsize),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_image:new t.Uniform1i(e,i.u_image),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}),lineSDF:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,i.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,i.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,i.u_sdfgamma),u_image:new t.Uniform1i(e,i.u_image),u_tex_y_a:new t.Uniform1f(e,i.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,i.u_tex_y_b),u_mix:new t.Uniform1f(e,i.u_mix)}),raster:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_tl_parent:new t.Uniform2f(e,i.u_tl_parent),u_scale_parent:new t.Uniform1f(e,i.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,i.u_buffer_scale),u_fade_t:new t.Uniform1f(e,i.u_fade_t),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image0:new t.Uniform1i(e,i.u_image0),u_image1:new t.Uniform1i(e,i.u_image1),u_brightness_low:new t.Uniform1f(e,i.u_brightness_low),u_brightness_high:new t.Uniform1f(e,i.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,i.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,i.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,i.u_spin_weights)}),symbolIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture)}),symbolSDF:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),symbolTextAndIcon:(e,i)=>({u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texsize_icon:new t.Uniform2f(e,i.u_texsize_icon),u_texture:new t.Uniform1i(e,i.u_texture),u_texture_icon:new t.Uniform1i(e,i.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}),background:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_color:new t.UniformColor(e,i.u_color)}),backgroundPattern:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image:new t.Uniform1i(e,i.u_image),u_pattern_tl_a:new t.Uniform2f(e,i.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,i.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,i.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,i.u_pattern_br_b),u_texsize:new t.Uniform2f(e,i.u_texsize),u_mix:new t.Uniform1f(e,i.u_mix),u_pattern_size_a:new t.Uniform2f(e,i.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,i.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,i.u_scale_a),u_scale_b:new t.Uniform1f(e,i.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,i.u_tile_units_to_pixels)}),terrain:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture)}),terrainDepth:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}),terrainCoords:(e,i)=>({u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texture:new t.Uniform1i(e,i.u_texture),u_terrain_coords_id:new t.Uniform1f(e,i.u_terrain_coords_id)})};class ke{constructor(t,e,i){this.context=t;const o=t.gl;this.buffer=o.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?o.DYNAMIC_DRAW:o.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindElementBuffer.set(this.buffer);}updateData(t){const e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer);}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);}}const Be={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class Fe{constructor(t,e,i,o){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=o,this.context=t;const a=t.gl;this.buffer=a.createBuffer(),t.bindVertexBuffer.set(this.buffer),a.bufferData(a.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindVertexBuffer.set(this.buffer);}updateData(t){const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer);}enableAttributes(t,e){for(let i=0;i0){const i=t.create(),o=x;t.mul(i,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(i,i,g.placementViewportMatrix),u.push({circleArray:y,circleOffset:_,transform:o,invTransform:i,coord:p}),d+=y.length/4,_=d;}v&&h.draw(l,c.LINES,wi.disabled,Ei.disabled,e.colorModeForRenderPass(),Ii.disabled,fe(x,e.transform,f),e.style.terrain&&e.style.terrain.getTerrainData(p),o.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,null,e.transform.zoom,null,null,v.collisionVertexBuffer);}if(!n||!u.length)return;const m=e.useProgram(\"collisionCircle\"),p=new t.CollisionCircleLayoutArray;p.resize(4*d),p._trim();let f=0;for(const t of u)for(let e=0;e=0&&(p[f.associatedIconIndex]={shiftedAnchor:I,angle:C});}else gt(f.numGlyphs,_);}if(h){m.clear();const i=e.icon.placedSymbolArray;for(let e=0;ee.style.terrain.getElevation(l,t,i):null,i=\"map\"===o.layout.get(\"text-rotation-alignment\");ht(c,l.posMatrix,e,s,B,F,g,h,i,t);}const N=e.translatePosMatrix(l.posMatrix,a,r,n),G=x||s&&T||U?Di:B,Z=e.translatePosMatrix(F,a,r,n,!0),q=_&&0!==o.paint.get(s?\"text-halo-width\":\"icon-halo-width\").constantOr(1);let V;V=_?c.iconsInText?Me(w.kind,S,v,g,e,N,G,Z,z,R):Pe(w.kind,S,v,g,e,N,G,Z,s,z,!0):ze(w.kind,S,v,g,e,N,G,Z,s,z);const j={program:C,buffers:u,uniformValues:V,atlasTexture:P,atlasTextureIcon:L,atlasInterpolation:M,atlasInterpolationIcon:A,isSDF:_,hasHalo:q};if(y&&c.canOverlap){b=!0;const e=u.segments.get();for(const i of e)E.push({segments:new t.SegmentVector([i]),sortKey:i.sortKey,state:j,terrainData:D});}else E.push({segments:u.segments,sortKey:0,state:j,terrainData:D});}b&&E.sort(((t,e)=>t.sortKey-e.sortKey));for(const t of E){const i=t.state;if(_.activeTexture.set(m.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,m.CLAMP_TO_EDGE),i.atlasTextureIcon&&(_.activeTexture.set(m.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,m.CLAMP_TO_EDGE)),i.isSDF){const a=i.uniformValues;i.hasHalo&&(a.u_is_halo=1,Ri(i.buffers,t.segments,o,e,i.program,w,u,d,a,t.terrainData)),a.u_is_halo=0;}Ri(i.buffers,t.segments,o,e,i.program,w,u,d,i.uniformValues,t.terrainData);}}function Ri(t,e,i,o,a,s,r,n,l,c){const h=o.context;a.draw(h,h.gl.TRIANGLES,s,r,n,Ii.disabled,l,c,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,o.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function Li(t,e,i,o,a,s,r){const n=t.context.gl,l=i.paint.get(\"fill-pattern\"),c=l&&l.constantOr(1),h=i.getCrossfadeParameters();let u,d,_,m,p;r?(d=c&&!i.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",u=n.LINES):(d=c?\"fillPattern\":\"fill\",u=n.TRIANGLES);for(const f of o){const o=e.getTile(f);if(c&&!o.patternsLoaded())continue;const g=o.getBucket(i);if(!g)continue;const x=g.programConfigurations.get(i.id),v=t.useProgram(d,x),y=t.style.terrain&&t.style.terrain.getTerrainData(f);c&&(t.context.activeTexture.set(n.TEXTURE0),o.imageAtlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE),x.updatePaintBuffers(h));const b=l.constantOr(null);if(b&&o.imageAtlas){const t=o.imageAtlas,e=t.patternPositions[b.to.toString()],i=t.patternPositions[b.from.toString()];e&&i&&x.setConstantPatternPositions(e,i);}const w=y?f:null,T=t.translatePosMatrix(w?w.posMatrix:f.posMatrix,o,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"));if(r){m=g.indexBuffer2,p=g.segments2;const e=[n.drawingBufferWidth,n.drawingBufferHeight];_=\"fillOutlinePattern\"===d&&c?me(T,t,h,o,e):_e(T,e);}else m=g.indexBuffer,p=g.segments,_=c?de(T,t,h,o):ue(T);v.draw(t.context,u,a,t.stencilModeForClipping(f),s,Ii.disabled,_,y,i.id,g.layoutVertexBuffer,m,p,i.paint,t.transform.zoom,x);}}function ki(t,e,i,o,a,s,r){const n=t.context,l=n.gl,c=i.paint.get(\"fill-extrusion-pattern\"),h=c.constantOr(1),u=i.getCrossfadeParameters(),d=i.paint.get(\"fill-extrusion-opacity\");for(const _ of o){const o=e.getTile(_),m=o.getBucket(i);if(!m)continue;const p=t.style.terrain&&t.style.terrain.getTerrainData(_),f=m.programConfigurations.get(i.id),g=t.useProgram(h?\"fillExtrusionPattern\":\"fillExtrusion\",f);h&&(t.context.activeTexture.set(l.TEXTURE0),o.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),f.updatePaintBuffers(u));const x=c.constantOr(null);if(x&&o.imageAtlas){const t=o.imageAtlas,e=t.patternPositions[x.to.toString()],i=t.patternPositions[x.from.toString()];e&&i&&f.setConstantPatternPositions(e,i);}const v=t.translatePosMatrix(_.posMatrix,o,i.paint.get(\"fill-extrusion-translate\"),i.paint.get(\"fill-extrusion-translate-anchor\")),y=i.paint.get(\"fill-extrusion-vertical-gradient\"),b=h?he(v,t,y,d,_,u,o):ce(v,t,y,d);g.draw(n,n.gl.TRIANGLES,a,s,r,Ii.backCCW,b,p,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,f,t.style.terrain&&m.centroidVertexBuffer);}}function Bi(t,e,i,o,a,s,r){const n=t.context,l=n.gl,c=i.fbo;if(!c)return;const h=t.useProgram(\"hillshade\"),u=t.style.terrain&&t.style.terrain.getTerrainData(e);n.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),h.draw(n,l.TRIANGLES,a,s,r,Ii.disabled,((t,e,i,o)=>{const a=i.paint.get(\"hillshade-shadow-color\"),s=i.paint.get(\"hillshade-highlight-color\"),r=i.paint.get(\"hillshade-accent-color\");let n=i.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===i.paint.get(\"hillshade-illumination-anchor\")&&(n-=t.transform.angle);const l=!t.options.moving;return {u_matrix:o?o.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:ye(0,e.tileID),u_light:[i.paint.get(\"hillshade-exaggeration\"),n],u_shadow:a,u_highlight:s,u_accent:r}})(t,i,o,u?e:null),u,o.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}function Fi(e,i,o,a,s,r){const n=e.context,c=n.gl,h=i.dem;if(h&&h.data){const u=h.dim,d=h.stride,_=h.getPixels();if(n.activeTexture.set(c.TEXTURE1),n.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(d),i.demTexture){const t=i.demTexture;t.update(_,{premultiply:!1}),t.bind(c.NEAREST,c.CLAMP_TO_EDGE);}else i.demTexture=new l(n,_,c.RGBA,{premultiply:!1}),i.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);n.activeTexture.set(c.TEXTURE0);let m=i.fbo;if(!m){const t=new l(n,{width:u,height:u,data:null},c.RGBA);t.bind(c.LINEAR,c.CLAMP_TO_EDGE),m=i.fbo=n.createFramebuffer(u,u,!0),m.colorAttachment.set(t.texture);}n.bindFramebuffer.set(m.framebuffer),n.viewport.set([0,0,u,u]),e.useProgram(\"hillshadePrepare\").draw(n,c.TRIANGLES,a,s,r,Ii.disabled,((e,i)=>{const o=i.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[o,o],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,h),null,o.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function Oi(e,i,o,a,s,r){const n=a.paint.get(\"raster-fade-duration\");if(!r&&n>0){const a=t.exported.now(),r=(a-e.timeAdded)/n,l=i?(a-i.timeAdded)/n:-1,c=o.getSource(),h=s.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),d=u&&e.refreshedUponExpiration?1:t.clamp(u?r:1-l,0,1);return e.refreshedUponExpiration&&r>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return {opacity:1,mix:0}}const Ui=new t.Color(1,0,0,1),Ni=new t.Color(0,1,0,1),Gi=new t.Color(0,0,1,1),Zi=new t.Color(1,0,1,1),qi=new t.Color(0,1,1,1);function Vi(t,e,i,o){Xi(t,0,e+i/2,t.transform.width,i,o);}function ji(t,e,i,o){Xi(t,e-i/2,0,i,t.transform.height,o);}function Xi(t,e,i,o,a,s){const r=t.context,n=r.gl;n.enable(n.SCISSOR_TEST),n.scissor(e*t.pixelRatio,i*t.pixelRatio,o*t.pixelRatio,a*t.pixelRatio),r.clear({color:s}),n.disable(n.SCISSOR_TEST);}function $i(e,i,o){const a=e.context,s=a.gl,r=o.posMatrix,n=e.useProgram(\"debug\"),l=wi.disabled,c=Ei.disabled,h=e.colorModeForRenderPass(),u=\"$debug\",d=e.style.terrain&&e.style.terrain.getTerrainData(o);a.activeTexture.set(s.TEXTURE0),e.emptyTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE);const _=i.getTileByID(o.key).latestRawTileData,m=Math.floor((_&&_.byteLength||0)/1024),p=i.getTile(o).tileSize,f=512/Math.min(p,512)*(o.overscaledZ/e.transform.zoom)*.5;let g=o.canonical.toString();o.overscaledZ!==o.canonical.z&&(g+=` => ${o.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,o=t.context.gl,a=t.debugOverlayCanvas.getContext(\"2d\");a.clearRect(0,0,i.width,i.height),a.shadowColor=\"white\",a.shadowBlur=2,a.lineWidth=1.5,a.strokeStyle=\"white\",a.textBaseline=\"top\",a.font=\"bold 36px Open Sans, sans-serif\",a.fillText(e,5,5),a.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(o.LINEAR,o.CLAMP_TO_EDGE);}(e,`${g} ${m}kB`),n.draw(a,s.TRIANGLES,l,c,yi.alphaBlended,Ii.disabled,ge(r,t.Color.transparent,f),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),n.draw(a,s.LINE_STRIP,l,c,h,Ii.disabled,ge(r,t.Color.red),d,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);}function Wi(t,e,i){const o=t.context,a=o.gl,s=t.colorModeForRenderPass(),r=new wi(a.LEQUAL,wi.ReadWrite,t.depthRangeFor3D),n=t.useProgram(\"terrain\"),l=e.getTerrainMesh(),c=e.getTerrainData(i.tileID);o.bindFramebuffer.set(null),o.viewport.set([0,0,t.width,t.height]),o.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e.getRTTFramebuffer().colorAttachment.get());const h=t.transform.calculatePosMatrix(i.tileID.toUnwrapped());n.draw(o,a.TRIANGLES,r,Ei.disabled,s,Ii.backCCW,{u_matrix:h,u_texture:0},c,\"terrain\",l.vertexBuffer,l.indexBuffer,l.segments);}function Hi(t,e,i,o){const a=t.context,s=i.tileSize*e.qualityFactor;i.textures[o]||(i.textures[o]=t.getTileTexture(s)||new l(a,{width:s,height:s,data:null},a.gl.RGBA),i.textures[o].bind(a.gl.LINEAR,a.gl.CLAMP_TO_EDGE),0===o&&e.sourceCache.renderHistory.unshift(i.tileID.key));const r=e.getRTTFramebuffer();r.colorAttachment.set(i.textures[o].texture),a.bindFramebuffer.set(r.framebuffer),a.viewport.set([0,0,s,s]);}class Ki{constructor(t){this._coordsDescendingInv={},this._coordsDescendingInvStr={},this.painter=t,this._renderToTexture={background:!0,fill:!0,line:!0,raster:!0},this._coordsDescendingInv={},this._coordsDescendingInvStr={},this._stacks=[],this._prevType=null,this._rerender={},this._renderableTiles=t.style.terrain.sourceCache.getRenderableTiles(),this._init();}_init(){const t=this.painter.style,e=t.terrain;for(const i in t.sourceCaches){this._coordsDescendingInv[i]={};const o=t.sourceCaches[i].getVisibleCoordinates();for(const t of o){const o=e.sourceCache.getTerrainCoords(t);for(const t in o)this._coordsDescendingInv[i][t]||(this._coordsDescendingInv[i][t]=[]),this._coordsDescendingInv[i][t].push(o[t]);}}for(const e of t._order){const i=t._layers[e],o=i.source;if(this._renderToTexture[i.type]&&!this._coordsDescendingInvStr[o]){this._coordsDescendingInvStr[o]={};for(const t in this._coordsDescendingInv[o])this._coordsDescendingInvStr[o][t]=this._coordsDescendingInv[o][t].map((t=>t.key)).sort().join();}}return this._renderableTiles.forEach((t=>{for(const i in this._coordsDescendingInvStr){const o=this._coordsDescendingInvStr[i][t.tileID.key];o&&o!==t.textureCoords[i]&&t.clearTextures(this.painter),e.needsRerender(i,t.tileID)&&t.clearTextures(this.painter);}this._rerender[t.tileID.key]=!t.textures.length;})),e.clearRerenderCache(),e.sourceCache.removeOutdated(this.painter),this}renderLayer(e){const i=e.type,o=this.painter,a=o.style._order,s=o.currentLayer,r=s+1===a.length;if(this._renderToTexture[i]&&(this._prevType&&this._renderToTexture[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(a[s]),!r))return !0;if(this._renderToTexture[this._prevType]||\"hillshade\"===i||this._renderToTexture[i]&&r){this._prevType=i;const r=this._stacks.length-1,n=this._stacks[r]||[];for(const e of this._renderableTiles){if(Hi(o,o.style.terrain,e,r),this._rerender[e.tileID.key]){o.context.clear({color:t.Color.transparent});for(let t=0;ti.style.terrain.getElevation(s,t,e):null);}}}(a,e,o,i,o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),s),0!==o.paint.get(\"icon-opacity\").constantOr(1)&&Ai(e,i,o,a,!1,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),o.layout.get(\"icon-rotation-alignment\"),o.layout.get(\"icon-pitch-alignment\"),o.layout.get(\"icon-keep-upright\"),r,n),0!==o.paint.get(\"text-opacity\").constantOr(1)&&Ai(e,i,o,a,!0,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),o.layout.get(\"text-keep-upright\"),r,n),i.map.showCollisionBoxes&&(Si(e,i,o,a,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),!0),Si(e,i,o,a,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),!1));},circle:function(e,i,o,a){if(\"translucent\"!==e.renderPass)return;const s=o.paint.get(\"circle-opacity\"),r=o.paint.get(\"circle-stroke-width\"),n=o.paint.get(\"circle-stroke-opacity\"),l=!o.layout.get(\"circle-sort-key\").isConstant();if(0===s.constantOr(1)&&(0===r.constantOr(1)||0===n.constantOr(1)))return;const c=e.context,h=c.gl,u=e.depthModeForSublayer(0,wi.ReadOnly),d=Ei.disabled,_=e.colorModeForRenderPass(),m=[];for(let s=0;st.sortKey-e.sortKey));for(const t of m){const{programConfiguration:i,program:a,layoutVertexBuffer:s,indexBuffer:r,uniformValues:n,terrainData:l}=t.state;a.draw(c,h.TRIANGLES,u,d,_,Ii.disabled,n,l,o.id,s,r,t.segments,o.paint,e.transform.zoom,i);}},heatmap:function(e,i,o,a){if(0!==o.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===e.renderPass){const s=e.context,r=s.gl,n=Ei.disabled,l=new yi([r.ONE,r.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){const o=t.gl;t.activeTexture.set(o.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let a=i.heatmapFbo;if(a)o.bindTexture(o.TEXTURE_2D,a.colorAttachment.get()),t.bindFramebuffer.set(a.framebuffer);else {const s=o.createTexture();o.bindTexture(o.TEXTURE_2D,s),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),a=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,i,o){const a=t.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,e.width/4,e.height/4,0,a.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),o.colorAttachment.set(i);}(t,e,s,a);}}(s,e,o),s.clear({color:t.Color.transparent});for(let t=0;t{const s=t.create();t.ortho(s,0,e.width,e.height,0,0,1);const r=e.context.gl;return {u_matrix:s,u_world:[r.drawingBufferWidth,r.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get(\"heatmap-opacity\")}})(e,i),null,i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom);}(e,o));},line:function(e,i,o,a){if(\"translucent\"!==e.renderPass)return;const s=o.paint.get(\"line-opacity\"),r=o.paint.get(\"line-width\");if(0===s.constantOr(1)||0===r.constantOr(1))return;const n=e.depthModeForSublayer(0,wi.ReadOnly),c=e.colorModeForRenderPass(),h=o.paint.get(\"line-dasharray\"),u=o.paint.get(\"line-pattern\"),d=u.constantOr(1),_=o.paint.get(\"line-gradient\"),m=o.getCrossfadeParameters(),p=d?\"linePattern\":h?\"lineSDF\":_?\"lineGradient\":\"line\",f=e.context,g=f.gl;let x=!0;for(const s of a){const a=i.getTile(s);if(d&&!a.patternsLoaded())continue;const r=a.getBucket(o);if(!r)continue;const v=r.programConfigurations.get(o.id),y=e.context.program.get(),b=e.useProgram(p,v),w=x||b.program!==y,T=e.style.terrain&&e.style.terrain.getTerrainData(s),E=u.constantOr(null);if(E&&a.imageAtlas){const t=a.imageAtlas,e=t.patternPositions[E.to.toString()],i=t.patternPositions[E.from.toString()];e&&i&&v.setConstantPatternPositions(e,i);}const I=T?s:null,C=d?Te(e,a,o,m,I):h?Ee(e,a,o,h,m,I):_?we(e,a,o,r.lineClipsArray.length,I):be(e,a,o,I);if(d)f.activeTexture.set(g.TEXTURE0),a.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),v.updatePaintBuffers(m);else if(h&&(w||e.lineAtlas.dirty))f.activeTexture.set(g.TEXTURE0),e.lineAtlas.bind(f);else if(_){const a=r.gradients[o.id];let n=a.texture;if(o.gradientVersion!==a.version){let c=256;if(o.stepInterpolant){const o=i.getSource().maxzoom,a=s.canonical.z===o?Math.ceil(1<256&&this.clearStencil(),i.setColorMode(yi.disabled),i.setDepthMode(wi.disabled);const a=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,s=this.style.terrain&&this.style.terrain.getTerrainData(t);a.draw(i,o.TRIANGLES,wi.disabled,new Ei({func:o.ALWAYS,mask:0},e,255,o.KEEP,o.KEEP,o.REPLACE),yi.disabled,Ii.disabled,xe(t.posMatrix),s,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments);}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Ei({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Ei({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),o=i[i.length-1].overscaledZ,a=i[0].overscaledZ-o+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();const t={};for(let i=0;i=0;this.currentLayer--){const t=this.style._layers[o[this.currentLayer]],e=a[t.source],i=r[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i);}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer{i.source&&!i.isHidden(this.transform.zoom)&&(i.source!==(e&&e.id)&&(e=this.style.sourceCaches[i.source]),(!t||t.getSource().maxzoom0?e.pop():null}isPatternMissing(t){if(!t)return !1;if(!t.from||!t.to)return !0;const e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return !e||!i}useProgram(t,e){this.cache=this.cache||{};const i=t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.terrain?\"/terrain\":\"\");return this.cache[i]||(this.cache[i]=new ne(this.context,t,oe[t],e,Le[t],this._showOverdrawInspector,this.style.terrain)),this.cache[i]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD);}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new l(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));}destroy(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy();}}class Qi{constructor(t,e){this.points=t,this.planes=e;}static fromInvProjectionMatrix(e,i,o){const a=Math.pow(2,o),s=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((o=>{const s=1/(o=t.transformMat4([],o,e))[3]/i*a;return t.mul$1(o,o,[s,s,1/o[3],s])})),r=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((e=>{const i=t.sub([],s[e[0]],s[e[1]]),o=t.sub([],s[e[2]],s[e[1]]),a=t.normalize([],t.cross([],i,o)),r=-t.dot(a,s[e[1]]);return a.concat(r)}));return new Qi(s,r)}}class to{constructor(e,i){this.min=e,this.max=i,this.center=t.scale$1([],t.add([],this.min,this.max),.5);}quadrant(e){const i=[e%2==0,e<2],o=t.clone$2(this.min),a=t.clone$2(this.max);for(let t=0;t=0&&r++;if(0===r)return 0;r!==i.length&&(o=!1);}if(o)return 2;for(let t=0;t<3;t++){let i=Number.MAX_VALUE,o=-Number.MAX_VALUE;for(let a=0;athis.max[t]-this.min[t])return 0}return 1}}class eo{constructor(t=0,e=0,i=0,o=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(o)||o<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=i,this.right=o;}interpolate(e,i,o){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,o)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,o)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,o)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,o)),this}getCenter(e,i){const o=t.clamp((this.left+e-this.right)/2,0,e),a=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.pointGeometry(o,a)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new eo(this.top,this.bottom,this.left,this.right)}toJSON(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class io{constructor(e,i,o,a,s){this.tileSize=512,this.maxValidLatitude=85.051129,this.freezeElevation=!1,this._renderWorldCopies=void 0===s||!!s,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==o?0:o,this._maxPitch=null==a?60:a,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new eo,this._posMatrixCache={},this._alignedPosMatrixCache={};}clone(){const t=new io(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t._elevation=this._elevation,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t));}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t));}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t));}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t));}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t;}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.pointGeometry(this.width,this.height)}get bearing(){return -this.angle/Math.PI*180}set bearing(e){const i=-t.wrap(e,-180,180)*Math.PI/180;var o;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=(o=new t.ARRAY_TYPE(4),t.ARRAY_TYPE!=Float32Array&&(o[1]=0,o[2]=0),o[0]=1,o[3]=1,o),function(t,e,i){var o=e[0],a=e[1],s=e[2],r=e[3],n=Math.sin(i),l=Math.cos(i);t[0]=o*l+s*n,t[1]=a*l+r*n,t[2]=o*-n+s*l,t[3]=a*-n+r*l;}(this.rotationMatrix,this.rotationMatrix,this.angle));}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices());}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices());}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices());}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices());}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices());}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices();}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(e){const i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies){const o=this.pointCoordinate(new t.pointGeometry(0,0)),a=this.pointCoordinate(new t.pointGeometry(this.width,0)),s=this.pointCoordinate(new t.pointGeometry(this.width,this.height)),r=this.pointCoordinate(new t.pointGeometry(0,this.height)),n=Math.floor(Math.min(o.x,a.x,s.x,r.x)),l=Math.floor(Math.max(o.x,a.x,s.x,r.x)),c=1;for(let o=n-c;o<=l+c;o++)0!==o&&i.push(new t.UnwrappedTileID(o,e));}return i}coveringTiles(e){var i,o;let a=this.coveringZoomLevel(e);const s=a;if(void 0!==e.minzoom&&ae.maxzoom&&(a=e.maxzoom);const r=this.pointCoordinate(this.getCameraPoint()),n=t.MercatorCoordinate.fromLngLat(this.center),l=Math.pow(2,a),c=[l*r.x,l*r.y,0],h=[l*n.x,l*n.y,0],u=Qi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,a);let d=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(d=a);const _=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,m=t=>({aabb:new to([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),p=[],f=[],g=a,x=e.reparseOverscaled?s:a;if(this._renderWorldCopies)for(let t=1;t<=3;t++)p.push(m(-t)),p.push(m(t));for(p.push(m(0));p.length>0;){const a=p.pop(),s=a.x,r=a.y;let n=a.fullyVisible;if(!n){const t=a.aabb.intersects(u);if(0===t)continue;n=2===t;}const l=e.terrain?c:h,m=a.aabb.distanceX(l),v=a.aabb.distanceY(l),y=Math.max(Math.abs(m),Math.abs(v)),b=_+(1<b&&a.zoom>=d){const e=g-a.zoom,i=c[0]-.5-(s<>1),u=a.zoom+1;let d=a.aabb.quadrant(l);if(e.terrain){const s=new t.OverscaledTileID(u,a.wrap,u,c,h),r=e.terrain.getMinMaxElevation(s),n=null!==(i=r.minElevation)&&void 0!==i?i:this.elevation,l=null!==(o=r.maxElevation)&&void 0!==o?o:this.elevation;d=new to([d.min[0],d.min[1],n],[d.max[0],d.max[1],l]);}p.push({aabb:d,zoom:u,x:c,y:h,wrap:a.wrap,fullyVisible:n});}}return f.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices();}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(e){const i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.pointGeometry(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)}unproject(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}updateElevation(t){this.freezeElevation||(this.elevation=t?this.getElevation(this._center,t):0);}getElevation(e,i){const o=t.MercatorCoordinate.fromLngLat(e),a=(1<r&&(a=r-e);}if(this.lngRange){const e=(n+l)/2,i=t.wrap(u.x,e-this.worldSize/2,e+this.worldSize/2),a=c.x/2;i-al&&(o=l-a);}void 0===o&&void 0===a||(this.center=this.unproject(new t.pointGeometry(void 0!==o?o:u.x,void 0!==a?a:u.y)).wrap()),this._unmodified=h,this._constraining=!1;}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,i=this.point.x,o=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize;let a=t.identity(new Float64Array(16));t.scale(a,a,[this.width/2,-this.height/2,1]),t.translate(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=t.identity(new Float64Array(16)),t.scale(a,a,[1,-1,1]),t.translate(a,a,[-1,-1,0]),t.scale(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a,this.cameraToSeaLevelDistance=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch);const s=Math.PI/2+this._pitch,r=this._fov*(.5+e.y/this.height),n=Math.sin(r)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-s-r,.01,Math.PI-.01)),l=this.getHorizon(),c=2*Math.atan(l/this.cameraToCenterDistance)*(.5+e.y/(2*l)),h=Math.sin(c)*this.cameraToSeaLevelDistance/Math.sin(t.clamp(Math.PI-s-c,.01,Math.PI-.01)),u=Math.cos(Math.PI/2-this._pitch)*n+this.cameraToSeaLevelDistance,d=Math.cos(Math.PI/2-this._pitch)*h+this.cameraToSeaLevelDistance,_=1.01*Math.min(u,d),m=this.height/50;a=new Float64Array(16),t.perspective(a,this._fov,this.width/this.height,m,_),a[8]=2*-e.x/this.width,a[9]=2*e.y/this.height,t.scale(a,a,[1,-1,1]),t.translate(a,a,[0,0,-this.cameraToCenterDistance]),t.rotateX(a,a,this._pitch),t.rotateZ(a,a,this.angle),t.translate(a,a,[-i,-o,0]),this.mercatorMatrix=t.scale([],a,[this.worldSize,this.worldSize,this.worldSize]),t.scale(a,a,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,a),t.translate(a,a,[0,0,-this.elevation]),this.projMatrix=a,this.invProjMatrix=t.invert([],a),this.pixelMatrix3D=t.multiply(new Float64Array(16),this.labelPlaneMatrix,a);const p=this.width%2/2,f=this.height%2/2,g=Math.cos(this.angle),x=Math.sin(this.angle),v=i-Math.round(i)+g*p+x*f,y=o-Math.round(o)+g*f+x*p,b=new Float64Array(a);if(t.translate(b,b,[v>.5?v-1:v,y>.5?y-1:y,0]),this.alignedProjMatrix=b,a=t.invert(new Float64Array(16),this.pixelMatrix),!a)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=a,this._posMatrixCache={},this._alignedPosMatrixCache={};}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new t.pointGeometry(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.pointGeometry(0,e))}getCameraQueryGeometry(e){const i=this.getCameraPoint();if(1===e.length)return [e[0],i];{let o=i.x,a=i.y,s=i.x,r=i.y;for(const t of e)o=Math.min(o,t.x),a=Math.min(a,t.y),s=Math.max(s,t.x),r=Math.max(r,t.y);return [new t.pointGeometry(o,a),new t.pointGeometry(s,a),new t.pointGeometry(s,r),new t.pointGeometry(o,r),new t.pointGeometry(o,a)]}}}class oo{constructor(e){this._hashName=e&&encodeURIComponent(e),t.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=function(t,e){let i=!1,o=null;const a=()=>{o=null,i&&(t(),o=setTimeout(a,300),i=!1);};return ()=>(i=!0,o||a(),o)}(this._updateHashUnthrottled.bind(this));}addTo(t){return this._map=t,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(t){const e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,o=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,o),s=Math.round(e.lng*a)/a,r=Math.round(e.lat*a)/a,n=this._map.getBearing(),l=this._map.getPitch();let c=\"\";if(c+=t?`/${s}/${r}/${i}`:`${i}/${r}/${s}`,(n||l)&&(c+=\"/\"+Math.round(10*n)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split(\"&\").map((i=>{const o=i.split(\"=\")[0];return o===t?(e=!0,`${o}=${c}`):i})).filter((t=>t));return e||i.push(`${t}=${c}`),`#${i.join(\"&\")}`}return `#${c}`}_getCurrentHash(){const t=window.location.hash.replace(\"#\",\"\");if(this._hashName){let e;return t.split(\"&\").map((t=>t.split(\"=\"))).forEach((t=>{t[0]===this._hashName&&(e=t);})),(e&&e[1]||\"\").split(\"/\")}return t.split(\"/\")}_onHashChange(){const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return !1}_updateHashUnthrottled(){const t=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,t);}catch(t){}}}const ao={linearity:.3,easing:t.bezier(0,0,.3,1)},so=t.extend({deceleration:2500,maxSpeed:1400},ao),ro=t.extend({deceleration:20,maxSpeed:1400},ao),no=t.extend({deceleration:1e3,maxSpeed:360},ao),lo=t.extend({deceleration:1e3,maxSpeed:90},ao);class co{constructor(t){this._map=t,this.clear();}clear(){this._inertiaBuffer=[];}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.exported.now(),settings:e});}_drainInertiaBuffer(){const e=this._inertiaBuffer,i=t.exported.now();for(;e.length>0&&i-e[0].time>160;)e.shift();}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new t.pointGeometry(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,a={};if(i.pan.mag()){const s=uo(i.pan.mag(),o,t.extend({},so,e||{}));a.offset=i.pan.mult(s.amount/i.pan.mag()),a.center=this._map.transform.center,ho(a,s);}if(i.zoom){const t=uo(i.zoom,o,ro);a.zoom=this._map.transform.zoom+t.amount,ho(a,t);}if(i.bearing){const e=uo(i.bearing,o,no);a.bearing=this._map.transform.bearing+t.clamp(e.amount,-179,179),ho(a,e);}if(i.pitch){const t=uo(i.pitch,o,lo);a.pitch=this._map.transform.pitch+t.amount,ho(a,t);}if(a.zoom||a.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;a.around=t?this._map.unproject(t):this._map.getCenter();}return this.clear(),t.extend(a,{noMoveStart:!0})}}function ho(t,e){(!t.duration||t.durationi.unproject(t))),l=r.reduce(((t,e,i,o)=>t.add(e.div(o.length))),new t.pointGeometry(0,0));super(e,{points:r,point:l,lngLats:n,lngLat:i.unproject(l),originalEvent:o}),this._defaultPrevented=!1;}preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}}class po extends t.Event{constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1;}preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}}class fo{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance;}reset(){delete this._mousedownPos;}wheel(t){return this._firePreventable(new po(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new _o(t.type,this._map,t))}mouseup(t){this._map.fire(new _o(t.type,this._map,t));}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new _o(t.type,this._map,t));}dblclick(t){return this._firePreventable(new _o(t.type,this._map,t))}mouseover(t){this._map.fire(new _o(t.type,this._map,t));}mouseout(t){this._map.fire(new _o(t.type,this._map,t));}touchstart(t){return this._firePreventable(new mo(t.type,this._map,t))}touchmove(t){this._map.fire(new mo(t.type,this._map,t));}touchend(t){this._map.fire(new mo(t.type,this._map,t));}touchcancel(t){this._map.fire(new mo(t.type,this._map,t));}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return {}}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class go{constructor(t){this._map=t;}reset(){this._delayContextMenu=!1,delete this._contextMenuEvent;}mousemove(t){this._map.fire(new _o(t.type,this._map,t));}mousedown(){this._delayContextMenu=!0;}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new _o(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new _o(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault();}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class xo{constructor(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1;}isEnabled(){return !!this._enabled}isActive(){return !!this._active}enable(){this.isEnabled()||(this._enabled=!0);}disable(){this.isEnabled()&&(this._enabled=!1);}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(s.disableDrag(),this._startPos=this._lastPos=e,this._active=!0);}mousemoveWindow(t,e){if(!this._active)return;const i=e;if(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)t.fitScreenCoordinates(o,a,this._map.getBearing(),{linear:!0})};this._fireEvent(\"boxzoomcancel\",e);}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t));}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\",\"mapboxgl-crosshair\"),this._box&&(s.remove(this._box),this._box=null),s.enableDrag(),delete this._startPos,delete this._lastPos;}_fireEvent(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))}}function vo(t,e){const i={};for(let o=0;othis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),o.length===this.numTouches&&(this.centroid=function(e){const i=new t.pointGeometry(0,0);for(const t of e)i._add(t);return i.div(e.length)}(i),this.touches=vo(o,i)));}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const o=vo(i,e);for(const t in this.touches){const e=this.touches[t],i=o[t];(!i||i.dist(e)>30)&&(this.aborted=!0);}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class bo{constructor(t){this.singleTap=new yo(t),this.numTaps=t.numTaps,this.reset();}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset();}touchstart(t,e,i){this.singleTap.touchstart(t,e,i);}touchmove(t,e,i){this.singleTap.touchmove(t,e,i);}touchend(t,e,i){const o=this.singleTap.touchend(t,e,i);if(o){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(o)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=o,this.count===this.numTaps)return this.reset(),o}}}class wo{constructor(){this._zoomIn=new bo({numTouches:1,numTaps:2}),this._zoomOut=new bo({numTouches:2,numTaps:1}),this.reset();}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i);}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i);}touchend(t,e,i){const o=this._zoomIn.touchend(t,e,i),a=this._zoomOut.touchend(t,e,i);return o?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(o)},{originalEvent:t})}):a?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}):void 0}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}const To={0:1,2:2};class Eo{constructor(t){this.reset(),this._clickTolerance=t.clickTolerance||1;}reset(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton;}_correctButton(t,e){return !1}_move(t,e){return {}}mousedown(t,e){if(this._lastPoint)return;const i=s.mouseButton(t);this._correctButton(t,i)&&(this._lastPoint=e,this._eventButton=i);}mousemoveWindow(t,e){const i=this._lastPoint;if(i)if(t.preventDefault(),function(t,e){const i=To[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(i){this._cancelCooperativeMessage=!1;}),200);}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._map._cooperativeGestures&&(2===this._minTouches&&i.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(t,!1,i.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(i.length0&&(this._active=!0);const a=vo(o,i),s=new t.pointGeometry(0,0),r=new t.pointGeometry(0,0);let n=0;for(const t in a){const e=a[t],i=this._touches[t];i&&(s._add(e),r._add(e.sub(i)),n++,a[t]=e);}if(this._touches=a,nMath.abs(t.x)}class Bo extends zo{constructor(t){super(),this._map=t;}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints;}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length;}_start(t){this._lastPoints=t,ko(t[0].sub(t[1]))&&(this._valid=!1);}_move(t,e,i){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;const o=t[0].sub(this._lastPoints[0]),a=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(o,a,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(o.y+a.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const o=t.mag()>=2,a=e.mag()>=2;if(!o&&!a)return;if(!o||!a)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const s=t.y>0==e.y>0;return ko(t)&&ko(e)&&s}}const Fo={panStep:100,bearingStep:15,pitchStep:10};class Oo{constructor(){const t=Fo;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1;}reset(){this._active=!1;}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,o=0,a=0,s=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?o=1:(t.preventDefault(),s=-1);break;case 40:t.shiftKey?o=-1:(t.preventDefault(),s=1);break;default:return}return this._rotationDisabled&&(i=0,o=0),{cameraAnimation:r=>{const n=r.getZoom();r.easeTo({duration:300,easeId:\"keyboardHandler\",easing:Uo,zoom:e?Math.round(n)+e*(t.shiftKey?2:1):n,bearing:r.getBearing()+i*this._bearingStep,pitch:r.getPitch()+o*this._pitchStep,offset:[-a*this._panStep,-s*this._panStep],center:r.getCenter()},{originalEvent:t});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0;}enableRotation(){this._rotationDisabled=!1;}}function Uo(t){return t*(2-t)}const No=4.000244140625;class Go{constructor(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll([\"_onTimeout\"],this);}setZoomRate(t){this._defaultZoomRate=t;}setWheelZoomRate(t){this._wheelZoomRate=t;}isEnabled(){return !!this._enabled}isActive(){return !!this._active||void 0!==this._finishTimeout}isZooming(){return !!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around);}disable(){this.isEnabled()&&(this._enabled=!1);}wheel(e){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!this._map._metaPress)return;e.preventDefault();}let i=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const o=t.exported.now(),a=o-(this._lastWheelEventTime||0);this._lastWheelEventTime=o,0!==i&&i%No==0?this._type=\"wheel\":0!==i&&Math.abs(i)<4?this._type=\"trackpad\":a>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(a*i)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault();}_onTimeout(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t);}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const i=s.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(i)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame());}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const e=this._map.transform;if(0!==this._delta){const t=\"wheel\"===this._type&&Math.abs(this._delta)>No?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==i&&(i=1/i);const o=\"number\"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(o*i))),\"wheel\"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}const i=\"number\"==typeof this._targetZoom?this._targetZoom:e.zoom,o=this._startZoom,a=this._easing;let s,r=!1;if(\"wheel\"===this._type&&o&&a){const e=Math.min((t.exported.now()-this._lastWheelEventTime)/200,1),n=a(e);s=t.number(o,i,n),e<1?this._frameId||(this._frameId=!0):r=!0;}else s=i,r=!0;return this._active=!0,r&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!r,zoomDelta:s-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let i=t.ease;if(this._prevEase){const e=this._prevEase,o=(t.exported.now()-e.start)/e.duration,a=e.easing(o+.01)-e.easing(o),s=.27/Math.sqrt(a*a+1e-4)*.01,r=Math.sqrt(.0729-s*s);i=t.bezier(s,r,.25,1);}return this._prevEase={start:t.exported.now(),duration:e,easing:i},i}reset(){this._active=!1;}}class Zo{constructor(t,e){this._clickZoom=t,this._tapZoom=e;}enable(){this._clickZoom.enable(),this._tapZoom.enable();}disable(){this._clickZoom.disable(),this._tapZoom.disable();}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class qo{constructor(){this.reset();}reset(){this._active=!1;}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Vo{constructor(){this._tap=new bo({numTouches:1,numTaps:1}),this.reset();}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset();}touchstart(t,e,i){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=e[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(t,e,i));}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const o=e[0],a=o.y-this._swipePoint.y;return this._swipePoint=o,t.preventDefault(),this._active=!0,{zoomDelta:a/128}}}else this._tap.touchmove(t,e,i);}touchend(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp);}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class jo{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i;}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\",\"mapboxgl-touch-drag-pan\");}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\",\"mapboxgl-touch-drag-pan\");}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Xo{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i;}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable();}disable(){this._mouseRotate.disable(),this._mousePitch.disable();}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class $o{constructor(t,e,i,o){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=o,this._rotationDisabled=!1,this._enabled=!0;}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\",\"mapboxgl-touch-zoom-rotate\");}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\",\"mapboxgl-touch-zoom-rotate\");}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable();}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();}}const Wo=t=>t.zoom||t.drag||t.pitch||t.rotate;class Ho extends t.Event{}function Ko(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class Yo{constructor(e,i){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new co(e),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(i),t.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);const o=this._el;this._listeners=[[o,\"touchstart\",{passive:!0}],[o,\"touchmove\",{passive:!1}],[o,\"touchend\",void 0],[o,\"touchcancel\",void 0],[o,\"mousedown\",void 0],[o,\"mousemove\",void 0],[o,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[o,\"mouseover\",void 0],[o,\"mouseout\",void 0],[o,\"dblclick\",void 0],[o,\"click\",void 0],[o,\"keydown\",{capture:!1}],[o,\"keyup\",void 0],[o,\"wheel\",{passive:!1}],[o,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(const[t,e,i]of this._listeners)s.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}destroy(){for(const[t,e,i]of this._listeners)s.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add(\"mapEvent\",new fo(e,t));const o=e.boxZoom=new xo(e,t);this._add(\"boxZoom\",o);const a=new wo,s=new qo;e.doubleClickZoom=new Zo(s,a),this._add(\"tapZoom\",a),this._add(\"clickZoom\",s);const r=new Vo;this._add(\"tapDragZoom\",r);const n=e.touchPitch=new Bo(e);this._add(\"touchPitch\",n);const l=new Co(t),c=new So(t);e.dragRotate=new Xo(t,l,c),this._add(\"mouseRotate\",l,[\"mousePitch\"]),this._add(\"mousePitch\",c,[\"mouseRotate\"]);const h=new Io(t),u=new Do(t,e);e.dragPan=new jo(i,h,u),this._add(\"mousePan\",h),this._add(\"touchPan\",u,[\"touchZoom\",\"touchRotate\"]);const d=new Lo,_=new Ao;e.touchZoomRotate=new $o(i,_,d,r),this._add(\"touchRotate\",d,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",_,[\"touchPan\",\"touchRotate\"]);const m=e.scrollZoom=new Go(e,this);this._add(\"scrollZoom\",m,[\"mousePan\"]);const p=e.keyboard=new Oo;this._add(\"keyboard\",p),this._add(\"blockableMapEvent\",new go(e));for(const i of [\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"])t.interactive&&t[i]&&e[i].enable(t[i]);}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e;}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[];}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return !0;return !1}isZooming(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return !!this._eventsInProgress.rotate}isMoving(){return Boolean(Wo(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const o in t)if(o!==i&&(!e||e.indexOf(o)<0))return !0;return !1}handleWindowEvent(t){this.handleEvent(t,`${t.type}Window`);}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}handleEvent(t,e){if(\"blur\"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i=\"renderFrame\"===t.type?void 0:t,o={needsRenderFrame:!1},a={},r={},n=t.touches,l=n?this._getMapTouches(n):void 0,c=l?s.touchPos(this._el,l):s.mousePos(this._el,t);for(const{handlerName:s,handler:n,allowed:h}of this._handlers){if(!n.isEnabled())continue;let u;this._blockedByActive(r,h,s)?n.reset():n[e||t.type]&&(u=n[e||t.type](t,c,l),this.mergeHandlerResult(o,a,u,s,i),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||n.isActive())&&(r[s]=n);}const h={};for(const t in this._previousActiveHandlers)r[t]||(h[t]=i);this._previousActiveHandlers=r,(Object.keys(h).length||Ko(o))&&(this._changes.push([o,a,h]),this._triggerRenderFrame()),(Object.keys(r).length||Ko(o))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=o;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map));}mergeHandlerResult(e,i,o,a,s){if(!o)return;t.extend(e,o);const r={handlerName:a,originalEvent:o.originalEvent||s};void 0!==o.zoomDelta&&(i.zoom=r),void 0!==o.panDelta&&(i.drag=r),void 0!==o.pitchDelta&&(i.pitch=r),void 0!==o.bearingDelta&&(i.rotate=r);}_applyChanges(){const e={},i={},o={};for(const[a,s,r]of this._changes)a.panDelta&&(e.panDelta=(e.panDelta||new t.pointGeometry(0,0))._add(a.panDelta)),a.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+a.zoomDelta),a.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+a.bearingDelta),a.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+a.pitchDelta),void 0!==a.around&&(e.around=a.around),void 0!==a.pinchAround&&(e.pinchAround=a.pinchAround),a.noInertia&&(e.noInertia=a.noInertia),t.extend(i,s),t.extend(o,r);this._updateMapTransform(e,i,o),this._changes=[];}_updateMapTransform(e,i,o){const a=this._map,s=a.transform,r=a.style&&a.style.terrain;if(!(Ko(e)||r&&this._drag))return this._fireEvents(i,o,!0);let{panDelta:n,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,pinchAround:d}=e;void 0!==d&&(u=d),a._stop(!0),u=u||a.transform.centerPoint;const _=s.pointLocation(n?u.sub(n):u);c&&(s.bearing+=c),h&&(s.pitch+=h),l&&(s.zoom+=l),r?i.drag&&!this._drag?(this._drag={center:s.centerPoint,lngLat:s.pointLocation(u),point:u,handlerName:i.drag.handlerName},a.fire(new t.Event(\"freezeElevation\",{freeze:!0}))):this._drag&&o[this._drag.handlerName]?(a.fire(new t.Event(\"freezeElevation\",{freeze:!1})),this._drag=null):i.drag&&this._drag&&(s.center=s.pointLocation(s.centerPoint.sub(n))):s.setLocationAtPoint(_,u),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(i,o,!0);}_fireEvents(e,i,o){const a=Wo(this._eventsInProgress),s=Wo(e),r={};for(const t in e){const{originalEvent:i}=e[t];this._eventsInProgress[t]||(r[`${t}start`]=i),this._eventsInProgress[t]=e[t];}!a&&s&&this._fireEvent(\"movestart\",s.originalEvent);for(const t in r)this._fireEvent(t,r[t]);s&&this._fireEvent(\"move\",s.originalEvent);for(const t in e){const{originalEvent:i}=e[t];this._fireEvent(t,i);}const n={};let l;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:o}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],l=i[e]||o,n[`${t}end`]=l);}for(const t in n)this._fireEvent(t,n[t]);const c=Wo(this._eventsInProgress);if(o&&(a||s)&&!c){this._updatingCamera=!0;const e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Ho(\"renderFrame\",{timeStamp:t})),this._applyChanges();}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame());}}const Jo={extend:(e,...i)=>t.extend(e,...i),run(t){t();},logToElement(t,e=!1,i=\"log\"){const o=window.document.getElementById(i);o&&(e&&(o.innerHTML=\"\"),o.innerHTML+=`
${t}`);}};class Qo extends t.Evented{constructor(e,i){super(),this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=i.bearingSnap,t.bindAll([\"_renderFrameCallback\"],this);}getCenter(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(e,i,o){return e=t.pointGeometry.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),o)}panTo(e,i,o){return this.easeTo(t.extend({center:e},i),o)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(e,i,o){return this.easeTo(t.extend({zoom:e},i),o)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(e,i,o){return this.easeTo(t.extend({bearing:e},i),o)}resetNorth(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this}resetNorthPitch(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(o.zoom=t.number(a,l,e)),this._rotating&&(o.bearing=t.number(s,c,e)),this._pitching&&(o.pitch=t.number(r,h,e)),this._padding&&(o.interpolatePadding(n,u,e),_=o.centerPoint.add(d)),v)o.setLocationAtPoint(v,y);else {const t=o.zoomScale(o.zoom-a),i=l>a?Math.min(2,x):Math.max(.5,x),s=Math.pow(i,1-e),r=o.unproject(f.add(g.mult(e*s)).mult(t));o.setLocationAtPoint(o.renderWorldCopies?r.wrap():r,_);}this._fireMoveEvents(i);}),(t=>{this._afterEase(i,t);}),e),this}_prepareEase(e,i,o={}){this._moving=!0,this.fire(new t.Event(\"freezeElevation\",{freeze:!0})),i||o.moving||this.fire(new t.Event(\"movestart\",e)),this._zooming&&!o.zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&!o.rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&!o.pitching&&this.fire(new t.Event(\"pitchstart\",e));}_fireMoveEvents(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e));}_afterEase(e,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId,this.fire(new t.Event(\"freezeElevation\",{freeze:!1}));const o=this._zooming,a=this._rotating,s=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,o&&this.fire(new t.Event(\"zoomend\",e)),a&&this.fire(new t.Event(\"rotateend\",e)),s&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e));}flyTo(e,i){if(!e.essential&&t.exported.prefersReducedMotion){const o=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(o,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);const o=this.transform,a=this.getZoom(),s=this.getBearing(),r=this.getPitch(),n=this.getPadding(),l=\"zoom\"in e?t.clamp(+e.zoom,o.minZoom,o.maxZoom):a,c=\"bearing\"in e?this._normalizeBearing(e.bearing,s):s,h=\"pitch\"in e?+e.pitch:r,u=\"padding\"in e?e.padding:o.padding,d=o.zoomScale(l-a),_=t.pointGeometry.convert(e.offset);let m=o.centerPoint.add(_);const p=o.pointLocation(m),f=t.LngLat.convert(e.center||p);this._normalizeCenter(f);const g=o.project(p),x=o.project(f).sub(g);let v=e.curve;const y=Math.max(o.width,o.height),b=y/d,w=x.mag();if(\"minZoom\"in e){const i=t.clamp(Math.min(e.minZoom,a,l),o.minZoom,o.maxZoom),s=y/o.zoomScale(i-a);v=Math.sqrt(s/w*2);}const T=v*v;function E(t){const e=(b*b-y*y+(t?-1:1)*T*T*w*w)/(2*(t?b:y)*T*w);return Math.log(Math.sqrt(e*e+1)-e)}function I(t){return (Math.exp(t)-Math.exp(-t))/2}function C(t){return (Math.exp(t)+Math.exp(-t))/2}const S=E(0);let D=function(t){return C(S)/C(S+v*t)},z=function(t){return y*((C(S)*(I(e=S+v*t)/C(e))-I(S))/T)/w;var e;},P=(E(1)-S)/v;if(Math.abs(w)<1e-6||!isFinite(P)){if(Math.abs(y-b)<1e-6)return this.easeTo(e,i);const t=be.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==c,this._pitching=h!==r,this._padding=!o.isPaddingEqual(u),this._prepareEase(i,!1),this._ease((e=>{const d=e*P,p=1/D(d);o.zoom=1===e?l:a+o.scaleZoom(p),this._rotating&&(o.bearing=t.number(s,c,e)),this._pitching&&(o.pitch=t.number(r,h,e)),this._padding&&(o.interpolatePadding(n,u,e),m=o.centerPoint.add(_));const v=1===e?f:o.unproject(g.add(x.mult(z(d))).mult(p));o.setLocationAtPoint(o.renderWorldCopies?v.wrap():v,m),this._fireMoveEvents(i);}),(()=>this._afterEase(i)),e),this}isEasing(){return !!this._easeFrameId}stop(){return this._stop()}_stop(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e);}if(!t){const t=this.handlers;t&&t.stop(!1);}return this}_ease(e,i,o){!1===o.animate||0===o.duration?(e(1),i()):(this._easeStart=t.exported.now(),this._easeOptions=o,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));}_renderFrameCallback(){const e=Math.min((t.exported.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();}_normalizeBearing(e,i){e=t.wrap(e,-180,180);const o=Math.abs(e-i);return Math.abs(e-360-i)180?-360:i<-180?360:0;}}class ta{constructor(e={}){this.options=e,t.bindAll([\"_toggleAttribution\",\"_updateData\",\"_updateCompact\",\"_updateCompactMinimize\"],this);}getDefaultPosition(){return \"bottom-right\"}onAdd(t){return this._map=t,this._compact=this.options&&this.options.compact,this._container=s.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=s.create(\"summary\",\"maplibregl-ctrl-attrib-button mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=s.create(\"div\",\"maplibregl-ctrl-attrib-inner mapboxgl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){s.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0;}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);}_toggleAttribution(){this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\",\"mapboxgl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\",\"mapboxgl-compact-show\"),this._container.removeAttribute(\"open\")));}_updateData(t){!t||\"metadata\"!==t.sourceDataType&&\"visibility\"!==t.sourceDataType&&\"style\"!==t.dataType||this._updateAttributions();}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>\"string\"!=typeof t?\"\":t))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id;}const e=this._map.style.sourceCaches;for(const i in e){const o=e[i];if(o.used){const e=o.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution);}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,i)=>{for(let o=i+1;o=0)return !1;return !0}));const i=t.join(\" | \");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove(\"maplibregl-attrib-empty\",\"mapboxgl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\",\"mapboxgl-attrib-empty\"),this._updateCompact(),this._editLink=null);}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"mapboxgl-compact\",\"maplibregl-compact-show\",\"mapboxgl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\",\"mapboxgl-compact\",\"mapboxgl-compact-show\"));}_updateCompactMinimize(){this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\",\"mapboxgl-compact-show\");}}class ea{constructor(e={}){this.options=e,t.bindAll([\"_updateCompact\"],this);}getDefaultPosition(){return \"bottom-left\"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=s.create(\"div\",\"maplibregl-ctrl mapboxgl-ctrl\");const e=s.create(\"a\",\"maplibregl-ctrl-logo mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://maplibre.org/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){s.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0;}_updateCompact(){const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add(\"maplibregl-compact\",\"mapboxgl-compact\"):e.classList.remove(\"maplibregl-compact\",\"mapboxgl-compact\");}}}class ia{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const e of i)if(e.id===t)return void(e.cancelled=!0)}run(t=0){const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1;}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];}}const oa={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.enableTerrain\":\"Enable terrain\",\"TerrainControl.disableTerrain\":\"Disable terrain\"},aa={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:void 0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,fadeDuration:300,crossSourceCollisions:!0},sa={showCompass:!0,showZoom:!0,visualizePitch:!1};class ra{constructor(e,i,o=!1){this._clickTolerance=10,this.element=i,this.mouseRotate=new Co({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,o&&(this.mousePitch=new So({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),s.addEventListener(i,\"mousedown\",this.mousedown),s.addEventListener(i,\"touchstart\",this.touchstart,{passive:!1}),s.addEventListener(i,\"touchmove\",this.touchmove),s.addEventListener(i,\"touchend\",this.touchend),s.addEventListener(i,\"touchcancel\",this.reset);}down(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),s.disableDrag();}move(t,e){const i=this.map,o=this.mouseRotate.mousemoveWindow(t,e);if(o&&o.bearingDelta&&i.setBearing(i.getBearing()+o.bearingDelta),this.mousePitch){const o=this.mousePitch.mousemoveWindow(t,e);o&&o.pitchDelta&&i.setPitch(i.getPitch()+o.pitchDelta);}}off(){const t=this.element;s.removeEventListener(t,\"mousedown\",this.mousedown),s.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),s.removeEventListener(t,\"touchmove\",this.touchmove),s.removeEventListener(t,\"touchend\",this.touchend),s.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp();}offTemp(){s.enableDrag(),s.removeEventListener(window,\"mousemove\",this.mousemove),s.removeEventListener(window,\"mouseup\",this.mouseup);}mousedown(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),s.mousePos(this.element,e)),s.addEventListener(window,\"mousemove\",this.mousemove),s.addEventListener(window,\"mouseup\",this.mouseup);}mousemove(t){this.move(t,s.mousePos(this.element,t));}mouseup(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp();}touchstart(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=s.touchPos(this.element,t.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:()=>t.preventDefault()},this._startPos));}touchmove(t){1!==t.targetTouches.length?this.reset():(this._lastPos=s.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:()=>t.preventDefault()},this._lastPos));}touchend(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)180;){const t=o.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=o.width&&t.y<=o.height)break;e.lng>o.center.lng?e.lng-=360:e.lng+=360;}return e}const la={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function ca(t,e,i){const o=t.classList;for(const t in la)o.remove(`maplibregl-${i}-anchor-${t}`,`mapboxgl-${i}-anchor-${t}`);o.add(`maplibregl-${i}-anchor-${e}`,`mapboxgl-${i}-anchor-${e}`);}class ha extends t.Evented{constructor(e,i){if(super(),(e instanceof HTMLElement||i)&&(e=t.extend({element:e},i)),t.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=e&&e.anchor||\"center\",this._color=e&&e.color||\"#3FB1CE\",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||\"auto\",this._pitchAlignment=e&&e.pitchAlignment&&\"auto\"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,e&&e.element)this._element=e.element,this._offset=t.pointGeometry.convert(e&&e.offset||[0,0]);else {this._defaultMarker=!0,this._element=s.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");const i=s.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),o=41,a=27;i.setAttributeNS(null,\"display\",\"block\"),i.setAttributeNS(null,\"height\",`${o}px`),i.setAttributeNS(null,\"width\",`${a}px`),i.setAttributeNS(null,\"viewBox\",`0 0 ${a} ${o}`);const r=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");r.setAttributeNS(null,\"stroke\",\"none\"),r.setAttributeNS(null,\"stroke-width\",\"1\"),r.setAttributeNS(null,\"fill\",\"none\"),r.setAttributeNS(null,\"fill-rule\",\"evenodd\");const n=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"fill-rule\",\"nonzero\");const l=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");const c=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(const t of c){const e=s.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");e.setAttributeNS(null,\"opacity\",\"0.04\"),e.setAttributeNS(null,\"cx\",\"10.5\"),e.setAttributeNS(null,\"cy\",\"5.80029008\"),e.setAttributeNS(null,\"rx\",t.rx),e.setAttributeNS(null,\"ry\",t.ry),l.appendChild(e);}const h=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");h.setAttributeNS(null,\"fill\",this._color);const u=s.createNS(\"http://www.w3.org/2000/svg\",\"path\");u.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),h.appendChild(u);const d=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"opacity\",\"0.25\"),d.setAttributeNS(null,\"fill\",\"#000000\");const _=s.createNS(\"http://www.w3.org/2000/svg\",\"path\");_.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),d.appendChild(_);const m=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),m.setAttributeNS(null,\"fill\",\"#FFFFFF\");const p=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");const f=s.createNS(\"http://www.w3.org/2000/svg\",\"circle\");f.setAttributeNS(null,\"fill\",\"#000000\"),f.setAttributeNS(null,\"opacity\",\"0.25\"),f.setAttributeNS(null,\"cx\",\"5.5\"),f.setAttributeNS(null,\"cy\",\"5.5\"),f.setAttributeNS(null,\"r\",\"5.4999962\");const g=s.createNS(\"http://www.w3.org/2000/svg\",\"circle\");g.setAttributeNS(null,\"fill\",\"#FFFFFF\"),g.setAttributeNS(null,\"cx\",\"5.5\"),g.setAttributeNS(null,\"cy\",\"5.5\"),g.setAttributeNS(null,\"r\",\"5.4999962\"),p.appendChild(f),p.appendChild(g),n.appendChild(l),n.appendChild(h),n.appendChild(d),n.appendChild(m),n.appendChild(p),i.appendChild(n),i.setAttributeNS(null,\"height\",o*this._scale+\"px\"),i.setAttributeNS(null,\"width\",a*this._scale+\"px\"),this._element.appendChild(i),this._offset=t.pointGeometry.convert(e&&e.offset||[0,-14]);}this._element.classList.add(\"maplibregl-marker\",\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",(t=>{t.preventDefault();})),this._element.addEventListener(\"mousedown\",(t=>{t.preventDefault();})),ca(this._element,this._anchor,\"marker\"),this._popup=null;}addTo(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),s.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),t){if(!(\"offset\"in t.options)){const e=38.1,i=13.5,o=Math.sqrt(Math.pow(i,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-e],\"bottom-left\":[o,-1*(e-i+o)],\"bottom-right\":[-o,-1*(e-i+o)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset;}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress);}return this}_onKeyPress(t){const e=t.code,i=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==i&&13!==i||this.togglePopup();}_onMapClick(t){const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup();}getPopup(){return this._popup}togglePopup(){const t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this}_update(t){if(!this._map)return;this._map.transform.renderWorldCopies&&(this._lngLat=na(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let e=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?e=`rotateZ(${this._rotation}deg)`:\"map\"===this._rotationAlignment&&(e=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?i=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),s.setTransform(this._element,`${la[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${e}`),this._map.style&&this._map.style.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout((()=>{const t=this._map.unproject(this._pos),e=40075016.686*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=t.distanceTo(this._lngLat)>20*e?\"0.2\":\"1.0\",this._opacityTimeout=null;}),100));}getOffset(){return this._offset}setOffset(e){return this._offset=t.pointGeometry.convert(e),this._update(),this}_onMove(e){if(!this._isDragging){const t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t;}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new t.Event(\"dragstart\"))),this.fire(new t.Event(\"drag\")));}_onUp(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new t.Event(\"dragend\")),this._state=\"inactive\";}_addDragHandler(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp));}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}const ua={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let da,_a=0,ma=!1;const pa={maxWidth:100,unit:\"metric\"};function fa(t,e,i){const o=i&&i.maxWidth||100,a=t._container.clientHeight/2,s=t.unproject([0,a]),r=t.unproject([o,a]),n=s.distanceTo(r);if(i&&\"imperial\"===i.unit){const i=3.2808*n;i>5280?ga(e,o,i/5280,t._getUIString(\"ScaleControl.Miles\")):ga(e,o,i,t._getUIString(\"ScaleControl.Feet\"));}else i&&\"nautical\"===i.unit?ga(e,o,n/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):n>=1e3?ga(e,o,n/1e3,t._getUIString(\"ScaleControl.Kilometers\")):ga(e,o,n,t._getUIString(\"ScaleControl.Meters\"));}function ga(t,e,i,o){const a=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(a/i)+\"px\",t.innerHTML=`${a} ${o}`;}const xa={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},va=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function ya(e){if(e){if(\"number\"==typeof e){const i=Math.round(Math.sqrt(.5*Math.pow(e,2)));return {center:new t.pointGeometry(0,0),top:new t.pointGeometry(0,e),\"top-left\":new t.pointGeometry(i,i),\"top-right\":new t.pointGeometry(-i,i),bottom:new t.pointGeometry(0,-e),\"bottom-left\":new t.pointGeometry(i,-i),\"bottom-right\":new t.pointGeometry(-i,-i),left:new t.pointGeometry(e,0),right:new t.pointGeometry(-e,0)}}if(e instanceof t.pointGeometry||Array.isArray(e)){const i=t.pointGeometry.convert(e);return {center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return {center:t.pointGeometry.convert(e.center||[0,0]),top:t.pointGeometry.convert(e.top||[0,0]),\"top-left\":t.pointGeometry.convert(e[\"top-left\"]||[0,0]),\"top-right\":t.pointGeometry.convert(e[\"top-right\"]||[0,0]),bottom:t.pointGeometry.convert(e.bottom||[0,0]),\"bottom-left\":t.pointGeometry.convert(e[\"bottom-left\"]||[0,0]),\"bottom-right\":t.pointGeometry.convert(e[\"bottom-right\"]||[0,0]),left:t.pointGeometry.convert(e.left||[0,0]),right:t.pointGeometry.convert(e.right||[0,0])}}return ya(new t.pointGeometry(0,0))}const ba={supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:class extends Qo{constructor(e){var i;if(t.PerformanceUtils.mark(t.PerformanceMarkers.create),null!=(e=t.extend({},aa,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=e.minPitch&&e.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=e.maxPitch&&e.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new io(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._interactive=e.interactive,this._cooperativeGestures=e.cooperativeGestures,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new ia,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},oa,e.locale),this._clickTolerance=e.clickTolerance,this._pixelRatio=null!==(i=e.pixelRatio)&&void 0!==i?i:devicePixelRatio,this._requestManager=new r(e.transformRequest),\"string\"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else {if(!(e.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container;}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(()=>this._update(!1))),this.on(\"moveend\",(()=>this._update(!1))),this.on(\"zoom\",(()=>this._update(!0))),this.on(\"terrain\",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0);})),\"undefined\"!=typeof window&&(addEventListener(\"online\",this._onWindowOnline,!1),addEventListener(\"resize\",this._onWindowResize,!1),addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new Yo(this,e),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=e.hash&&new oo(\"string\"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new ta({customAttribution:e.customAttribution})),e.maplibreLogo&&this.addControl(new ea,e.logoPosition),this.on(\"style.load\",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet);})),this.on(\"data\",(e=>{this._update(\"style\"===e.dataType),this.fire(new t.Event(`${e.dataType}data`,e));})),this.on(\"dataloading\",(e=>{this.fire(new t.Event(`${e.dataType}dataloading`,e));})),this.on(\"dataabort\",(e=>{this.fire(new t.Event(\"sourcedataabort\",e));}));}_getMapId(){return this._mapId}addControl(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():\"top-right\"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));const o=e.onAdd(this);this._controls.push(e);const a=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?a.insertBefore(o,a.firstChild):a.appendChild(o),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));const i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}resize(e){const i=this._containerDimensions(),o=i[0],a=i[1];this._resizeCanvas(o,a,this.getPixelRatio()),this.transform.resize(o,a),this.painter.resize(o,a,this.getPixelRatio());const s=!this._moving;return s&&(this.stop(),this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e))),this.fire(new t.Event(\"resize\",e)),s&&this.fire(new t.Event(\"moveend\",e)),this}getPixelRatio(){return this._pixelRatio}setPixelRatio(t){const[e,i]=this._containerDimensions();this._pixelRatio=t,this._resizeCanvas(e,i,t),this.painter.resize(e,i,t);}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(e){return this.transform.locationPoint(t.LngLat.convert(e),this.style&&this.style.terrain)}unproject(e){return this.transform.pointLocation(t.pointGeometry.convert(e),this.style&&this.style.terrain)}isMoving(){return this._moving||this.handlers.isMoving()}isZooming(){return this._zooming||this.handlers.isZooming()}isRotating(){return this._rotating||this.handlers.isRotating()}_createDelegatedListener(t,e,i){if(\"mouseenter\"===t||\"mouseover\"===t){let o=!1;const a=a=>{const s=this.getLayer(e)?this.queryRenderedFeatures(a.point,{layers:[e]}):[];s.length?o||(o=!0,i.call(this,new _o(t,this,a.originalEvent,{features:s}))):o=!1;};return {layer:e,listener:i,delegates:{mousemove:a,mouseout:()=>{o=!1;}}}}if(\"mouseleave\"===t||\"mouseout\"===t){let o=!1;const a=a=>{(this.getLayer(e)?this.queryRenderedFeatures(a.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,i.call(this,new _o(t,this,a.originalEvent)));},s=e=>{o&&(o=!1,i.call(this,new _o(t,this,e.originalEvent)));};return {layer:e,listener:i,delegates:{mousemove:a,mouseout:s}}}{const o=t=>{const o=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];o.length&&(t.features=o,i.call(this,t),delete t.features);};return {layer:e,listener:i,delegates:{[t]:o}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const o=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(o);for(const t in o.delegates)this.on(t,o.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const o=this._createDelegatedListener(t,e,i);for(const t in o.delegates)this.once(t,o.delegates[t]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(o=>{const a=this._delegatedListeners[t];for(let t=0;t{e?this.fire(new t.ErrorEvent(e)):o&&this._updateDiff(o,i);}));}else \"object\"==typeof e&&this._updateDiff(e,i);}_updateDiff(e,i){try{this.style.setState(e)&&this._update(!0);}catch(o){t.warnOnce(`Unable to perform style diff: ${o.message||o.error||o}. Rebuilding the style from scratch.`),this._updateStyle(e,i);}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.warnOnce(\"There is no style added to the map.\")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(e){const i=this.style&&this.style.sourceCaches[e];if(void 0!==i)return i.loaded();this.fire(new t.ErrorEvent(new Error(`There is no source with ID '${e}'`)));}setTerrain(t){return this.style.setTerrain(t),this}getTerrain(){return this.style.terrain&&this.style.terrain.options}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}}return !0}addSourceType(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(e,i,{pixelRatio:o=1,sdf:a=!1,stretchX:s,stretchY:r,content:n}={}){if(this._lazyInitEmptyStyle(),i instanceof HTMLImageElement||t.isImageBitmap(i)){const{width:l,height:c,data:h}=t.exported.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},h),pixelRatio:o,stretchX:s,stretchY:r,content:n,sdf:a,version:0});}else {if(void 0===i.width||void 0===i.height)return this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{const{width:l,height:c,data:h}=i,u=i;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},new Uint8Array(h)),pixelRatio:o,stretchX:s,stretchY:r,content:n,sdf:a,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e);}}}updateImage(e,i){const o=this.style.getImage(e);if(!o)return this.fire(new t.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));const a=i instanceof HTMLImageElement||t.isImageBitmap(i)?t.exported.getImageData(i):i,{width:s,height:r,data:n}=a;if(void 0===s||void 0===r)return this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(s!==o.data.width||r!==o.data.height)return this.fire(new t.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));const l=!(i instanceof HTMLImageElement||t.isImageBitmap(i));o.data.replace(n,l),this.style.updateImage(e,o);}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error(\"Missing required image id\"))),!1)}removeImage(t){this.style.removeImage(t);}loadImage(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),i);}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,o={}){return this.style.setPaintProperty(t,e,i,o),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,o={}){return this.style.setLayoutProperty(t,e,i,o),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add(\"maplibregl-map\",\"mapboxgl-map\");const e=this._canvasContainer=s.create(\"div\",\"maplibregl-canvas-container mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"maplibregl-interactive\",\"mapboxgl-interactive\"),this._canvas=s.create(\"canvas\",\"maplibregl-canvas mapboxgl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");const i=this._containerDimensions();this._resizeCanvas(i[0],i[1],this.getPixelRatio());const o=this._controlContainer=s.create(\"div\",\"maplibregl-control-container mapboxgl-control-container\",t),a=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((t=>{a[t]=s.create(\"div\",`maplibregl-ctrl-${t} mapboxgl-ctrl-${t}`,o);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);}_setupCooperativeGestures(){const t=this._container;this._metaPress=!1,this._cooperativeGesturesScreen=s.create(\"div\",\"maplibregl-cooperative-gesture-screen\",t);let e=\"Control\",i=\"boolean\"!=typeof this._cooperativeGestures&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:\"Use Ctrl + scroll to zoom the map\";0===navigator.platform.indexOf(\"Mac\")&&(i=\"boolean\"!=typeof this._cooperativeGestures&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:\"Use ⌘ + scroll to zoom the map\",e=\"Meta\"),this._cooperativeGesturesScreen.innerHTML=`\\n
${i}
\\n
${\"boolean\"!=typeof this._cooperativeGestures&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:\"Use two fingers to move the map\"}
\\n `,document.addEventListener(\"keydown\",(t=>{t.key===e&&(this._metaPress=!0);})),document.addEventListener(\"keyup\",(t=>{t.key===e&&(this._metaPress=!1);})),this._canvasContainer.addEventListener(\"wheel\",(t=>{this._onCooperativeGesture(t,this._metaPress,1);}),!1),this._canvasContainer.classList.remove(\"mapboxgl-touch-drag-pan\",\"maplibregl-touch-drag-pan\");}_resizeCanvas(t,e,i){this._canvas.width=i*t,this._canvas.height=i*e,this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`;}_setupPainter(){const i=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),o=this._canvas.getContext(\"webgl\",i)||this._canvas.getContext(\"experimental-webgl\",i);o?(this.painter=new Ji(o,this.transform),t.exported$1.testSupport(o)):this.fire(new t.ErrorEvent(new Error(\"Failed to initialize WebGL\")));}_contextLost(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event(\"webglcontextlost\",{originalEvent:e}));}_contextRestored(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event(\"webglcontextrestored\",{originalEvent:e}));}_onMapScroll(t){if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}_onCooperativeGesture(t,e,i){return !e&&i<2&&(this._cooperativeGesturesScreen.classList.add(\"maplibregl-show\"),setTimeout((()=>{this._cooperativeGesturesScreen.classList.remove(\"maplibregl-show\");}),100)),!1}loaded(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t);}_render(e){let i,o=0;const a=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(i=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,i),o=t.exported.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let s=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const e=this.transform.zoom,i=t.exported.now();this.style.zoomHistory.update(e,i);const o=new t.EvaluationParameters(e,{now:i,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),a=o.crossFadingFactor();1===a&&a===this._crossFadingFactor||(s=!0,this._crossFadingFactor=a),this.style.update(o);}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.style.terrain&&this.style.terrain.sourceCache.update(this.transform,this.style.terrain),this.transform.updateElevation(this.style.terrain),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new t.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.load),this.fire(new t.Event(\"load\"))),this.style&&(this.style.hasTransitions()||s)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){const e=t.exported.now()-o;a.endQueryEXT(a.TIME_ELAPSED_EXT,i),setTimeout((()=>{const o=a.getQueryObjectEXT(i,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(i),this.fire(new t.Event(\"gpu-timing-frame\",{cpuTime:e,gpuTime:o}));}),50);}if(this.listens(\"gpu-timing-layer\")){const e=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(e);this.fire(new t.Event(\"gpu-timing-layer\",{layerTimes:i}));}),50);}const r=this._sourcesDirty||this._styleDirty||this._placementDirty;return r||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event(\"idle\")),!this._loaded||this._fullyLoaded||r||(this._fullyLoaded=!0,t.PerformanceUtils.mark(t.PerformanceMarkers.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),\"undefined\"!=typeof window&&(removeEventListener(\"resize\",this._onWindowResize,!1),removeEventListener(\"orientationchange\",this._onWindowResize,!1),removeEventListener(\"online\",this._onWindowOnline,!1));const e=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");e&&e.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),s.remove(this._canvasContainer),s.remove(this._controlContainer),this._cooperativeGestures&&s.remove(this._cooperativeGesturesScreen),this._container.classList.remove(\"maplibregl-map\",\"mapboxgl-map\"),t.PerformanceUtils.clearMetrics(),this._removed=!0,this.fire(new t.Event(\"remove\"));}triggerRepaint(){this.style&&!this._frame&&(this._frame=t.exported.frame((e=>{t.PerformanceUtils.frame(e),this._frame=null,this._render(e);})));}_onWindowOnline(){this._update();}_onWindowResize(t){this._trackResize&&this.resize({originalEvent:t})._update();}get showTileBoundaries(){return !!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update());}get showPadding(){return !!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update());}get showCollisionBoxes(){return !!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update());}get showOverdrawInspector(){return !!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update());}get repaint(){return !!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint());}get vertices(){return !!this._vertices}set vertices(t){this._vertices=t,this._update();}_setCacheLimits(e,i){t.setCacheLimits(e,i);}get version(){return \"2.3.0\"}},NavigationControl:class{constructor(e){this.options=t.extend({},sa,e),this._container=s.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this.options.showZoom&&(t.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in mapboxgl-ctrl-zoom-in\",(t=>this._map.zoomIn({},{originalEvent:t}))),s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out mapboxgl-ctrl-zoom-out\",(t=>this._map.zoomOut({},{originalEvent:t}))),s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(t.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"maplibregl-ctrl-compass mapboxgl-ctrl-compass\",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t});})),this._compassIcon=s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"));}_updateZoomButtons(){const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute(\"aria-disabled\",e.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",i.toString());}_rotateCompassArrow(){const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t;}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new ra(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){s.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map;}_createButton(t,e){const i=s.create(\"button\",t,this._container);return i.type=\"button\",i.addEventListener(\"click\",e),i}_setButtonTitle(t,e){const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);}},GeolocateControl:class extends t.Evented{constructor(e){super(),this.options=t.extend({},ua,e),t.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this);}onAdd(t){var e;return this._map=t,this._container=s.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group\"),e=this._setupUI,void 0!==da?e(da):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:\"geolocation\"}).then((t=>{da=\"denied\"!==t.state,e(da);})):(da=!!window.navigator.geolocation,e(da)),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),s.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,_a=0,ma=!1;}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\",\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\",\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\",\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\",\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\");}}_onSuccess(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event(\"outofmaxbounds\",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\",\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\",\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\",\"mapboxgl-ctrl-geolocate-background\");}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\",\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish();}}_updateCamera(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude),o=e.coords.accuracy,a=this._map.getBearing(),s=t.extend({bearing:a},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(o),s,{geolocateSource:!0});}_updateMarker(e){if(e){const i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove();}_updateCircleRadius(){const t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),i=this._map.unproject([1,t]),o=e.distanceTo(i),a=Math.ceil(2*this._accuracy/o);this._circleElement.style.width=`${a}px`,this._circleElement.style.height=`${a}px`;}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}_onError(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\",\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\",\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\",\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===e.code&&ma)return;this._setErrorState();}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\",\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish();}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;}_setupUI(e){if(this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this._geolocateButton=s.create(\"button\",\"maplibregl-ctrl-geolocate mapboxgl-ctrl-geolocate\",this._container),s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");const e=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute(\"aria-label\",e);}else {const t=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=s.create(\"div\",\"maplibregl-user-location-dot mapboxgl-user-location-dot\"),this._userLocationDotMarker=new ha(this._dotElement),this._circleElement=s.create(\"div\",\"maplibregl-user-location-accuracy-circle mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new ha({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(e=>{e.geolocateSource||\"ACTIVE_LOCK\"!==this._watchState||e.originalEvent&&\"resize\"===e.originalEvent.type||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\",\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\"),this.fire(new t.Event(\"trackuserlocationend\")));}));}trigger(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":_a--,ma=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\",\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\",\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\",\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\",\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"));}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\",\"mapboxgl-ctrl-geolocate-active\");}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),_a++,_a>1?(t={maximumAge:6e5,timeout:0},ma=!0):(t=this.options.positionOptions,ma=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t);}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return !0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\",\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null);}},AttributionControl:ta,LogoControl:ea,ScaleControl:class{constructor(e){this.options=t.extend({},pa,e),t.bindAll([\"_onMove\",\"setUnit\"],this);}getDefaultPosition(){return \"bottom-left\"}_onMove(){fa(this._map,this._container,this.options);}onAdd(t){return this._map=t,this._container=s.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){s.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0;}setUnit(t){this.options.unit=t,fa(this._map,this._container,this.options);}},FullscreenControl:class{constructor(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\");}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=s.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer}onRemove(){s.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon);}_checkFullscreenSupport(){return !!(document.fullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled||document.webkitFullscreenEnabled)}_setupUI(){const t=this._fullscreenButton=s.create(\"button\",\"maplibregl-ctrl-fullscreen mapboxgl-ctrl-fullscreen\",this._controlContainer);s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",t).setAttribute(\"aria-hidden\",\"true\"),t.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._changeIcon);}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t;}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_changeIcon(){(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle());}_onClickFullscreen(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen();}},TerrainControl:class{constructor(e){this.options=e,t.bindAll([\"_toggleTerrain\",\"_updateTerrainIcon\"],this);}onAdd(t){return this._map=t,this._container=s.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group mapboxgl-ctrl mapboxgl-ctrl-group\"),this._terrainButton=s.create(\"button\",\"maplibregl-ctrl-terrain mapboxgl-ctrl-terrain\",this._container),s.create(\"span\",\"maplibregl-ctrl-icon mapboxgl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){s.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0;}_toggleTerrain(){this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon();}_updateTerrainIcon(){this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\",\"mapboxgl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\",\"mapboxgl-ctrl-terrain-enabled\"),this._map.style.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\",\"mapboxgl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.disableTerrain\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\",\"mapboxgl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.enableTerrain\"));}},Popup:class extends t.Evented{constructor(e){super(),this.options=t.extend(Object.create(xa),e),t.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this);}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\",\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\",\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this}isOpen(){return !!this._map}remove(){return this._content&&s.remove(this._content),this._container&&(s.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new t.Event(\"close\")),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\",\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\",\"mapboxgl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\",\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\",\"mapboxgl-track-pointer\")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),i=document.createElement(\"body\");let o;for(i.innerHTML=t;o=i.firstChild,o;)e.appendChild(o);return this.setDOMContent(e)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=s.create(\"div\",\"maplibregl-popup-content mapboxgl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){this._container&&this._container.classList.add(t);}removeClassName(t){this._container&&this._container.classList.remove(t);}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}_createCloseButton(){this.options.closeButton&&(this._closeButton=s.create(\"button\",\"maplibregl-popup-close-button mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose));}_onMouseUp(t){this._update(t.point);}_onMouseMove(t){this._update(t.point);}_onDrag(t){this._update(t.point);}_update(t){if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(this._container||(this._container=s.create(\"div\",\"maplibregl-popup mapboxgl-popup\",this._map.getContainer()),this._tip=s.create(\"div\",\"maplibregl-popup-tip mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((t=>this._container.classList.add(t))),this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\",\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=na(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!t)return;const e=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);let i=this.options.anchor;const o=ya(this.options.offset);if(!i){const t=this._container.offsetWidth,a=this._container.offsetHeight;let s;s=e.y+o.bottom.ythis._map.transform.height-a?[\"bottom\"]:[],e.xthis._map.transform.width-t/2&&s.push(\"right\"),i=0===s.length?\"bottom\":s.join(\"-\");}const a=e.add(o[i]).round();s.setTransform(this._container,`${la[i]} translate(${a.x}px,${a.y}px)`),ca(this._container,i,\"popup\");}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(va);t&&t.focus();}_onClose(){this.remove();}},Marker:ha,Style:ee,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.pointGeometry,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,AJAXError:t.AJAXError,config:t.config,CanvasSource:P,GeoJSONSource:C,ImageSource:D,RasterDEMTileSource:I,RasterTileSource:T,VectorTileSource:w,VideoSource:z,prewarm:function(){j().acquire(G);},clearPrewarmedResources:function(){const t=V;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(G),V=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"));},get version(){return \"2.3.0\"},get workerCount(){return Z.workerCount},set workerCount(t){Z.workerCount=t;},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e;},clearStorage(e){t.clearTileCache(e);},workerUrl:\"\",addProtocol(e,i){t.config.REGISTERED_PROTOCOLS[e]=i;},removeProtocol(e){delete t.config.REGISTERED_PROTOCOLS[e];}};return Jo.extend(ba,{isSafari:t.isSafari,getPerformanceMetrics:t.PerformanceUtils.getPerformanceMetrics}),ba}));\n\n//\n\nvar maplibregl$1 = maplibregl;\n\nreturn maplibregl$1;\n\n}));\n//# sourceMappingURL=maplibre-gl.js.map\n","import {\r\n DomEvent,\r\n DomUtil,\r\n extend,\r\n latLngBounds,\r\n Layer,\r\n setOptions,\r\n Util\r\n} from 'leaflet';\r\nimport maplibregl from 'maplibre-gl';\r\n\r\nexport var MaplibreGLJSLayer = Layer.extend({\r\n options: {\r\n updateInterval: 32,\r\n // How much to extend the overlay view (relative to map size)\r\n // e.g. 0.1 would be 10% of map view in each direction\r\n padding: 0.1,\r\n // whether or not to register the mouse and keyboard\r\n // events on the mapbox overlay\r\n interactive: false,\r\n // set the tilepane as the default pane to draw gl tiles\r\n pane: 'tilePane'\r\n },\r\n\r\n initialize: function (options) {\r\n setOptions(this, options);\r\n\r\n // setup throttling the update event when panning\r\n this._throttledUpdate = Util.throttle(\r\n this._update,\r\n this.options.updateInterval,\r\n this\r\n );\r\n },\r\n\r\n onAdd: function (map) {\r\n if (!this._container) {\r\n this._initContainer();\r\n }\r\n\r\n var paneName = this.getPaneName();\r\n map.getPane(paneName).appendChild(this._container);\r\n\r\n this._initGL();\r\n\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47\r\n if (map.options.zoomAnimation) {\r\n DomEvent.on(\r\n map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n if (this._map._proxy && this._map.options.zoomAnimation) {\r\n DomEvent.off(\r\n this._map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n\r\n var paneName = this.getPaneName();\r\n map.getPane(paneName).removeChild(this._container);\r\n\r\n this._glMap.remove();\r\n this._glMap = null;\r\n },\r\n\r\n getEvents: function () {\r\n return {\r\n move: this._throttledUpdate, // sensibly throttle updating while panning\r\n zoomanim: this._animateZoom, // applys the zoom animation to the \r\n zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming\r\n zoomstart: this._zoomStart, // flag starting a zoom to disable panning\r\n zoomend: this._zoomEnd,\r\n resize: this._resize\r\n };\r\n },\r\n\r\n getMaplibreMap: function () {\r\n return this._glMap;\r\n },\r\n\r\n getCanvas: function () {\r\n return this._glMap.getCanvas();\r\n },\r\n\r\n getSize: function () {\r\n return this._map.getSize().multiplyBy(1 + this.options.padding * 2);\r\n },\r\n\r\n getOpacity: function () {\r\n return this.options.opacity;\r\n },\r\n\r\n setOpacity: function (opacity) {\r\n this.options.opacity = opacity;\r\n this._container.style.opacity = opacity;\r\n },\r\n\r\n getBounds: function () {\r\n var halfSize = this.getSize().multiplyBy(0.5);\r\n var center = this._map.latLngToContainerPoint(this._map.getCenter());\r\n return latLngBounds(\r\n this._map.containerPointToLatLng(center.subtract(halfSize)),\r\n this._map.containerPointToLatLng(center.add(halfSize))\r\n );\r\n },\r\n\r\n getContainer: function () {\r\n return this._container;\r\n },\r\n\r\n // returns the pane name set in options if it is a valid pane, defaults to tilePane\r\n getPaneName: function () {\r\n return this._map.getPane(this.options.pane) ? this.options.pane : 'tilePane';\r\n },\r\n\r\n _initContainer: function () {\r\n var container = (this._container = DomUtil.create(\r\n 'div',\r\n 'leaflet-gl-layer'\r\n ));\r\n\r\n var size = this.getSize();\r\n var offset = this._map.getSize().multiplyBy(this.options.padding);\r\n container.style.width = size.x + 'px';\r\n container.style.height = size.y + 'px';\r\n\r\n var topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(container, topLeft);\r\n },\r\n\r\n _initGL: function () {\r\n var center = this._map.getCenter();\r\n\r\n var options = extend({}, this.options, {\r\n container: this._container,\r\n center: [center.lng, center.lat],\r\n zoom: this._map.getZoom() - 1,\r\n attributionControl: false\r\n });\r\n\r\n this._glMap = new maplibregl.Map(options);\r\n\r\n // Fire event for Maplibre \"styledata\" event.\r\n this._glMap.once('styledata', function (res) {\r\n this.fire('styleLoaded');\r\n }.bind(this));\r\n\r\n // allow GL base map to pan beyond min/max latitudes\r\n this._glMap.transform.latRange = null;\r\n this._glMap.transform.maxValidLatitude = Infinity;\r\n\r\n this._transformGL(this._glMap);\r\n\r\n if (this._glMap._canvas.canvas) {\r\n // older versions of mapbox-gl surfaced the canvas differently\r\n this._glMap._actualCanvas = this._glMap._canvas.canvas;\r\n } else {\r\n this._glMap._actualCanvas = this._glMap._canvas;\r\n }\r\n\r\n // treat child element like L.ImageOverlay\r\n var canvas = this._glMap._actualCanvas;\r\n DomUtil.addClass(canvas, 'leaflet-image-layer');\r\n DomUtil.addClass(canvas, 'leaflet-zoom-animated');\r\n if (this.options.interactive) {\r\n DomUtil.addClass(canvas, 'leaflet-interactive');\r\n }\r\n if (this.options.className) {\r\n DomUtil.addClass(canvas, this.options.className);\r\n }\r\n },\r\n\r\n _update: function (e) {\r\n // update the offset so we can correct for it later when we zoom\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n if (this._zooming) {\r\n return;\r\n }\r\n\r\n var size = this.getSize();\r\n var container = this._container;\r\n var gl = this._glMap;\r\n var offset = this._map.getSize().multiplyBy(this.options.padding);\r\n var topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(container, topLeft);\r\n\r\n this._transformGL(gl);\r\n\r\n if (gl.transform.width !== size.x || gl.transform.height !== size.y) {\r\n container.style.width = size.x + 'px';\r\n container.style.height = size.y + 'px';\r\n if (gl._resize !== null && gl._resize !== undefined) {\r\n gl._resize();\r\n } else {\r\n gl.resize();\r\n }\r\n } else {\r\n // older versions of mapbox-gl surfaced update publicly\r\n if (gl._update !== null && gl._update !== undefined) {\r\n gl._update();\r\n } else {\r\n gl.update();\r\n }\r\n }\r\n },\r\n\r\n _transformGL: function (gl) {\r\n var center = this._map.getCenter();\r\n\r\n // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0);\r\n // calling setView directly causes sync issues because it uses requestAnimFrame\r\n\r\n var tr = gl.transform;\r\n tr.center = maplibregl.LngLat.convert([center.lng, center.lat]);\r\n tr.zoom = this._map.getZoom() - 1;\r\n },\r\n\r\n // update the map constantly during a pinch zoom\r\n _pinchZoom: function (e) {\r\n this._glMap.jumpTo({\r\n zoom: this._map.getZoom() - 1,\r\n center: this._map.getCenter()\r\n });\r\n },\r\n\r\n // borrowed from L.ImageOverlay\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144\r\n _animateZoom: function (e) {\r\n var scale = this._map.getZoomScale(e.zoom);\r\n var padding = this._map.getSize().multiplyBy(this.options.padding * scale);\r\n var viewHalf = this.getSize()._divideBy(2);\r\n // corrections for padding (scaled), adapted from\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508\r\n var topLeft = this._map\r\n .project(e.center, e.zoom)\r\n ._subtract(viewHalf)\r\n ._add(this._map._getMapPanePos().add(padding))\r\n ._round();\r\n var offset = this._map\r\n .project(this._map.getBounds().getNorthWest(), e.zoom)\r\n ._subtract(topLeft);\r\n\r\n DomUtil.setTransform(\r\n this._glMap._actualCanvas,\r\n offset.subtract(this._offset),\r\n scale\r\n );\r\n },\r\n\r\n _zoomStart: function (e) {\r\n this._zooming = true;\r\n },\r\n\r\n _zoomEnd: function () {\r\n var scale = this._map.getZoomScale(this._map.getZoom());\r\n\r\n DomUtil.setTransform(\r\n this._glMap._actualCanvas,\r\n null,\r\n scale\r\n );\r\n\r\n this._zooming = false;\r\n\r\n this._update();\r\n },\r\n\r\n _transitionEnd: function (e) {\r\n Util.requestAnimFrame(function () {\r\n var zoom = this._map.getZoom();\r\n var center = this._map.getCenter();\r\n var offset = this._map.latLngToContainerPoint(\r\n this._map.getBounds().getNorthWest()\r\n );\r\n\r\n // reset the scale and offset\r\n DomUtil.setTransform(this._glMap._actualCanvas, offset, 1);\r\n\r\n // enable panning once the gl map is ready again\r\n this._glMap.once(\r\n 'moveend',\r\n Util.bind(function () {\r\n this._zoomEnd();\r\n }, this)\r\n );\r\n\r\n // update the map position\r\n this._glMap.jumpTo({\r\n center: center,\r\n zoom: zoom - 1\r\n });\r\n }, this);\r\n }\r\n});\r\n\r\nexport function maplibreGLJSLayer (options) {\r\n return new MaplibreGLJSLayer(options);\r\n}\r\n","import { Layer, setOptions } from 'leaflet';\r\nimport { Util } from 'esri-leaflet';\r\nimport { getBasemapStyleUrl, getAttributionData } from './Util';\r\nimport { maplibreGLJSLayer } from './MaplibreGLLayer';\r\n\r\nexport var VectorBasemapLayer = Layer.extend({\r\n options: {\r\n key: 'ArcGIS:Streets' // default style key enum if none provided\r\n },\r\n\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module.\r\n *\r\n * @param {string} key\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n if (options) {\r\n setOptions(this, options);\r\n }\r\n\r\n // support outdated casing apiKey of apikey\r\n if (this.options.apiKey) {\r\n this.options.apikey = this.options.apiKey;\r\n }\r\n\r\n // if token is passed in, use it as an apiKey\r\n if (this.options.token) {\r\n this.options.apikey = this.options.token;\r\n }\r\n\r\n // If no API Key or token is required:\r\n if (!(this.options.apikey || this.options.token)) {\r\n throw new Error('API Key or token is required for vectorBasemapLayer.');\r\n }\r\n\r\n // set key onto \"this.options\" for use elsewhere in the module.\r\n if (key) {\r\n this.options.key = key;\r\n }\r\n\r\n // this.options has been set, continue on to create the layer:\r\n this._createLayer();\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer given using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n var styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey);\r\n\r\n this._maplibreGL = maplibreGLJSLayer({\r\n style: styleUrl,\r\n pane: this.options.pane,\r\n opacity: this.options.opacity\r\n });\r\n\r\n this._ready = true;\r\n this.fire('ready', {}, true);\r\n\r\n this._maplibreGL.on('styleLoaded', function (res) {\r\n this._setupAttribution();\r\n }.bind(this));\r\n },\r\n\r\n _setupAttribution: function () {\r\n var map = this._map;\r\n // Set attribution\r\n Util.setEsriAttribution(map);\r\n\r\n if (this.options.key.length === 32) {\r\n // this is an itemId\r\n var sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n var allAttributions = [];\r\n Object.keys(sources).forEach(function (key) {\r\n allAttributions.push(sources[key].attribution);\r\n if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) {\r\n allAttributions.push(sources[key].copyrightText);\r\n }\r\n });\r\n\r\n map.attributionControl.addAttribution('' + allAttributions.join(', ') + '');\r\n } else {\r\n // this is an enum\r\n if (!this.options.attributionUrls) {\r\n this.options.attributionUrls = this._getAttributionUrls(this.options.key);\r\n }\r\n\r\n if (this._map && this.options.attributionUrls) {\r\n if (this._map.attributionControl) {\r\n for (\r\n let index = 0;\r\n index < this.options.attributionUrls.length;\r\n index++\r\n ) {\r\n const attributionUrl = this.options.attributionUrls[index];\r\n getAttributionData(attributionUrl, map);\r\n }\r\n\r\n map.attributionControl.addAttribution(\r\n ''\r\n );\r\n }\r\n Util._updateMapAttribution({ target: this._map });\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Given a key, return the attribution url(s).\r\n * @param {string} key\r\n */\r\n _getAttributionUrls: function (key) {\r\n if (key.indexOf('OSM:') === 0) {\r\n return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2'];\r\n } else if (key.indexOf('ArcGIS:Imagery') === 0) {\r\n return [\r\n 'https://static.arcgis.com/attribution/World_Imagery',\r\n 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2'\r\n ];\r\n }\r\n\r\n // default:\r\n return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2'];\r\n },\r\n\r\n onAdd: function (map) {\r\n this._map = map;\r\n\r\n this._initPane();\r\n\r\n if (this._ready) {\r\n this._asyncAdd();\r\n } else {\r\n this.once(\r\n 'ready',\r\n function () {\r\n this._asyncAdd();\r\n },\r\n this\r\n );\r\n }\r\n },\r\n\r\n _initPane: function () {\r\n // if the layer is a \"label\" layer, should use the \"esri-label\" pane.\r\n if (!this.options.pane) {\r\n if (this.options.key.indexOf(':Labels') > -1) {\r\n this.options.pane = 'esri-labels';\r\n } else {\r\n this.options.pane = 'tilePane';\r\n }\r\n }\r\n\r\n if (!this._map.getPane(this.options.pane)) {\r\n var pane = this._map.createPane(this.options.pane);\r\n pane.style.pointerEvents = 'none';\r\n pane.style.zIndex = this.options.pane === 'esri-labels' ? 550 : 500;\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.off('moveend', Util._updateMapAttribution);\r\n map.removeLayer(this._maplibreGL);\r\n\r\n if (map.attributionControl) {\r\n var element = document.getElementsByClassName('esri-dynamic-attribution');\r\n\r\n if (element && element.length > 0) {\r\n var vectorAttribution = element[0].outerHTML;\r\n // this doesn't work, not sure why.\r\n map.attributionControl.removeAttribution(vectorAttribution);\r\n }\r\n }\r\n },\r\n\r\n _asyncAdd: function () {\r\n var map = this._map;\r\n map.on('moveend', Util._updateMapAttribution);\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorBasemapLayer (key, options) {\r\n return new VectorBasemapLayer(key, options);\r\n}\r\n\r\nexport default vectorBasemapLayer;\r\n","import { Layer, setOptions } from 'leaflet';\r\nimport { loadStyle, formatStyle, isWebMercator } from './Util';\r\nimport { maplibreGLJSLayer } from './MaplibreGLLayer';\r\n\r\nexport var VectorTileLayer = Layer.extend({\r\n options: {\r\n // if pane is not provided, default to LeafletJS's overlayPane\r\n // https://leafletjs.com/reference.html#map-pane\r\n pane: 'overlayPane',\r\n\r\n // if portalUrl is not provided, default to ArcGIS Online\r\n portalUrl: 'https://www.arcgis.com'\r\n },\r\n\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module and creates the layer instance.\r\n *\r\n * @param {string} key an ITEM ID or SERVICE URL\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n if (options) {\r\n setOptions(this, options);\r\n }\r\n\r\n // support outdated casing apiKey of apikey\r\n if (this.options.apiKey) {\r\n this.options.apikey = this.options.apiKey;\r\n }\r\n\r\n // if apiKey is passed in, use it as a token\r\n // (opposite from VectorBasemapLayer.js)\r\n if (this.options.apikey) {\r\n this.options.token = this.options.apikey;\r\n }\r\n\r\n // if no key passed in\r\n if (!key) {\r\n throw new Error('An ITEM ID or SERVICE URL is required for vectorTileLayer.');\r\n }\r\n\r\n // set key onto \"this.options\" for use elsewhere in the module.\r\n if (key) {\r\n this.options.key = key;\r\n }\r\n\r\n // this.options has been set, continue on to create the layer:\r\n this._createLayer();\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer given using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n loadStyle(\r\n this.options.key,\r\n this.options,\r\n function (error, style, styleUrl, service) {\r\n if (error) {\r\n throw new Error(error);\r\n }\r\n\r\n if (!isWebMercator(service.tileInfo.spatialReference.wkid)) {\r\n console.warn(\r\n 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The \"tileInfo.spatialReference\" property is:',\r\n service.tileInfo.spatialReference,\r\n '\\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.'\r\n );\r\n }\r\n\r\n // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer\r\n style = formatStyle(style, styleUrl, service, this.options.token);\r\n\r\n // if a custom attribution was not provided in the options,\r\n // then attempt to rely on the attribution of the last source in the style object\r\n // and add it to the map's attribution control\r\n // (otherwise it would have already been added by leaflet to the attribution control)\r\n if (!this.getAttribution()) {\r\n var sourcesKeys = Object.keys(style.sources);\r\n this.options.attribution = style.sources[sourcesKeys[sourcesKeys.length - 1]].attribution;\r\n if (this._map && this._map.attributionControl) {\r\n // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control\r\n this._map.attributionControl.addAttribution(this.getAttribution());\r\n }\r\n }\r\n\r\n // additionally modify the style object with the user's optional style override function\r\n if (this.options.style && typeof this.options.style === 'function') {\r\n style = this.options.style(style);\r\n }\r\n\r\n this._maplibreGL = maplibreGLJSLayer({\r\n style: style,\r\n pane: this.options.pane,\r\n opacity: this.options.opacity\r\n });\r\n\r\n this._ready = true;\r\n this.fire('ready', {}, true);\r\n }.bind(this)\r\n );\r\n },\r\n\r\n onAdd: function (map) {\r\n this._map = map;\r\n\r\n if (this._ready) {\r\n this._asyncAdd();\r\n } else {\r\n this.once(\r\n 'ready',\r\n function () {\r\n this._asyncAdd();\r\n },\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.removeLayer(this._maplibreGL);\r\n },\r\n\r\n _asyncAdd: function () {\r\n var map = this._map;\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorTileLayer (key, options) {\r\n return new VectorTileLayer(key, options);\r\n}\r\n\r\nexport default vectorTileLayer;\r\n"],"names":["loadStyle","idOrUrl","options","callback","test","loadStyleFromService","itemId","itemStyleUrl","portalUrl","loadStyleFromUrl","error","style","loadItem","item","console","url","loadService","service","loadStyleFromItem","serviceUrl","params","token","request","defaultStylesUrl","sanitizedServiceUrl","charAt","length","slice","defaultStyles","styleUrl","getAttributionData","map","Support","cors","attributions","_esriAttributions","c","contributors","contributor","i","coverageAreas","coverageArea","southWest","latLng","bbox","northEast","push","attribution","score","bounds","latLngBounds","minZoom","zoomMin","maxZoom","zoomMax","sort","a","b","obj","target","Util","_updateMapAttribution","WEB_MERCATOR_WKIDS","module","exports","shared","worker","maplibregl","define","_","chunk","workerBundleString","sharedChunk","window","workerUrl","URL","createObjectURL","Blob","type","t","e","r","n","this","cx","bx","ax","cy","by","ay","p1x","p1y","p2x","p2y","solve","prototype","sampleCurveX","sampleCurveY","sampleCurveDerivativeX","solveCurveX","Math","abs","s","o","min","max","l","u","forEach","bind","call","h","p","Array","isArray","f","d","warn","y","x","m","g","WorkerGlobalScope","self","replace","toLowerCase","parseInt","isNaN","v","w","navigator","userAgent","safari","match","A","ImageBitmap","k","now","performance","Date","frame","requestAnimationFrame","cancel","cancelAnimationFrame","getImageData","document","createElement","getContext","Error","width","height","drawImage","resolveURL","href","hardwareConcurrency","prefersReducedMotion","matchMedia","matches","S","I","clone","add","_add","sub","_sub","multByPoint","_multByPoint","divByPoint","_divByPoint","mult","_mult","div","_div","rotate","_rotate","rotateAround","_rotateAround","matMult","_matMult","unit","_unit","perp","_perp","round","_round","mag","sqrt","equals","dist","distSqr","angle","atan2","angleTo","angleWith","angleWithSep","cos","sin","convert","M","MAX_PARALLEL_IMAGE_REQUESTS","REGISTERED_PROTOCOLS","z","B","C","P","V","E","caches","open","F","T","supported","testSupport","$","D","R","U","L","createTexture","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","isContextLost","deleteTexture","onload","onerror","src","O","Unknown","Style","Source","Tile","Glyphs","SpriteImage","SpriteJSON","Image","Object","freeze","q","constructor","super","status","statusText","body","j","referrer","location","protocol","parent","N","AbortController","Request","method","credentials","headers","signal","set","fetch","then","ok","arrayBuffer","json","text","Headers","get","toUTCString","getTime","Response","ReadableStream","blob","put","indexOf","catch","message","code","abort","K","actor","send","substring","hasOwnProperty","XMLHttpRequest","responseType","setRequestHeader","withCredentials","response","JSON","parse","getResponseHeader","Z","G","host","J","X","Y","H","accept","requestParameters","cancelled","shift","createImageBitmap","Uint8Array","revokeObjectURL","byteLength","cacheControl","expires","W","Q","splice","tt","et","rt","on","_listeners","off","_oneTimeListeners","once","fire","listens","_eventedParent","_eventedParentData","setEventedParent","nt","$version","$root","version","required","values","name","metadata","center","value","zoom","bearing","default","period","units","pitch","light","terrain","sources","sprite","glyphs","transition","layers","source","source_vector","vector","tiles","scheme","xyz","tms","minzoom","maxzoom","promoteId","volatile","source_raster","raster","tileSize","source_raster_dem","encoding","terrarium","mapbox","source_geojson","geojson","data","buffer","maximum","minimum","filter","tolerance","cluster","clusterRadius","clusterMaxZoom","clusterMinPoints","clusterProperties","lineMetrics","generateId","source_video","video","urls","coordinates","source_image","image","layer","id","fill","line","symbol","circle","heatmap","hillshade","background","layout","paint","layout_background","visibility","visible","none","layout_fill","expression","interpolated","parameters","layout_circle","layout_heatmap","layout_line","butt","square","bevel","miter","requires","layout_symbol","point","auto","never","always","cooperative","viewport","both","tokens","left","right","top","bottom","horizontal","vertical","uppercase","lowercase","layout_raster","layout_hillshade","filter_operator","in","all","any","has","within","geometry_type","Point","LineString","Polygon","function","stops","base","property","identity","exponential","interval","categorical","colorSpace","rgb","lab","hcl","function_stop","anchor","position","color","intensity","exaggeration","elevationOffset","paint_fill","paint_line","paint_circle","paint_heatmap","paint_symbol","overridable","paint_raster","linear","nearest","paint_hillshade","paint_background","duration","delay","constant","it","identifier","__line__","at","key","st","ot","Number","String","Boolean","valueOf","lt","ut","ct","bindings","concat","ht","kind","pt","ft","dt","yt","mt","gt","xt","vt","bt","wt","_t","itemType","At","kt","St","It","some","Mt","zt","Bt","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","Ct","Pt","parseFloat","Vt","Et","parseCSSColor","substr","split","pop","Ft","static","toString","toArray","Tt","sensitivity","locale","collator","Intl","Collator","usage","compare","resolvedLocale","resolvedOptions","Lt","scale","fontStack","textColor","Dt","sections","isEmpty","fromString","join","$t","stringify","Rt","available","Ut","Ot","qt","jt","Nt","expectedType","evaluate","eachChild","outputDefined","Kt","toJSON","Zt","string","number","boolean","object","Gt","args","floor","every","Jt","Xt","parseColor","Yt","Ht","globals","feature","featureState","formattedSection","_parseColorCache","availableImages","canonical","geometryType","geometry","canonicalID","properties","Wt","_evaluate","definitions","overloads","we","registry","path","scope","checkSubtype","errors","Qt","caseSensitive","diacriticSensitive","te","ee","re","ne","PI","log","pow","ie","ae","se","oe","le","ue","ce","he","pe","fe","de","ye","me","geometries","features","ge","xe","ve","be","boundExpression","_parse","typeAnnotation","_e","Ae","ke","input","labels","outputs","Se","Ie","__proto__","array","padding","Me","ze","Be","Ce","Pe","Ve","Ee","Fe","Te","Le","De","$e","alpha","Re","Ue","Oe","forward","reverse","interpolate","qe","je","Ne","operator","interpolation","Ke","controlPoints","interpolationFactor","Ze","Ge","result","Je","index","Xe","needle","haystack","Ye","fromIndex","He","inputType","cases","otherwise","MAX_SAFE_INTEGER","We","branches","Qe","beginIndex","endIndex","tr","er","rr","lhs","rhs","hasUntypedArgument","nr","ir","ar","sr","or","lr","ur","currency","minFractionDigits","maxFractionDigits","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","cr","font","content","hr","pr","fr","case","coalesce","let","literal","step","var","dr","yr","mr","gr","xr","vr","br","wr","_r","Ar","kr","Sr","Ir","Cr","Br","zr","create","Pr","interpolationType","zoomStops","Mr","apply","register","typeof","rgba","heatmapDensity","lineProgress","accumulated","ln2","LN2","pi","log10","LN10","ln","log2","asin","acos","atan","ceil","isSupportedScript","upcase","toUpperCase","downcase","Vr","_warningHistory","_evaluator","_defaultValue","_enumValues","evaluateWithoutErrorHandling","keys","Er","Fr","enum","formatted","resolvedImage","Tr","_styleExpression","isStateDependent","Lr","Dr","Rr","$r","_parameters","_specification","Ur","valueSpec","objectElementValidators","styleSpec","yn","objectKey","Or","arrayElementValidator","arrayIndex","qr","jr","isFinite","Nr","expressionContext","propertyKey","propertyType","Kr","Zr","Gr","Jr","needGeometry","Hr","Yr","Xr","Wr","en","Qr","tn","rn","nn","an","layerType","exec","sn","ref","un","cn","hn","pn","fn","dn","constants","mn","gn","xn","vn","paintProperty","layoutProperty","bn","wn","_n","An","kn","Sn","cells","ArrayBuffer","Int32Array","subarray","bboxes","insert","_insertReadonly","extent","uid","_forEachCell","_insertCell","query","_queryCell","_convertToCellCoord","_convertFromCellCoord","toArrayBuffer","In","Mn","defineProperty","writeable","klass","omit","shallow","_classRegistryKey","zn","Bn","RegExp","isView","ImageData","serialize","$name","Cn","deserialize","Pn","first","update","lastIntegerZoom","lastIntegerZoomTime","lastZoom","lastFloorZoom","Vn","Arabic","Khmer","Hiragana","Katakana","Bopomofo","Kanbun","En","Ln","charCodeAt","Fn","Tn","Dn","$n","Rn","Un","On","qn","jn","Nn","Kn","Zn","Gn","Jn","Xn","pluginStatus","pluginURL","Yn","Hn","Wn","applyArabicShaping","processBidirectionalText","processStyledBidirectionalText","isLoaded","isLoading","setState","isParsed","getPluginURL","Qn","fadeDuration","zoomHistory","crossFadingFactor","getCrossfadeParameters","fromScale","toScale","ti","specification","isDataDriven","possiblyEvaluate","ei","transitioned","ni","untransitioned","ri","_properties","_values","defaultTransitionablePropertyValues","getValue","setValue","getTransition","setTransition","ii","begin","end","prior","defaultTransitioningPropertyValues","oi","hasTransition","ai","defaultPropertyValues","si","isConstant","constantOr","defaultPossiblyEvaluatedValues","li","ui","overrides","ci","_calculate","from","to","hi","fi","overridableProperties","di","yi","_featureFilter","sourceLayer","_unevaluatedLayout","_transitionablePaint","setPaintProperty","validate","setLayoutProperty","_transitioningPaint","_crossfadeParameters","getLayoutProperty","_validate","getPaintProperty","endsWith","_handleSpecialPaintPropertyUpdate","_handleOverridablePaintPropertyUpdate","isHidden","updateTransitions","recalculate","is3D","isTileClipped","hasOffscreenPass","resize","mi","Int8","Int8Array","Uint8","Int16","Int16Array","Uint16","Uint16Array","Int32","Uint32","Uint32Array","Float32","Float32Array","gi","_structArray","_pos1","size","_pos2","_pos4","_pos8","xi","isTransferred","capacity","_trim","bytesPerElement","_refreshViews","clear","reserve","uint8","vi","members","BYTES_PER_ELEMENT","bi","components","offset","alignment","wi","int16","emplaceBack","emplace","_i","Ai","ki","Si","float32","Ii","uint16","Mi","zi","Bi","uint32","Ci","Pi","Vi","Ei","Fi","Ti","Li","Di","$i","Ri","Ui","Oi","qi","ji","anchorPointX","anchorPointY","x1","y1","x2","y2","featureIndex","sourceLayerIndex","bucketIndex","anchorPoint","Ni","Ki","anchorX","anchorY","glyphStartIndex","numGlyphs","vertexStartIndex","lineStartIndex","lineLength","segment","lowerSize","upperSize","lineOffsetX","lineOffsetY","writingMode","placedOrientation","hidden","crossTileID","associatedIconIndex","Zi","Gi","rightJustifiedTextSymbolIndex","centerJustifiedTextSymbolIndex","leftJustifiedTextSymbolIndex","verticalPlacedTextSymbolIndex","placedIconSymbolIndex","verticalPlacedIconSymbolIndex","textBoxStartIndex","textBoxEndIndex","verticalTextBoxStartIndex","verticalTextBoxEndIndex","iconBoxStartIndex","iconBoxEndIndex","verticalIconBoxStartIndex","verticalIconBoxEndIndex","numHorizontalGlyphVertices","numVerticalGlyphVertices","numIconVertices","numVerticalIconVertices","useRuntimeCollisionCircles","textBoxScale","textOffset0","textOffset1","collisionCircleDiameter","Ji","Xi","getoffsetX","Yi","getx","gety","gettileUnitDistanceFromAnchor","Hi","Wi","Qi","ta","ea","ra","na","ia","aa","sa","oa","la","ua","ca","ha","pa","fa","da","ya","segments","prepareSegment","MAX_VERTEX_ARRAY_LENGTH","vertexLength","sortKey","vertexOffset","primitiveOffset","primitiveLength","destroy","vaos","ma","ga","xa","va","ba","wa","_a","murmur3","murmur2","Aa","ids","positions","indexed","ka","getPositions","start","Float64Array","Sa","Ia","Ma","gl","za","current","uniform1f","Ba","uniform4f","Ca","Pa","Va","Ea","uniformNames","setUniform","getBinding","Fa","patternFrom","patternTo","pixelRatioFrom","pixelRatioTo","setConstantPatternPositions","pixelRatio","tlbr","Ta","maxValue","paintVertexAttributes","paintVertexArray","populatePaintArray","_setPaintValue","updatePaintArray","upload","paintVertexBuffer","updateData","createVertexBuffer","La","useIntegerZoom","Da","layerId","zoomInPaintVertexArray","zoomOutPaintVertexArray","_setPaintValues","patterns","mid","tl","zoomInPaintVertexBuffer","zoomOutPaintVertexBuffer","$a","binders","_buffers","Ua","Oa","cacheKey","getMaxValue","populatePaintArrays","updatePaintArrays","defines","getBinderAttributes","getBinderUniforms","getPaintVertexBuffers","getUniforms","binding","setUniforms","updatePaintBuffers","Ra","programConfigurations","needsUpload","_featureMap","_bufferOffset","composite","qa","ja","Na","Ka","loadGeometry","Za","Ga","Ja","overscaling","layerIds","hasPattern","layoutVertexArray","indexArray","stateDependentLayerIds","populate","addFeature","stateDependentLayers","uploadPending","uploaded","layoutVertexBuffer","indexBuffer","createIndexBuffer","Xa","is","Qa","Ya","es","Ha","ns","Wa","ts","rs","as","ss","os","ls","us","cs","hs","ps","fs","ds","ys","hypot","arguments","ms","gs","xs","vs","bs","ws","_s","As","ks","Ss","Uint8ClampedArray","RangeError","Is","Ms","zs","Bs","Cs","resolution","clips","evaluationKey","Ps","Vs","Es","Fs","Ts","Ls","next","prev","steiner","Gs","js","Ns","$s","so","no","Hs","io","Ds","Ys","Zs","prevZ","nextZ","Us","Rs","Os","qs","Js","Ws","eo","Xs","ro","Ks","Qs","ao","oo","lo","co","exp","uo","ho","area","po","fo","patternDependencies","yo","deviation","flatten","vertices","holes","dimensions","mo","patternFeatures","indexArray2","segments2","addFeatures","indexBuffer2","go","xo","vo","bo","wo","_o","Ao","ko","So","_pbf","_geometry","_keys","readFields","Io","readVarint","pos","Mo","types","readSVarint","toGeoJSON","zo","Bo","Co","_features","Po","readString","readFloat","readDouble","readVarint64","readBoolean","Vo","Eo","VectorTile","VectorTileFeature","VectorTileLayer","Fo","To","Lo","Do","centroidVertexArray","centroidVertexBuffer","vertexCount","Ro","$o","Uo","Oo","qo","jo","No","Ko","Zo","Go","Jo","Xo","Yo","lineClipsArray","gradients","layoutVertexArray2","maxLineLength","layoutVertexBuffer2","lineFeatureClips","mapbox_clip_start","mapbox_clip_end","lineClips","addLine","distance","scaledDistance","totalDistance","updateScaledDistance","e1","e2","updateDistance","addCurrentVertex","addHalfVertex","Ho","Wo","Qo","el","rl","nl","il","al","sl","toLocaleUpperCase","toLocaleLowerCase","ol","ll","ul","pl","cl","NaN","hl","buf","Varint","Fixed64","Bytes","Fixed32","fl","dl","yl","ml","TextDecoder","xl","vl","realloc","bl","writeVarint","wl","writeSVarint","_l","writeFloat","Al","writeDouble","kl","writeBoolean","Sl","writeFixed32","Il","writeSFixed32","Ml","writeFixed64","zl","writeSFixed64","Bl","Cl","Pl","Vl","readMessage","El","bitmap","advance","Fl","metrics","readBytes","Tl","skip","readFixed32","readSFixed32","readFixed64","readSFixed64","decode","fromCharCode","readPackedVarint","readPackedSVarint","readPackedBoolean","readPackedFloat","readPackedDouble","readPackedFixed32","readPackedSFixed32","readPackedFixed64","readPackedSFixed64","writeTag","finish","writeString","writeBytes","writeRawMessage","writeMessage","writePackedVarint","writePackedSVarint","writePackedBoolean","writePackedFloat","writePackedDouble","writePackedFixed32","writePackedSFixed32","writePackedFixed64","writePackedSFixed64","writeBytesField","writeFixed32Field","writeSFixed32Field","writeFixed64Field","writeSFixed64Field","writeVarintField","writeSVarintField","writeStringField","writeFloatField","writeDoubleField","writeBooleanField","Ll","stretchX","stretchY","paddedRect","displaySize","Dl","haveRenderCallbacks","addImages","copy","iconPositions","patternPositions","hasRenderCallback","patchUpdatedImages","dispatchRenderCallbacks","updatedImages","patchUpdatedImage","getImage","WritingMode","horizontalOnly","$l","Rl","imageName","Ul","sectionIndex","imageSectionID","addImageSection","addTextSection","getSection","getSectionIndex","getCharCode","verticalizePunctuation","trim","ql","getMaxScale","reduce","forText","getNextImageSectionCharCode","forImage","Ol","fromFeature","Xl","positionedLines","iconsInText","verticalizable","positionedGlyphs","lineOffset","rect","glyph","Hl","horizontalAlign","verticalAlign","Yl","jl","Nl","Kl","Zl","Gl","badness","priorBreak","Jl","Wl","Ql","collisionPadding","tu","eu","layoutSize","minSize","maxSize","ru","nu","angleDelta","iu","au","su","ou","lu","uu","cu","hu","pu","du","stretch","yu","fixed","tex","glyphOffset","pixelOffsetTL","pixelOffsetBR","minFontScaleX","minFontScaleY","isSDF","fu","mu","boxStartIndex","circleDiameter","boxEndIndex","gu","xu","_down","_up","peek","vu","bu","wu","SQRT2","_u","POSITIVE_INFINITY","Au","ku","Su","textMaxSize","zu","tilePixelRatio","allowVerticalPlacement","addToLineVertexArray","iconSizeData","Iu","compositeIconSizes","addSymbols","icon","placedSymbolArray","Mu","collisionBoxArray","glyphOffsetArray","Du","MAX_GLYPHS","addToSortKeyRanges","symbolInstances","Bu","sdf","textSizeData","compositeTextSizes","compareText","Cu","Pu","Vu","Eu","Fu","Tu","dynamicLayoutVertexArray","opacityVertexArray","dynamicLayoutVertexBuffer","opacityVertexBuffer","itemSize","Lu","layoutAttributes","collisionVertexArray","collisionVertexBuffer","hasRTLText","sortKeyRanges","collisionCircleArray","placementInvProjMatrix","placementViewportMatrix","canOverlap","qu","sortFeaturesByKey","sortFeaturesByY","writingModes","sourceID","createArrays","lineVertexArray","calculateGlyphDependencies","iconDependencies","glyphDependencies","getValueAndResolveTokens","factory","hasDebugData","textCollisionBox","iconCollisionBox","destroyDebugData","tileUnitDistanceFromAnchor","_addCollisionDebugVertex","addCollisionDebugVertices","addDebugCollisionBoxes","generateCollisionDebugBuffers","_deserializeCollisionBoxesForSymbol","textBox","textFeatureIndex","verticalTextBox","verticalTextFeatureIndex","iconBox","iconFeatureIndex","verticalIconBox","verticalIconFeatureIndex","deserializeCollisionBoxes","collisionArrays","hasTextData","hasIconData","hasTextCollisionBoxData","hasIconCollisionBoxData","addIndicesForPlacedSymbol","getSortedSymbolIndexes","sortedAngle","symbolInstanceIndexes","symbolInstanceEnd","symbolInstanceStart","sortFeatures","featureSortOrder","addDynamicAttributes","$u","Ru","runtimeType","getOverride","hasOverride","Uu","defaultValue","Ou","_setPaintOverrides","createBucket","queryRadius","queryIntersectsFeature","hasPaintOverride","_interpolationType","ju","Nu","Ku","onAdd","implementation","painter","context","onRemove","renderingMode","prerender","Zu","cameraToCenterDistance","_updateColorRamp","colorRamp","colorRampTexture","heatmapFbo","gradientVersion","stepInterpolant","gradientExpression","Gu","_callback","_triggered","MessageChannel","_channel","port2","onmessage","trigger","port1","postMessage","setTimeout","remove","Ju","Xu","lng","lat","wrap","distanceTo","toBounds","Yu","lon","setSouthWest","setNorthEast","_ne","_sw","extend","getCenter","getSouthWest","getNorthEast","getNorthWest","getWest","getNorth","getSouthEast","getEast","getSouth","contains","Hu","Wu","Qu","tc","ec","rc","nc","toLngLat","toAltitude","meterInMercatorCoordinateUnits","ic","ac","lc","isChildOf","getTilePoint","sc","oc","overscaledZ","scaledTo","calculateScaledKey","children","isLessThan","wrapped","unwrapTo","overscaleFactor","toUnwrapped","uc","stride","dim","_idx","MIN_SAFE_INTEGER","_unpackTerrarium","_unpackMapbox","getUnpackVector","getPixels","backfillBorder","cc","_stringToNumber","_numberToString","encode","hc","_vectorTileFeature","_z","_x","_y","pc","tileID","grid","grid3D","featureIndexArray","loadVTLayers","vtLayers","rawTileData","sourceLayerCoder","queryGeometry","queryPadding","dc","minX","minY","maxX","maxY","cameraQueryGeometry","yc","loadMatchingFeature","transform","pixelPosMatrix","bucketLayerIDs","getId","getState","fc","intersectionZ","lookupSymbolFeatures","hasLayer","mc","PerformanceMarkers","load","fullLoad","gc","xc","vc","bc","mark","clearMetrics","clearMeasures","clearMarks","getPerformanceMetrics","measure","getEntriesByName","loadTime","fullLoadTime","fps","percentDroppedFrames","AJAXError","ARRAY_TYPE","Actor","mapId","callbacks","tasks","taskQueue","cancelCallbacks","invoker","process","addEventListener","receive","globalScope","random","hasCallback","targetMapId","mustQueue","sourceMapId","processTask","getWorkerSource","removeEventListener","AlphaImage","CanonicalTileID","CollisionBoxArray","CollisionCircleLayoutArray","Color","DEMData","DataConstantProperty","DictionaryCoder","EXTENT","ErrorEvent","EvaluationParameters","Event","Evented","FeatureIndex","FillBucket","FillExtrusionBucket","GeoJSONFeature","ImageAtlas","ImagePosition","LineBucket","LineStripIndexArray","LngLat","LngLatBounds","MercatorCoordinate","ONE_EM","OverscaledTileID","PerformanceUtils","PosArray","Properties","QuadTriangleArray","RGBAImage","RasterBoundsArray","RequestPerformance","_marks","ResourceType","SegmentVector","SymbolBucket","Transitionable","TriangleIndexArray","Uniform1f","Uniform1i","uniform1i","Uniform2f","uniform2f","Uniform3f","uniform3f","Uniform4f","UniformColor","UniformMatrix4f","uniformMatrix4fv","UnwrappedTileID","ValidationError","ZoomHistory","asyncAll","bezier","bindAll","cacheEntryPossiblyAdded","getActor","clamp","clearTileCache","delete","clipLine","clone$1","clone$2","collisionCircleLayout","config","create$1","createExpression","createFilter","createLayout","createStyleLayer","cross","dot","dot$1","ease","emitValidationErrors","enforceCacheSizeLimit","evaluateSizeForFeature","uSize","uSizeT","evaluateSizeForZoom","evaluateVariableOffset","evented","exported","exported$1","filterObject","fromRotation","fromScaling","getAnchorAlignment","getAnchorJustification","getArrayBuffer","getJSON","getOverlapMode","getRTLTextPluginStatus","getReferrer","getVideo","muted","onloadstart","crossOrigin","appendChild","invert","isImageBitmap","isSafari","isWorker","keysDifference","lazyLoadRTLTextPlugin","makeRequest","mapObject","mercatorXfromLng","mercatorYfromLat","mercatorZfromAltitude","mul","mul$1","multiply","nextPowerOfTwo","normalize","ortho","parseCacheControl","parseGlyphPbf","pbf","performSymbolLayout","bucket","iconsNeedLinear","layoutIconSize","layoutTextSize","glyphMap","glyphPositions","imagePositions","imageMap","sdfIcons","showCollisionBoxes","perspective","pick","plugin","pointGeometry","polygonIntersectsPolygon","potpack","refProperties","registerForPluginStateChange","renderColorRamp","rotateX","rotateZ","scale$1","setCacheLimits","setRTLTextPlugin","spec","sphericalToCartesian","sqrLen","toEvaluationFeature","transformMat3","transformMat4","transformMat4$1","translate","triggerPluginCompletionEvent","unicodeBlockLookup","uniqueId","validateCustomStyleLayer","render","validateLight","validateStyle","vectorTile","warnOnce","keyCache","_layerConfigs","_layers","familiesBySource","collectResourceTiming","returnDependencies","stacks","icons","buckets","glyphAtlasImage","imageAtlas","iconMap","rawData","layerIndex","loadVectorData","loading","loaded","loadTile","resourceTiming","reloadTile","reloadCallback","abortTile","removeTile","rawImageData","offscreenCanvas","offscreenCanvasContext","OffscreenCanvas","clearRect","_feature","tags","_geojsonTileLayer","rawGeometry","keycache","valuecache","fromVectorTileJs","fromGeojsonVt","GeoJSONWrapper","nodeSize","points","coords","range","minPoints","radius","fround","trees","time","timeEnd","_cluster","getClusters","_limitZoom","numPoints","getChildren","_getOriginId","_getOriginZoom","parentId","getLeaves","_appendLeaves","getTile","_addTileFeatures","getClusterExpansionZoom","cluster_id","point_count","_map","point_count_abbreviated","transformed","numSimplified","numFeatures","debug","tileCoords","indexMaxZoom","indexMaxPoints","stats","total","splitTile","_geoJSONIndex","byteOffset","loadGeoJSON","loadData","_pendingRequest","_pendingCallback","abandoned","superclusterOptions","geojsonVtOptions","removeSource","clusterId","getClusterChildren","getClusterLeaves","limit","layerIndexes","workerSourceTypes","workerSources","demWorkerSources","registerWorkerSource","registerRTLTextPlugin","setReferrer","setImages","setLayers","getLayerIndex","updateLayers","removedIds","loadDEMTile","getDEMWorkerSource","removeDEMTile","loadWorkerSource","importScripts","syncRTLPluginState","getAvailableImages","lastIndexOf","reduceRight","Function","getPrototypeOf","getOwnPropertyNames","isSealed","isFrozen","isExtensible","getOwnPropertyDescriptor","defineProperties","seal","preventExtensions","Worker","terminate","failIfMajorPerformanceCaveat","webGLContextAttributes","createShader","VERTEX_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","documentMode","antialias","stencil","depth","docStyle","className","createElementNS","selectProp","userSelect","transformProp","capture","preventDefault","stopPropagation","suppressClickInternal","getBoundingClientRect","clientX","clientLeft","clientY","clientTop","button","parentNode","removeChild","documentElement","testProp","_transformRequestFn","transformRequest","normalizeSpriteURL","authority","setTransformRequest","texture","useMipmap","pixelStoreUnpackFlipY","pixelStoreUnpack","pixelStoreUnpackPremultiplyAlpha","premultiply","HTMLImageElement","HTMLCanvasElement","HTMLVideoElement","texSubImage2D","isSizePowerOfTwo","generateMipmap","LINEAR_MIPMAP_NEAREST","LINEAR","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","userImage","images","callbackDispatchedThisFrame","requestors","atlasImage","dirty","setLoaded","_notify","addImage","_validateStretch","_validateContent","updateImage","removeImage","listImages","getImages","getPixelSize","getPattern","bin","_updatePatternAtlas","atlasTexture","CLAMP_TO_EDGE","beginFrame","requestManager","localIdeographFontFamily","entries","setURL","getGlyphs","stack","requests","ranges","_tinySDF","loadGlyphRange","_doesCharSupportLocalGlyph","tinySDF","TinySDF","fontSize","cutoff","fontFamily","fontWeight","draw","glyphWidth","glyphHeight","glyphLeft","glyphTop","glyphAdvance","fontStyle","_createCanvas","ctx","willReadFrequently","textBaseline","textAlign","fillStyle","gridOuter","gridInner","actualBoundingBoxAscent","actualBoundingBoxDescent","actualBoundingBoxLeft","actualBoundingBoxRight","measureText","fillText","_transitionable","setLight","_transitioning","getLight","nextRow","dashEntry","getDash","addDash","getDashRanges","isDash","zeroLength","addRoundDash","addRegularDash","ALPHA","REPEAT","workerPool","actors","currentActor","acquire","broadcast","release","vector_layers","vectorLayers","vectorLayerIds","validateBounds","dispatcher","reparseOverscaled","_loaded","_options","_collectResourceTiming","dataType","_tileJSONRequest","_requestManager","sourceCaches","clearTiles","tileBounds","sourceDataType","hasTile","setSourceProperty","setTiles","setUrl","getPixelRatio","aborted","_refreshExpiredTiles","setExpiryData","state","unloadTile","unloadVectorData","roundZoom","getTileTexture","extTextureFilterAnisotropic","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","extTextureFilterAnisotropicMax","saveTileTexture","dem","needsHillshadePrepare","needsTerrainPrepare","coord","neighboringTiles","_getNeighboringTiles","backfilled","demTexture","fbo","_removed","_pendingLoads","_data","workerOptions","_updateWorkerData","setData","_finishLoading","setCoordinates","fromLngLat","_boundsArray","boundsBuffer","prepare","boundsSegments","simpleSegment","loop","triggerRepaint","play","pause","seek","seekable","currentTime","readyState","paused","animate","canvas","getElementById","_hasInvalidDimensions","_playing","getCanvas","calculatePosMatrix","maxPitchScaleFactor","tilesIn","wrappedTileID","queryResults","tile","queryRenderedFeatures","_state","getFeatureState","uses","expirationTime","hasSymbolBuckets","dependencies","textures","textureCoords","expiredRequestCount","registerFadeDuration","timeAdded","fadeEndTime","wasRequested","clearTextures","hasData","latestFeatureIndex","latestRawTileData","getLayer","justReloaded","imageAtlasTexture","glyphAtlasTexture","getBucket","querySourceFeatures","patternsLoaded","getExpiryTimeout","setFeatureState","holdingForFade","symbolFadeHoldUntil","symbolFadeFinished","clearFadeHold","setHoldDuration","setDependencies","hasDependency","reset","timeout","clearTimeout","order","_getAndRemoveByKey","getAndRemove","getByKey","setMaxSize","stateChanges","deletedStates","updateState","removeFeatureState","initializeTileState","coalesceChanges","_sourceLoaded","_paused","reload","_sourceErrored","_source","_tiles","_cache","_unloadTile","_timers","_cacheTimers","_maxTileCacheSize","_loadedParentTiles","_coveredTiles","getSource","resume","_shouldReloadOnResume","_loadTile","_abortTile","imageManager","getIds","getRenderableIds","_isIdRenderable","hasRenderableParent","findLoadedParent","_reloadTile","_tileLoaded","refreshedUponExpiration","_setTileReloadTimer","_backfillDEM","getTileByID","_retainLoadedChildren","_getLoadedTile","updateCacheSize","handleWrapJump","_prevLng","used","usedForTerrain","getVisibleUnwrappedCoordinates","coveringTiles","coveringZoomLevel","maxOverzooming","maxUnderzooming","_updateRetainedTiles","_addTile","_fadeDuration","_removeTile","_updateLoadedParentTileCache","releaseSymbolFadeTiles","getCameraQueryGeometry","pointCoordinate","getVisibleCoordinates","posMatrix","reloadTilesForDependencies","active","workers","workerCount","numActive","isPreloaded","setStyle","addLayer","removeLayer","setFilter","addSource","setGeoJSONSourceData","setLayerZoomRange","setLayerProperty","setCenter","setZoom","setBearing","setPitch","setSprite","setGlyphs","command","_distances","paddedLength","lerp","boxCells","circleCells","xCellCount","yCellCount","circleKeys","boxKeys","circles","xScale","yScale","boxUid","circleUid","keysLength","_insertBoxCell","insertCircle","_insertCircleCell","_query","hitTest","overlapMode","seenUids","box","hitTestCircle","_queryCellCircle","_circleAndRectCollide","_circlesCollide","_convertToXCellCoord","_convertToYCellCoord","labelPlaneMatrix","glCoordMatrix","signedDistanceFromCamera","useVertical","notEnoughRoom","needsFlipping","last","ignoredGrid","pitchfactor","_pitch","screenRightBoundary","screenBottomBoundary","gridRightBoundary","gridBottomBoundary","perspectiveRatioCutoff","placeCollisionBox","projectAndGetPerspectiveRatio","perspectiveRatio","isInsideGrid","offscreen","isOffscreen","placeCollisionCircles","collisionDetected","queryRenderedSymbols","bucketInstanceId","insertCollisionBox","collisionGroupID","insertCollisionCircles","getViewportMatrix","opacity","placed","skipFade","invProjMatrix","viewportMatrix","crossSourceCollisions","maxGroupID","collisionGroups","ID","predicate","collisionIndex","placements","opacities","variableOffsets","stale","commitTime","retainedQueryData","collisionCircleArrays","prevPlacement","placedOrientations","getBucketParts","textLabelPlaneMatrix","labelToScreenMatrix","textPixelRatio","partiallyEvaluatedTextSize","collisionGroup","attemptAnchorPlacement","textOffset","prevAnchor","markUsedJustification","markUsedOrientation","placedGlyphBoxes","placeLayerBucketPart","getElevation","elevation","unshift","commit","zoomAtLastRecencyCheck","prevZoomAdjustment","zoomAdjustment","symbolFadeChange","lastPlacementChangeTime","updateLayerOpacities","updateBucketOpacities","hasTransitions","stillRecent","setStale","_sortAcrossTiles","_currentTileIndex","_currentPartIndex","_seenCrossTileIDs","_bucketParts","continuePlacement","placement","_currentPlacementIndex","_forceFullPlacement","_showCollisionBoxes","_done","isDone","_inProgressLayer","indexedSymbolInstances","getScaledCoordinates","findMatches","maxCrossTileID","generate","indexes","usedCrossTileIDs","addBucket","removeBucketCrossTileIDs","removeStaleBuckets","crossTileIDs","maxBucketInstanceId","bucketsInCurrentPlacement","pruneUnusedLayers","sourceCache","_renderableTilesKeys","_sourceTileCache","renderHistory","deltaZoom","renderHistorySize","destruct","removeOutdated","getRenderableTiles","getTerrainCoords","getSourceTile","tilesAfterTime","timeLoaded","qualityFactor","meshSize","_demMatrixCache","coordsIndex","_coordsTextureSize","clearRerenderCache","getDEMElevation","getTerrainData","u_terrain_matrix","rememberForRerender","_rerender","needsRerender","_emptyDemTexture","_emptyDepthTexture","_emptyDemUnpack","NEAREST","_emptyDemMatrix","matrix","u_depth","u_terrain","u_terrain_dim","u_terrain_unpack","u_terrain_offset","u_terrain_exaggeration","depthTexture","_fboDepthTexture","getRTTFramebuffer","_rttFramebuffer","createFramebuffer","depthAttachment","createRenderbuffer","DEPTH_COMPONENT16","getFramebuffer","devicePixelRatio","_fbo","_fboCoordsTexture","colorAttachment","getCoordsTexture","_coordsTexture","bindFramebuffer","framebuffer","readPixels","getTerrainMesh","_mesh","vertexBuffer","getMinMaxElevation","minElevation","maxElevation","glyphManager","lineAtlas","crossTileSymbolIndex","_serializedLayers","_order","_availableImages","_resetUpdates","_rtlTextPluginCallback","sourceId","_validateLayer","loadURL","_request","_load","loadJSON","loadEmpty","stylesheet","_loadSprite","_serializeLayers","setTerrain","_spriteRequest","_updatedSources","_checkLoaded","_changed","_updatedLayers","_removedLayers","_updateWorkerLayers","_reloadSource","_clearSource","_updateTilesForChangedImages","_updatedPaintProps","_changedImages","_terrainDataCallback","_terrainfreezeElevationCallback","updateElevation","freezeElevation","recalculateZoom","_afterImageUpdated","isSourceLoaded","_layerOrderChanged","_updateLayer","moveLayer","getFilter","_flattenAndSortRenderedFeatures","addSourceType","getSourceType","setSourceType","workerSourceURL","_remove","_updateSources","_generateCollisionBoxes","_updatePlacement","pauseablePlacement","_releaseSymbolFadeTiles","getResource","prelude","backgroundPattern","clippingMask","heatmapTexture","collisionBox","collisionCircle","fillOutline","fillOutlinePattern","fillPattern","fillExtrusion","fillExtrusionPattern","hillshadePrepare","lineGradient","linePattern","lineSDF","symbolIcon","symbolSDF","symbolTextAndIcon","terrainDepth","terrainCoords","fragmentSource","vertexSource","staticAttributes","staticUniforms","boundProgram","boundLayoutVertexBuffer","boundPaintVertexBuffers","boundIndexBuffer","boundVertexOffset","boundDynamicVertexBuffer","vao","extVertexArrayObject","boundDynamicVertexBuffer2","boundDynamicVertexBuffer3","bindVertexArrayOES","dynamicDraw","freshBind","numAttributes","createVertexArrayOES","currentNumAttributes","disableVertexAttribArray","enableAttributes","setVertexAttribPointers","deleteVertexArrayOES","program","createProgram","FRAGMENT_SHADER","failedToCreate","attachShader","attributes","bindAttribLocation","linkProgram","deleteShader","getUniformLocation","fixedUniforms","terrainUniforms","binderUniforms","setDepthMode","setStencilMode","setColorMode","setCullFace","activeTexture","TEXTURE2","TEXTURE3","LINES","TRIANGLES","LINE_STRIP","drawElements","UNSIGNED_SHORT","tileZoom","u_image","u_texsize","u_scale","u_fade","u_pixel_coord_upper","u_pixel_coord_lower","u_matrix","u_lightpos","u_lightintensity","u_lightcolor","u_vertical_gradient","u_opacity","u_height_factor","u_world","pixelsToGLUnits","u_camera_to_center_distance","u_scale_with_map","translatePosMatrix","u_pitch_with_map","u_device_pixel_ratio","u_extrude_scale","u_pixels_to_tile_units","u_overscale_factor","u_color","u_overlay","u_overlay_scale","u_intensity","u_ratio","u_units_to_pixels","u_image_height","u_patternscale_a","u_patternscale_b","u_sdfgamma","u_tex_y_a","u_tex_y_b","u_mix","u_tl_parent","u_scale_parent","u_buffer_scale","u_fade_t","mix","u_image0","u_image1","u_brightness_low","u_brightness_high","u_saturation_factor","u_contrast_factor","u_spin_weights","u_is_size_zoom_constant","u_is_size_feature_constant","u_size_t","u_size","u_pitch","u_rotate_symbol","u_aspect_ratio","u_fade_change","u_label_plane_matrix","u_coord_matrix","u_is_text","u_texture","u_gamma_scale","u_is_halo","u_texsize_icon","u_texture_icon","u_pattern_tl_a","u_pattern_br_a","u_pattern_tl_b","u_pattern_br_b","u_pattern_size_a","u_pattern_size_b","u_scale_a","u_scale_b","u_tile_units_to_pixels","u_inv_matrix","u_viewport_size","u_color_ramp","u_latrange","u_light","u_shadow","u_highlight","u_accent","u_dimension","u_zoom","u_unpack","u_terrain_coords_id","createBuffer","unbindVAO","bindElementBuffer","bufferData","ELEMENT_ARRAY_BUFFER","DYNAMIC_DRAW","STATIC_DRAW","bufferSubData","deleteBuffer","bindVertexBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","getDefault","setDefault","clearColor","clearDepth","clearStencil","colorMask","depthMask","stencilMask","func","ALWAYS","mask","stencilFunc","KEEP","stencilOp","enable","STENCIL_TEST","disable","depthRange","DEPTH_TEST","LESS","depthFunc","BLEND","ONE","ZERO","blendFunc","blendColor","FUNC_ADD","blendEquation","CULL_FACE","BACK","cullFace","CCW","frontFace","useProgram","TEXTURE0","drawingBufferWidth","drawingBufferHeight","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","bindBuffer","pixelStorei","UNPACK_ALIGNMENT","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","setDirty","framebufferTexture2D","COLOR_ATTACHMENT0","framebufferRenderbuffer","DEPTH_ATTACHMENT","deleteRenderbuffer","deleteFramebuffer","blendFunction","Replace","disabled","unblended","alphaBlended","getExtension","stencilTest","depthTest","blend","cullFaceSide","getParameter","MAX_TEXTURE_MAX_ANISOTROPY_EXT","extTextureHalfFloat","extRenderToTextureHalfFloat","extTimerQuery","maxTextureSize","MAX_TEXTURE_SIZE","renderbufferStorage","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","mode","fail","depthFail","pass","ReadOnly","ReadWrite","circleArray","circleOffset","invTransform","colorModeForRenderPass","backCCW","shiftedAnchor","depthModeForSublayer","rotating","zooming","buffers","uniformValues","atlasTextureIcon","atlasInterpolation","atlasInterpolationIcon","hasHalo","terrainData","TEXTURE1","stencilModeForClipping","moving","rasterBoundsBuffer","quadTriangleIndexBuffer","rasterBoundsSegments","SCISSOR_TEST","scissor","emptyTexture","initDebugOverlayCanvas","debugOverlayCanvas","shadowColor","shadowBlur","lineWidth","strokeStyle","strokeText","debugOverlayTexture","debugBuffer","debugSegments","tileBorderIndexBuffer","LEQUAL","depthRangeFor3D","_coordsDescendingInv","_coordsDescendingInvStr","_renderToTexture","_stacks","_prevType","_renderableTiles","_init","renderLayer","currentLayer","_renderTileClippingMasks","renderPass","programConfiguration","HALF_FLOAT_OES","viewportBuffer","viewportSegments","gradient","opaquePassEnabledForLayer","stencilModeFor3D","stencilConfigForOverlap","isPatternMissing","tileExtentBuffer","tileExtentSegments","custom","setCustomLayerDefaults","customLayerMatrix","setBaseState","_tileTextures","terrainFacilitator","renderTime","setup","numSublayers","depthEpsilon","gpuTimers","stencilClearMode","nextStencilID","currentStencilSource","_tileClippingMaskIDs","REPLACE","NOTEQUAL","EQUAL","GEQUAL","_showOverdrawInspector","CONSTANT_COLOR","opaquePassCutoff","projMatrix","showOverdrawInspector","showTileBoundaries","showPadding","centerPoint","gpuTimingStart","gpuTimingEnd","gpuTiming","calls","cpuTime","createQueryEXT","beginQueryEXT","TIME_ELAPSED_EXT","endQueryEXT","collectGpuTimers","queryGpuTimers","getQueryObjectEXT","QUERY_RESULT_EXT","deleteQueryEXT","cache","planes","quadrant","distanceX","distanceY","intersects","MAX_VALUE","maxValidLatitude","_renderWorldCopies","_minZoom","_maxZoom","_minPitch","_maxPitch","setMaxBounds","_center","_elevation","_fov","_unmodified","_edgeInsets","_posMatrixCache","_alignedPosMatrixCache","maxPitch","latRange","_calcMatrices","minPitch","renderWorldCopies","worldSize","centerOffset","rotationMatrix","fov","_zoom","zoomScale","zoomFraction","_constrain","isPaddingEqual","interpolatePadding","scaleZoom","getCameraPoint","fromInvProjectionMatrix","aabb","fullyVisible","distanceSq","tileDistanceToCamera","unmodified","project","unproject","getCameraPosition","lngLat","pointLocation","altitude","_pixelPerMeter","setLocationAtPoint","locationCoordinate","coordinateLocation","locationPoint","coordinatePoint","pixelMatrix3D","pixelMatrixInverse","pixelMatrix","getBounds","getHorizon","getMaxBounds","lngRange","alignedProjMatrix","mercatorMatrix","_constraining","cameraToSeaLevelDistance","_hashName","encodeURIComponent","_updateHash","_updateHashUnthrottled","addTo","_onHashChange","getHashString","getZoom","getBearing","getPitch","hash","_getCurrentHash","dragRotate","isEnabled","touchZoomRotate","jumpTo","history","replaceState","linearity","easing","deceleration","maxSpeed","_inertiaBuffer","record","_drainInertiaBuffer","settings","_onMoveEnd","pan","pinchAround","around","zoomDelta","bearingDelta","pitchDelta","panDelta","amount","noMoveStart","mousePos","getCanvasContainer","originalEvent","_defaultPrevented","defaultPrevented","changedTouches","touches","touchPos","lngLats","_clickTolerance","clickTolerance","_mousedownPos","wheel","_firePreventable","mousedown","mouseup","click","dblclick","mouseover","mouseout","touchstart","touchmove","touchend","touchcancel","isActive","_delayContextMenu","_contextMenuEvent","mousemove","contextmenu","_el","_container","getContainer","_enabled","_active","shiftKey","disableDrag","_startPos","_lastPos","mousemoveWindow","_box","classList","_fireEvent","setTransform","mouseupWindow","suppressClick","cameraAnimation","fitScreenCoordinates","keydown","keyCode","enableDrag","numTouches","centroid","startTime","timeStamp","singleTap","numTaps","lastTime","lastTap","count","_zoomIn","_zoomOut","easeTo","_moved","_lastPoint","_eventButton","_correctButton","_move","mouseButton","buttons","ctrlKey","_minTouches","cooperativeGestures","_touches","_sum","_cancelCooperativeMessage","_calculateTransform","_cooperativeGestures","_onCooperativeGesture","_firstTwoTouches","_start","_aroundCenter","_distance","_startDistance","_minDiameter","_startVector","_vector","_isBelowThreshold","_valid","_firstMove","_lastPoints","_currentTouchCount","gestureBeginsVertically","panStep","bearingStep","pitchStep","_panStep","_bearingStep","_pitchStep","_rotationDisabled","altKey","metaKey","easeId","disableRotation","enableRotation","_handler","_delta","_defaultZoomRate","_wheelZoomRate","setZoomRate","setWheelZoomRate","_finishTimeout","isZooming","_zooming","_metaPress","deltaMode","WheelEvent","DOM_DELTA_LINE","deltaY","_lastWheelEventTime","_type","_lastValue","_timeout","_onTimeout","_lastWheelEvent","_frameId","_around","_aroundPoint","_triggerRenderFrame","renderFrame","_targetZoom","_startZoom","_easing","_smoothOutEasing","noInertia","needsRenderFrame","_prevEase","_clickZoom","_tapZoom","_tap","_swipePoint","_swipeTouch","_tapTime","_mousePan","_touchPan","_inertiaOptions","_pitchWithRotate","pitchWithRotate","_mouseRotate","_mousePitch","_touchZoom","_touchRotate","_tapDragZoom","drag","_handlers","_handlersById","_changes","_inertia","_bearingSnap","bearingSnap","_previousActiveHandlers","_eventsInProgress","_addDefaultHandlers","passive","handleWindowEvent","handleEvent","boxZoom","doubleClickZoom","touchPitch","dragPan","scrollZoom","keyboard","interactive","handlerName","handler","allowed","stop","_updatingCamera","_fireEvents","isRotating","isMoving","_blockedByActive","_getMapTouches","mergeHandlerResult","_stop","_applyChanges","_updateMapTransform","_drag","_update","resetNorth","_requestFrame","_renderTaskQueue","run","logToElement","innerHTML","_moving","panBy","panTo","zoomTo","zoomIn","zoomOut","getPadding","setPadding","rotateTo","resetNorthPitch","snapToNorth","cameraForBounds","_cameraForBoxAndBearing","fitBounds","_fitInternal","flyTo","essential","_normalizeBearing","_normalizeCenter","_rotating","pitching","_pitching","_padding","_easeId","_prepareEase","_ease","_fireMoveEvents","_afterEase","speed","curve","screenSpeed","maxDuration","isEasing","_easeFrameId","_cancelRenderFrame","_onEaseFrame","_onEaseEnd","handlers","_easeStart","_easeOptions","_requestRenderFrame","_renderFrameCallback","getDefaultPosition","_compact","compact","_compactButton","_toggleAttribution","_setElementTitle","_innerContainer","_updateAttributions","_updateCompact","_updateData","_updateCompactMinimize","_attribHTML","_getUIString","title","setAttribute","removeAttribute","customAttribution","styleOwner","owner","styleId","_editLink","offsetWidth","rel","display","_queue","_id","_cleared","_currentlyRunning","attributionControl","maplibreLogo","preserveDrawingBuffer","trackResize","refreshExpiredTiles","maxTileCacheSize","showCompass","showZoom","visualizePitch","element","mouseRotate","mousePitch","down","move","offTemp","targetTouches","HTMLElement","_anchor","_color","_scale","_draggable","draggable","_isDragging","_rotation","rotation","_rotationAlignment","rotationAlignment","_pitchAlignment","pitchAlignment","_element","_offset","_defaultMarker","createNS","setAttributeNS","rx","ry","_popup","setDraggable","_onMapClick","_opacityTimeout","_addDragHandler","_onUp","_onMove","getLngLat","_lngLat","setLngLat","_pos","getElement","setPopup","_onKeyPress","_originalTabIndex","getAttribute","charCode","togglePopup","getPopup","isOpen","getOffset","setOffset","_pointerdownPos","_positionDelta","pointerEvents","isDraggable","setRotation","getRotation","setRotationAlignment","getRotationAlignment","setPitchAlignment","getPitchAlignment","positionOptions","enableHighAccuracy","maximumAge","fitBoundsOptions","trackUserLocation","showAccuracyCircle","showUserLocation","maxWidth","clientHeight","closeButton","closeOnClick","focusAfterOpen","Map","_interactive","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_antialias","_trackResize","_crossSourceCollisions","_crossFadingFactor","_controls","_mapId","_locale","_pixelRatio","container","maxBounds","_setupContainer","_setupPainter","_onWindowOnline","_onWindowResize","_setupCooperativeGestures","_hash","_localIdeographFontFamily","addControl","logoPosition","_getMapId","_controlPositions","insertBefore","firstChild","removeControl","hasControl","_containerDimensions","_resizeCanvas","setPixelRatio","setMinZoom","getMinZoom","setMaxZoom","getMaxZoom","setMinPitch","getMinPitch","setMaxPitch","getMaxPitch","getRenderWorldCopies","setRenderWorldCopies","_createDelegatedListener","listener","delegates","_delegatedListeners","diff","_diffStyle","_updateStyle","_lazyInitEmptyStyle","_updateDiff","getStyle","isStyleLoaded","getTerrain","areTilesLoaded","hasImage","loadImage","_canvasContainer","_canvas","clientWidth","_contextLost","_contextRestored","_controlContainer","_onMapScroll","_cooperativeGesturesScreen","windowsHelpText","platform","macHelpText","mobileHelpText","_frame","scrollTop","scrollLeft","_styleDirty","_sourcesDirty","_render","_placementDirty","gpuTime","layerTimes","_repaint","_fullyLoaded","redraw","loseContext","_showTileBoundaries","_showPadding","repaint","_vertices","_setCacheLimits","NavigationControl","_zoomInButton","_createButton","_zoomOutButton","_compass","_compassIcon","_updateZoomButtons","_rotateCompassArrow","_setButtonTitle","GeolocateControl","_setupUI","permissions","geolocation","_geolocationWatchID","clearWatch","_userLocationDotMarker","_accuracyCircleMarker","_onZoom","_isOutOfMapMaxBounds","longitude","latitude","_setErrorState","_watchState","_geolocateButton","_onSuccess","_updateMarker","_finish","_lastKnownPosition","_updateCamera","_dotElement","accuracy","geolocateSource","_accuracy","_updateCircleRadius","_circleElement","_onError","_clearWatch","_timeoutId","_setup","watchPosition","getCurrentPosition","AttributionControl","LogoControl","ScaleControl","setUnit","FullscreenControl","_fullscreen","_fullscreenchange","_checkFullscreenSupport","_changeIcon","fullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","webkitFullscreenEnabled","_fullscreenButton","_updateTitle","_onClickFullscreen","_getTitle","_isFullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","toggle","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","TerrainControl","_terrainButton","_toggleTerrain","_updateTerrainIcon","Popup","_onClose","closeOnMove","_focusFirstElement","_trackPointer","_onMouseMove","_onMouseUp","_content","_onDrag","trackPointer","setText","setDOMContent","createTextNode","setHTML","createDocumentFragment","getMaxWidth","setMaxWidth","hasChildNodes","_createCloseButton","addClassName","removeClassName","toggleClassName","_closeButton","_tip","offsetHeight","querySelector","focus","Marker","CanvasSource","GeoJSONSource","ImageSource","RasterDEMTileSource","RasterTileSource","VectorTileSource","VideoSource","prewarm","clearPrewarmedResources","maxParallelImageRequests","clearStorage","addProtocol","removeProtocol","MaplibreGLJSLayer","Layer","updateInterval","pane","initialize","setOptions","_throttledUpdate","throttle","_initContainer","paneName","getPaneName","getPane","_initGL","containerPointToLayerPoint","zoomAnimation","DomEvent","_proxy","DomUtil","TRANSITION_END","_transitionEnd","_glMap","getEvents","zoomanim","_animateZoom","_pinchZoom","zoomstart","_zoomStart","zoomend","_zoomEnd","_resize","getMaplibreMap","getSize","multiplyBy","getOpacity","setOpacity","halfSize","latLngToContainerPoint","containerPointToLatLng","subtract","topLeft","setPosition","res","Infinity","_transformGL","_actualCanvas","addClass","undefined","getZoomScale","viewHalf","_divideBy","_subtract","_getMapPanePos","requestAnimFrame","maplibreGLJSLayer","VectorBasemapLayer","apiKey","apikey","_createLayer","_maplibreGL","_ready","_setupAttribution","setEsriAttribution","allAttributions","copyrightText","addAttribution","attributionUrls","_getAttributionUrls","_initPane","_asyncAdd","createPane","zIndex","getElementsByClassName","vectorAttribution","outerHTML","removeAttribution","wkid","tileInfo","spatialReference","sourcesKeys","sourceIndex","lods","level","lastSource","formatStyle","getAttribution"],"mappings":"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"} \ No newline at end of file diff --git a/dist/siteData.json b/dist/siteData.json new file mode 100644 index 0000000..4ce2acc --- /dev/null +++ b/dist/siteData.json @@ -0,0 +1 @@ +{"name": "esri-leaflet-vector","version": "","lib": {"path": "dist/esri-leaflet-vector.js","integrity": "sha512-EMt/tpooNkBOxxQy2SOE1HgzWbg9u1gI6mT23Wl0eBWTwN9nuaPtLAaX9irNocMrHf0XhRzT8B0vXQ/bzD0I0w=="}}