@foodmarketmaker/mapag 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foodmarketmaker-mapag.mjs","sources":["../../../projects/mapag/src/lib/mapbox-utils.ts","../../../projects/mapag/src/lib/styles.ts","../../../projects/mapag/src/lib/basemap-select.ts","../../../projects/mapag/src/lib/basemap-select-menu.ts","../../../projects/mapag/src/lib/basemaps.ts","../../../projects/mapag/src/lib/layers.ts","../../../projects/mapag/src/lib/mapper.ts","../../../projects/mapag/src/lib/mappers/standard-layers-mapper.ts","../../../projects/mapag/src/lib/mappers/area-mapper.ts","../../../projects/mapag/src/lib/mappers/drawing-mapper.ts","../../../projects/mapag/src/lib/map.service.ts","../../../projects/mapag/src/lib/map-selection.service.ts","../../../projects/mapag/src/lib/mappers/highlight-mapper.ts","../../../projects/mapag/src/lib/map-area-select/map-area-select.component.ts","../../../projects/mapag/src/lib/map-area-select/map-area-select.component.html","../../../projects/mapag/src/lib/map.component.ts","../../../projects/mapag/src/lib/services/interfaces.ts","../../../projects/mapag/src/lib/mappers/background-mask.ts","../../../projects/mapag/src/lib/mappers/census-tracts-mapper.ts","../../../projects/mapag/src/lib/mappers/settings.ts","../../../projects/mapag/src/lib/mappers/hardiness.ts","../../../projects/mapag/src/lib/mappers/vector-tile-server-mapper.ts","../../../projects/mapag/src/lib/mappers/watershed.ts","../../../projects/mapag/src/lib/services/http-boundary-loader.ts","../../../projects/mapag/src/public-api.ts","../../../projects/mapag/src/foodmarketmaker-mapag.ts"],"sourcesContent":["import { Map as mbMap } from 'maplibre-gl';\nimport { PMTiles } from \"pmtiles\";\nimport { ColorPalette } from \"./color-palettes\";\nexport function SaveMap(map: mbMap) {\n var mapCanvas = map.getCanvas();\n var image = mapCanvas\n .toDataURL('image/png')\n .replace('image/png', 'image/octet-stream');\n // here is the most important part because if you dont replace you will get a DOM 18 exception.\n\n window.location.href = image;\n}\n\nexport function AddLayer(map: mbMap | undefined, layer: any, afterId?: string) : boolean {\n if (!map) return false;\n try {\n if (map.getLayer(layer.id)) {\n console.log(`Layer ${layer.id} already exists`);\n return false;\n }\n map.addLayer(layer, afterId);\n return true;\n } catch (error) {\n console.debug(`Error adding layer ${layer.id}`);\n return false;\n }\n}\n\nexport function RemoveLayer(map: mbMap | undefined, layerId: string) {\n if (!map) return;\n try {\n if (map.getLayer(layerId)) {\n map.removeLayer(layerId);\n }\n } catch (error) {\n console.debug(`Error removing layer ${layerId}: `);\n }\n}\n\nexport function AddSource(\n map: mbMap | undefined,\n sourceId: string,\n source: any\n) {\n if (!map) return;\n try {\n if (map.getSource(sourceId)) {\n return;\n }\n map.addSource(sourceId, source);\n } catch (error) {\n console.debug(`Error adding source ${sourceId} `, error);\n }\n}\n\nexport function RemoveSource(map: mbMap | undefined, sourceId: string) {\n if (!map) return;\n try {\n if (map.getSource(sourceId)) {\n map.removeSource(sourceId);\n }\n } catch (error) {\n console.debug(`Error removing source ${sourceId}: `);\n }\n}\n\ntype Result<T, E = Error> = { data: T; error: null } | { data: null; error: E };\n\nexport function trySync<T>(fn: () => T): Result<T> {\n try {\n const data = fn();\n return { data, error: null };\n } catch (error) {\n return { data: null, error: error as Error };\n }\n}\n\nexport type MapboxLayerType =\n | 'circle'\n | 'icon'\n | 'fill'\n | 'extrusion'\n | 'heatmap';\n\nexport interface IMapboxSettings {\n token: string;\n}\n\nexport function mapboxLoadImages(\n m: mbMap,\n ...images: MapboxImage[]\n): Promise<void[]> {\n const imgs: Promise<void>[] = [];\n\n for (const img of images) {\n imgs.push(mapboxloadImage(m, img));\n }\n\n return Promise.all(imgs);\n}\n\nexport function mapboxloadImage(map: mbMap, img: MapboxImage): Promise<void> {\n const name = img.name || img.url;\n\n if (map.hasImage(name)) {\n return new Promise((resolve, reject) => resolve());\n }\n\n return new Promise((resolve, reject) => {\n console.log('Loading Image, ', img.url, img.sdf);\n map.loadImage(img.url, (error, res) => {\n console.log('Loaded Image: ', name, ' ', img.url);\n if (error) {\n console.error('Error Loading Marker: ', img.url, ', Error: ', error);\n return;\n }\n if (!error && !map.hasImage(name) && res) {\n map.addImage(name, res, { sdf: img.sdf });\n }\n resolve();\n });\n });\n}\n\nexport function simpleClone<T>(obj: T): T {\n return JSON.parse(JSON.stringify(obj));\n}\n\nexport interface MapboxImage {\n name?: string;\n url: string;\n sdf?: boolean;\n size?: number;\n color?: string;\n outlineColor?: string;\n outlineBlur?: number;\n outlineWidth?: number;\n}\n\nexport interface MapboxStyler {\n Name: string;\n Property: string;\n Help?: string;\n Method?: string;\n Datatype: 'color' | 'number';\n Column?: string;\n LastColumn?: string;\n Fixed?: string | number;\n Min?: string | number;\n Max?: string | number;\n RangeStepSize?: number;\n Palette?: ColorPalette | string;\n // Steps ?: {[name : string| number] : string}\n Steps?: { [name: string]: string };\n\n // Steps ?: Map<string | number, string>\n MinAllowed?: string | number;\n MaxAllowed?: string | number;\n Advanced?: boolean;\n}\n\nexport interface DataCustomization {\n areaType: string;\n columnGeoID: string;\n columnLat: string;\n columnLon: string;\n layerTypes: MapboxLayerType[];\n layerType: MapboxLayerType;\n}\n\nexport type AreaSelectionType =\n | 'state'\n | 'county'\n | 'tract'\n | 'none'\n | 'zipcode';\n\nexport interface MapAreaSelection {\n // The type of the area that the user is going to select.\n // Valid options area : \"state\", \"county\", \"tract\", \"none\", \"zipcode\"\n areaType: AreaSelectionType;\n\n // Set of IDs that the user has selected\n areaSelection: string[];\n}\n\nexport async function discoverLayers(pmtilesUrl: string): Promise<string[]> {\n try {\n let url = pmtilesUrl.replace('pmtiles://', '');\n\n // Create PMTiles instance to read metadata\n const pmtiles = new PMTiles(url);\n\n // Get the metadata\n const metadata = (await pmtiles.getMetadata()) as any;\n console.log('PMTiles metadata:', metadata);\n\n // Method 1: Check vector_layers in metadata\n if (metadata && metadata.vector_layers) {\n const layers = metadata.vector_layers.map((layer: any) => layer.id);\n console.log('Available layers from metadata:', layers);\n return layers;\n }\n\n // Method 2: If no vector_layers in metadata, try to get header info\n const header = await pmtiles.getHeader();\n console.log('PMTiles header:', header);\n\n // Method 3: You might need to sample some tiles to discover layers\n return await sampleTilesForLayers(pmtiles);\n } catch (error) {\n console.error('Error discovering layers:', error);\n return [];\n }\n}\n\nexport async function sampleTilesForLayers(\n pmtiles: PMTiles\n): Promise<string[]> {\n try {\n // Sample a few tiles at different zoom levels to find layer names\n const header = await pmtiles.getHeader();\n const minZoom = header.minZoom || 0;\n const maxZoom = Math.min(header.maxZoom || 14, 6); // Don't go too high\n\n const layerNames = new Set<string>();\n\n // Sample tiles at zoom level\n for (let z = minZoom; z <= maxZoom; z++) {\n const tileCount = Math.pow(2, z);\n\n // Sample a few tiles at this zoom level\n for (let x = 0; x < Math.min(tileCount, 4); x++) {\n for (let y = 0; y < Math.min(tileCount, 4); y++) {\n try {\n const tileData = await pmtiles.getZxy(z, x, y);\n if (tileData) {\n // You'd need a vector tile parser here to get layer names\n // This is a simplified approach - in practice you'd use a library\n console.log(\n `Found tile at z${z}x${x}y${y}, size: ${tileData.data.byteLength}`\n );\n }\n } catch (e) {\n // Tile doesn't exist, continue\n }\n }\n }\n }\n\n return Array.from(layerNames);\n } catch (error) {\n console.error('Error sampling tiles:', error);\n return [];\n }\n}\n\n","import { effect, signal } from \"@angular/core\";\nimport { LayerSpecification, Map, SourceSpecification, StyleSpecification } from \"maplibre-gl\";\nimport { AddLayer, AddSource } from \"./mapbox-utils\";\n\n// Define a simple interface for the style JSON structure we need\ninterface StyleJSON {\n sources?: { [key: string]: any };\n layers?: Array<{ id: string; [key: string]: any }>;\n}\n\nexport interface StyleData {\n name: string\n url: string;\n code: string;\n image ?: string;\n nameColor?: string; // Optional color for the style name\n sources?: string[]; // Source IDs from this style\n layers?: string[]; // Layer IDs from this style\n}\n\nexport interface CustomImage {\n data: any; // RGBAImage or other image data formats\n pixelRatio?: number;\n sdf?: boolean;\n}\n\nexport interface CustomSourcesAndLayersData {\n sources: { [key: string]: SourceSpecification };\n layers: LayerSpecification[];\n image: { [key: string]: CustomImage };\n}\n\nexport class Styles {\n style = signal<StyleData>(MapStyles[\"streetmap\"])\n\n map: Map | undefined;\n currentStyleCode: string = \"\";\n customSourcesAndLayers: CustomSourcesAndLayersData = {\n sources: {},\n layers: [],\n image: {},\n };\n \n // Cache for fetched style definitions\n private styleCache: { [key: string]: StyleData } = {};\n // Current basemap sources and layers (from the fetched style JSON)\n private currentBasemapSources = new Set<string>();\n private currentBasemapLayers = new Set<string>();\n\n private _effectRef: any;\n\n initializeEffect() {\n this._effectRef = effect(() => {\n const currentStyle = this.style(); // Read signal outside condition for proper tracking\n if (this.map) {\n this.switchStyle(currentStyle).catch(error => \n console.error('Error switching style:', error)\n );\n }\n });\n }\n\n destroy() {\n if (this._effectRef) {\n this._effectRef.destroy();\n }\n }\n\n async initializeMap(map: Map): Promise<void> {\n this.map = map;\n // Fetch and cache the initial style\n await this.fetchAndCacheStyle(this.style());\n // Set up initial basemap tracking\n this.updateBasemapTracking(this.style());\n }\n\n onStyleChange?: (styleDate : StyleData) => void;\n\n async switchStyle(styleData: StyleData): Promise<void> {\n if (!this.map) return;\n if (styleData.code === this.currentStyleCode) {\n return;\n }\n\n // Fetch and cache the style definition if not already cached\n const styleSpec = await this.fetchAndCacheStyle(styleData);\n if (!styleSpec) {\n return \n }\n\n this.saveCustomSourcesAndLayers();\n this.map.once(\"styledata\", () => {\n setTimeout(() => {\n // Update current basemap tracking from cached style\n this.updateBasemapTracking(styleData);\n // Then restore the custom sources/layers\n this.restoreCustomSourcesAndLayers();\n },100);\n });\n\n // this.map.setStyle(styleData.url);\n this.map.setStyle(styleSpec);\n this.style.set(styleData);\n this.currentStyleCode = styleData.code;\n if (this.onStyleChange) {\n this.onStyleChange(styleData);\n }\n }\n\n highlightActiveStyle?(styleClass: string): void;\n\n public async FetchStyleDefinition(styleData: StyleData): Promise<StyleSpecification> {\n const response = await fetch(styleData.url);\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n const styleSpec: StyleSpecification = await response.json();\n styleSpec.glyphs = 'https://demotiles.maplibre.org/font/{fontstack}/{range}.pbf';\n\n return styleSpec; \n }\n\n private async fetchAndCacheStyle(styleData: StyleData): Promise<StyleSpecification | void> {\n // Skip if already cached\n if (this.styleCache[styleData.code]) {\n return;\n }\n\n // Skip if sources/layers are already defined in the style data\n if (styleData.sources && styleData.layers) {\n this.styleCache[styleData.code] = styleData;\n return;\n }\n\n try {\n const response = await fetch(styleData.url);\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n \n const styleSpec: StyleSpecification = await response.json();\n\n // Add Glyphs\n if (!styleSpec.glyphs) {\n styleSpec.glyphs = 'https://demotiles.maplibre.org/font/{fontstack}/{range}.pbf';\n }\n \n // Extract source and layer IDs\n const sourceIds = Object.keys(styleSpec.sources || {});\n const layerIds = (styleSpec.layers || []).map((layer: any) => layer.id);\n \n // Cache the enhanced style data\n const enhancedStyleData: StyleData = {\n ...styleData,\n sources: sourceIds,\n layers: layerIds\n };\n \n this.styleCache[styleData.code] = enhancedStyleData;\n return styleSpec;\n } catch (error) {\n console.error('Failed to fetch style definition for:', styleData.code, ':', error);\n throw new Error(`Cannot fetch style definition for ${styleData.code}: ${error}`);\n }\n }\n\n private updateBasemapTracking(styleData: StyleData): void {\n this.currentBasemapSources.clear();\n this.currentBasemapLayers.clear();\n \n // ALWAYS use cached style data - never use runtime detection for basemap definition\n const cachedStyle = this.styleCache[styleData.code];\n if (cachedStyle && cachedStyle.sources && cachedStyle.layers) {\n cachedStyle.sources.forEach(id => this.currentBasemapSources.add(id));\n cachedStyle.layers.forEach(id => this.currentBasemapLayers.add(id));\n } else {\n console.error('ERROR: No cached style definition found for:', styleData.code);\n console.error('Available cached styles:', Object.keys(this.styleCache));\n // This should not happen if fetchAndCacheStyle worked correctly\n // Log this as an error so we can debug\n }\n }\n\n saveCustomSourcesAndLayers(): void {\n if (!this.map) return;\n \n // Reset custom sources and layers\n this.customSourcesAndLayers = {\n sources: {},\n layers: [],\n image: {},\n };\n \n const sources = this.map.getStyle().sources;\n \n for (const [sourceId, source] of Object.entries(sources)) {\n // Only save sources that are NOT part of the basemap\n if (!this.currentBasemapSources.has(sourceId)) {\n this.customSourcesAndLayers.sources[sourceId] = source;\n } else {\n }\n }\n \n const layers = this.map.getStyle().layers;\n \n for (const layer of layers) {\n // Only save layers that are NOT part of the basemap\n if (!this.currentBasemapLayers.has(layer.id)) {\n this.customSourcesAndLayers.layers.push(layer);\n } \n }\n\n const allImageIDs = this.map.listImages();\n const customIDs = allImageIDs.filter((id) => id.startsWith(\"customImg-\"));\n if (customIDs.length !== 0) {\n customIDs.forEach((id) => {\n if (this.map) {\n const imageData = this.map.getImage(id);\n if (imageData) {\n this.customSourcesAndLayers.image[id] = imageData;\n }\n }\n });\n }\n \n }\n\n restoreCustomSourcesAndLayers(): void {\n if (!this.map) return;\n // Check what's actually on the map RIGHT NOW\n const currentSources = Object.keys(this.map.getStyle().sources || {});\n const currentLayers = (this.map.getStyle().layers || []).map(l => l.id);\n // Add custom sources first\n for (const [sourceId, source] of Object.entries(this.customSourcesAndLayers.sources)) {\n AddSource(this.map, sourceId, source);\n }\n \n // Add custom layers second\n for (const layer of this.customSourcesAndLayers.layers) {\n AddLayer(this.map, layer);\n }\n\n // Add all custom images\n for (const [imageId, image] of Object.entries(this.customSourcesAndLayers.image)) {\n try {\n this.map.addImage(imageId, image.data);\n } catch (error) {\n console.error('Error adding image', imageId, ':', error);\n }\n }\n }\n}\n\nexport const MapStyles :{ [key: string]: StyleData } = {\n \"streetmap\": {\n name: \"Street Map\",\n code: \"streetmap\",\n url: \"https://raw.githubusercontent.com/go2garret/maps/main/src/assets/json/openStreetMap.json\",\n image: \"assets/mapag/src/assets/map_streetmap.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"arcgis-hybrid\": {\n name: \"ArcGIS Hybrid\",\n code: \"arcgis-hybrid\",\n url: \"https://raw.githubusercontent.com/go2garret/maps/main/src/assets/json/arcgis_hybrid.json\",\n image: \"assets/mapag/src/assets/map_arcgic_hybrid.png\",\n },\n \"carto-positron\": {\n name: \"Carto Positron\",\n code: \"carto-positron\",\n url: \"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",\n image: \"assets/mapag/src/assets/map_carto_positron.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"carto-dark\": {\n name: \"Carto Dark\",\n code: \"carto-dark\",\n url: \"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",\n image: \"assets/mapag/src/assets/map_carto_dark.png\",\n },\n \"carto-voyager\": {\n name: \"Carto Voyager\",\n code: \"carto-voyager\",\n url: \"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",\n image: \"assets/mapag/src/assets/map_carto_voyager.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"icgc\": {\n name: \"ICGC\",\n code: \"icgc\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc.json\",\n image: \"assets/mapag/src/assets/map_icgc.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"icgc-dark\": {\n name: \"ICGC Dark\",\n code: \"icgc-dark\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_mapa_base_fosc.json\",\n image: \"assets/mapag/src/assets/map_icgc_dark.png\",\n },\n \"icgc-shadow-hypsometry\": {\n name: \"ICGC Shadow Hypsometry\",\n code: \"icgc-shadow-hypsometry\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_ombra_hipsometria_corbes.json\",\n image: \"assets/mapag/src/assets/map_icgc_shadow.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"icgc-dark-shadow\": {\n name: \"ICGC Dark Shadow\",\n code: \"icgc-dark-shadow\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_ombra_fosca.json\",\n image: \"assets/mapag/src/assets/map_icgc_shadow_dark.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"icgc-ortho-standard\": {\n name: \"ICGC Ortho Standard\",\n code: \"icgc-ortho-standard\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_orto_estandard.json\",\n image: \"assets/mapag/src/assets/map_icgc_ortho.png\",\n },\n \"icgc-ortho-standard-gray\": {\n name: \"ICGC Ortho Standard Gray\",\n code: \"icgc-ortho-standard-gray\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_orto_estandard_gris.json\",\n image: \"assets/mapag/src/assets/map_icgc_ortho_grey.png\",\n },\n \"icgc-ortho-hybrid\": {\n name: \"ICGC Ortho Hybrid\",\n code: \"icgc-ortho-hybrid\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_orto_hibrida.json\",\n image: \"assets/mapag/src/assets/map_icgc_ortho_hybrid.png\",\n },\n};","import { Component, input, Input } from '@angular/core';\nimport { MapStyles, StyleData, Styles } from './styles';\n\n@Component({\n selector: 'mapag-basemap-select',\n imports: [],\n template: `\n <div class=\"basemap-container\" (click)=\"onClick()\"\n \n [style.background-image]=\"getBackgroundImage()\">\n <div class=\"basemap-title\" [style.color]=\"styleData?.nameColor || '#ffffff'\">\n {{ styleData?.name || 'No Style Selected' }}\n </div>\n <!-- <div class=\"basemap-overlay\"></div> -->\n </div>\n `,\n styles: `\n :host {\n display: block;\n width: 200px; /* default width */\n height: 80px; /* default height */\n }\n\n .basemap-container {\n position: relative;\n width: 100%;\n height: 100%;\n border-radius: 12px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n background-color: #f5f5f5;\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s ease, box-shadow 0.2s ease;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .basemap-container:hover {\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n }\n\n .basemap-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(135deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.3) 100%);\n border-radius: 12px;\n pointer-events: none;\n }\n\n .basemap-title {\n position: relative;\n z-index: 2;\n color: white;\n font-size: 19px;\n font-weight: 600;\n text-align: center;\n padding: 8px 16px;\n background: rgba(0, 0, 0, 0.0); \n border-radius: 8px;\n user-select: none;\n text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);\n max-width: 90%;\n word-wrap: break-word;\n line-height: 1.2;\n }\n\n /* Fallback for styles without images */\n .basemap-container:not([style*=\"background-image: url\"]) {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n }\n\n .basemap-container:not([style*=\"background-image: url\"]) .basemap-overlay {\n background: rgba(0, 0, 0, 0.1);\n }\n `,\n})\nexport class BasemapSelect {\n @Input() styleData?: StyleData;\n styles = input<Styles>();\n\n constructor() {\n \n }\n\n getBackgroundImage(): string {\n if (!this.styleData?.image) {\n return 'none';\n }\n \n // Try different path approaches for debugging\n const originalPath = this.styleData.image;\n \n // Return the original path first to test\n return `url(${originalPath})`;\n }\n\n onClick() {\n console.log('Basemap selected:', this.styleData?.name);\n\n const s =this.styles()\n if (!s) {\n return;\n }\n const next = this.nextStyle(this.styleData!);\n s.style.set(next);\n\n }\n\n nextStyle(current: StyleData | undefined) : StyleData {\n if (!current) {\n // If no current style, return the first one\n const firstKey = Object.keys(MapStyles)[0];\n return MapStyles[firstKey];\n }\n\n // Get all the keys from MapStyles\n const styleKeys = Object.keys(MapStyles);\n \n // Find the current style's index\n const currentIndex = styleKeys.findIndex(key => MapStyles[key].code === current.code);\n \n // If current style not found, return the first one\n if (currentIndex === -1) {\n return MapStyles[styleKeys[0]];\n }\n \n // Get the next index, wrapping around to 0 if we're at the end\n const nextIndex = (currentIndex + 1) % styleKeys.length;\n \n // Return the next style\n return MapStyles[styleKeys[nextIndex]];\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { BasemapSelect as BasemapSelectComponent } from './basemap-select';\nimport { MapComponent } from './map.component';\nimport { MapStyles, StyleData } from './styles';\n\n@Component({\n selector: 'mapag-basemap-select-menu',\n imports: [CommonModule, BasemapSelectComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"basemap-container\" \n (mouseenter)=\"showPopover()\" \n (mouseleave)=\"hidePopover()\"\n (click)=\"onClick()\"\n [style.background-image]=\"getBackgroundImage()\">\n <div class=\"basemap-title\" [style.color]=\"currentStyle?.nameColor || '#ffffff'\">\n {{ currentStyle?.name || 'No Style Selected' }}\n </div>\n <!-- <div class=\"basemap-overlay\"></div> -->\n </div>\n \n <div class=\"style-popover\"\n [class.show]=\"isPopoverVisible\"\n (mouseenter)=\"keepPopoverOpen()\"\n (mouseleave)=\"hidePopover()\">\n <div class=\"style-grid\">\n <div *ngFor=\"let style of mapStylesArray\" \n class=\"style-item\"\n (click)=\"selectStyle(style)\">\n <mapag-basemap-select [styleData]=\"style\" [styles]=\"map().styles\"></mapag-basemap-select>\n </div>\n </div>\n </div>\n `,\n styles: `\n :host {\n display: block;\n width: 200px; /* default width */\n height: 80px; /* default height */\n position: relative;\n }\n\n .basemap-container {\n position: relative;\n width: 100%;\n height: 100%;\n border-radius: 12px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n background-color: #f5f5f5;\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s ease, box-shadow 0.2s ease;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .basemap-container:hover {\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n }\n\n .basemap-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(135deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.3) 100%);\n border-radius: 12px;\n pointer-events: none;\n }\n\n .basemap-title {\n position: relative;\n z-index: 2;\n color: white;\n font-size: 19px;\n font-weight: 600;\n text-align: center;\n padding: 8px 16px;\n background: rgba(0, 0, 0, 0.0); \n border-radius: 8px;\n user-select: none;\n text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);\n max-width: 90%;\n word-wrap: break-word;\n line-height: 1.2;\n }\n\n /* Fallback for styles without images */\n .basemap-container:not([style*=\"background-image: url\"]) {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n }\n\n .basemap-container:not([style*=\"background-image: url\"]) .basemap-overlay {\n background: rgba(0, 0, 0, 0.1);\n }\n\n .style-popover {\n padding: 16px;\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);\n border: 1px solid rgba(0, 0, 0, 0.1);\n opacity: 0;\n visibility: hidden;\n transform: translateY(-10px);\n transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;\n position: absolute;\n top: calc(100% + 8px);\n left: 0;\n z-index: 1000;\n max-width: 90vw;\n max-height: 80vh;\n overflow-y: auto;\n min-width: 100%;\n }\n\n .style-popover.show {\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n }\n\n .style-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n gap: 12px;\n min-width: 380px;\n max-width: 600px;\n }\n\n .style-item {\n cursor: pointer;\n transition: transform 0.2s ease;\n }\n\n .style-item:hover {\n transform: scale(1.05);\n }\n\n @media (max-width: 768px) {\n .style-grid {\n grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n min-width: 300px;\n }\n }\n `,\n})\nexport class BasemapSelectMenu {\n map = input.required<MapComponent>();\n \n isPopoverVisible = false;\n mapStylesArray = Object.values(MapStyles);\n private popoverTimeout?: number;\n\n constructor() {\n \n }\n\n get currentStyle() : StyleData | undefined {\n return this.map().styles.style();\n }\n\n getBackgroundImage(): string {\n\n const currentStyle = this.map().styles.style();\n\n // Try different path approaches for debugging\n const originalPath = currentStyle.image;\n \n // Return the original path first to test\n return `url(${originalPath})`;\n }\n\n showPopover() {\n if (this.popoverTimeout) {\n clearTimeout(this.popoverTimeout);\n }\n this.isPopoverVisible = true;\n }\n\n hidePopover() {\n this.popoverTimeout = window.setTimeout(() => {\n this.isPopoverVisible = false;\n }, 200); // Small delay to allow moving to popover\n }\n\n keepPopoverOpen() {\n if (this.popoverTimeout) {\n clearTimeout(this.popoverTimeout);\n this.popoverTimeout = undefined;\n }\n }\n\n selectStyle(style: StyleData) {\n const s = this.map().styles;\n if (s) {\n s.style.set(style);\n }\n this.isPopoverVisible = false;\n }\n\n onClick() {\n // Keep the original cycling behavior as fallback\n const s = this.map().styles;\n const current = this.map().styles.style();\n const next = this.nextStyle(current);\n s.style.set(next);\n }\n\n nextStyle(current: StyleData | undefined) : StyleData {\n const s = this.map().styles\n\n if (!current) {\n // If no current style, return the first one\n const firstKey = Object.keys(MapStyles)[0];\n return MapStyles[firstKey];\n }\n\n // Get all the keys from MapStyles\n const styleKeys = Object.keys(MapStyles);\n \n // Find the current style's index\n const currentIndex = styleKeys.findIndex(key => MapStyles[key].code === current.code);\n \n // If current style not found, return the first one\n if (currentIndex === -1) {\n return MapStyles[styleKeys[0]];\n }\n \n // Get the next index, wrapping around to 0 if we're at the end\n const nextIndex = (currentIndex + 1) % styleKeys.length;\n \n // Return the next style\n return MapStyles[styleKeys[nextIndex]];\n }\n}\n","\nimport { StyleSpecification } from \"maplibre-gl\";\n\nexport const BaseMapLight: StyleSpecification = {\n \"version\": 8,\n \"sources\": {\n \"protomaps\": {\n \"type\": \"vector\",\n \"attribution\": \"<a href=\\\"https://github.com/protomaps/basemaps\\\">Protomaps</a> © <a href=\\\"https://osm.org/copyright\\\">OpenStreetMap</a>\",\n \"url\": \"pmtiles://https://build.protomaps.com/20251117.pmtiles\"\n }\n },\n \"layers\": [\n {\n \"id\": \"background\",\n \"type\": \"background\",\n \"paint\": {\n \"background-color\": \"#cccccc\"\n }\n },\n {\n \"id\": \"earth\",\n \"type\": \"fill\",\n \"filter\": [\n \"==\",\n \"$type\",\n \"Polygon\"\n ],\n \"source\": \"protomaps\",\n \"source-layer\": \"earth\",\n \"paint\": {\n \"fill-color\": \"#e2dfda\"\n }\n },\n {\n \"id\": \"landcover\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landcover\",\n \"paint\": {\n \"fill-color\": [\n \"match\",\n [\n \"get\",\n \"kind\"\n ],\n \"grassland\",\n \"rgba(210, 239, 207, 1)\",\n \"barren\",\n \"rgba(255, 243, 215, 1)\",\n \"urban_area\",\n \"rgba(230, 230, 230, 1)\",\n \"farmland\",\n \"rgba(216, 239, 210, 1)\",\n \"glacier\",\n \"rgba(255, 255, 255, 1)\",\n \"scrub\",\n \"rgba(234, 239, 210, 1)\",\n \"rgba(196, 231, 210, 1)\"\n ],\n \"fill-opacity\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 5,\n 1,\n 7,\n 0\n ]\n }\n },\n {\n \"id\": \"landuse_park\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"national_park\",\n \"park\",\n \"cemetery\",\n \"protected_area\",\n \"nature_reserve\",\n \"forest\",\n \"golf_course\",\n \"wood\",\n \"nature_reserve\",\n \"forest\",\n \"scrub\",\n \"grassland\",\n \"grass\",\n \"military\",\n \"naval_base\",\n \"airfield\"\n ],\n \"paint\": {\n \"fill-opacity\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 6,\n 0,\n 11,\n 1\n ],\n \"fill-color\": [\n \"case\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"national_park\",\n \"park\",\n \"cemetery\",\n \"protected_area\",\n \"nature_reserve\",\n \"forest\",\n \"golf_course\"\n ]\n ]\n ],\n \"#9cd3b4\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"wood\",\n \"nature_reserve\",\n \"forest\"\n ]\n ]\n ],\n \"#a0d9a0\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"scrub\",\n \"grassland\",\n \"grass\"\n ]\n ]\n ],\n \"#99d2bb\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"glacier\"\n ]\n ]\n ],\n \"#e7e7e7\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"sand\"\n ]\n ]\n ],\n \"#e2e0d7\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"military\",\n \"naval_base\",\n \"airfield\"\n ]\n ]\n ],\n \"#c6dcdc\",\n \"#e2dfda\"\n ]\n }\n },\n {\n \"id\": \"landuse_urban_green\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"allotments\",\n \"village_green\",\n \"playground\"\n ],\n \"paint\": {\n \"fill-color\": \"#9cd3b4\",\n \"fill-opacity\": 0.7\n }\n },\n {\n \"id\": \"landuse_hospital\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"hospital\"\n ],\n \"paint\": {\n \"fill-color\": \"#e4dad9\"\n }\n },\n {\n \"id\": \"landuse_industrial\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"industrial\"\n ],\n \"paint\": {\n \"fill-color\": \"#d1dde1\"\n }\n },\n {\n \"id\": \"landuse_school\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"school\",\n \"university\",\n \"college\"\n ],\n \"paint\": {\n \"fill-color\": \"#e4ded7\"\n }\n },\n {\n \"id\": \"landuse_beach\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"beach\"\n ],\n \"paint\": {\n \"fill-color\": \"#e8e4d0\"\n }\n },\n {\n \"id\": \"landuse_zoo\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"zoo\"\n ],\n \"paint\": {\n \"fill-color\": \"#c6dcdc\"\n }\n },\n {\n \"id\": \"landuse_aerodrome\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"aerodrome\"\n ],\n \"paint\": {\n \"fill-color\": \"#dadbdf\"\n }\n },\n {\n \"id\": \"roads_runway\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"==\",\n \"kind_detail\",\n \"runway\"\n ],\n \"paint\": {\n \"line-color\": \"#e9e9ed\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 10,\n 0,\n 12,\n 4,\n 18,\n 30\n ]\n }\n },\n {\n \"id\": \"roads_taxiway\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 13,\n \"filter\": [\n \"==\",\n \"kind_detail\",\n \"taxiway\"\n ],\n \"paint\": {\n \"line-color\": \"#e9e9ed\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 15,\n 6\n ]\n }\n },\n {\n \"id\": \"landuse_runway\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"any\",\n [\n \"in\",\n \"kind\",\n \"runway\",\n \"taxiway\"\n ]\n ],\n \"paint\": {\n \"fill-color\": \"#e9e9ed\"\n }\n },\n {\n \"id\": \"water\",\n \"type\": \"fill\",\n \"filter\": [\n \"==\",\n \"$type\",\n \"Polygon\"\n ],\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"paint\": {\n \"fill-color\": \"#80deea\"\n }\n },\n {\n \"id\": \"water_stream\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"minzoom\": 14,\n \"filter\": [\n \"in\",\n \"kind\",\n \"stream\"\n ],\n \"paint\": {\n \"line-color\": \"#80deea\",\n \"line-width\": 0.5\n }\n },\n {\n \"id\": \"water_river\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"minzoom\": 9,\n \"filter\": [\n \"in\",\n \"kind\",\n \"river\"\n ],\n \"paint\": {\n \"line-color\": \"#80deea\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 9,\n 0,\n 9.5,\n 1,\n 18,\n 12\n ]\n }\n },\n {\n \"id\": \"landuse_pedestrian\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"pedestrian\",\n \"dam\"\n ],\n \"paint\": {\n \"fill-color\": \"#e3e0d4\"\n }\n },\n {\n \"id\": \"landuse_pier\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"pier\"\n ],\n \"paint\": {\n \"fill-color\": \"#e0e0e0\"\n }\n },\n {\n \"id\": \"roads_tunnels_other_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"in\",\n \"kind\",\n \"other\",\n \"path\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 14,\n 0,\n 20,\n 7\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_minor_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-dasharray\": [\n 3,\n 2\n ],\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 12,\n 0,\n 12.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_link_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-dasharray\": [\n 3,\n 2\n ],\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 12,\n 0,\n 12.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_major_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-dasharray\": [\n 3,\n 2\n ],\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 0.5,\n 18,\n 13\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 9,\n 0,\n 9.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_highway_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-dasharray\": [\n 6,\n 0.5\n ],\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 3.5,\n 0.5,\n 18,\n 15\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 1,\n 20,\n 15\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_other\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"in\",\n \"kind\",\n \"other\",\n \"path\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#d5d5d5\",\n \"line-dasharray\": [\n 4.5,\n 0.5\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 14,\n 0,\n 20,\n 7\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_minor\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#d5d5d5\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_link\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#d5d5d5\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_major\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#d5d5d5\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 6,\n 0,\n 12,\n 1.6,\n 15,\n 3,\n 18,\n 13\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_highway\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"==\",\n [\n \"get\",\n \"kind\"\n ],\n \"highway\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"is_link\"\n ]\n ]\n ],\n \"paint\": {\n \"line-color\": \"#d5d5d5\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 6,\n 1.1,\n 12,\n 1.6,\n 15,\n 5,\n 18,\n 15\n ]\n }\n },\n {\n \"id\": \"buildings\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"buildings\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"building\",\n \"building_part\"\n ],\n \"paint\": {\n \"fill-color\": \"#cccccc\",\n \"fill-opacity\": 0.5\n }\n },\n {\n \"id\": \"roads_pier\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"==\",\n \"kind_detail\",\n \"pier\"\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 12,\n 0,\n 12.5,\n 0.5,\n 20,\n 16\n ]\n }\n },\n {\n \"id\": \"roads_minor_service_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 13,\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ],\n [\n \"==\",\n \"kind_detail\",\n \"service\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 18,\n 8\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 0.8\n ]\n }\n },\n {\n \"id\": \"roads_minor_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ],\n [\n \"!=\",\n \"kind_detail\",\n \"service\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 12,\n 0,\n 12.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_link_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 13,\n \"filter\": [\n \"has\",\n \"is_link\"\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1.5\n ]\n }\n },\n {\n \"id\": \"roads_major_casing_late\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 6,\n 0,\n 12,\n 1.6,\n 15,\n 3,\n 18,\n 13\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 9,\n 0,\n 9.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_highway_casing_late\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 3.5,\n 0.5,\n 18,\n 15\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 1,\n 20,\n 15\n ]\n }\n },\n {\n \"id\": \"roads_other\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"in\",\n \"kind\",\n \"other\",\n \"path\"\n ],\n [\n \"!=\",\n \"kind_detail\",\n \"pier\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ebebeb\",\n \"line-dasharray\": [\n 3,\n 1\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 14,\n 0,\n 20,\n 7\n ]\n }\n },\n {\n \"id\": \"roads_link\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"has\",\n \"is_link\"\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_minor_service\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ],\n [\n \"==\",\n \"kind_detail\",\n \"service\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ebebeb\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 18,\n 8\n ]\n }\n },\n {\n \"id\": \"roads_minor\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ],\n [\n \"!=\",\n \"kind_detail\",\n \"service\"\n ]\n ],\n \"paint\": {\n \"line-color\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n \"#ebebeb\",\n 16,\n \"#ffffff\"\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_major_casing_early\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"maxzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 0.5,\n 18,\n 13\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 9,\n 0,\n 9.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_major\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 6,\n 0,\n 12,\n 1.6,\n 15,\n 3,\n 18,\n 13\n ]\n }\n },\n {\n \"id\": \"roads_highway_casing_early\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"maxzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 3.5,\n 0.5,\n 18,\n 15\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_highway\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 6,\n 1.1,\n 12,\n 1.6,\n 15,\n 5,\n 18,\n 15\n ]\n }\n },\n {\n \"id\": \"roads_rail\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"rail\"\n ],\n \"paint\": {\n \"line-dasharray\": [\n 0.3,\n 0.75\n ],\n \"line-opacity\": 0.5,\n \"line-color\": \"#a7b1b3\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 6,\n 0.15,\n 18,\n 9\n ]\n }\n },\n {\n \"id\": \"boundaries_country\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"boundaries\",\n \"filter\": [\n \"<=\",\n \"kind_detail\",\n 2\n ],\n \"paint\": {\n \"line-color\": \"#adadad\",\n \"line-width\": 0.7,\n \"line-dasharray\": [\n \"step\",\n [\n \"zoom\"\n ],\n [\n \"literal\",\n [\n 2,\n 0\n ]\n ],\n 4,\n [\n \"literal\",\n [\n 2,\n 1\n ]\n ]\n ]\n }\n },\n {\n \"id\": \"boundaries\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"boundaries\",\n \"filter\": [\n \">\",\n \"kind_detail\",\n 2\n ],\n \"paint\": {\n \"line-color\": \"#adadad\",\n \"line-width\": 0.4,\n \"line-dasharray\": [\n \"step\",\n [\n \"zoom\"\n ],\n [\n \"literal\",\n [\n 2,\n 0\n ]\n ],\n 4,\n [\n \"literal\",\n [\n 2,\n 1\n ]\n ]\n ]\n }\n },\n {\n \"id\": \"roads_bridges_other_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"in\",\n \"kind\",\n \"other\",\n \"path\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 14,\n 0,\n 20,\n 7\n ]\n }\n },\n {\n \"id\": \"roads_bridges_link_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 12,\n 0,\n 12.5,\n 1.5\n ]\n }\n },\n {\n \"id\": \"roads_bridges_minor_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 0.8\n ]\n }\n },\n {\n \"id\": \"roads_bridges_major_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 0.5,\n 18,\n 10\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 9,\n 0,\n 9.5,\n 1.5\n ]\n }\n },\n {\n \"id\": \"roads_bridges_other\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"in\",\n \"kind\",\n \"other\",\n \"path\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ebebeb\",\n \"line-dasharray\": [\n 2,\n 1\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 14,\n 0,\n 20,\n 7\n ]\n }\n },\n {\n \"id\": \"roads_bridges_minor\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_bridges_link\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_bridges_major\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#f5f5f5\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 6,\n 0,\n 12,\n 1.6,\n 15,\n 3,\n 18,\n 13\n ]\n }\n },\n {\n \"id\": \"roads_bridges_highway_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 3.5,\n 0.5,\n 18,\n 15\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 1,\n 20,\n 15\n ]\n }\n },\n {\n \"id\": \"roads_bridges_highway\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 6,\n 1.1,\n 12,\n 1.6,\n 15,\n 5,\n 18,\n 15\n ]\n }\n },\n {\n \"id\": \"address_label\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"buildings\",\n \"minzoom\": 18,\n \"filter\": [\n \"==\",\n \"kind\",\n \"address\"\n ],\n \"layout\": {\n \"symbol-placement\": \"point\",\n \"text-font\": [\n \"Noto Sans Italic\"\n ],\n \"text-field\": [\n \"get\",\n \"addr_housenumber\"\n ],\n \"text-size\": 12\n },\n \"paint\": {\n \"text-color\": \"#91888b\",\n \"text-halo-color\": \"#ffffff\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"water_waterway_label\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"minzoom\": 13,\n \"filter\": [\n \"in\",\n \"kind\",\n \"river\",\n \"stream\"\n ],\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"text-font\": [\n \"Noto Sans Italic\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": 12,\n \"text-letter-spacing\": 0.2\n },\n \"paint\": {\n \"text-color\": \"#728dd4\",\n \"text-halo-color\": \"#80deea\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"roads_oneway\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 16,\n \"filter\": [\n \"==\",\n [\n \"get\",\n \"oneway\"\n ],\n \"yes\"\n ],\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"icon-image\": \"arrow\",\n \"icon-rotate\": 90,\n \"symbol-spacing\": 100\n }\n },\n {\n \"id\": \"roads_labels_minor\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 15,\n \"filter\": [\n \"in\",\n \"kind\",\n \"minor_road\",\n \"other\",\n \"path\"\n ],\n \"layout\": {\n \"symbol-sort-key\": [\n \"get\",\n \"min_zoom\"\n ],\n \"symbol-placement\": \"line\",\n \"text-font\": [\n \"Noto Sans Regular\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": 12\n },\n \"paint\": {\n \"text-color\": \"#91888b\",\n \"text-halo-color\": \"#ffffff\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"water_label_ocean\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"sea\",\n \"ocean\",\n \"bay\",\n \"strait\",\n \"fjord\"\n ],\n \"layout\": {\n \"text-font\": [\n \"Noto Sans Italic\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 3,\n 10,\n 10,\n 12\n ],\n \"text-letter-spacing\": 0.1,\n \"text-max-width\": 9,\n \"text-transform\": \"uppercase\"\n },\n \"paint\": {\n \"text-color\": \"#728dd4\",\n \"text-halo-width\": 1,\n \"text-halo-color\": \"#80deea\"\n }\n },\n {\n \"id\": \"earth_label_islands\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"earth\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"island\"\n ],\n \"layout\": {\n \"text-font\": [\n \"Noto Sans Italic\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": 10,\n \"text-letter-spacing\": 0.1,\n \"text-max-width\": 8\n },\n \"paint\": {\n \"text-color\": \"#8f8f8f\",\n \"text-halo-color\": \"#e0e0e0\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"water_label_lakes\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"lake\",\n \"water\"\n ],\n \"layout\": {\n \"text-font\": [\n \"Noto Sans Italic\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 3,\n 10,\n 6,\n 12,\n 10,\n 12\n ],\n \"text-letter-spacing\": 0.1,\n \"text-max-width\": 9\n },\n \"paint\": {\n \"text-color\": \"#728dd4\",\n \"text-halo-color\": \"#80deea\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"roads_shields\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"highway\",\n \"major_road\"\n ]\n ]\n ],\n [\n \"has\",\n \"shield_text\"\n ],\n [\n \"<=\",\n [\n \"length\",\n [\n \"get\",\n \"shield_text\"\n ]\n ],\n 5\n ]\n ],\n \"layout\": {\n \"icon-image\": [\n \"match\",\n [\n \"get\",\n \"network\"\n ],\n \"US:I\",\n [\n \"concat\",\n \"US:I-\",\n [\n \"length\",\n [\n \"get\",\n \"shield_text\"\n ]\n ],\n \"char\"\n ],\n \"NL:S-road\",\n [\n \"concat\",\n \"NL:S-road-\",\n [\n \"length\",\n [\n \"get\",\n \"shield_text\"\n ]\n ],\n \"char\"\n ],\n [\n \"concat\",\n \"generic_shield-\",\n [\n \"length\",\n [\n \"get\",\n \"shield_text\"\n ]\n ],\n \"char\"\n ]\n ],\n \"text-field\": [\n \"get\",\n \"shield_text\"\n ],\n \"text-font\": [\n \"Noto Sans Medium\"\n ],\n \"text-size\": 8,\n \"icon-size\": 0.8,\n \"symbol-placement\": \"line\",\n \"icon-rotation-alignment\": \"viewport\",\n \"text-rotation-alignment\": \"viewport\"\n },\n \"paint\": {\n \"text-color\": \"#938a8d\"\n }\n },\n {\n \"id\": \"roads_labels_major\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 11,\n \"filter\": [\n \"in\",\n \"kind\",\n \"highway\",\n \"major_road\"\n ],\n \"layout\": {\n \"symbol-sort-key\": [\n \"get\",\n \"min_zoom\"\n ],\n \"symbol-placement\": \"line\",\n \"text-font\": [\n \"Noto Sans Regular\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": 12\n },\n \"paint\": {\n \"text-color\": \"#938a8d\",\n \"text-halo-color\": \"#ffffff\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"pois\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"pois\",\n \"filter\": [\n \"all\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"beach\",\n \"forest\",\n \"marina\",\n \"park\",\n \"peak\",\n \"zoo\",\n \"garden\",\n \"bench\",\n \"aerodrome\",\n \"station\",\n \"bus_stop\",\n \"ferry_terminal\",\n \"stadium\",\n \"university\",\n \"library\",\n \"school\",\n \"animal\",\n \"toilets\",\n \"drinking_water\",\n \"post_office\",\n \"building\",\n \"townhall\",\n \"restaurant\",\n \"fast_food\",\n \"cafe\",\n \"bar\",\n \"supermarket\",\n \"convenience\",\n \"books\",\n \"beauty\",\n \"electronics\",\n \"clothes\",\n \"attraction\",\n \"museum\",\n \"theatre\",\n \"artwork\"\n ]\n ]\n ],\n [\n \">=\",\n [\n \"zoom\"\n ],\n [\n \"+\",\n [\n \"get\",\n \"min_zoom\"\n ],\n 0\n ]\n ]\n ],\n \"layout\": {\n \"icon-image\": [\n \"match\",\n [\n \"get\",\n \"kind\"\n ],\n \"station\",\n \"train_station\",\n [\n \"get\",\n \"kind\"\n ]\n ],\n \"text-font\": [\n \"Noto Sans Regular\"\n ],\n \"text-justify\": \"auto\",\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 17,\n 10,\n 19,\n 16\n ],\n \"text-max-width\": 8,\n \"text-offset\": [\n 1.1,\n 0\n ],\n \"text-variable-anchor\": [\n \"left\",\n \"right\"\n ]\n },\n \"paint\": {\n \"text-color\": [\n \"case\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"beach\",\n \"forest\",\n \"marina\",\n \"park\",\n \"peak\",\n \"zoo\",\n \"garden\",\n \"bench\"\n ]\n ]\n ],\n \"#20834D\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"aerodrome\",\n \"station\",\n \"bus_stop\",\n \"ferry_terminal\"\n ]\n ]\n ],\n \"#315BCF\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"stadium\",\n \"university\",\n \"library\",\n \"school\",\n \"animal\",\n \"toilets\",\n \"drinking_water\",\n \"post_office\",\n \"building\",\n \"townhall\"\n ]\n ]\n ],\n \"#6A5B8F\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"supermarket\",\n \"convenience\",\n \"books\",\n \"beauty\",\n \"electronics\",\n \"clothes\"\n ]\n ]\n ],\n \"#1A8CBD\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"restaurant\",\n \"fast_food\",\n \"cafe\",\n \"bar\"\n ]\n ]\n ],\n \"#CB6704\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"attraction\",\n \"museum\",\n \"theatre\",\n \"artwork\"\n ]\n ]\n ],\n \"#EF56BA\",\n \"#e2dfda\"\n ],\n \"text-halo-color\": \"#e2dfda\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"places_subplace\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"places\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"neighbourhood\",\n \"macrohood\"\n ],\n \"layout\": {\n \"symbol-sort-key\": [\n \"case\",\n [\n \"has\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"min_zoom\"\n ]\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-font\": [\n \"Noto Sans Regular\"\n ],\n \"text-max-width\": 7,\n \"text-letter-spacing\": 0.1,\n \"text-padding\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 5,\n 2,\n 8,\n 4,\n 12,\n 18,\n 15,\n 20\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.2\n ],\n [\n \"zoom\"\n ],\n 11,\n 8,\n 14,\n 14,\n 18,\n 24\n ],\n \"text-transform\": \"uppercase\"\n },\n \"paint\": {\n \"text-color\": \"#8f8f8f\",\n \"text-halo-color\": \"#e0e0e0\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"places_region\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"places\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"region\"\n ],\n \"layout\": {\n \"symbol-sort-key\": [\n \"get\",\n \"sort_key\"\n ],\n \"text-field\": [\n \"step\",\n [\n \"zoom\"\n ],\n [\n \"coalesce\",\n [\n \"get\",\n \"ref:en\"\n ],\n [\n \"get\",\n \"ref\"\n ]\n ],\n 6,\n [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ]\n ],\n \"text-font\": [\n \"Noto Sans Regular\"\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 3,\n 11,\n 7,\n 16\n ],\n \"text-radial-offset\": 0.2,\n \"text-anchor\": \"center\",\n \"text-transform\": \"uppercase\"\n },\n \"paint\": {\n \"text-color\": \"#b3b3b3\",\n \"text-halo-color\": \"#e0e0e0\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"places_locality\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"places\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"locality\"\n ],\n \"layout\": {\n \"icon-image\": [\n \"step\",\n [\n \"zoom\"\n ],\n [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"capital\"\n ],\n \"yes\"\n ],\n \"capital\",\n \"townspot\"\n ],\n 8,\n \"\"\n ],\n \"icon-size\": 0.7,\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-font\": [\n \"case\",\n [\n \"<=\",\n [\n \"get\",\n \"min_zoom\"\n ],\n 5\n ],\n [\n \"literal\",\n [\n \"Noto Sans Medium\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ],\n \"symbol-sort-key\": [\n \"case\",\n [\n \"has\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"min_zoom\"\n ]\n ],\n \"text-padding\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 5,\n 3,\n 8,\n 7,\n 12,\n 11\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 2,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 13\n ],\n 8,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 13\n ],\n 13,\n 0\n ],\n 4,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 13\n ],\n 10,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 13\n ],\n 15,\n 0\n ],\n 6,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 12\n ],\n 11,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 12\n ],\n 17,\n 0\n ],\n 8,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 11\n ],\n 11,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 11\n ],\n 18,\n 0\n ],\n 10,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 9\n ],\n 12,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 9\n ],\n 20,\n 0\n ],\n 15,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 8\n ],\n 12,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 8\n ],\n 22,\n 0\n ]\n ],\n \"icon-padding\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 0,\n 0,\n 8,\n 4,\n 10,\n 8,\n 12,\n 6,\n 22,\n 2\n ],\n \"text-justify\": \"auto\",\n \"text-variable-anchor\": [\n \"step\",\n [\n \"zoom\"\n ],\n [\n \"literal\",\n [\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ]\n ],\n 8,\n [\n \"literal\",\n [\n \"center\"\n ]\n ]\n ],\n \"text-radial-offset\": 0.3\n },\n \"paint\": {\n \"text-color\": \"#5c5c5c\",\n \"text-halo-color\": \"#e0e0e0\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"places_country\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"places\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"country\"\n ],\n \"layout\": {\n \"symbol-sort-key\": [\n \"case\",\n [\n \"has\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"min_zoom\"\n ]\n ],\n \"text-field\": [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {}\n ],\n \"text-font\": [\n \"Noto Sans Medium\"\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 2,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 10\n ],\n 8,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 10\n ],\n 12,\n 0\n ],\n 6,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 8\n ],\n 10,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 8\n ],\n 18,\n 0\n ],\n 8,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 7\n ],\n 11,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 7\n ],\n 20,\n 0\n ]\n ],\n \"icon-padding\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 0,\n 2,\n 14,\n 2,\n 16,\n 20,\n 17,\n 2,\n 22,\n 2\n ],\n \"text-transform\": \"uppercase\"\n },\n \"paint\": {\n \"text-color\": \"#a3a3a3\",\n \"text-halo-color\": \"#e2dfda\",\n \"text-halo-width\": 1\n }\n }\n ],\n \"glyphs\": \"https://protomaps.github.io/basemaps-assets/fonts/{fontstack}/{range}.pbf\",\n \"sprite\": \"https://protomaps.github.io/basemaps-assets/sprites/v4/light\"\n}\n","// PMTiles support for MapLibre is handled via protocol registration in map.component.ts\n\nexport type StandardLayer =\n | 'state'\n | 'county'\n | 'tract'\n | 'zipcode'\n | 'watershed'\n | 'hardiness2023';\n\n// See : https://data.census.gov/api/mapdata?vintage=2022 for a total list\nexport class Layers {\n static readonly State: VectorLayerSource = {\n ID: 'state',\n Name: 'States',\n URL: 'https://gis.data.census.gov/arcgis/rest/services/Hosted/VT_2019_040_00_PP_D1/VectorTileServer/tile/{z}/{y}/{x}.pbf',\n Source: 'State',\n minZoom: 3,\n LabelSource: 'State/label',\n };\n static readonly County: VectorLayerSource = {\n ID: 'county',\n Name: 'Counties',\n URL: 'https://gis.data.census.gov/arcgis/rest/services/Hosted/VT_2019_050_00_PY_D1/VectorTileServer/tile/{z}/{y}/{x}.pbf',\n Source: 'County',\n minZoom: 3,\n LabelSource: 'County/label',\n };\n static readonly USCensusTract: VectorLayerSource = {\n ID: 'tract',\n Name: 'US Census Tracts',\n URL: 'https://gis.data.census.gov/arcgis/rest/services/Hosted/VT_2019_140_00_PY_D1/VectorTileServer/tile/{z}/{y}/{x}.pbf',\n Source: 'CensusTract',\n minZoom: 6,\n LabelSource: 'CensusTract/label',\n };\n static readonly USZipCode: VectorLayerSource = {\n ID: 'zipcode',\n Name: 'US Zip Code',\n URL: 'https://gis.data.census.gov/arcgis/rest/services/Hosted/VT_2019_860_00_PY_D1/VectorTileServer/tile/{z}/{y}/{x}.pbf',\n Source: 'ZCTA5',\n minZoom: 6,\n LabelSource: 'ZCTA5/label',\n };\n static readonly Watershed: VectorLayerSource = {\n ID: 'watershed',\n Name: 'Watersheds',\n URL: 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/watershedhu6.pmtiles',\n Source: 'watershedhu6',\n minZoom: 4,\n SourceType: 'vector',\n IDField: 'globalid',\n };\n static readonly Hardiness2023: VectorLayerSource = {\n ID: 'hardiness2023',\n Name: 'Hardiness 2023',\n // URL: 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/hardiness2023.pmtiles',\n URL: 'pmtiles://https://build.protomaps.com/20251117.pmtiles',\n Source: 'boundaries',\n // Source: 'hardiness2023',\n minZoom: 4,\n SourceType: 'vector',\n IDField: 'Id',\n };\n static readonly VectorSources = [\n Layers.State,\n Layers.County,\n Layers.USCensusTract,\n Layers.USZipCode,\n Layers.Watershed,\n Layers.Hardiness2023,\n ];\n\n static FindVector(id: string): VectorLayerSource | undefined {\n for (let v of Layers.VectorSources) {\n if (v.ID == id) {\n return v;\n }\n }\n return undefined;\n }\n}\n\nexport interface VectorLayerSource {\n ID: string;\n Name: string;\n URL: string;\n Source: string;\n minZoom?: number;\n LabelSource?: string;\n SourceType?: any;\n IDField?: string;\n}\n","import { Map as mbMap } from 'maplibre-gl'\nimport { MapService } from './map.service'\n\nexport class NoOpMapper implements MapboxMapper {\n onReady(map: mbMap, svc: MapService) {}\n reset() {}\n clear() {}\n count = 0\n total = 0\n}\n\nexport interface MapboxMapper {\n // Called when the map is initially ready. Each time this is called\n // the implementer shoud treat this as a new map and rebuild\n onReady(map: mbMap, svc: MapService): void\n\n // Reset the map to the expected stete, tear down and rebuild\n reset(): void\n\n // Clear everything you have contributed\n clear(): void\n\n legends?: LegendDesc[]\n\n // Count items\n count: number\n total: number\n\n onStyleChange?(map: mbMap, svc: MapService): void\n}\n\nexport class MapboxMapperGroup<T extends MapboxMapper> implements MapboxMapper {\n map: mbMap | undefined\n svc: MapService | undefined\n mappers: Map<string, T> = new Map()\n\n onStyleChange(map: mbMap, svc: MapService): void {\n this.mappers.forEach((mapper) => {\n if (mapper.onStyleChange) {\n mapper.onStyleChange(map, svc)\n } \n }) \n }\n\n public set(name: string, mapper: T) {\n if (mapper == undefined) {\n return;\n }\n this.mappers.set(name, mapper)\n if (this.map && this.svc) {\n // If map is already ready, initialize the mapper\n // This should already be outside Angular zone context\n mapper.onReady(this.map, this.svc)\n }\n }\n\n public get(name: string): T | undefined {\n return this.mappers.get(name)\n }\n\n public remove(name: string) {\n const m = this.mappers.get(name)\n if (m) {\n m.clear()\n }\n }\n\n get count(): number {\n let count = 0\n for (const [name, mapper] of this.mappers) {\n count += mapper.count\n }\n return count\n }\n\n get total(): number {\n let total = 0\n for (const [name, mapper] of this.mappers) {\n total += mapper.total\n }\n return total\n }\n\n get legends(): LegendDesc[] {\n const legends: any[] = []\n\n for (let [key, value] of this.mappers) {\n if (value && value.legends) {\n legends.push(...value.legends)\n }\n }\n\n return legends\n }\n\n onReady(map: mbMap, svc: MapService): void {\n this.map = map\n this.svc = svc\n\n // Already running outside Angular zone from MapBoxMapComponent\n this.mappers.forEach((mapper) => mapper.onReady(map, svc))\n }\n\n reset(): void {\n this.mappers.forEach((mapper) => mapper.reset())\n }\n\n clear(): void {\n this.mappers.forEach((mapper) => mapper.clear())\n }\n}\n\nexport interface LegendDesc {\n title?: string\n items?: LegendItem[]\n}\n\nexport interface LegendItem {\n label?: string\n value: string\n}\n","import { Map as mbMap } from 'maplibre-gl'\nimport { MapService } from '../map.service'\nimport { AddLayer, AddSource } from '../mapbox-utils'\nimport { MapboxMapper } from '../mapper'\n\nexport class StandardLayersMapper implements MapboxMapper {\n static readonly EMPTY_SOURCE = 'empty'\n static readonly POLYGONS_BACKGROUND = 'polygons-background'\n static readonly POLYGONS_ACTIVE = 'polygons-active'\n static readonly SELECTIONS = 'selections'\n static readonly POINTS = 'points'\n\n map: mbMap | undefined\n\n onStyleChange(map: mbMap, svc: MapService): void {\n this.onReady(map, svc);\n }\n\n onReady(map: mbMap, svc: MapService) {\n this.map = map\n\n AddSource(map, StandardLayersMapper.EMPTY_SOURCE, {\n type: 'geojson',\n data: {\n type: 'FeatureCollection',\n features: [],\n },\n })\n\n AddLayer(map, {\n type: 'fill',\n id: StandardLayersMapper.POINTS,\n source: StandardLayersMapper.EMPTY_SOURCE,\n // }, 'road-label')\n })\n\n AddLayer(\n map,\n {\n type: 'fill',\n id: StandardLayersMapper.SELECTIONS,\n source: StandardLayersMapper.EMPTY_SOURCE,\n },\n StandardLayersMapper.POINTS\n )\n\n AddLayer(\n map,\n {\n type: 'fill',\n id: StandardLayersMapper.POLYGONS_ACTIVE,\n source: StandardLayersMapper.EMPTY_SOURCE,\n },\n StandardLayersMapper.SELECTIONS\n )\n\n AddLayer(\n map,\n {\n type: 'fill',\n id: StandardLayersMapper.POLYGONS_BACKGROUND,\n source: StandardLayersMapper.EMPTY_SOURCE,\n }, StandardLayersMapper.POLYGONS_ACTIVE)\n\n \n\n\n\n \n }\n reset() {}\n clear() {}\n count: number = 0\n total: number = 0\n}\n","import { GeoJSONFeature, Map as mbMap } from 'maplibre-gl';\nimport MapboxDraw from 'maplibre-gl-draw';\nimport { Layers, VectorLayerSource } from '../layers';\nimport { MapService } from '../map.service';\nimport {\n AddLayer,\n AddSource,\n RemoveLayer,\n RemoveSource,\n discoverLayers,\n} from '../mapbox-utils';\nimport { LegendDesc, MapboxMapper } from '../mapper';\nimport { StandardLayersMapper } from './standard-layers-mapper';\n\nexport class AreaMapperMapper implements MapboxMapper {\n layerType: 'fill' | 'fill-extrusion' = 'fill';\n labels: boolean = false;\n\n legends: LegendDesc[] = [];\n\n areaType: string = 'state';\n areaSelector: string = '<your-area-selector>';\n areaSelection: string = '<your-area-selection>';\n\n scale: string = 'linear';\n\n opactity: number = 0.8;\n\n mask: boolean = false;\n maskColor: string = '#000000';\n maskOpacity: number = 0.5;\n\n public map: mbMap | undefined;\n public svc: MapService | undefined;\n hoveredStateId = null;\n\n draw: MapboxDraw | undefined;\n ids: string[] = [];\n\n get source(): string {\n return this.name + '-src';\n }\n\n get sourceLayer(): string | undefined {\n const src: VectorLayerSource | undefined = Layers.FindVector(this.areaType);\n if (!src) {\n console.error('AreaMapperMapper: Unknown area type ' + this.areaType);\n return undefined;\n }\n return src.Source;\n }\n\n get layer(): string {\n return this.name + '-fill';\n }\n get selectionLayer(): string {\n return this.name + '-selection';\n }\n get labelLayer(): string {\n return this.name + '-labels';\n }\n set visible(value: boolean) {\n if (!this.map) return;\n\n const fillLayer = this.map.getLayer(this.layer);\n if (fillLayer) {\n this.map.setLayoutProperty(\n this.layer,\n 'visibility',\n value ? 'visible' : 'none'\n );\n }\n }\n\n constructor(\n public name: string = 'area-' + Math.floor(Math.random() * 1000000),\n public belowLayer: string = StandardLayersMapper.POLYGONS_BACKGROUND\n ) {}\n\n onStyleChange(map: mbMap, svc: MapService): void {\n // this.onReady(map, svc);\n }\n\n onReady(map: mbMap, svc: MapService) {\n this.map = map;\n this.svc = svc;\n this.load();\n }\n\n reset() {\n this.clear();\n }\n\n clear() {\n if (!this.map) return;\n\n const fillLayer = this.map.getLayer(this.layer);\n const source = this.map.getSource(this.source);\n\n if (fillLayer) {\n RemoveLayer(this.map, fillLayer.id);\n }\n\n if (source) {\n RemoveSource(this.map, this.source);\n }\n }\n\n trash() {\n // this.ids = []\n // this.map.setFilter(this.layer, ['in', 'GEOID', ''])\n }\n\n get count(): number {\n return 0;\n }\n\n get total(): number {\n return 0;\n }\n\n updateOpacity(o: number) {\n if (!this.map) return;\n\n this.opactity = o;\n const fillLayer = this.map.getLayer(this.layer);\n\n if (fillLayer) {\n this.map.setPaintProperty(this.layer, this.opacityField(), o);\n }\n }\n\n setAreaType(type: string) {\n if (this.areaType == type) return;\n this.areaType = type;\n\n this.load();\n this.fixZoom();\n }\n\n async load() {\n if (!this.map) return;\n this.clear();\n\n const src: VectorLayerSource | undefined = Layers.FindVector(this.areaType);\n if (!src) {\n console.error('AreaMapperMapper: Unknown area type ' + this.areaType);\n return;\n }\n\n const sourceType = src.SourceType || 'vector';\n const promoteId = src.IDField || 'GEOID';\n\n if (src.URL?.startsWith('pmtiles://')) {\n const layers = await discoverLayers(src.URL);\n console.log('Discovered layers:', layers);\n\n AddSource(this.map, this.source, {\n type: 'vector',\n url: src.URL,\n promoteId: promoteId, // promote field to be used as a foreign key\n });\n } else {\n AddSource(this.map, this.source, {\n type: sourceType,\n tiles: [src.URL],\n promoteId: promoteId, // promote field to be used as a foreign key\n });\n }\n \n AddLayer(\n this.map,\n {\n id: this.layer,\n type: 'fill',\n source: this.source,\n 'source-layer': src.Source,\n paint: {\n 'fill-outline-color': '#e5541c',\n 'fill-opacity': this.opactity,\n 'fill-color': '#cccccc',\n },\n layout: {\n visibility: 'none',\n },\n },\n this.belowLayer\n );\n }\n\n fixZoom() {\n if (!this.map) return;\n\n const src: VectorLayerSource | undefined = Layers.FindVector(this.areaType);\n if (!src) return;\n\n if (src.minZoom && this.map.getZoom() < src.minZoom) {\n this.map.setZoom(src.minZoom);\n }\n }\n\n renderPopup(item: GeoJSONFeature): string {\n return 'NO POPUP';\n }\n\n useStat(\n id: string,\n stats: { id: string; name: string; formatted: string }[]\n ): string {\n const i = stats.findIndex((a) => a.id == id);\n if (i >= 0) {\n const stat = stats[i];\n stats.splice(i, 1);\n return this.formatStat(stat);\n }\n return '';\n }\n\n formatStat(stat: { name: string; formatted: string }): string {\n return `<b>${stat.name}:</b> ${stat.formatted}<br>`;\n }\n\n colorField(): 'fill-color' | 'fill-extrusion-color' {\n if (this.layerType == 'fill') return 'fill-color';\n if (this.layerType == 'fill-extrusion') return 'fill-extrusion-color';\n return 'fill-color';\n }\n\n opacityField(): 'fill-opacity' | 'fill-extrusion-opacity' {\n if (this.layerType == 'fill') return 'fill-opacity';\n if (this.layerType == 'fill-extrusion') return 'fill-extrusion-opacity';\n return 'fill-opacity';\n }\n\n loadData(ids: string[]) {\n if (!this.map) return;\n\n this.ids = ids;\n const src: VectorLayerSource | undefined = Layers.FindVector(this.areaType);\n if (!src) {\n console.error('AreaMapperMapper: Unknown area type ' + this.areaType);\n return;\n }\n // this.map.setFilter(this.layer, ['in', 'GEOID', ...ids])\n this.map.setLayoutProperty(this.layer, 'visibility', 'visible');\n this.map.setPaintProperty(this.layer, this.opacityField(), this.opactity);\n }\n}\n","import { GeoJSONFeature, Map, MapGeoJSONFeature, MapMouseEvent } from 'maplibre-gl'\nimport MapboxDraw, { DrawCreateEvent } from 'maplibre-gl-draw'\n// @ts-ignore - No TypeScript definitions available for mapbox-gl-draw-rectangle-mode\nimport RectangleMode from 'mapbox-gl-draw-rectangle-mode'\nimport { Subject } from 'rxjs'\nimport { MapService } from '../map.service'\nimport { MapboxMapper } from '../mapper'\n\nexport class DrawingMapper implements MapboxMapper {\n\n sourceLayer: string | undefined\n polygon = 'draw_polygon'\n modeSelectFeature = 'select-feature'\n\n count: number = 0\n total: number = 0\n map: Map | undefined\n mapService: MapService | undefined\n\n draw: MapboxDraw | undefined\n canvas: HTMLElement | undefined\n mode: string | undefined\n\n polygonCreatedSub = new Subject<GeoJSONFeature[]>()\n polygonCreated$ = this.polygonCreatedSub.asObservable()\n\n doneModeSub = new Subject<string>()\n doneMode$ = this.doneModeSub.asObservable()\n\n // // Variable to hold the starting xy coordinates\n // // when `mousedown` occured.\n // let start;\n\n // // Variable to hold the current xy coordinates\n // // when `mousemove` or `mouseup` occurs.\n // let current;\n\n // // Variable for the draw box element.\n // let box;\n\n isReady() : boolean{\n return this.map != undefined && this.draw != undefined\n }\n\n onReady(map: Map, svc: MapService) {\n console.log('DrawingMapper onReady called', 'Instance ID:', this.constructor.name + Math.random().toString(36).substr(2, 9))\n\n // Clear any existing initialization first (different map or stale state)\n if (this.draw) {\n console.log('Clearing existing DrawingMapper before reinitializing')\n this.clear()\n }\n\n this.map = map\n this.mapService = svc\n this.canvas = map.getCanvasContainer()\n\n try {\n this.draw = new MapboxDraw({\n displayControlsDefault: false,\n touchEnabled: true,\n boxSelect: false,\n clickBuffer: 2,\n touchBuffer: 25,\n\n // @ts-ignore\n modes: Object.assign({}, MapboxDraw.modes, {\n draw_rectangle: RectangleMode,\n }),\n\n styles: DrawingMapper.STYLES_DRAW,\n })\n\n map.addControl(this.draw as any)\n\n // Set up event listeners\n this.mapService.Run(() => {\n map.on('draw.create', this.onDrawCreate)\n map.on('draw.delete', this.onDraw)\n map.on('draw.update', this.onDraw)\n map.on('click', this.onMapClick)\n })\n\n console.log('DrawingMapper initialized successfully')\n } catch (error) {\n console.error('Error initializing DrawingMapper:', error)\n }\n }\n\n onDraw = (e: any) => {\n console.log('DRAW EVENT ', e)\n }\n\n onMapClick = (e: MapMouseEvent) => {}\n\n onDrawCreate = (e: DrawCreateEvent) => {\n console.log('DRAW CREATE EVENT ', e)\n const features: MapGeoJSONFeature[] = <MapGeoJSONFeature[]>e.features\n this.polygonCreatedSub.next(features)\n this.doneModeSub.next('')\n }\n\n reset() {}\n\n clear() {\n if (this.map && this.draw) {\n try {\n // Remove event listeners\n this.map.off('draw.create', this.onDrawCreate)\n this.map.off('draw.delete', this.onDraw)\n this.map.off('draw.update', this.onDraw)\n this.map.off('click', this.onMapClick)\n\n // Clear any drawn features\n this.trash()\n\n // Remove the control from the map\n this.map.removeControl(this.draw as any)\n\n console.log('DrawingMapper cleared successfully')\n } catch (error) {\n console.error('Error clearing DrawingMapper:', error)\n }\n }\n }\n\n trash() {\n if (this.draw && this.mapService) {\n this.mapService.Run(() => {\n if (this.draw) {\n this.draw.trash()\n }\n })\n }\n }\n\n changeMode(mode: string) {\n if (this.draw && this.mapService) {\n this.mapService.Run(() => {\n this._changeMode(mode)\n })\n }\n }\n\n _changeMode(mode: string) {\n if (!this.draw) {\n console.error('DrawingMapper: draw instance not initialized')\n return\n }\n\n this.deactivate()\n\n switch (mode) {\n case 'draw_polygon':\n this.draw.changeMode('draw_polygon')\n this.mode = mode\n break\n case 'draw_rectangle':\n // @ts-ignore\n this.draw.changeMode('draw_rectangle')\n this.mode = mode\n break\n case '':\n case 'simple_select':\n default:\n // For empty string or unrecognized modes, go to simple_select\n this.draw.changeMode('simple_select')\n this.mode = undefined\n break\n }\n }\n\n startPolygon() {\n console.debug('DrawingMapper: startPolygon called')\n console.debug('DrawingMapper state:', { \n map: !!this.map, \n draw: !!this.draw, \n mapService: !!this.mapService \n })\n \n if (!this.map || !this.draw) {\n console.error('DrawingMapper not ready: map or draw instance missing', {\n map: !!this.map,\n draw: !!this.draw\n })\n return\n }\n this.changeMode('draw_polygon')\n }\n\n startRectangle() {\n console.debug('DrawingMapper: startRectangle called')\n console.debug('DrawingMapper state:', { \n map: !!this.map, \n draw: !!this.draw, \n mapService: !!this.mapService \n })\n \n if (!this.map || !this.draw) {\n console.error('DrawingMapper not ready: map or draw instance missing', {\n map: !!this.map,\n draw: !!this.draw\n })\n return\n }\n this.changeMode('draw_rectangle')\n }\n\n deactivate() {\n if (!this.mode || !this.draw) {\n return\n }\n\n this.draw.deleteAll()\n \n if (this.mode === this.polygon || this.mode === 'draw_polygon') {\n this.draw.trash()\n }\n if (this.mode === 'draw_rectangle') {\n this.draw.trash()\n }\n if (this.mode === 'select-feature' && this.map) {\n this.map.getCanvas().style.cursor = 'default'\n }\n\n // Change back to simple_select mode and clear the mode\n this.draw.changeMode('simple_select')\n this.mode = undefined\n }\n\n static STYLES_DRAW = [\n {\n id: 'gl-draw-line',\n type: 'line',\n filter: ['all', ['==', '$type', 'LineString'], ['!=', 'mode', 'static']],\n layout: {\n 'line-cap': 'round',\n 'line-join': 'round',\n },\n paint: {\n 'line-color': '#FF0000',\n 'line-width': 2,\n },\n },\n {\n id: 'gl-draw-polygon-fill',\n type: 'fill',\n filter: ['all', ['==', '$type', 'Polygon'], ['!=', 'mode', 'static']],\n paint: {\n 'fill-color': '#FF0000',\n 'fill-outline-color': '#D20C0C',\n 'fill-opacity': 0.1,\n },\n },\n\n {\n id: 'gl-draw-polygon-stroke-active',\n type: 'line',\n filter: ['all', ['==', '$type', 'Polygon'], ['!=', 'mode', 'static']],\n layout: {\n 'line-cap': 'round',\n 'line-join': 'round',\n },\n paint: {\n 'line-color': '#D20C0C',\n 'line-width': 2,\n },\n },\n\n {\n id: 'gl-draw-polygon-and-line-vertex-halo-active',\n type: 'circle',\n filter: ['all', ['==', 'meta', 'vertex'], ['==', '$type', 'Point'], ['!=', 'mode', 'static']],\n paint: {\n 'circle-radius': 5,\n 'circle-color': '#FFF',\n },\n },\n\n {\n id: 'gl-draw-polygon-and-line-vertex-active',\n type: 'circle',\n filter: ['all', ['==', 'meta', 'vertex'], ['==', '$type', 'Point'], ['!=', 'mode', 'static']],\n paint: {\n 'circle-radius': 3,\n 'circle-color': '#D20C0C',\n },\n },\n\n {\n id: 'gl-draw-line-static',\n type: 'line',\n filter: ['all', ['==', '$type', 'LineString'], ['==', 'mode', 'static']],\n layout: {\n 'line-cap': 'round',\n 'line-join': 'round',\n },\n paint: {\n 'line-color': '#FF0000',\n 'line-width': 3,\n },\n },\n {\n id: 'gl-draw-polygon-fill-static',\n type: 'fill',\n filter: ['all', ['==', '$type', 'Polygon'], ['==', 'mode', 'static']],\n paint: {\n 'fill-color': '#ee0508',\n\n 'fill-opacity': 0.8,\n },\n },\n {\n id: 'gl-draw-polygon-stroke-static',\n type: 'line',\n filter: ['all', ['==', '$type', 'Polygon'], ['==', 'mode', 'static']],\n layout: {\n 'line-cap': 'round',\n 'line-join': 'round',\n },\n paint: {\n 'line-color': '#c40b0b',\n\n 'line-width': 2,\n },\n },\n ]\n}\n","import { inject, Injectable, NgZone, signal } from '@angular/core';\nimport { Map } from 'maplibre-gl';\nimport { Subject } from 'rxjs';\nimport { MapboxMapperGroup } from './mapper';\nimport { DrawingMapper } from './mappers/drawing-mapper';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MapService {\n ngZone = inject(NgZone)\n updateLegend = signal<boolean>(false)\n updateLegendSub = new Subject<boolean>();\n\n\n drawMapper: DrawingMapper | null = null\n map : Map | null = null;\n mapper : MapboxMapperGroup<any> | null = null;\n defaultCursor = 'grab'\n \n setMap(map: Map) {\n this.map = map\n this.setDefaultCursor()\n }\n \n setMapper(mapper: MapboxMapperGroup<any>) {\n this.mapper = mapper\n this.drawMapper = new DrawingMapper()\n this.mapper.set('drawing', this.drawMapper)\n }\n\n Run(fn: () => void) {\n if (this.ngZone) {\n this.ngZone.runOutsideAngular(fn)\n } else {\n fn()\n }\n }\n\n setHandCursor() {\n if (this.map) {\n this.map.getCanvas().style.cursor = 'grab'\n }\n }\n\n setDefaultCursor() {\n if (this.map) {\n this.map.getCanvas().style.cursor = this.defaultCursor\n }\n } \n\n setCrosshairCursor() {\n if (this.map) {\n this.map.getCanvas().style.cursor = 'crosshair'\n }\n }\n\n setPointerCursor() {\n if (this.map) {\n this.map.getCanvas().style.cursor = 'pointer'\n }\n }\n}","import { inject, Injectable, signal } from '@angular/core';\nimport booleanContains from '@turf/boolean-contains';\nimport booleanOverlap from '@turf/boolean-overlap';\nimport { polygon } from '@turf/helpers';\nimport { Feature } from 'geojson';\nimport {\n GeoJSONFeature,\n MapMouseEvent,\n MapTouchEvent,\n PointLike\n} from 'maplibre-gl';\nimport { Subject, Subscription } from 'rxjs';\nimport { MapService } from './map.service';\nimport { MapboxMapperGroup } from './mapper';\n\nexport enum SelectMode {\n PickOne,\n PickMultiple,\n RectangleIn,\n RectangleTouching,\n PolygonIn,\n PolygonTouching,\n}\n\n/**\n * Service to handle map selection operations.\n *\n * The caller must \"enable\" selections and then can listen to selection changes.\n * The service maintains the current selection state and provides methods to modify it.\n *\n * Types of Selections:\n * - PickOne: Select a single feature by clicking.\n * - PickMultiple: Select multiple features by clicking.\n * - RectangleIn: Select features fully within a drawn rectangle.\n * - RectangleTouching: Select features touching a drawn rectangle.\n * - PolygonIn: Select features fully within a drawn polygon.\n * - PolygonTouching: Select features touching a drawn polygon.\n * - InBounds: Select features within given bounds.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class MapSelectionService {\n map: maplibregl.Map | null = null;\n mapper: MapboxMapperGroup<any> | null = null;\n\n source: string | null = null;\n layer: string | null = null;\n sourceLayer: string | null = null;\n idsSelected: Set<string> = new Set();\n\n selectionSubject = new Subject<Set<string>>();\n selection$ = this.selectionSubject.asObservable();\n mode = signal<SelectMode | null>(null);\n sub: Subscription | null = null;\n polysub: Subscription | null = null;\n\n // Show the highlight of selected features\n selecting = false;\n\n mapSvc = inject(MapService);\n\n setMap(map: maplibregl.Map) {\n this.map = map;\n }\n\n setMapper(mapper: MapboxMapperGroup<any>) {\n this.mapper = mapper;\n }\n\n enable(\n source: string,\n layer: string,\n sourceLayer: string,\n initial?: Set<string>\n ) {\n if (!this.map) {\n console.warn('MapSelectionService: No map set, cannot enable selection');\n return;\n }\n if (!this.mapper) {\n console.warn(\n 'MapSelectionService: No mapper set, cannot enable selection'\n );\n return;\n }\n\n this.source = source;\n this.layer = layer;\n this.sourceLayer = sourceLayer;\n if (initial) {\n this.idsSelected = initial;\n } else {\n this.idsSelected = new Set<string>();\n }\n\n this.selecting = true;\n }\n\n start(mode: SelectMode) {\n if (!this.map) {\n console.warn('MapSelectionService: No map set, cannot start selection');\n return;\n }\n this.mode.set(mode);\n\n switch (mode) {\n case SelectMode.PickOne:\n case SelectMode.PickMultiple:\n // Turn ON Point selection Mode\n this.enablePointSelection();\n break;\n case SelectMode.RectangleIn:\n case SelectMode.RectangleTouching:\n if (this.mapSvc.drawMapper?.isReady()) {\n this.mapSvc.setCrosshairCursor();\n this.mapSvc.drawMapper?.startRectangle();\n this.listenForPolygons();\n }\n break;\n case SelectMode.PolygonIn:\n case SelectMode.PolygonTouching:\n this.mapSvc.setCrosshairCursor();\n this.mapSvc.drawMapper?.startPolygon();\n this.listenForPolygons();\n break;\n default:\n break;\n }\n }\n\n stop() {\n this.disablePointSelection();\n if (this.polysub) {\n this.polysub.unsubscribe();\n this.polysub = null;\n }\n\n switch (this.mode()) {\n case SelectMode.PickOne:\n case SelectMode.PickMultiple:\n // Turn ON Point selection Mode\n\n break;\n\n default:\n break;\n }\n }\n\n disable() {\n this.selecting = false;\n if (this.sub) {\n this.sub.unsubscribe();\n this.sub = null;\n }\n }\n\n private listenForPolygons() {\n if (!this.mapSvc.drawMapper || !this.mapSvc.drawMapper.draw) {\n console.warn(\n 'MapSelectionService: drawMapper or draw instance not available for listenForDrawComplete'\n );\n return;\n }\n\n this.polysub = this.mapSvc.drawMapper.polygonCreated$.subscribe(\n (feature: GeoJSONFeature[]) => {\n if (!this.selecting) {\n return;\n }\n\n const contains =\n this.mode() == SelectMode.RectangleIn ||\n this.mode() == SelectMode.PolygonIn;\n this.selectFeatures(feature, contains);\n this.mapSvc.drawMapper?.deactivate();\n this.mapSvc.setDefaultCursor();\n this.mode.set(null);\n }\n );\n }\n\n\n // Select all the features within the current map bounds\n selectInBounds() {\n if (!this.map) {\n console.warn('No map available for selectInBounds');\n return;\n }\n const bounds = this.map.getBounds();\n if (!bounds) {\n console.warn('No bounds on map for selectInBounds');\n return;\n }\n\n const coords = [\n [bounds.getWest(), bounds.getSouth()],\n [bounds.getEast(), bounds.getNorth()],\n ];\n // Create bounding box polygon directly from coordinates\n const feature: Feature<any> = {\n type: 'Feature',\n properties: {},\n geometry: {\n type: 'Polygon',\n coordinates: [[\n [coords[0][0], coords[0][1]], // southwest\n [coords[1][0], coords[0][1]], // northwest\n [coords[1][0], coords[1][1]], // northeast\n [coords[0][0], coords[1][1]], // southeast\n [coords[0][0], coords[0][1]] // close polygon\n ]]\n }\n };\n\n this.selectFeatures([feature]);\n }\n\n // Select features at a given point\n selectPoint(point: PointLike) {\n const hits = this.getPointHits(point);\n this.setFeaturesSelected(hits);\n }\n\n // Add features at a given point to the current selection\n addPointToSelection(point: PointLike) {\n const hits = this.getPointHits(point);\n this.addFeaturesToSelection(hits);\n }\n\n // Remove features at a given point from the current selection\n removePointFromSelection(point: PointLike) {\n const hits = this.getPointHits(point);\n this.removeFeaturesFromSelection(hits);\n }\n\n // Get features at a given point\n getPointHits(point: PointLike): Feature<any>[] {\n if (!this.map) {\n console.warn('No map available for selectInBounds');\n return [];\n }\n\n return this.map.queryRenderedFeatures(point as any, {\n layers: [this.layer || ''],\n });\n }\n\n // Add features at a given point to the current selection\n addToSelection(features: Feature<any>[], containsOnly = true) {\n const hits = containsOnly\n ? this.getAllContains(features)\n : this.getAllIntersects(features);\n this.addFeaturesToSelection(hits);\n }\n\n // set the provided features as the current selection\n selectFeatures(features: Feature<any>[], containsOnly = true) {\n const hits = containsOnly\n ? this.getAllContains(features)\n : this.getAllIntersects(features);\n this.setFeaturesSelected(hits);\n }\n\n // Remove features at a given point from the current selection\n removeFromSelection(features: Feature<any>[]) {\n const hits = this.getAllContains(features);\n this.removeFeaturesFromSelection(hits);\n }\n\n clearSelection() {\n if (!this.idsSelected) {\n this.idsSelected = new Set<string>();\n } else {\n this.idsSelected.clear();\n }\n this.emit();\n }\n\n getAllContains(features: Feature<any>[]): Feature<any>[] {\n const all: Feature<any>[] = [];\n for (const f of features) {\n const hits = this.getContains(f);\n all.push(...hits);\n }\n return all;\n }\n\n getAllIntersects(features: Feature<any>[]): Feature<any>[] {\n const all: Feature<any>[] = [];\n for (const f of features) {\n const hits = this.getIntersects(f);\n all.push(...hits);\n }\n return all;\n }\n\n getContains(f: Feature<any>): Feature<any>[] {\n if (!this.map) {\n console.warn('No map available for selectInBounds');\n return [];\n }\n if (!this.source || !this.sourceLayer) {\n console.warn('No source/sourceLayer set for SelectionMapper');\n return [];\n }\n\n const found = this.map.querySourceFeatures(this.source, {\n sourceLayer: this.sourceLayer,\n });\n const hits = found.filter((feature: any) => {\n if (feature.geometry.type == 'MultiPolygon') {\n const pieces = feature.geometry.coordinates.map((c: any) => ({\n type: 'Feature' as const,\n properties: {},\n geometry: { type: 'Polygon' as const, coordinates: c }\n }));\n for (let piece of pieces) {\n if (booleanContains(f, piece)) {\n return true;\n }\n }\n }\n if (feature.geometry.type == 'Polygon') {\n return booleanContains(f, feature);\n }\n return false;\n });\n return hits;\n }\n\n getIntersects(f: Feature<any>): Feature<any>[] {\n if (!this.map) {\n console.warn('No map available for selectInBounds');\n return [];\n }\n if (!this.source || !this.sourceLayer) {\n console.warn('No source/sourceLayer set for SelectionMapper');\n return [];\n }\n\n const found = this.map.querySourceFeatures(this.source, {\n sourceLayer: this.sourceLayer,\n });\n const hits = found.filter((feature: any) => {\n if (feature.geometry.type == 'MultiPolygon') {\n const pieces = feature.geometry.coordinates.map((c: any) => polygon(c));\n for (let piece of pieces) {\n if (booleanContains(f, piece) || booleanOverlap(f, piece)) {\n return true;\n }\n }\n }\n if (feature.geometry.type == 'Polygon') {\n return booleanContains(f, feature) || booleanOverlap(f, feature);\n }\n return false;\n });\n return hits;\n }\n\n setFeaturesSelected(hits: Feature<any>[]) {\n this.idsSelected = new Set<string>();\n this.addFeaturesToSelection(hits);\n }\n\n addFeaturesToSelection(hits: Feature<any>[]) {\n if (!this.idsSelected) {\n this.idsSelected = new Set<string>();\n }\n\n const ids = hits\n .map((feature) => feature.properties?.['GEOID'])\n .filter((id) => id != null);\n for (let id of ids) {\n this.idsSelected.add(id);\n }\n this.emit();\n }\n\n removeFeaturesFromSelection(hits: Feature<any>[]) {\n if (!this.idsSelected) {\n this.idsSelected = new Set<string>();\n return;\n }\n\n const ids = hits\n .map((feature) => feature.properties?.['GEOID'])\n .filter((id) => id != null);\n for (let id of ids) {\n this.idsSelected.delete(id);\n }\n this.emit();\n }\n\n emit() {\n this.selectionSubject.next(this.idsSelected);\n }\n\n disablePointSelection() {\n if (!this.map) {\n console.warn('No map available for disablePointSelection');\n return;\n }\n\n this.mapSvc.setDefaultCursor();\n this.map.off('click', this.pointSelect);\n this.map.off('touchend', this.pointSelect);\n }\n\n enablePointSelection() {\n if (!this.map) {\n console.warn('No map available for enablePointSelection');\n return;\n }\n\n // Save the previous cursor style\n this.mapSvc.setPointerCursor();\n this.map.on('click', this.pointSelect);\n this.map.on('touchend', this.pointSelect);\n }\n\n pointSelect = (e: MapMouseEvent | MapTouchEvent) => {\n if (!this.idsSelected) {\n this.idsSelected = new Set<string>();\n }\n\n const hits = this.getPointHits(e.point);\n const ids = hits\n .map((feature) => feature.properties?.['GEOID'])\n .filter((id) => id != null);\n let changes = false;\n for (let id of ids) {\n if (this.idsSelected.has(id)) {\n this.idsSelected.delete(id);\n changes = true;\n } else {\n this.idsSelected.add(id);\n changes = true;\n }\n }\n\n if (changes) {\n this.emit();\n }\n };\n}\n","import { Map } from 'maplibre-gl';\nimport { AddLayer, RemoveLayer } from '../mapbox-utils';\nimport { MapboxMapper } from '../mapper';\nimport { StandardLayersMapper } from './standard-layers-mapper';\n\n\nexport class HighlightMapper implements MapboxMapper {\n count: number = 0\n total: number = 0\n map: Map | undefined\n source: string | undefined\n sourceLayer: string | undefined\n\n idsSelected: Set<string> = new Set()\n enabled = false\n readonly name : string\n\n constructor(\n name : string = \"highlight-\" + Math.floor(Math.random() * 1000000),\n source: string | undefined = undefined, \n sourceLayer: string |undefined = undefined) {\n this.name = name\n this.source = source\n this.sourceLayer = sourceLayer\n }\n\n setSource(source: string, sourceLayer: string) {\n this.source = source\n this.sourceLayer = sourceLayer\n }\n\n disable() {\n this.enabled = false\n RemoveLayer(this.map, this.name)\n }\n\n enable() {\n if (!this.map) return\n this.disable()\n if( !this.source || !this.sourceLayer) {\n console.warn('HighlightMapper: source or sourceLayer not set, cannot enable highlight')\n return\n }\n \n this.enabled = true\n const filter = this.idsSelected.size > 0 ?\n ['in', 'GEOID', ...Array.from(this.idsSelected)] :\n ['in', 'GEOID', '']\n\n AddLayer(\n this.map,\n {\n id: this.name,\n type: 'fill',\n source: this.source,\n 'source-layer': this.sourceLayer,\n paint: {\n 'fill-outline-color': '#000000',\n 'fill-color': '#d5b176',\n 'fill-opacity': 1,\n },\n filter: filter,\n },\n StandardLayersMapper.POLYGONS_ACTIVE,\n )\n }\n\n updateSelection(ids: string[]) {\n this.idsSelected = new Set<string>(ids)\n this.update()\n }\n\n onReady(map: Map) {\n this.map = map\n }\n\n reset() {\n this.clear()\n this.enable()\n }\n\n clear() {\n if (!this.map) return\n this.enabled = false\n this.idsSelected.clear()\n RemoveLayer(this.map, this.name)\n }\n\n update() {\n if ( !this.map) { return }\n try {\n const layer = this.map.getLayer(this.name)\n\n if (!layer) {\n this.enable() // This will create the layers\n }\n\n const realIds = Array.from(this.idsSelected)\n if (realIds.length > 0) {\n this.map.setFilter(this.name, ['in', 'GEOID', ...realIds])\n } else {\n this.map.setFilter(this.name, ['in', 'GEOID', ''])\n }\n } catch (error) {\n console.error('Caught: Error updating selection layers', error)\n }\n }\n}\n","import { CommonModule } from '@angular/common'\n\nimport { Component, Input, OnInit, effect, inject, input, output } from '@angular/core'\nimport { FormsModule } from '@angular/forms'\nimport { Layers, VectorLayerSource } from '../layers'\nimport { MapboxMapperGroup } from '../mapper'\nimport { AreaMapperMapper } from '../mappers/area-mapper'\nimport { StandardLayersMapper } from '../mappers/standard-layers-mapper'\n\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome'\nimport { faBookmark, faDrawPolygon, faDrawSquare, faExpandArrows, faList, faMousePointer, faTimes, faTrashAlt } from '@fortawesome/pro-light-svg-icons'\n// import { NgSelectComponent } from '@ng-select/ng-select'\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop'\nimport { MapSelectionService, SelectMode } from '../map-selection.service'\nimport { MapComponent } from '../map.component'\nimport { AreaSelectionType, MapAreaSelection } from '../mapbox-utils'\nimport { HighlightMapper } from '../mappers/highlight-mapper'\n\n\n\nexport type MapAreaSelectMode = 'select' | 'bounds' | 'rect' | 'poly' | 'list' | 'saved' | 'trash' | 'dynamic'\n\n@Component({\n selector: 'mapag-area-select',\n templateUrl: './map-area-select.component.html',\n styleUrls: ['./map-area-select.component.css'],\n imports: [FormsModule, FaIconComponent, CommonModule],\n})\nexport class MapAreaSelectComponent implements OnInit {\n mapRef = input.required<MapComponent>();\n\n readonly mapperGroup = input<MapboxMapperGroup<any>>(new MapboxMapperGroup())\n\n readonly belowLayer = input<string>(\n StandardLayersMapper.POLYGONS_BACKGROUND,\n )\n\n // Output event when a selection is made\n readonly onSelect = output<MapAreaSelection>()\n\n // Current selection\n // TODO: Skipped for migration because:\n // Your application code writes to the input. This prevents migration.\n @Input() selection: MapAreaSelection | undefined\n\n // Type of areas available for selection.\n // Valid options are : \"state\", \"county\", \"tract\", \"none\", \"zipcode\"\n readonly areaTypes = input<AreaSelectionType[]>(\n ['state', 'county', 'tract'],\n )\n\n // The type of the area that the user is going to select.\n // Valid options are : \"state\", \"county\", \"tract\", \"none\", \"zipcode\"\n @Input() areaType: AreaSelectionType = 'state'\n\n // Set of IDs that the user has selected\n @Input() areaSelection: string[] = []\n\n // Temporary vairable that tracks the new track ID being added by the user\n newTract = ''\n\n // FontAwesome icons\n faMousePointer = faMousePointer\n faExpandArrows = faExpandArrows\n faDrawSquare = faDrawSquare\n faDrawPolygon = faDrawPolygon\n faList = faList\n faBookmark = faBookmark\n faTrashAlt = faTrashAlt\n faTimes = faTimes\n\n areaTypeSrc: VectorLayerSource | undefined\n \n ids: Set<string> = new Set()\n mapper: AreaMapperMapper | undefined\n highlightMapper: HighlightMapper | undefined\n\n selectionSvc = inject(MapSelectionService)\n mode: string | undefined = undefined\n svcMode = this.selectionSvc.mode\n\n _e1 = effect(() => {\n const m = this.selectionSvc.mode()\n\n if (this.mode == 'select' && m == null) {\n this.mode = undefined\n return \n }\n if (this.mode == 'rect' && m == null) {\n this.mode = undefined\n return \n }\n if (this.mode == 'poly' && m == null) {\n this.mode = undefined\n return \n } \n\n })\n\n constructor() {\n this.selectionSvc.selection$\n .pipe(takeUntilDestroyed())\n .subscribe((ids: Set<string>) => {\n this.ids = ids\n this.highlightMapper?.updateSelection(Array.from(ids))\n })\n }\n\n ngOnInit(): void {\n // Create the area mapper\n const name = 'area-' + Math.floor(Math.random() * 1000000)\n this.mapper = new AreaMapperMapper(name, StandardLayersMapper.POLYGONS_BACKGROUND)\n this.highlightMapper = new HighlightMapper('name-highlight', this.mapper.source, this.mapper.sourceLayer)\n\n this.mapRef().mapper().set('area-select', this.mapper)\n this.mapRef().mapper().set('area-highlight', this.highlightMapper)\n }\n\n updateAreaType() {\n this.selectionSvc.clearSelection()\n this.areaSelection = []\n\n if (this.areaType == 'none') {\n this.selection = {\n areaType: this.areaType,\n areaSelection: [],\n }\n this.onSelect.emit(this.selection)\n return\n }\n\n // this.m.areaType = this.areaType\n this.areaTypeSrc = Layers.FindVector(this.areaType)\n if (!this.areaTypeSrc) {\n return\n }\n\n // Initialize the mapper\n if (this.mapper) {\n this.mapper.areaType = this.areaType\n this.mapper.load()\n }\n\n this.selection = {\n areaType: this.areaType,\n areaSelection: this.areaSelection,\n }\n\n this.onSelect.emit(this.selection)\n }\n\n changeMode(mode: MapAreaSelectMode) {\n if (!this.mapper || !this.mapper.source || !this.mapper.sourceLayer) {\n console.warn('MapAreaSelectComponent: Mapper not initialized or source/sourceLayer not set')\n return\n }\n\n // Deactivate current mode\n if (mode == this.mode) {\n this.deactiveMode()\n return\n }\n\n // Verify\n // this.mapper.load()\n this.mapper.visible = true\n\n this.mode = mode\n this.selectionSvc.enable(this.mapper.source, this.mapper.layer, this.mapper.sourceLayer)\n switch (mode) {\n case 'select':\n this.selectionSvc.start(SelectMode.PickMultiple)\n break;\n case 'bounds':\n this.selectionSvc.selectInBounds()\n this.mode = undefined\n break;\n case 'rect':\n this.selectionSvc.start(SelectMode.RectangleTouching)\n break;\n case 'poly':\n this.selectionSvc.start(SelectMode.PolygonIn)\n break;\n \n case 'trash':\n this.selectionSvc.clearSelection()\n this.deactiveMode()\n this.mapper.visible = false\n break\n default:\n break;\n }\n\n }\n\n deactiveMode() {\n this.selectionSvc.stop()\n this.mode = undefined\n }\n\n // addTract() {\n // if (this.newTract) {\n // this.areaSelection.push(this.newTract)\n // this.updateSelection()\n // this.newTract = ''\n // }\n // }\n\n // removeTract(id: string) {\n // const i = this.areaSelection.indexOf(id)\n // if (i >= 0) {\n // this.areaSelection.splice(i, 1)\n // this.updateSelection()\n // }\n // }\n}\n\n","<h3>Geographic Area Type</h3>\n<select class=\"ng-select-sm\" [(ngModel)]=\"areaType\" (ngModelChange)=\"updateAreaType()\">\n @if (areaTypes().includes('none')) {\n <option value=\"none\">None</option>\n }\n @if (areaTypes().includes('state')) {\n <option value=\"state\">States</option>\n }\n @if (areaTypes().includes('county')) {\n <option value=\"county\">Counties</option>\n }\n @if (areaTypes().includes('zipcode')) {\n <option value=\"zipcode\">Zipcode</option>\n }\n @if (areaTypes().includes('tract')) {\n <option value=\"tract\">Census Tracts</option>\n }\n</select>\n\n@if (areaType != 'none') {\n <h3>Choose Geographic Area</h3>\n <div class=\"tools\">\n <button class=\"btn-icon\" title=\"Select area\" [class.active]=\"mode == 'select'\" (click)=\"changeMode('select')\"><fa-icon [icon]=\"faMousePointer\"></fa-icon></button>\n <button class=\"btn-icon\" title=\"Select everthing in the map window\" (click)=\"changeMode('bounds')\"><fa-icon [icon]=\"faExpandArrows\"></fa-icon></button>\n <button class=\"btn-icon\" title=\"Select with a rectangle\" [class.active]=\"mode == 'rect'\" (click)=\"changeMode('rect')\"><fa-icon [icon]=\"faDrawSquare\"></fa-icon></button>\n <button class=\"btn-icon\" title=\"Select using a polygon\" [class.active]=\"mode == 'poly'\" (click)=\"changeMode('poly')\"><fa-icon [icon]=\"faDrawPolygon\"></fa-icon></button>\n <button class=\"btn-icon\" title=\"Choose from a list\" [class.active]=\"mode == 'list'\" (click)=\"changeMode('list')\"><fa-icon [icon]=\"faList\"></fa-icon></button>\n <!-- <button class=\"btn-icon\" title=\"Select a saved area\" [class.active]=\"mode == 'saved'\"\n (click)=\"changeMode('saved')\"><fa-icon [icon]=\"faBookmark\"></fa-icon></button> -->\n <button class=\"btn-icon\" title=\"Clear the selection\" (click)=\"changeMode('trash')\"><fa-icon [icon]=\"faTrashAlt\"></fa-icon></button>\n {{mode}}, {{svcMode()}}\n </div>\n}\n@switch (mode) {\n @case ('select') {\n <h3>Select area on map</h3>\n <div class=\"help-text\">Click on the map areas of interest. Selected areas will be highlighted.</div>\n }\n @case ('bounds') {\n <h3>Select all areas shown on map</h3>\n <div class=\"help-text\">All areas on the map have been selected.</div>\n }\n @case ('rect') {\n <h3>Select in rectangle</h3>\n <div class=\"help-text\">Click once to start the rectangle. Then move the mouse and click one more time to complete it.</div>\n }\n @case ('poly') {\n <h3>Select in polygon</h3>\n <div class=\"help-text\">\n Draw one or more polygons on the map. Double click or press \"Enter\" to end the current polygon. Everything in that polygon will be added. Hold down the \"Shift\" key to pan the\n map. Press \"Esc\" to cancel.\n </div>\n }\n @case ('list') {\n <h3>Select from list</h3>\n @if (areaType == 'state') {\n <!-- <ng-select\n class=\"ng-select-sm\"\n [(ngModel)]=\"areaSelection\"\n (ngModelChange)=\"updateSelection()\"\n bindLabel=\"Name\"\n bindValue=\"ID\"\n [multiple]=\"true\"\n [items]=\"states\"\n placeholder=\"Please choose ...\"\n ></ng-select> -->\n }\n @if (areaType == 'county') {\n <!-- <ng-select\n class=\"ng-select-sm\"\n [(ngModel)]=\"areaSelection\"\n (ngModelChange)=\"updateSelection()\"\n bindLabel=\"Name\"\n bindValue=\"ID\"\n [multiple]=\"true\"\n groupBy=\"Parent\"\n [selectableGroup]=\"true\"\n [items]=\"counties\"\n placeholder=\"Please choose ...\"\n ></ng-select> -->\n }\n @if (areaType == 'tract') {\n <!-- <div class=\"list\">\n <input type=\"text\" (keyup.enter)=\"addTract()\" [(ngModel)]=\"newTract\" placeholder=\"Type in tract id (11 digits)\" />\n @for (id of areaSelection; track id) {\n <div class=\"list-item\">\n {{ id }}\n <button class=\"x\" (click)=\"removeTract(id)\"><fa-icon [icon]=\"faTimes\"></fa-icon></button>\n </div>\n }\n </div> -->\n }\n }\n @case ('saved') {\n <h3>Select a saved area</h3>\n <!-- <ng-select></ng-select> -->\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n NgZone,\n OnDestroy,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faPrint } from '@fortawesome/free-solid-svg-icons';\nimport { saveAs } from 'file-saver';\nimport 'mapbox-gl-infobox/styles.css';\nimport maplibregl, { Map } from 'maplibre-gl';\n\nimport { Protocol } from 'pmtiles';\nimport { Subject } from 'rxjs';\nimport { MapSelectionService } from './map-selection.service';\nimport { MapService } from './map.service';\nimport { MapboxMapperGroup } from './mapper';\nimport { StandardLayersMapper } from './mappers/standard-layers-mapper';\nimport { Styles } from './styles';\n\n// Set up PMTiles protocol for MapLibre\nconst protocol = new Protocol();\nmaplibregl.addProtocol('pmtiles', protocol.tile);\n\n@Component({\n selector: 'mapag-map',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FaIconComponent, CommonModule],\n styles: `\n :host {\n height: 100%;\n position: relative;\n overflow: hidden;\n }\n \n .mapcontainer {\n margin: 0;\n padding: 0;\n height: 100%;\n width: 100%;\n }\n \n .legend {\n position: absolute;\n top: 10px;\n right: 10px;\n background: white;\n padding: 10px;\n border-radius: 5px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.2);\n z-index: 1000;\n }\n \n .buttons {\n position: absolute;\n top: 10px;\n left: 10px;\n z-index: 1000;\n }\n \n .buttons > button {\n border-radius: 5px;\n border: 1px solid #ccc;\n background: white;\n color: #333;\n padding: 8px 12px;\n cursor: pointer;\n box-shadow: 0 2px 4px rgba(0,0,0,0.2);\n }\n \n .buttons > button:hover {\n background-color: #f0f0f0;\n }\n \n .legend-row {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 8px;\n padding: 4px 0;\n align-items: center;\n }\n \n .legend-title {\n font-weight: bold;\n text-align: center;\n margin-bottom: 8px;\n }\n \n .legend-item {\n height: 15px;\n width: 15px;\n border: 1px solid #ccc;\n }\n `,\n template: `\n <div class=\"mapcontainer\" #map>\n @if (mapper().legends.length) { @for (legend of mapper().legends; track\n legend) {\n <div class=\"legend\">\n <div class=\"legend-title\">Legend</div>\n @if (legend.title) {\n <div>{{ legend.title }}</div>\n } @for (item of legend.items; track item) {\n <div class=\"legend-row\">\n <div class=\"legend-item\" [style.background-color]=\"item.value\"></div>\n <div>{{ item.label }}</div>\n </div>\n }\n </div>\n } }\n <div class=\"buttons\">\n <button class=\"map-btn\" (click)=\"saveImage()\" title=\"Save Image\">\n <fa-icon [icon]=\"faPrint\" size=\"lg\"></fa-icon>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n `,\n})\nexport class MapComponent implements AfterViewInit, OnDestroy {\n styles = new Styles();\n\n private zone = inject(NgZone);\n\n readonly mapper = input<MapboxMapperGroup<any>>(new MapboxMapperGroup());\n readonly mapContainer = viewChild<ElementRef>('map');\n readonly id = input('mapid');\n\n readonly onMapReady = output<Map>();\n readonly mapReady = signal<Map | undefined>(undefined);\n // accessToken = input.required<string>();\n\n // FontAwesome icons\n faPrint = faPrint;\n\n map: maplibregl.Map | undefined;\n svc = inject(MapService);\n selectionSvc = inject(MapSelectionService);\n\n updateLegendSub = new Subject<boolean>();\n\n constructor() {\n console.log('MapComponent created');\n this.styles.initializeEffect();\n }\n\n ngAfterViewInit() {\n this.initializeMap();\n }\n\n ngOnDestroy() {\n this.styles.destroy();\n }\n\n private async initializeMap() {\n this.zone.runOutsideAngular(async () => {\n const container = this.mapContainer();\n\n // let style =\n // 'https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json';\n // // style = 'https://demotiles.maplibre.org/style.json'\n let style = await this.styles.FetchStyleDefinition(this.styles.style());\n\n if (container) {\n // @ts-ignore - Type conflict between different maplibre-gl versions\n const map = new maplibregl.Map({\n container: container.nativeElement,\n // style: this.basemap(),\n // style: this.styles.style().url, // Default style\n style: style, // Default style\n center: [-98, 38.88],\n minZoom: 1,\n zoom: 3,\n \n });\n this.map = map;\n\n // disable map rotation using right click + drag\n map.dragRotate.disable();\n\n // Forward style change events to the mapper\n map.on('styledata', (e: any) => {\n this.zone.runOutsideAngular(() => {\n this.mapper().onStyleChange(map, this.svc);\n });\n });\n\n // Forward style change events to the mapper\n this.map.on('idle', () => {\n this.zone.runOutsideAngular(() => {\n this.mapper().onStyleChange(map, this.svc);\n });\n });\n \n // Process when the map has finished loading\n this.map.on('load', () => {\n this.styles.initializeMap(map);\n\n // Setup the mapper\n const mapper = this.mapper();\n\n // Set the map in the services\n this.svc.setMap(map);\n this.svc.setMapper(mapper);\n this.selectionSvc.setMap(map);\n this.selectionSvc.setMapper(mapper);\n\n // Just create our standard Layers\n const std = new StandardLayersMapper();\n std.onReady(map, this.svc);\n\n // Notify that the map is ready\n this.zone.runOutsideAngular(() => {\n this.onMapReady.emit(map);\n this.mapReady.set(map);\n });\n \n // Initialize the mapper(s)\n this.zone.runOutsideAngular(() => {\n this.mapper().onReady(map, this.svc);\n });\n });\n }\n });\n }\n\n saveImage() {\n if (!this.map) return;\n\n this.map.once('render', () => {\n const canvas = this.map?.getCanvas();\n if (canvas) {\n canvas.toBlob((blob) => {\n if (blob) {\n saveAs(blob, 'map.png');\n }\n });\n }\n });\n\n this.map.triggerRepaint();\n }\n}\n\n// Define map styles\nconst mapStyles = {\n 'carto-positron': {\n code: 'carto-positron',\n url: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json',\n image:\n 'https://carto.com/help/images/building-maps/basemaps/positron_labels.png',\n },\n 'carto-dark': {\n code: 'carto-dark',\n url: 'https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json',\n image:\n 'https://carto.com/help/images/building-maps/basemaps/dark_labels.png',\n },\n 'carto-voyager': {\n code: 'carto-voyager',\n url: 'https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json',\n image:\n 'https://carto.com/help/images/building-maps/basemaps/voyager_labels.png',\n },\n};\n","import { BBox, MultiPolygon, Polygon, Position } from \"geojson\";\n\nexport interface Geoloader {\n LoadBoundary(): Promise<MultiPolygon | undefined>\n}\n\nexport interface PointDataLoader {\n LoadPoints(options: PointDataOptions): Promise<PointData | undefined>\n}\n\nexport type PointDataOptions = {\n limit?: number\n offset?: number\n bboxFilter?: BBox\n}\n\nexport type PointData = {\n data : GeoJSON.FeatureCollection<GeoJSON.Geometry>\n totalCount: number\n limit?: number\n offset?: number\n bboxFilter?: BBox\n}\n\nexport interface PopupRenderer {\n RenderPopup(feature: GeoJSON.Feature): Promise<string | undefined>\n}\n\nexport function isGeoloader(obj: any): obj is Geoloader {\n return typeof obj === 'object' &&\n obj !== null &&\n typeof obj.LoadBoundary === 'function'\n}\n\nexport function isMultiPolygon(obj: any): obj is MultiPolygon {\n return typeof obj === 'object' &&\n obj !== null &&\n obj.type === 'MultiPolygon';\n}\n\nexport function isPolygon(obj: any): obj is Polygon {\n return typeof obj === 'object' &&\n obj !== null &&\n obj.type === 'Polygon';\n}\n\nexport function isNumber2DArray(input: any): input is number[][] {\n return Array.isArray(input) &&\n input.every(row =>\n Array.isArray(row) &&\n row.every(cell => typeof cell === 'number')\n );\n}\n\nexport function isNumber3DArray(input: any): input is number[][][] {\n return Array.isArray(input) &&\n input.every(matrix =>\n Array.isArray(matrix) &&\n matrix.every(row =>\n Array.isArray(row) &&\n row.every(cell => typeof cell === 'number')\n )\n );\n}\n\n\nexport function toMultiPolygon(geom: Polygon | MultiPolygon | number[][] | number[][][]): MultiPolygon {\n if (isMultiPolygon(geom)) {\n return geom\n }\n\n if (isPolygon(geom)) { \n return {\n type: 'MultiPolygon',\n coordinates: [geom.coordinates]\n } as MultiPolygon\n }\n\n if (isNumber2DArray(geom)) {\n let raw: number[][][] = [geom];\n const coords: Position[][][] = raw as unknown as Position[][][];\n return {\n type: 'MultiPolygon',\n coordinates: coords\n } as MultiPolygon\n }\n\n let raw: number[][][] = geom;\n const coords: Position[][][] = raw as unknown as Position[][][];\n return {\n type: 'MultiPolygon',\n coordinates: coords\n } as MultiPolygon\n }\n\n","import bbox from '@turf/bbox';\nimport bboxPolygon from '@turf/bbox-polygon';\nimport buffer from '@turf/buffer';\nimport { feature } from '@turf/helpers';\nimport { MultiPolygon, Polygon } from \"geojson\";\nimport { LngLatBoundsLike, Map } from 'maplibre-gl';\nimport { AddLayer, AddSource, RemoveLayer, RemoveSource } from '..//mapbox-utils';\nimport { MapboxMapper } from '../mapper';\nimport { Geoloader, isGeoloader, toMultiPolygon } from '../services/interfaces';\nimport { StandardLayersMapper } from './standard-layers-mapper';\n\nexport class BackgroundMaskMapper implements MapboxMapper {\n map: Map | undefined\n \n count: number = 0\n total: number = 0\n \n source : string = 'mask'\n layer : string = 'zmask'\n\n mask : MultiPolygon | undefined\n zoom: boolean = true\n private _fillColor: string = 'black'\n private _fillOpacity: number = 0.5\n private _visible: boolean = true\n // private _beforeLayer: string | undefined = 'unclustered-search-results'\n private _beforeLayer: string | undefined = StandardLayersMapper.SELECTIONS\n\n set fillColor(color: string) {\n this.fillColor = color\n this.load()\n }\n\n get fillColor(): string {\n return this._fillColor\n }\n\n set fillOpacity(opacity: number) {\n this.fillOpacity = opacity\n this.load()\n }\n\n get fillOpacity(): number {\n return this._fillOpacity\n }\n\n set visible(visible: boolean) {\n this._visible = visible\n this.load()\n }\n\n get visible(): boolean {\n return this._visible\n }\n \n set beforeLayer(layerId: string | undefined) {\n this._beforeLayer = layerId\n this.load()\n }\n\n get beforeLayer(): string | undefined {\n return this._beforeLayer\n }\n\n onReady(map: Map) {\n this.map = map\n this.reset()\n }\n\n reset() {\n this.clear()\n this.load()\n }\n\n clear() {\n this.removeLayers()\n }\n\n flyToBounds() {\n if (this.map && this.mask) {\n // minX, minY, maxX, maxY order\n let bboxCoords = this.mask.bbox\n if (!bboxCoords) {\n const f = feature(this.mask)\n bboxCoords = bbox(f)\n }\n const buffered = buffer(bboxPolygon(bboxCoords), 10, { units: 'miles' })\n const bbox2 = buffered ? bbox(buffered) : bboxCoords\n\n const bounds: LngLatBoundsLike = [\n { lat: bbox2[3], lon: bbox2[0] },\n { lat: bbox2[1], lon: bbox2[2] },\n ]\n this.map.fitBounds(bounds)\n }\n }\n\n removeLayers() {\n RemoveLayer(this.map, this.layer)\n RemoveSource(this.map, this.source)\n }\n\n load() {\n this.removeLayers()\n\n if (!this._visible) {\n return\n }\n\n if (!this.map || !this.mask) {\n return\n }\n\n // Create a simple world polygon without the mask for now\n // TODO: Implement proper polygon difference\n const shape = bboxPolygon([-180, -90, 180, 90])\n\n AddSource(this.map, this.source, {\n type: 'geojson',\n data: shape,\n })\n\n AddLayer(\n this.map,\n {\n id: this.layer,\n source: this.source,\n type: 'fill',\n paint: {\n 'fill-color': this.fillColor,\n 'fill-opacity': this.fillOpacity,\n },\n },\n this.beforeLayer,\n )\n\n if (this.zoom) {\n this.flyToBounds()\n }\n }\n\n async setMask(mask : Geoloader | MultiPolygon | Polygon | number[][] | number[][][], show : boolean = true) {\n if (isGeoloader(mask)) {\n this.mask = await mask.LoadBoundary()\n } else {\n this.mask = toMultiPolygon(mask)\n }\n\n if (!show) {\n return \n }\n\n this.visible = true\n }\n\n async loadGeoJsonFromLoader(loader: Geoloader) {\n // Load the boundary from the external loader\n const geomask = await loader.LoadBoundary()\n this.mask = geomask\n this.load()\n }\n}\n\n","import { MapGeoJSONFeature, MapMouseEvent, MapTouchEvent, Map as mbMap } from 'maplibre-gl'\nimport { MapService } from '../map.service'\nimport { AddLayer, AddSource, RemoveLayer, RemoveSource } from '../mapbox-utils'\nimport { MapboxMapper } from '../mapper'\n\n// Extend the event interfaces to include features property for layer-specific events\ninterface MapLayerMouseEvent extends MapMouseEvent {\n features?: MapGeoJSONFeature[]\n}\n\ninterface MapLayerTouchEvent extends MapTouchEvent {\n features?: MapGeoJSONFeature[]\n}\n\nexport class CensusTractMapper implements MapboxMapper {\n public map: mbMap | undefined\n public selected: CensusTract[] = []\n public svc: MapService | undefined\n hoveredStateId: string | number | null = null\n\n constructor(public belowLayer?: string) {}\n\n onReady(map: mbMap, svc: MapService) {\n this.map = map\n this.svc = svc\n this.load()\n }\n\n reset() {\n this.clear()\n this.load()\n }\n\n clear() {\n if (!this.map) return\n this.map.off('click', 'tracts-fill', this.onClick)\n this.map.off('mousemove', 'tracts-fill', this.onMouseMove)\n this.map.off('mouseleave', 'tracts-fill', this.onMouseLeave)\n RemoveLayer(this.map, 'tracts-fill')\n RemoveSource(this.map, 'tracts')\n }\n\n get count(): number {\n return this.selected.length\n }\n\n get total(): number {\n return this.selected.length\n }\n\n removeSelection(feature: CensusTract) {\n this.toggleSelection(feature, false)\n if (!this.map) return\n const featureId = { source: 'tracts', sourceLayer: 'CensusTract', id: feature.GeoID }\n let state = this.map.getFeatureState(featureId)\n if (state) {\n state['selected'] = false\n } else {\n state = { selected: false }\n }\n\n this.map.setFeatureState(featureId, state)\n }\n\n toggleSelection(feature: CensusTract, selected: boolean) {\n const index = this.selected.findIndex((a) => a.GeoID == feature.GeoID)\n if (selected) {\n if (index == -1) {\n this.selected.push(feature)\n }\n } else {\n if (index >= 0) {\n this.selected.splice(index, 1)\n }\n }\n }\n\n load() {\n if (!this.map) return\n\n AddSource(this.map, 'tracts', {\n type: 'vector',\n tiles: ['https://gis.data.census.gov/arcgis/rest/services/Hosted/VT_2019_140_00_PY_D1/VectorTileServer/tile/{z}/{y}/{x}.pbf'],\n promoteId: 'GEOID', // promote field to be used as a foreign key\n })\n AddLayer(\n this.map,\n {\n id: 'tracts-fill',\n type: 'fill',\n source: 'tracts',\n 'source-layer': 'CensusTract',\n paint: {\n 'fill-outline-color': '#e5541c',\n 'fill-color': [\n 'case',\n ['==', ['feature-state', 'hover'], true],\n 'rgba(229, 85, 28, 0.8)',\n ['==', ['feature-state', 'selected'], true],\n 'rgba(229, 85, 28, 0.5)',\n 'rgba(0,0,0,0)',\n ],\n },\n },\n this.belowLayer,\n )\n\n this.map.on('click', 'tracts-fill', this.onClick)\n\n // When the user moves their mouse over the layer, we'll update the\n // feature state for the feature under the mouse.\n this.map.on('mousemove', 'tracts-fill', this.onMouseMove)\n\n // When the mouse leaves the layer, update the feature state of the\n // previously hovered feature.\n this.map.on('mouseleave', 'tracts-fill', this.onMouseLeave)\n }\n\n onClick = (e: MapLayerMouseEvent | MapLayerTouchEvent) => {\n if (!this.svc || !this.map) return\n\n var coordinates = e.lngLat\n console.log('Clicked on ', e)\n\n\n //look up GINI value\n if (e?.features && e.features.length > 0) {\n let state = e.features[0].state\n const selected = state?.['selected'] ? true : false\n if (state) {\n state['selected'] = !selected\n } else {\n state = { selected: !selected }\n }\n\n const isSelected : boolean = state['selected'] as boolean\n this.toggleSelection(\n {\n Basename: e.features[0]?.properties?.['BASENAME'],\n Fullname: e.features[0]?.properties?.['FULLNAME'],\n GeoID: e.features[0]?.properties?.['GEOID'],\n },\n isSelected,\n )\n\n if (e.features[0].id !== undefined) {\n this.map.setFeatureState({ source: 'tracts', sourceLayer: 'CensusTract', id: e.features[0].id }, state)\n }\n }\n }\n\n onMouseMove = (e: MapLayerMouseEvent | MapLayerTouchEvent) => {\n if (!this.svc || !this.map) return\n\n if (e?.features && e.features.length > 0) {\n // Remove the old hover state\n if (this.hoveredStateId !== null) {\n let lastId = { source: 'tracts', sourceLayer: 'CensusTract', id: this.hoveredStateId }\n let state = this.map.getFeatureState(lastId)\n if (state) {\n state['hover'] = false\n } else {\n state = { hover: false }\n }\n this.map.setFeatureState(lastId, state)\n }\n\n // Add new hover\n let state = e.features[0].state\n if (state) {\n state['hover'] = false\n } else {\n state = { hover: false }\n }\n\n this.hoveredStateId = e.features[0].id as string | number\n if (this.hoveredStateId !== undefined) {\n this.map.setFeatureState({ source: 'tracts', sourceLayer: 'CensusTract', id: this.hoveredStateId }, { hover: true })\n }\n }\n }\n\n onMouseLeave = () => {\n if (!this.svc || !this.map) return\n \n if (this.hoveredStateId !== null) {\n let state = this.map.getFeatureState({ source: 'tracts', sourceLayer: 'CensusTract', id: this.hoveredStateId })\n if (state) {\n state['hover'] = false\n } else {\n state = { hover: false }\n }\n\n this.map.setFeatureState({ source: 'tracts', sourceLayer: 'CensusTract', id: this.hoveredStateId }, state)\n }\n this.hoveredStateId = null\n }\n}\n\nexport interface CensusTract {\n Basename: string\n Fullname: string\n GeoID: string\n}\n","\nexport class LayerSettings {\n visible = true\n}\n\nexport class PolygonLayerSettings extends LayerSettings {\n fillColor = '#888888'\n fillOpacity = 0.5\n opacity = 0.7\n borderColor = '#ffffff'\n borderWidth = 0.5\n borderOpacity = 0.8\n}\n\nexport type ColorValues = {[key: string]: string}\n\nexport class DiscreteColors {\n colors : ColorValues = {}\n}\n\n\n","import { effect, signal } from '@angular/core';\nimport { Map, Popup } from 'maplibre-gl';\nimport { MapService } from '../map.service';\nimport {\n AddLayer,\n AddSource,\n discoverLayers,\n RemoveLayer,\n RemoveSource,\n} from '../mapbox-utils';\nimport { LegendDesc, MapboxMapper } from '../mapper';\nimport { PolygonLayerSettings } from './settings';\nimport { StandardLayersMapper } from './standard-layers-mapper';\n\nexport class HardinessMapper implements MapboxMapper {\n LAYER_ID = 'hardiness-layer';\n SOURCE_ID = 'hardinessSource';\n SOURCE_LAYER = 'hardiness2023';\n PMTILES_URL =\n 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/hardiness2023.pmtiles';\n\n current: Popup | null = null;\n currentFeatureID: string | number | undefined = undefined;\n over = signal<GeoJSON.Feature | null>(null);\n settings = signal(new HardinessSettings());\n\n async onStyleChange(map: Map, svc: MapService): Promise<void> {\n // await this.onReady(map, svc);\n }\n\n constructor(settings?: Partial<HardinessSettings>) {\n if (settings) {\n this.settings.set({\n ...this.settings(),\n ...settings\n });\n }\n const _ = effect(() => {\n const settings = this.settings();\n // this._update(settings);\n this.create();\n });\n }\n\n async create() {\n if (!this.map) {\n return;\n }\n const map: Map = this.map;\n\n // Method 1: Get available layers from PMTiles metadata\n const layers = await discoverLayers(this.PMTILES_URL);\n console.log('Discovered layers:', layers);\n\n AddSource(map, this.SOURCE_ID, {\n type: 'vector',\n url: this.PMTILES_URL,\n });\n\n const added = AddLayer(\n map,\n {\n id: this.LAYER_ID,\n source: this.SOURCE_ID,\n 'source-layer': this.SOURCE_LAYER,\n type: 'fill',\n },\n StandardLayersMapper.POLYGONS_BACKGROUND\n );\n\n this._update(this.settings());\n\n if (added) {\n map.on('mousemove', this.LAYER_ID, (e) => {\n this.over.set(\n e.features && e.features.length > 0 ? e.features[0] : null\n );\n });\n\n map.on('click', this.LAYER_ID, (e) => {\n // Publish\n this.over.set(\n e.features && e.features.length > 0 ? e.features[0] : null\n );\n if (e.features && e.features.length > 0) {\n const feature = e.features[0];\n const coordinates = e.lngLat;\n console.log('Feature properties:', feature.properties);\n const name = feature.properties\n ? feature.properties['zone']\n : 'Unknown';\n\n // Ensure that if the popup is already open, we don't create a new one\n if (this.popup) {\n this.popup.remove();\n }\n const fields = feature.properties\n ? Object.entries(feature.properties)\n .map(([key, value]) => `<strong>${key}:</strong> ${value}`)\n .join('<br/>')\n : '';\n\n this.currentFeatureID = feature?.properties?.['globalid'];\n this.popup = new Popup({ maxWidth: '400px' })\n .setLngLat(coordinates)\n .setHTML(`<strong>Hardiness:</strong> ${name}<hr /><br/>${fields}`)\n .addTo(map);\n }\n });\n }\n }\n\n update(newSettings: Partial<HardinessSettings>) {\n this.settings.set({...this.settings(), ...newSettings});\n }\n\n private _update(settings: HardinessSettings) {\n if (!this.map) {\n return;\n }\n\n // Visiblitiy\n if (settings.visible) {\n this.map.setLayoutProperty(this.LAYER_ID, 'visibility', 'visible');\n } else {\n this.map.setLayoutProperty(this.LAYER_ID, 'visibility', 'none');\n }\n\n // Update paint properties\n this.map.setPaintProperty(this.LAYER_ID, 'fill-color', [\n 'case',\n ['==', ['get', 'zone'], '1a'], settings.zone1a,\n ['==', ['get', 'zone'], '1b'], settings.zone1b,\n ['==', ['get', 'zone'], '2a'], settings.zone2a,\n ['==', ['get', 'zone'], '2b'], settings.zone2b,\n ['==', ['get', 'zone'], '3a'], settings.zone3a,\n ['==', ['get', 'zone'], '3b'], settings.zone3b,\n ['==', ['get', 'zone'], '4a'], settings.zone4a,\n ['==', ['get', 'zone'], '4b'], settings.zone4b,\n ['==', ['get', 'zone'], '5a'], settings.zone5a,\n ['==', ['get', 'zone'], '5b'], settings.zone5b,\n ['==', ['get', 'zone'], '6a'], settings.zone6a,\n ['==', ['get', 'zone'], '6b'], settings.zone6b,\n ['==', ['get', 'zone'], '7a'], settings.zone7a,\n ['==', ['get', 'zone'], '7b'], settings.zone7b,\n ['==', ['get', 'zone'], '8a'], settings.zone8a,\n ['==', ['get', 'zone'], '8b'], settings.zone8b,\n ['==', ['get', 'zone'], '9a'], settings.zone9a,\n ['==', ['get', 'zone'], '9b'], settings.zone9b,\n ['==', ['get', 'zone'], '10a'], settings.zone10a,\n ['==', ['get', 'zone'], '10b'], settings.zone10b,\n ['==', ['get', 'zone'], '11a'], settings.zone11a,\n ['==', ['get', 'zone'], '11b'], settings.zone11b,\n ['==', ['get', 'zone'], '12a'], settings.zone12a,\n ['==', ['get', 'zone'], '12b'], settings.zone12b,\n ['==', ['get', 'zone'], '13a'], settings.zone13a,\n ['==', ['get', 'zone'], '13b'], settings.zone13b,\n settings.fillColor,\n ]);\n\n this.map.setPaintProperty(\n this.LAYER_ID,\n 'fill-opacity',\n settings.fillOpacity\n );\n\n // Set up the legend\n if (settings.visible) {\n this.legends = [\n {\n title: 'USDA Plant Hardiness Zones',\n items: [\n { value: settings.zone1a, label: 'Zone 1a' },\n { value: settings.zone1b, label: 'Zone 1b' },\n { value: settings.zone2a, label: 'Zone 2a' },\n { value: settings.zone2b, label: 'Zone 2b' },\n { value: settings.zone3a, label: 'Zone 3a' },\n { value: settings.zone3b, label: 'Zone 3b' },\n { value: settings.zone4a, label: 'Zone 4a' },\n { value: settings.zone4b, label: 'Zone 4b' },\n { value: settings.zone5a, label: 'Zone 5a' },\n { value: settings.zone5b, label: 'Zone 5b' },\n { value: settings.zone6a, label: 'Zone 6a' },\n { value: settings.zone6b, label: 'Zone 6b' },\n { value: settings.zone7a, label: 'Zone 7a' },\n { value: settings.zone7b, label: 'Zone 7b' },\n { value: settings.zone8a, label: 'Zone 8a' },\n { value: settings.zone8b, label: 'Zone 8b' },\n { value: settings.zone9a, label: 'Zone 9a' },\n { value: settings.zone9b, label: 'Zone 9b' },\n { value: settings.zone10a, label: 'Zone 10a' },\n { value: settings.zone10b, label: 'Zone 10b' },\n { value: settings.zone11a, label: 'Zone 11a' },\n { value: settings.zone11b, label: 'Zone 11b' },\n { value: settings.zone12a, label: 'Zone 12a' },\n { value: settings.zone12b, label: 'Zone 12b' },\n { value: settings.zone13a, label: 'Zone 13a' },\n { value: settings.zone13b, label: 'Zone 13b' },\n ],\n },\n ];\n } else {\n this.legends = undefined;\n }\n }\n\n async onReady(map: Map, svc: MapService): Promise<void> {\n this.map = map;\n this.create();\n }\n\n reset(): void {}\n clear(): void {\n RemoveLayer(this.map, this.LAYER_ID);\n RemoveSource(this.map, this.SOURCE_ID);\n }\n\n legends?: LegendDesc[] | undefined;\n count: number = 0;\n total: number = 0;\n map: Map | undefined;\n popup: Popup | null = null;\n}\n\nexport class HardinessSettings extends PolygonLayerSettings {\n zone1a = '#1a237e';\n zone1b = '#283593';\n zone2a = '#3949ab';\n zone2b = '#3f51b5';\n zone3a = '#5c6bc0';\n zone3b = '#7986cb';\n zone4a = '#42a5f5';\n zone4b = '#29b6f6';\n zone5a = '#26c6da';\n zone5b = '#26a69a';\n zone6a = '#66bb6a';\n zone6b = '#9ccc65';\n zone7a = '#d4e157';\n zone7b = '#ffee58';\n zone8a = '#ffca28';\n zone8b = '#ffa726';\n zone9a = '#ff8a65';\n zone9b = '#ff7043';\n zone10a = '#f4511e';\n zone10b = '#e53935';\n zone11a = '#c62828';\n zone11b = '#ad1457';\n zone12a = '#8e24aa';\n zone12b = '#7b1fa2';\n zone13a = '#6a1b9a';\n zone13b = '#4a148c';\n override fillColor = '#cccccc'; // default color for unknown zones\n override fillOpacity = 0.7;\n override borderOpacity = 0;\n}\n","import { CircleLayerSpecification, FillLayerSpecification, LineLayerSpecification, Map, SymbolLayerSpecification } from 'maplibre-gl'\nimport { MapService } from '../map.service'\nimport { AddLayer, AddSource, RemoveLayer, RemoveSource } from '../mapbox-utils'\nimport { LegendDesc, MapboxMapper } from '../mapper'\nimport { StandardLayersMapper } from './standard-layers-mapper'\n\nexport class VectorTileServerMapper implements MapboxMapper {\n legends?: LegendDesc[]\n count: number = 0\n total: number = 0\n\n map: Map | undefined\n svc: MapService | undefined\n display: boolean = true\n displayLabels: boolean = true\n\n constructor(private src: VectorTileServerSource) {}\n\n onReady(map: Map, svc: MapService) {\n this.map = map\n this.svc = svc\n this.addSource()\n this.addLayers()\n }\n reset() {\n this.clear()\n this.addSource()\n this.addLayers()\n }\n \n clear() {\n if (!this.map) return \n for (const layer of this.src.layerStyles) {\n RemoveLayer(this.map, layer.id)\n }\n if (this.src.labelStyles) {\n for (const layer of this.src.labelStyles) {\n RemoveLayer(this.map, layer.id)\n }\n }\n RemoveSource(this.map, this.src.layerId)\n }\n\n addSource() {\n if (!this.map) return \n AddSource(this.map, this.src.layerId, {\n type: 'vector',\n tiles: [`https://gis.data.census.gov/${this.src.tileSource}/tile/{z}/{y}/{x}.pbf`],\n promoteId: 'GEOID', // promote field to be used as a foreign key\n })\n }\n\n addLayers() {\n for (const layer of this.src.layerStyles) {\n let layerCopy = JSON.parse(JSON.stringify(layer))\n layerCopy.source = this.src.layerId\n AddLayer(this.map, layerCopy, StandardLayersMapper.POLYGONS_BACKGROUND)\n }\n\n if (this.src.labelStyles) {\n for (const layer of this.src.labelStyles) {\n let layerCopy = JSON.parse(JSON.stringify(layer))\n layerCopy.source = this.src.layerId\n delete layerCopy.layout['text-font']\n AddLayer(this.map, layerCopy, StandardLayersMapper.POINTS)\n }\n }\n this.updateBoth(false)\n }\n\n updateBoth(v: boolean) {\n this.updateDisplay(v)\n this.updateDisplayLabels(v)\n }\n\n updateDisplay(v: boolean) {\n this.display = v\n if (!this.map) return\n\n if (v) {\n for (const layer of this.src.layerStyles) {\n this.map.setLayoutProperty(layer.id, 'visibility', 'visible')\n }\n } else {\n for (const layer of this.src.layerStyles) {\n this.map.setLayoutProperty(layer.id, 'visibility', 'none')\n }\n }\n }\n\n updateDisplayLabels(v: boolean) {\n this.displayLabels = v\n if (!this.map) return\n if (!this.src.labelStyles) return\n\n if (v) {\n for (const layer of this.src.labelStyles) {\n this.map.setLayoutProperty(layer.id, 'visibility', 'visible')\n }\n } else {\n for (const layer of this.src.labelStyles) {\n this.map.setLayoutProperty(layer.id, 'visibility', 'none')\n }\n }\n }\n}\n\ntype PossibleLayer = SymbolLayerSpecification | FillLayerSpecification | LineLayerSpecification | CircleLayerSpecification\n\nexport interface VectorTileServerSource {\n labelStyles?: SymbolLayerSpecification[]\n displayName: string\n tileSource: string\n layerStyles: PossibleLayer[]\n layerId: string\n name: string\n}\n\n// export interface Style {\n// layout: maplibregl.SymbolLayout | maplibregl.FillLayout | maplibregl.LineLayout\n// maxzoom: number\n// paint: maplibregl.SymbolPaint | maplibregl.FillPaint | maplibregl.LinePaint\n// id: string\n// source: string\n// \"source-layer\": string\n// type: 'symbol' | 'fill' | 'line'\n// minzoom: number\n// }\n","import { effect, signal } from '@angular/core';\nimport { Map, Popup } from 'maplibre-gl';\nimport { MapService } from '../map.service';\nimport { AddLayer, AddSource } from '../mapbox-utils';\nimport { LegendDesc, MapboxMapper } from '../mapper';\nimport { StandardLayersMapper } from './standard-layers-mapper';\n\nexport type HydrologicUnit = 'HUC2' | 'HUC4' | 'HUC6' | 'HUC8' | 'HUC10' | 'HUC12';\n\nexport class WatershedMapper implements MapboxMapper {\n static WBDHU2 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/WBDHU2.pmtiles';\n static WBDHU4 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/WBDHU4.pmtiles';\n static WBDHU6 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/watershedhu6.pmtiles';\n static WBDHU8 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/WBDHU8.pmtiles';\n static WBDHU10 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/WBDHU10.pmtiles';\n static WBDHU12 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/WBDHU12.pmtiles';\n\n FILL_LAYER_ID = 'watershed-layer';\n LINE_LAYER_ID = 'watershed-layer-line';\n LABEL_LAYER_ID = 'watershed-layer-label';\n SOURCE_ID = 'watershedSource';\n SOURCE_LAYER = 'watershedhu6';\n currentHU: HydrologicUnit = 'HUC6';\n settings = signal(new WatershedSettings());\n current: Popup | null = null;\n currentFeatureID: string | number | undefined = undefined;\n over = signal<GeoJSON.Feature | null>(null);\n\n constructor(settings?: Partial<WatershedSettings>) {\n if (settings) {\n this.settings.set({\n ...this.settings(),\n ...settings\n });\n }\n const _ = effect(() => {\n const settings = this.settings();\n this._update(settings);\n });\n }\n\n update(settings: Partial<WatershedSettings>) {\n this.settings.set({...this.settings(), ...settings});\n }\n\n private _update(settings: WatershedSettings) {\n if (!this.map) {\n return;\n }\n const map: Map = this.map;\n\n if (this.currentHU !== settings.hydrologicUnit) {\n this.clear();\n this.currentHU = settings.hydrologicUnit;\n this.create();\n }\n\n if (settings.visible) {\n map.setLayoutProperty(this.FILL_LAYER_ID, 'visibility', 'visible');\n map.setLayoutProperty(this.LINE_LAYER_ID, 'visibility', 'visible');\n } else {\n map.setLayoutProperty(this.FILL_LAYER_ID, 'visibility', 'none');\n map.setLayoutProperty(this.LINE_LAYER_ID, 'visibility', 'none');\n }\n\n map.setPaintProperty(this.FILL_LAYER_ID, 'fill-color', settings.fillColor);\n map.setPaintProperty(this.FILL_LAYER_ID, 'fill-opacity', settings.fillOpacity);\n\n map.setPaintProperty(this.LINE_LAYER_ID, 'line-color', settings.borderColor);\n map.setPaintProperty(this.LINE_LAYER_ID, 'line-width', settings.borderWidth);\n map.setPaintProperty(this.LINE_LAYER_ID, 'line-opacity', settings.borderOpacity);\n\n const watershedLabelVisible = settings.visible && settings.labelsVisible;\n map.setLayoutProperty(this.LABEL_LAYER_ID, 'visibility', watershedLabelVisible ? 'visible' : 'none');\n // map.setPaintProperty(this.LABEL_LAYER_ID, 'text-size', settings.labelsSize);\n map.setPaintProperty(this.LABEL_LAYER_ID, 'text-color', settings.labelsColor);\n map.setPaintProperty(this.LABEL_LAYER_ID, 'text-halo-color', settings.labelsHaloColor);\n map.setPaintProperty(this.LABEL_LAYER_ID, 'text-halo-width', settings.labelsHaloWidth);\n }\n\n private create() {\n if (!this.map) {\n return;\n }\n const map: Map = this.map;\n\n let PMTILES_URL = WatershedMapper.WBDHU6;\n switch (this.settings().hydrologicUnit) {\n case 'HUC2':\n PMTILES_URL = WatershedMapper.WBDHU2;\n this.SOURCE_LAYER = 'WBDHU2';\n break;\n case 'HUC4':\n PMTILES_URL = WatershedMapper.WBDHU4;\n this.SOURCE_LAYER = 'WBDHU4';\n break;\n case 'HUC6':\n PMTILES_URL = WatershedMapper.WBDHU6;\n this.SOURCE_LAYER = 'watershedhu6';\n break;\n case 'HUC8':\n PMTILES_URL = WatershedMapper.WBDHU8;\n this.SOURCE_LAYER = 'WBDHU8';\n break;\n case 'HUC10':\n PMTILES_URL = WatershedMapper.WBDHU10;\n this.SOURCE_LAYER = 'WBDHU10';\n break;\n case 'HUC12':\n PMTILES_URL = WatershedMapper.WBDHU12;\n this.SOURCE_LAYER = 'WBDHU12';\n break;\n default:\n PMTILES_URL = WatershedMapper.WBDHU6;\n this.SOURCE_LAYER = 'watershedhu6'; \n }\n \n AddSource(map, this.SOURCE_ID, {\n type: 'vector',\n url: PMTILES_URL,\n });\n\n const addedFill = AddLayer(map,\n {\n id: this.FILL_LAYER_ID,\n source: this.SOURCE_ID,\n \"source-layer\": this.SOURCE_LAYER, \n type: 'fill',\n },\n StandardLayersMapper.POLYGONS_BACKGROUND\n );\n\n // map.showTileBoundaries = true;\n AddLayer(map,\n {\n id: this.LINE_LAYER_ID,\n source: this.SOURCE_ID,\n \"source-layer\": this.SOURCE_LAYER,\n type: 'line',\n },\n StandardLayersMapper.POLYGONS_BACKGROUND\n );\n\n AddLayer(map,\n {\n id: this.LABEL_LAYER_ID,\n source: this.SOURCE_ID,\n \"source-layer\": this.SOURCE_LAYER,\n type: 'symbol',\n layout: {\n 'text-field': ['get', 'name'],\n },\n paint: {\n 'text-color': this.settings().labelsColor,\n 'text-halo-color': this.settings().labelsHaloColor,\n 'text-halo-width': this.settings().labelsHaloWidth,\n // 'text-size': this.settings().labelsSize,\n },\n },\n StandardLayersMapper.POLYGONS_BACKGROUND\n ); \n\n this._update(this.settings());\n\n if (!addedFill) {\n return;\n }\n\n map.on('zoomend', () => {\n if (!this.settings().visible) {\n return \n }\n\n const zoom = map.getZoom();\n if (this.settings().autoSelectLayer) {\n if (zoom >= 0 && zoom < 5 && this.currentHU !== 'HUC2') {\n this.update({ hydrologicUnit: 'HUC2' });\n } else if (zoom >=5 && zoom < 7 && this.currentHU !== 'HUC4') {\n this.update({ hydrologicUnit: 'HUC4' });\n } else if (zoom >=7 && zoom < 9 && this.currentHU !== 'HUC6') {\n this.update({ hydrologicUnit: 'HUC6' });\n } else if (zoom >=9 && zoom < 11 && this.currentHU !== 'HUC8') {\n this.update({ hydrologicUnit: 'HUC8' });\n } else if (zoom >=11 && zoom < 13 && this.currentHU !== 'HUC10') {\n this.update({ hydrologicUnit: 'HUC10' });\n } else if (zoom >=13 && this.currentHU !== 'HUC12') {\n this.update({ hydrologicUnit: 'HUC12' });\n }\n }\n })\n\n map.on('mousemove', this.FILL_LAYER_ID, (e) => {\n this.over.set(e.features && e.features.length > 0 ? e.features[0] : null);\n });\n\n map.on('click', this.FILL_LAYER_ID, (e) => {\n // Publish\n this.over.set(e.features && e.features.length > 0 ? e.features[0] : null);\n if (e.features && e.features.length > 0) {\n const feature = e.features[0];\n const coordinates = e.lngLat;\n console.log('Feature properties:', feature.properties);\n const name = feature.properties\n ? feature.properties['name']\n : 'Unknown';\n\n // Ensure that if the popup is already open, we don't create a new one\n if (this.popup) {\n this.popup.remove();\n }\n const fields = feature.properties\n ? Object.entries(feature.properties)\n .map(([key, value]) => `<strong>${key}:</strong> ${value}`)\n .join('<br/>')\n : '';\n\n this.currentFeatureID = feature?.properties?.['globalid'];\n this.popup = new Popup({ maxWidth: '400px' })\n .setLngLat(coordinates)\n .setHTML(`<strong>Watershed:</strong> ${name}<hr /><br/>${fields}`)\n .addTo(map);\n }\n });\n \n }\n\n\n async onReady(map: Map, svc: MapService): Promise<void> {\n this.map = map;\n this.create();\n }\n reset(): void {}\n clear(): void {\n if (this.map) {\n this.map.removeLayer(this.FILL_LAYER_ID);\n this.map.removeLayer(this.LINE_LAYER_ID);\n this.map.removeLayer(this.LABEL_LAYER_ID);\n this.map.removeSource(this.SOURCE_ID);\n }\n }\n\n legends?: LegendDesc[] | undefined;\n count: number = 0;\n total: number = 0;\n map: Map | undefined;\n popup: Popup | null = null;\n}\n\nexport class WatershedSettings {\n hydrologicUnit : HydrologicUnit = 'HUC6';\n visible = true;\n fillColor = '#0000ff';\n fillOpacity = 0.1;\n borderColor = '#01018bff';\n borderWidth = 1;\n borderOpacity = 1.0; \n labelsVisible = true;\n labelsSize : number = 12;\n labelsColor = '#000000';\n labelsHaloColor = '#ffffff';\n labelsHaloWidth = 1;\n autoSelectLayer = false;\n}","import { HttpClient } from \"@angular/common/http\"\nimport { MultiPolygon, Polygon } from \"geojson\"\nimport { firstValueFrom } from \"rxjs\"\nimport { Geoloader, toMultiPolygon } from \"./interfaces\"\n\n\nexport class HttpBoundaryLoader implements Geoloader {\n static NewCustom(http: HttpClient, path: string) {\n const loader = new HttpBoundaryLoader(http)\n loader.customUrl = path\n return loader\n }\n\n static NewStandard(http: HttpClient, geoType: 'county' | 'state' | 'fips', geoids: string) {\n const loader = new HttpBoundaryLoader(http)\n loader.geoType = geoType\n loader.geoids = geoids\n return loader\n }\n\n private http: HttpClient \n private geoType: 'county' | 'state' | 'fips' = 'state'\n private geoids: string | undefined\n private customUrl: string | undefined\n\n constructor(http: HttpClient) {\n this.http = http\n }\n\n boundary: MultiPolygon | undefined\n\n LoadBoundary(): Promise<MultiPolygon| undefined> {\n if (this.boundary) {\n return Promise.resolve(this.boundary)\n }\n\n if (this.geoType == 'county' && this.geoids) {\n return this.loadCounty(this.geoids)\n }\n if (this.geoType == 'state' && this.geoids) {\n return this.loadState(this.geoids)\n }\n if (this.geoType == 'fips' && this.geoids) {\n return this.loadCounties(this.geoids)\n }\n if (this.customUrl) {\n return this.loadCustom(this.customUrl)\n }\n return Promise.resolve(undefined)\n }\n\n loadCounty(geoid: string) {\n let url = 'https://public.opendatasoft.com/api/records/1.0/search/?dataset=us-county-boundaries&q=&facet=stusab&refine.geoid=' + geoid\n return this.loadGeoJson(url, 'geo_shape')\n }\n\n loadCounties(abbr: string) {\n let url = 'https://public.opendatasoft.com/api/records/1.0/search/?dataset=us-county-boundaries&q=&rows=1000&refine.stusab=' + abbr\n return this.loadGeoJson(url, 'geo_shape')\n }\n\n loadState(abbr: string) {\n console.log('Loading State ', abbr)\n let url = 'https://public.opendatasoft.com/api/records/1.0/search/?dataset=us-state-boundaries&q=&facet=name&refine.stusab=' + abbr\n return this.loadGeoJson(url, 'st_asgeojson')\n }\n\n loadCustom(path: string) {\n return this.loadGeoJson(path, 'features')\n }\n\n async loadGeoJson(url: string, geofield: string): Promise<MultiPolygon | undefined> {\n const response : any = await firstValueFrom(this.http.get(url))\n if (!response) {\n return undefined\n }\n if (!response.records && !response[geofield]) {\n return undefined\n }\n\n let records: any[] = response.records || response[geofield]\n if (!records || records.length == 0) {\n return undefined\n }\n \n const record = records[0]\n let geo = record\n if (record.geometry) {\n geo = record.geometry\n }\n if (record.fields && record.fields[geofield]) {\n geo = record.fields[geofield]\n }\n\n if (geo.type == \"Polygon\") {\n this.boundary = toMultiPolygon(geo as Polygon)\n } else if (geo.type == \"MultiPolygon\") {\n this.boundary = geo as MultiPolygon\n } else {\n console.error('Unknown geometry type: ', geo.type)\n return undefined\n }\n\n return this.boundary\n }\n \n}","/*\n * Public API Surface of mapag\n */\n\nexport * from './lib/basemap-select';\nexport * from './lib/basemap-select-menu';\nexport * from './lib/basemaps';\nexport * from './lib/map-area-select/map-area-select.component';\nexport * from './lib/map-selection.service';\nexport * from './lib/map.component';\nexport * from './lib/map.service';\nexport * from './lib/mapbox-utils';\nexport * from './lib/mapper';\nexport * from './lib/mappers/area-mapper';\nexport * from './lib/mappers/background-mask';\nexport * from './lib/mappers/census-tracts-mapper';\nexport * from './lib/mappers/drawing-mapper';\nexport * from './lib/mappers/hardiness';\nexport * from './lib/mappers/standard-layers-mapper';\nexport * from './lib/mappers/vector-tile-server-mapper';\nexport * from './lib/mappers/watershed';\nexport * from './lib/services/http-boundary-loader';\nexport * from './lib/services/interfaces';\nexport * from './lib/styles';\n// export * from './lib/models/census-zipcodes';\n// export * from './lib/models/census-counties';\n// export * from './lib/models/census-states';\n// export * from './lib/models/census-tracts';\n// export * from './lib/models/layers';\n// export * from './lib/models/vector-tile-server-source';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["BasemapSelectComponent","i1"],"mappings":"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,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD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wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;AACd,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN,KAAK;gBACL,OAAO;gBACP,KAAK;gBACL,QAAQ;gBACR;AACD,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;oBACD,EAAE;oBACF,EAAE;oBACF;AACD,iBAAA;AACD,gBAAA,qBAAqB,EAAE,GAAG;AAC1B,gBAAA,gBAAgB,EAAE,CAAC;AACnB,gBAAA,gBAAgB,EAAE;AACnB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,CAAC;AACpB,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,qBAAqB;AAC3B,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN;AACD,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,qBAAqB,EAAE,GAAG;AAC1B,gBAAA,gBAAgB,EAAE;AACnB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN,MAAM;gBACN;AACD,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;A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;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;AACd,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,MAAM;AACtB,YAAA,QAAQ,EAAE;gBACR,KAAK;AACL,gBAAA;oBACE,IAAI;AACJ,oBAAA;wBACE,KAAK;wBACL;AACD,qBAAA;AACD,oBAAA;wBACE,SAAS;AACT,wBAAA;4BACE,OAAO;4BACP,QAAQ;4BACR,QAAQ;4BACR,MAAM;4BACN,MAAM;4BACN,KAAK;4BACL,QAAQ;4BACR,OAAO;4BACP,WAAW;4BACX,SAAS;4BACT,UAAU;4BACV,gBAAgB;4BAChB,SAAS;4BACT,YAAY;4BACZ,SAAS;4BACT,QAAQ;4BACR,QAAQ;4BACR,SAAS;4BACT,gBAAgB;4BAChB,aAAa;4BACb,UAAU;4BACV,UAAU;4BACV,YAAY;4BACZ,WAAW;4BACX,MAAM;4BACN,KAAK;4BACL,aAAa;4BACb,aAAa;4BACb,OAAO;4BACP,QAAQ;4BACR,aAAa;4BACb,SAAS;4BACT,YAAY;4BACZ,QAAQ;4BACR,SAAS;4BACT;AACD;AACF;AACF,iBAAA;AACD,gBAAA;oBACE,IAAI;AACJ,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE,GAAG;AACH,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;wBACD;AACD;AACF;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,YAAY,EAAE;oBACZ,OAAO;AACP,oBAAA;wBACE,KAAK;wBACL;AACD,qBAAA;oBACD,SAAS;oBACT,eAAe;AACf,oBAAA;wBACE,KAAK;wBACL;AACD;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;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CACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,gBAAgB,EAAE,CAAC;AACnB,gBAAA,qBAAqB,EAAE,GAAG;AAC1B,gBAAA,cAAc,EAAE;oBACd,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,EAAE;oBACF,EAAE;oBACF,EAAE;oBACF;AACD,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX,aAAa;AACb,oBAAA;wBACE,aAAa;wBACb;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,EAAE;oBACF,CAAC;oBACD,EAAE;oBACF,EAAE;oBACF,EAAE;oBACF;AACD,iBAAA;AACD,gBAAA,gBAAgB,EAAE;AACnB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN;AACD,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,iBAAiB,EAAE;oBACjB,KAAK;oBACL;AACD,iBAAA;AACD,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE,UAAU;AACV,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,KAAK;4BACL;AACD;AACF,qBAAA;oBACD,CAAC;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;AACL,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;AACL,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,MAAM;AACN,gCAAA;oCACE,KAAK;AACL,oCAAA;wCACE,qBAAqB;AACrB,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,MAAM;AACN,wCAAA;4CACE,KAAK;AACL,4CAAA;gDACE,GAAG;AACH,gDAAA;oDACE,KAAK;oDACL;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;AACD,4CAAA;gDACE,GAAG;AACH,gDAAA;oDACE,KAAK;oDACL;AACD;AACF;AACF,yCAAA;wCACD,EAAE;AACF,wCAAA;4CACE,UAAU;AACV,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;AACD,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;AACL,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,MAAM;AACN,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,MAAM;AACN,gCAAA;oCACE,GAAG;AACH,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF,qCAAA;oCACD,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF,iCAAA;AACD,gCAAA;oCACE,GAAG;AACH,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF,qCAAA;oCACD,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF,qCAAA;oCACD,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;oBACD,EAAE;oBACF,CAAC;oBACD;AACD,iBAAA;AACD,gBAAA,oBAAoB,EAAE,GAAG;AACzB,gBAAA,aAAa,EAAE,QAAQ;AACvB,gBAAA,gBAAgB,EAAE;AACnB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN;AACD,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,SAAS;wBACT;AACD,qBAAA;oBACD,CAAC;oBACD;AACD,iBAAA;AACD,gBAAA,WAAW,EAAE,GAAG;AAChB,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX,MAAM;AACN,oBAAA;wBACE,IAAI;AACJ,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;wBACD;AACD,qBAAA;AACD,oBAAA;wBACE,SAAS;AACT,wBAAA;4BACE;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,SAAS;AACT,wBAAA;4BACE;AACD;AACF;AACF,iBAAA;AACD,gBAAA,iBAAiB,EAAE;oBACjB,MAAM;AACN,oBAAA;wBACE,KAAK;wBACL;AACD,qBAAA;AACD,oBAAA;wBACE,KAAK;wBACL;AACD,qBAAA;AACD,oBAAA;wBACE,KAAK;wBACL;AACD;AACF,iBAAA;AACD,gBAAA,cAAc,EAAE;oBACd,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,EAAE;oBACF;AACD,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,CAAC;AACD,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD,qBAAA;oBACD,CAAC;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;AACF,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD,qBAAA;oBACD,CAAC;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;AACF,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD,qBAAA;oBACD,CAAC;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;AACF,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD,qBAAA;oBACD,EAAE;AACF,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;AACF,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD,qBAAA;oBACD,EAAE;AACF,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;AACF,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD;AACF,iBAAA;AACD,gBAAA,cAAc,EAAE;oBACd,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,EAAE;oBACF,CAAC;oBACD,EAAE;oBACF,CAAC;oBACD,EAAE;o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"}
|
|
1
|
+
{"version":3,"file":"foodmarketmaker-mapag.mjs","sources":["../../../projects/mapag/src/lib/mapbox-utils.ts","../../../projects/mapag/src/lib/styles.ts","../../../projects/mapag/src/lib/basemap-select.ts","../../../projects/mapag/src/lib/basemap-select-menu.ts","../../../projects/mapag/src/lib/basemaps.ts","../../../projects/mapag/src/lib/layers.ts","../../../projects/mapag/src/lib/mapper.ts","../../../projects/mapag/src/lib/mappers/standard-layers-mapper.ts","../../../projects/mapag/src/lib/mappers/area-mapper.ts","../../../projects/mapag/src/lib/mappers/drawing-mapper.ts","../../../projects/mapag/src/lib/map.service.ts","../../../projects/mapag/src/lib/map-selection.service.ts","../../../projects/mapag/src/lib/mappers/highlight-mapper.ts","../../../projects/mapag/src/lib/map-area-select/map-area-select.component.ts","../../../projects/mapag/src/lib/map-area-select/map-area-select.component.html","../../../projects/mapag/src/lib/map.component.ts","../../../projects/mapag/src/lib/services/interfaces.ts","../../../projects/mapag/src/lib/mappers/background-mask.ts","../../../projects/mapag/src/lib/mappers/census-tracts-mapper.ts","../../../projects/mapag/src/lib/mappers/settings.ts","../../../projects/mapag/src/lib/mappers/hardiness.ts","../../../projects/mapag/src/lib/mappers/vector-tile-server-mapper.ts","../../../projects/mapag/src/lib/mappers/watershed.ts","../../../projects/mapag/src/lib/services/http-boundary-loader.ts","../../../projects/mapag/src/public-api.ts","../../../projects/mapag/src/foodmarketmaker-mapag.ts"],"sourcesContent":["import { Map as mbMap } from 'maplibre-gl';\nimport { PMTiles } from \"pmtiles\";\nimport { ColorPalette } from \"./color-palettes\";\nexport function SaveMap(map: mbMap) {\n var mapCanvas = map.getCanvas();\n var image = mapCanvas\n .toDataURL('image/png')\n .replace('image/png', 'image/octet-stream');\n // here is the most important part because if you dont replace you will get a DOM 18 exception.\n\n window.location.href = image;\n}\n\nexport function AddLayer(map: mbMap | undefined, layer: any, afterId?: string) : boolean {\n if (!map) return false;\n try {\n if (map.getLayer(layer.id)) {\n console.log(`Layer ${layer.id} already exists`);\n return false;\n }\n map.addLayer(layer, afterId);\n return true;\n } catch (error) {\n console.debug(`Error adding layer ${layer.id}`);\n return false;\n }\n}\n\nexport function RemoveLayer(map: mbMap | undefined, layerId: string) {\n if (!map) return;\n try {\n if (map.getLayer(layerId)) {\n map.removeLayer(layerId);\n }\n } catch (error) {\n console.debug(`Error removing layer ${layerId}: `);\n }\n}\n\nexport function AddSource(\n map: mbMap | undefined,\n sourceId: string,\n source: any\n) {\n if (!map) return;\n try {\n if (map.getSource(sourceId)) {\n return;\n }\n map.addSource(sourceId, source);\n } catch (error) {\n console.debug(`Error adding source ${sourceId} `, error);\n }\n}\n\nexport function RemoveSource(map: mbMap | undefined, sourceId: string) {\n if (!map) return;\n try {\n if (map.getSource(sourceId)) {\n map.removeSource(sourceId);\n }\n } catch (error) {\n console.debug(`Error removing source ${sourceId}: `);\n }\n}\n\ntype Result<T, E = Error> = { data: T; error: null } | { data: null; error: E };\n\nexport function trySync<T>(fn: () => T): Result<T> {\n try {\n const data = fn();\n return { data, error: null };\n } catch (error) {\n return { data: null, error: error as Error };\n }\n}\n\nexport type MapboxLayerType =\n | 'circle'\n | 'icon'\n | 'fill'\n | 'extrusion'\n | 'heatmap';\n\nexport interface IMapboxSettings {\n token: string;\n}\n\nexport function mapboxLoadImages(\n m: mbMap,\n ...images: MapboxImage[]\n): Promise<void[]> {\n const imgs: Promise<void>[] = [];\n\n for (const img of images) {\n imgs.push(mapboxloadImage(m, img));\n }\n\n return Promise.all(imgs);\n}\n\nexport function mapboxloadImage(map: mbMap, img: MapboxImage): Promise<void> {\n const name = img.name || img.url;\n\n if (map.hasImage(name)) {\n return new Promise((resolve, reject) => resolve());\n }\n\n return new Promise((resolve, reject) => {\n console.log('Loading Image, ', img.url, img.sdf);\n map.loadImage(img.url, (error, res) => {\n console.log('Loaded Image: ', name, ' ', img.url);\n if (error) {\n console.error('Error Loading Marker: ', img.url, ', Error: ', error);\n return;\n }\n if (!error && !map.hasImage(name) && res) {\n map.addImage(name, res, { sdf: img.sdf });\n }\n resolve();\n });\n });\n}\n\nexport function simpleClone<T>(obj: T): T {\n return JSON.parse(JSON.stringify(obj));\n}\n\nexport interface MapboxImage {\n name?: string;\n url: string;\n sdf?: boolean;\n size?: number;\n color?: string;\n outlineColor?: string;\n outlineBlur?: number;\n outlineWidth?: number;\n}\n\nexport interface MapboxStyler {\n Name: string;\n Property: string;\n Help?: string;\n Method?: string;\n Datatype: 'color' | 'number';\n Column?: string;\n LastColumn?: string;\n Fixed?: string | number;\n Min?: string | number;\n Max?: string | number;\n RangeStepSize?: number;\n Palette?: ColorPalette | string;\n // Steps ?: {[name : string| number] : string}\n Steps?: { [name: string]: string };\n\n // Steps ?: Map<string | number, string>\n MinAllowed?: string | number;\n MaxAllowed?: string | number;\n Advanced?: boolean;\n}\n\nexport interface DataCustomization {\n areaType: string;\n columnGeoID: string;\n columnLat: string;\n columnLon: string;\n layerTypes: MapboxLayerType[];\n layerType: MapboxLayerType;\n}\n\nexport type AreaSelectionType =\n | 'state'\n | 'county'\n | 'tract'\n | 'none'\n | 'zipcode';\n\nexport interface MapAreaSelection {\n // The type of the area that the user is going to select.\n // Valid options area : \"state\", \"county\", \"tract\", \"none\", \"zipcode\"\n areaType: AreaSelectionType;\n\n // Set of IDs that the user has selected\n areaSelection: string[];\n}\n\nexport async function discoverLayers(pmtilesUrl: string): Promise<string[]> {\n try {\n let url = pmtilesUrl.replace('pmtiles://', '');\n\n // Create PMTiles instance to read metadata\n const pmtiles = new PMTiles(url);\n\n // Get the metadata\n const metadata = (await pmtiles.getMetadata()) as any;\n console.log('PMTiles metadata:', metadata);\n\n // Method 1: Check vector_layers in metadata\n if (metadata && metadata.vector_layers) {\n const layers = metadata.vector_layers.map((layer: any) => layer.id);\n console.log('Available layers from metadata:', layers);\n return layers;\n }\n\n // Method 2: If no vector_layers in metadata, try to get header info\n const header = await pmtiles.getHeader();\n console.log('PMTiles header:', header);\n\n // Method 3: You might need to sample some tiles to discover layers\n return await sampleTilesForLayers(pmtiles);\n } catch (error) {\n console.error('Error discovering layers:', error);\n return [];\n }\n}\n\nexport async function sampleTilesForLayers(\n pmtiles: PMTiles\n): Promise<string[]> {\n try {\n // Sample a few tiles at different zoom levels to find layer names\n const header = await pmtiles.getHeader();\n const minZoom = header.minZoom || 0;\n const maxZoom = Math.min(header.maxZoom || 14, 6); // Don't go too high\n\n const layerNames = new Set<string>();\n\n // Sample tiles at zoom level\n for (let z = minZoom; z <= maxZoom; z++) {\n const tileCount = Math.pow(2, z);\n\n // Sample a few tiles at this zoom level\n for (let x = 0; x < Math.min(tileCount, 4); x++) {\n for (let y = 0; y < Math.min(tileCount, 4); y++) {\n try {\n const tileData = await pmtiles.getZxy(z, x, y);\n if (tileData) {\n // You'd need a vector tile parser here to get layer names\n // This is a simplified approach - in practice you'd use a library\n console.log(\n `Found tile at z${z}x${x}y${y}, size: ${tileData.data.byteLength}`\n );\n }\n } catch (e) {\n // Tile doesn't exist, continue\n }\n }\n }\n }\n\n return Array.from(layerNames);\n } catch (error) {\n console.error('Error sampling tiles:', error);\n return [];\n }\n}\n\n","import { effect, signal } from \"@angular/core\";\nimport { LayerSpecification, Map, SourceSpecification, StyleSpecification } from \"maplibre-gl\";\nimport { AddLayer, AddSource } from \"./mapbox-utils\";\n\n// Define a simple interface for the style JSON structure we need\ninterface StyleJSON {\n sources?: { [key: string]: any };\n layers?: Array<{ id: string; [key: string]: any }>;\n}\n\nexport interface StyleData {\n name: string\n url: string;\n code: string;\n image ?: string;\n nameColor?: string; // Optional color for the style name\n sources?: string[]; // Source IDs from this style\n layers?: string[]; // Layer IDs from this style\n}\n\nexport interface CustomImage {\n data: any; // RGBAImage or other image data formats\n pixelRatio?: number;\n sdf?: boolean;\n}\n\nexport interface CustomSourcesAndLayersData {\n sources: { [key: string]: SourceSpecification };\n layers: LayerSpecification[];\n image: { [key: string]: CustomImage };\n}\n\nexport class Styles {\n style = signal<StyleData>(MapStyles[\"streetmap\"])\n\n map: Map | undefined;\n currentStyleCode: string = \"\";\n customSourcesAndLayers: CustomSourcesAndLayersData = {\n sources: {},\n layers: [],\n image: {},\n };\n \n // Cache for fetched style definitions\n private styleCache: { [key: string]: StyleData } = {};\n // Current basemap sources and layers (from the fetched style JSON)\n private currentBasemapSources = new Set<string>();\n private currentBasemapLayers = new Set<string>();\n\n private _effectRef: any;\n\n initializeEffect() {\n this._effectRef = effect(() => {\n const currentStyle = this.style(); // Read signal outside condition for proper tracking\n if (this.map) {\n this.switchStyle(currentStyle).catch(error => \n console.error('Error switching style:', error)\n );\n }\n });\n }\n\n destroy() {\n if (this._effectRef) {\n this._effectRef.destroy();\n }\n }\n\n async initializeMap(map: Map): Promise<void> {\n this.map = map;\n // Fetch and cache the initial style\n await this.fetchAndCacheStyle(this.style());\n // Set up initial basemap tracking\n this.updateBasemapTracking(this.style());\n }\n\n onStyleChange?: (styleDate : StyleData) => void;\n\n async switchStyle(styleData: StyleData): Promise<void> {\n if (!this.map) return;\n if (styleData.code === this.currentStyleCode) {\n return;\n }\n\n // Fetch and cache the style definition if not already cached\n const styleSpec = await this.fetchAndCacheStyle(styleData);\n if (!styleSpec) {\n return \n }\n\n this.saveCustomSourcesAndLayers();\n this.map.once(\"styledata\", () => {\n setTimeout(() => {\n // Update current basemap tracking from cached style\n this.updateBasemapTracking(styleData);\n // Then restore the custom sources/layers\n this.restoreCustomSourcesAndLayers();\n },100);\n });\n\n // this.map.setStyle(styleData.url);\n this.map.setStyle(styleSpec);\n this.style.set(styleData);\n this.currentStyleCode = styleData.code;\n if (this.onStyleChange) {\n this.onStyleChange(styleData);\n }\n }\n\n highlightActiveStyle?(styleClass: string): void;\n\n public async FetchStyleDefinition(styleData: StyleData): Promise<StyleSpecification> {\n const response = await fetch(styleData.url);\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n const styleSpec: StyleSpecification = await response.json();\n styleSpec.glyphs = 'https://demotiles.maplibre.org/font/{fontstack}/{range}.pbf';\n\n return styleSpec; \n }\n\n private async fetchAndCacheStyle(styleData: StyleData): Promise<StyleSpecification | void> {\n // Skip if already cached\n if (this.styleCache[styleData.code]) {\n return;\n }\n\n // Skip if sources/layers are already defined in the style data\n if (styleData.sources && styleData.layers) {\n this.styleCache[styleData.code] = styleData;\n return;\n }\n\n try {\n const response = await fetch(styleData.url);\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n \n const styleSpec: StyleSpecification = await response.json();\n\n // Add Glyphs\n if (!styleSpec.glyphs) {\n styleSpec.glyphs = 'https://demotiles.maplibre.org/font/{fontstack}/{range}.pbf';\n }\n \n // Extract source and layer IDs\n const sourceIds = Object.keys(styleSpec.sources || {});\n const layerIds = (styleSpec.layers || []).map((layer: any) => layer.id);\n \n // Cache the enhanced style data\n const enhancedStyleData: StyleData = {\n ...styleData,\n sources: sourceIds,\n layers: layerIds\n };\n \n this.styleCache[styleData.code] = enhancedStyleData;\n return styleSpec;\n } catch (error) {\n console.error('Failed to fetch style definition for:', styleData.code, ':', error);\n throw new Error(`Cannot fetch style definition for ${styleData.code}: ${error}`);\n }\n }\n\n private updateBasemapTracking(styleData: StyleData): void {\n this.currentBasemapSources.clear();\n this.currentBasemapLayers.clear();\n \n // ALWAYS use cached style data - never use runtime detection for basemap definition\n const cachedStyle = this.styleCache[styleData.code];\n if (cachedStyle && cachedStyle.sources && cachedStyle.layers) {\n cachedStyle.sources.forEach(id => this.currentBasemapSources.add(id));\n cachedStyle.layers.forEach(id => this.currentBasemapLayers.add(id));\n } else {\n console.error('ERROR: No cached style definition found for:', styleData.code);\n console.error('Available cached styles:', Object.keys(this.styleCache));\n // This should not happen if fetchAndCacheStyle worked correctly\n // Log this as an error so we can debug\n }\n }\n\n saveCustomSourcesAndLayers(): void {\n if (!this.map) return;\n \n // Reset custom sources and layers\n this.customSourcesAndLayers = {\n sources: {},\n layers: [],\n image: {},\n };\n \n const sources = this.map.getStyle().sources;\n \n for (const [sourceId, source] of Object.entries(sources)) {\n // Only save sources that are NOT part of the basemap\n if (!this.currentBasemapSources.has(sourceId)) {\n this.customSourcesAndLayers.sources[sourceId] = source;\n } else {\n }\n }\n \n const layers = this.map.getStyle().layers;\n \n for (const layer of layers) {\n // Only save layers that are NOT part of the basemap\n if (!this.currentBasemapLayers.has(layer.id)) {\n this.customSourcesAndLayers.layers.push(layer);\n } \n }\n\n const allImageIDs = this.map.listImages();\n const customIDs = allImageIDs.filter((id) => id.startsWith(\"customImg-\"));\n if (customIDs.length !== 0) {\n customIDs.forEach((id) => {\n if (this.map) {\n const imageData = this.map.getImage(id);\n if (imageData) {\n this.customSourcesAndLayers.image[id] = imageData;\n }\n }\n });\n }\n \n }\n\n restoreCustomSourcesAndLayers(): void {\n if (!this.map) return;\n // Check what's actually on the map RIGHT NOW\n const currentSources = Object.keys(this.map.getStyle().sources || {});\n const currentLayers = (this.map.getStyle().layers || []).map(l => l.id);\n // Add custom sources first\n for (const [sourceId, source] of Object.entries(this.customSourcesAndLayers.sources)) {\n AddSource(this.map, sourceId, source);\n }\n \n // Add custom layers second\n for (const layer of this.customSourcesAndLayers.layers) {\n AddLayer(this.map, layer);\n }\n\n // Add all custom images\n for (const [imageId, image] of Object.entries(this.customSourcesAndLayers.image)) {\n try {\n this.map.addImage(imageId, image.data);\n } catch (error) {\n console.error('Error adding image', imageId, ':', error);\n }\n }\n }\n}\n\nexport const MapStyles :{ [key: string]: StyleData } = {\n \"streetmap\": {\n name: \"Street Map\",\n code: \"streetmap\",\n url: \"https://raw.githubusercontent.com/go2garret/maps/main/src/assets/json/openStreetMap.json\",\n image: \"assets/mapag/src/assets/map_streetmap.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"arcgis-hybrid\": {\n name: \"ArcGIS Hybrid\",\n code: \"arcgis-hybrid\",\n url: \"https://raw.githubusercontent.com/go2garret/maps/main/src/assets/json/arcgis_hybrid.json\",\n image: \"assets/mapag/src/assets/map_arcgic_hybrid.png\",\n },\n \"carto-positron\": {\n name: \"Carto Positron\",\n code: \"carto-positron\",\n url: \"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",\n image: \"assets/mapag/src/assets/map_carto_positron.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"carto-dark\": {\n name: \"Carto Dark\",\n code: \"carto-dark\",\n url: \"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",\n image: \"assets/mapag/src/assets/map_carto_dark.png\",\n },\n \"carto-voyager\": {\n name: \"Carto Voyager\",\n code: \"carto-voyager\",\n url: \"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",\n image: \"assets/mapag/src/assets/map_carto_voyager.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"icgc\": {\n name: \"ICGC\",\n code: \"icgc\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc.json\",\n image: \"assets/mapag/src/assets/map_icgc.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"icgc-dark\": {\n name: \"ICGC Dark\",\n code: \"icgc-dark\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_mapa_base_fosc.json\",\n image: \"assets/mapag/src/assets/map_icgc_dark.png\",\n },\n \"icgc-shadow-hypsometry\": {\n name: \"ICGC Shadow Hypsometry\",\n code: \"icgc-shadow-hypsometry\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_ombra_hipsometria_corbes.json\",\n image: \"assets/mapag/src/assets/map_icgc_shadow.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"icgc-dark-shadow\": {\n name: \"ICGC Dark Shadow\",\n code: \"icgc-dark-shadow\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_ombra_fosca.json\",\n image: \"assets/mapag/src/assets/map_icgc_shadow_dark.png\",\n nameColor: \"#5a5a5aff\",\n },\n \"icgc-ortho-standard\": {\n name: \"ICGC Ortho Standard\",\n code: \"icgc-ortho-standard\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_orto_estandard.json\",\n image: \"assets/mapag/src/assets/map_icgc_ortho.png\",\n },\n \"icgc-ortho-standard-gray\": {\n name: \"ICGC Ortho Standard Gray\",\n code: \"icgc-ortho-standard-gray\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_orto_estandard_gris.json\",\n image: \"assets/mapag/src/assets/map_icgc_ortho_grey.png\",\n },\n \"icgc-ortho-hybrid\": {\n name: \"ICGC Ortho Hybrid\",\n code: \"icgc-ortho-hybrid\",\n url: \"https://geoserveis.icgc.cat/contextmaps/icgc_orto_hibrida.json\",\n image: \"assets/mapag/src/assets/map_icgc_ortho_hybrid.png\",\n },\n};","import { Component, input, Input } from '@angular/core';\nimport { MapStyles, StyleData, Styles } from './styles';\n\n@Component({\n selector: 'mapag-basemap-select',\n imports: [],\n template: `\n <div class=\"basemap-container\" (click)=\"onClick()\"\n \n [style.background-image]=\"getBackgroundImage()\">\n <div class=\"basemap-title\" [style.color]=\"styleData?.nameColor || '#ffffff'\">\n {{ styleData?.name || 'No Style Selected' }}\n </div>\n <!-- <div class=\"basemap-overlay\"></div> -->\n </div>\n `,\n styles: `\n :host {\n display: block;\n width: 200px; /* default width */\n height: 80px; /* default height */\n }\n\n .basemap-container {\n position: relative;\n width: 100%;\n height: 100%;\n border-radius: 12px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n background-color: #f5f5f5;\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s ease, box-shadow 0.2s ease;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .basemap-container:hover {\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n }\n\n .basemap-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(135deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.3) 100%);\n border-radius: 12px;\n pointer-events: none;\n }\n\n .basemap-title {\n position: relative;\n z-index: 2;\n color: white;\n font-size: 19px;\n font-weight: 600;\n text-align: center;\n padding: 8px 16px;\n background: rgba(0, 0, 0, 0.0); \n border-radius: 8px;\n user-select: none;\n text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);\n max-width: 90%;\n word-wrap: break-word;\n line-height: 1.2;\n }\n\n /* Fallback for styles without images */\n .basemap-container:not([style*=\"background-image: url\"]) {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n }\n\n .basemap-container:not([style*=\"background-image: url\"]) .basemap-overlay {\n background: rgba(0, 0, 0, 0.1);\n }\n `,\n})\nexport class BasemapSelect {\n @Input() styleData?: StyleData;\n styles = input<Styles>();\n\n constructor() {\n \n }\n\n getBackgroundImage(): string {\n if (!this.styleData?.image) {\n return 'none';\n }\n \n // Try different path approaches for debugging\n const originalPath = this.styleData.image;\n \n // Return the original path first to test\n return `url(${originalPath})`;\n }\n\n onClick() {\n console.log('Basemap selected:', this.styleData?.name);\n\n const s =this.styles()\n if (!s) {\n return;\n }\n const next = this.nextStyle(this.styleData!);\n s.style.set(next);\n\n }\n\n nextStyle(current: StyleData | undefined) : StyleData {\n if (!current) {\n // If no current style, return the first one\n const firstKey = Object.keys(MapStyles)[0];\n return MapStyles[firstKey];\n }\n\n // Get all the keys from MapStyles\n const styleKeys = Object.keys(MapStyles);\n \n // Find the current style's index\n const currentIndex = styleKeys.findIndex(key => MapStyles[key].code === current.code);\n \n // If current style not found, return the first one\n if (currentIndex === -1) {\n return MapStyles[styleKeys[0]];\n }\n \n // Get the next index, wrapping around to 0 if we're at the end\n const nextIndex = (currentIndex + 1) % styleKeys.length;\n \n // Return the next style\n return MapStyles[styleKeys[nextIndex]];\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { BasemapSelect as BasemapSelectComponent } from './basemap-select';\nimport { MapComponent } from './map.component';\nimport { MapStyles, StyleData } from './styles';\n\n@Component({\n selector: 'mapag-basemap-select-menu',\n imports: [CommonModule, BasemapSelectComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"basemap-container\" \n (mouseenter)=\"showPopover()\" \n (mouseleave)=\"hidePopover()\"\n (click)=\"onClick()\"\n [style.background-image]=\"getBackgroundImage()\">\n <div class=\"basemap-title\" [style.color]=\"currentStyle?.nameColor || '#ffffff'\">\n {{ currentStyle?.name || 'No Style Selected' }}\n </div>\n <!-- <div class=\"basemap-overlay\"></div> -->\n </div>\n \n <div class=\"style-popover\"\n [class.show]=\"isPopoverVisible\"\n (mouseenter)=\"keepPopoverOpen()\"\n (mouseleave)=\"hidePopover()\">\n <div class=\"style-grid\">\n <div *ngFor=\"let style of mapStylesArray\" \n class=\"style-item\"\n (click)=\"selectStyle(style)\">\n <mapag-basemap-select [styleData]=\"style\" [styles]=\"map().styles\"></mapag-basemap-select>\n </div>\n </div>\n </div>\n `,\n styles: `\n :host {\n display: block;\n width: 200px; /* default width */\n height: 80px; /* default height */\n position: relative;\n }\n\n .basemap-container {\n position: relative;\n width: 100%;\n height: 100%;\n border-radius: 12px;\n background-size: cover;\n background-position: center;\n background-repeat: no-repeat;\n background-color: #f5f5f5;\n overflow: hidden;\n cursor: pointer;\n transition: transform 0.2s ease, box-shadow 0.2s ease;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .basemap-container:hover {\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);\n }\n\n .basemap-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: linear-gradient(135deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.3) 100%);\n border-radius: 12px;\n pointer-events: none;\n }\n\n .basemap-title {\n position: relative;\n z-index: 2;\n color: white;\n font-size: 19px;\n font-weight: 600;\n text-align: center;\n padding: 8px 16px;\n background: rgba(0, 0, 0, 0.0); \n border-radius: 8px;\n user-select: none;\n text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);\n max-width: 90%;\n word-wrap: break-word;\n line-height: 1.2;\n }\n\n /* Fallback for styles without images */\n .basemap-container:not([style*=\"background-image: url\"]) {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n }\n\n .basemap-container:not([style*=\"background-image: url\"]) .basemap-overlay {\n background: rgba(0, 0, 0, 0.1);\n }\n\n .style-popover {\n padding: 16px;\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);\n border: 1px solid rgba(0, 0, 0, 0.1);\n opacity: 0;\n visibility: hidden;\n transform: translateY(-10px);\n transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;\n position: absolute;\n top: calc(100% + 8px);\n left: 0;\n z-index: 1000;\n max-width: 90vw;\n max-height: 80vh;\n overflow-y: auto;\n min-width: 100%;\n }\n\n .style-popover.show {\n opacity: 1;\n visibility: visible;\n transform: translateY(0);\n }\n\n .style-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n gap: 12px;\n min-width: 380px;\n max-width: 600px;\n }\n\n .style-item {\n cursor: pointer;\n transition: transform 0.2s ease;\n }\n\n .style-item:hover {\n transform: scale(1.05);\n }\n\n @media (max-width: 768px) {\n .style-grid {\n grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n min-width: 300px;\n }\n }\n `,\n})\nexport class BasemapSelectMenu {\n map = input.required<MapComponent>();\n \n isPopoverVisible = false;\n mapStylesArray = Object.values(MapStyles);\n private popoverTimeout?: number;\n\n constructor() {\n \n }\n\n get currentStyle() : StyleData | undefined {\n return this.map().styles.style();\n }\n\n getBackgroundImage(): string {\n\n const currentStyle = this.map().styles.style();\n\n // Try different path approaches for debugging\n const originalPath = currentStyle.image;\n \n // Return the original path first to test\n return `url(${originalPath})`;\n }\n\n showPopover() {\n if (this.popoverTimeout) {\n clearTimeout(this.popoverTimeout);\n }\n this.isPopoverVisible = true;\n }\n\n hidePopover() {\n this.popoverTimeout = window.setTimeout(() => {\n this.isPopoverVisible = false;\n }, 200); // Small delay to allow moving to popover\n }\n\n keepPopoverOpen() {\n if (this.popoverTimeout) {\n clearTimeout(this.popoverTimeout);\n this.popoverTimeout = undefined;\n }\n }\n\n selectStyle(style: StyleData) {\n const s = this.map().styles;\n if (s) {\n s.style.set(style);\n }\n this.isPopoverVisible = false;\n }\n\n onClick() {\n // Keep the original cycling behavior as fallback\n const s = this.map().styles;\n const current = this.map().styles.style();\n const next = this.nextStyle(current);\n s.style.set(next);\n }\n\n nextStyle(current: StyleData | undefined) : StyleData {\n const s = this.map().styles\n\n if (!current) {\n // If no current style, return the first one\n const firstKey = Object.keys(MapStyles)[0];\n return MapStyles[firstKey];\n }\n\n // Get all the keys from MapStyles\n const styleKeys = Object.keys(MapStyles);\n \n // Find the current style's index\n const currentIndex = styleKeys.findIndex(key => MapStyles[key].code === current.code);\n \n // If current style not found, return the first one\n if (currentIndex === -1) {\n return MapStyles[styleKeys[0]];\n }\n \n // Get the next index, wrapping around to 0 if we're at the end\n const nextIndex = (currentIndex + 1) % styleKeys.length;\n \n // Return the next style\n return MapStyles[styleKeys[nextIndex]];\n }\n}\n","\nimport { StyleSpecification } from \"maplibre-gl\";\n\nexport const BaseMapLight: StyleSpecification = {\n \"version\": 8,\n \"sources\": {\n \"protomaps\": {\n \"type\": \"vector\",\n \"attribution\": \"<a href=\\\"https://github.com/protomaps/basemaps\\\">Protomaps</a> © <a href=\\\"https://osm.org/copyright\\\">OpenStreetMap</a>\",\n \"url\": \"pmtiles://https://build.protomaps.com/20251117.pmtiles\"\n }\n },\n \"layers\": [\n {\n \"id\": \"background\",\n \"type\": \"background\",\n \"paint\": {\n \"background-color\": \"#cccccc\"\n }\n },\n {\n \"id\": \"earth\",\n \"type\": \"fill\",\n \"filter\": [\n \"==\",\n \"$type\",\n \"Polygon\"\n ],\n \"source\": \"protomaps\",\n \"source-layer\": \"earth\",\n \"paint\": {\n \"fill-color\": \"#e2dfda\"\n }\n },\n {\n \"id\": \"landcover\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landcover\",\n \"paint\": {\n \"fill-color\": [\n \"match\",\n [\n \"get\",\n \"kind\"\n ],\n \"grassland\",\n \"rgba(210, 239, 207, 1)\",\n \"barren\",\n \"rgba(255, 243, 215, 1)\",\n \"urban_area\",\n \"rgba(230, 230, 230, 1)\",\n \"farmland\",\n \"rgba(216, 239, 210, 1)\",\n \"glacier\",\n \"rgba(255, 255, 255, 1)\",\n \"scrub\",\n \"rgba(234, 239, 210, 1)\",\n \"rgba(196, 231, 210, 1)\"\n ],\n \"fill-opacity\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 5,\n 1,\n 7,\n 0\n ]\n }\n },\n {\n \"id\": \"landuse_park\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"national_park\",\n \"park\",\n \"cemetery\",\n \"protected_area\",\n \"nature_reserve\",\n \"forest\",\n \"golf_course\",\n \"wood\",\n \"nature_reserve\",\n \"forest\",\n \"scrub\",\n \"grassland\",\n \"grass\",\n \"military\",\n \"naval_base\",\n \"airfield\"\n ],\n \"paint\": {\n \"fill-opacity\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 6,\n 0,\n 11,\n 1\n ],\n \"fill-color\": [\n \"case\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"national_park\",\n \"park\",\n \"cemetery\",\n \"protected_area\",\n \"nature_reserve\",\n \"forest\",\n \"golf_course\"\n ]\n ]\n ],\n \"#9cd3b4\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"wood\",\n \"nature_reserve\",\n \"forest\"\n ]\n ]\n ],\n \"#a0d9a0\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"scrub\",\n \"grassland\",\n \"grass\"\n ]\n ]\n ],\n \"#99d2bb\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"glacier\"\n ]\n ]\n ],\n \"#e7e7e7\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"sand\"\n ]\n ]\n ],\n \"#e2e0d7\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"military\",\n \"naval_base\",\n \"airfield\"\n ]\n ]\n ],\n \"#c6dcdc\",\n \"#e2dfda\"\n ]\n }\n },\n {\n \"id\": \"landuse_urban_green\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"allotments\",\n \"village_green\",\n \"playground\"\n ],\n \"paint\": {\n \"fill-color\": \"#9cd3b4\",\n \"fill-opacity\": 0.7\n }\n },\n {\n \"id\": \"landuse_hospital\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"hospital\"\n ],\n \"paint\": {\n \"fill-color\": \"#e4dad9\"\n }\n },\n {\n \"id\": \"landuse_industrial\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"industrial\"\n ],\n \"paint\": {\n \"fill-color\": \"#d1dde1\"\n }\n },\n {\n \"id\": \"landuse_school\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"school\",\n \"university\",\n \"college\"\n ],\n \"paint\": {\n \"fill-color\": \"#e4ded7\"\n }\n },\n {\n \"id\": \"landuse_beach\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"beach\"\n ],\n \"paint\": {\n \"fill-color\": \"#e8e4d0\"\n }\n },\n {\n \"id\": \"landuse_zoo\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"zoo\"\n ],\n \"paint\": {\n \"fill-color\": \"#c6dcdc\"\n }\n },\n {\n \"id\": \"landuse_aerodrome\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"aerodrome\"\n ],\n \"paint\": {\n \"fill-color\": \"#dadbdf\"\n }\n },\n {\n \"id\": \"roads_runway\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"==\",\n \"kind_detail\",\n \"runway\"\n ],\n \"paint\": {\n \"line-color\": \"#e9e9ed\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 10,\n 0,\n 12,\n 4,\n 18,\n 30\n ]\n }\n },\n {\n \"id\": \"roads_taxiway\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 13,\n \"filter\": [\n \"==\",\n \"kind_detail\",\n \"taxiway\"\n ],\n \"paint\": {\n \"line-color\": \"#e9e9ed\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 15,\n 6\n ]\n }\n },\n {\n \"id\": \"landuse_runway\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"any\",\n [\n \"in\",\n \"kind\",\n \"runway\",\n \"taxiway\"\n ]\n ],\n \"paint\": {\n \"fill-color\": \"#e9e9ed\"\n }\n },\n {\n \"id\": \"water\",\n \"type\": \"fill\",\n \"filter\": [\n \"==\",\n \"$type\",\n \"Polygon\"\n ],\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"paint\": {\n \"fill-color\": \"#80deea\"\n }\n },\n {\n \"id\": \"water_stream\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"minzoom\": 14,\n \"filter\": [\n \"in\",\n \"kind\",\n \"stream\"\n ],\n \"paint\": {\n \"line-color\": \"#80deea\",\n \"line-width\": 0.5\n }\n },\n {\n \"id\": \"water_river\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"minzoom\": 9,\n \"filter\": [\n \"in\",\n \"kind\",\n \"river\"\n ],\n \"paint\": {\n \"line-color\": \"#80deea\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 9,\n 0,\n 9.5,\n 1,\n 18,\n 12\n ]\n }\n },\n {\n \"id\": \"landuse_pedestrian\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"pedestrian\",\n \"dam\"\n ],\n \"paint\": {\n \"fill-color\": \"#e3e0d4\"\n }\n },\n {\n \"id\": \"landuse_pier\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"landuse\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"pier\"\n ],\n \"paint\": {\n \"fill-color\": \"#e0e0e0\"\n }\n },\n {\n \"id\": \"roads_tunnels_other_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"in\",\n \"kind\",\n \"other\",\n \"path\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 14,\n 0,\n 20,\n 7\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_minor_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-dasharray\": [\n 3,\n 2\n ],\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 12,\n 0,\n 12.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_link_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-dasharray\": [\n 3,\n 2\n ],\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 12,\n 0,\n 12.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_major_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-dasharray\": [\n 3,\n 2\n ],\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 0.5,\n 18,\n 13\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 9,\n 0,\n 9.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_highway_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-dasharray\": [\n 6,\n 0.5\n ],\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 3.5,\n 0.5,\n 18,\n 15\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 1,\n 20,\n 15\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_other\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"in\",\n \"kind\",\n \"other\",\n \"path\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#d5d5d5\",\n \"line-dasharray\": [\n 4.5,\n 0.5\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 14,\n 0,\n 20,\n 7\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_minor\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#d5d5d5\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_link\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#d5d5d5\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_major\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#d5d5d5\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 6,\n 0,\n 12,\n 1.6,\n 15,\n 3,\n 18,\n 13\n ]\n }\n },\n {\n \"id\": \"roads_tunnels_highway\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_tunnel\"\n ],\n [\n \"==\",\n [\n \"get\",\n \"kind\"\n ],\n \"highway\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"is_link\"\n ]\n ]\n ],\n \"paint\": {\n \"line-color\": \"#d5d5d5\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 6,\n 1.1,\n 12,\n 1.6,\n 15,\n 5,\n 18,\n 15\n ]\n }\n },\n {\n \"id\": \"buildings\",\n \"type\": \"fill\",\n \"source\": \"protomaps\",\n \"source-layer\": \"buildings\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"building\",\n \"building_part\"\n ],\n \"paint\": {\n \"fill-color\": \"#cccccc\",\n \"fill-opacity\": 0.5\n }\n },\n {\n \"id\": \"roads_pier\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"==\",\n \"kind_detail\",\n \"pier\"\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 12,\n 0,\n 12.5,\n 0.5,\n 20,\n 16\n ]\n }\n },\n {\n \"id\": \"roads_minor_service_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 13,\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ],\n [\n \"==\",\n \"kind_detail\",\n \"service\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 18,\n 8\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 0.8\n ]\n }\n },\n {\n \"id\": \"roads_minor_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ],\n [\n \"!=\",\n \"kind_detail\",\n \"service\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 12,\n 0,\n 12.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_link_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 13,\n \"filter\": [\n \"has\",\n \"is_link\"\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1.5\n ]\n }\n },\n {\n \"id\": \"roads_major_casing_late\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 6,\n 0,\n 12,\n 1.6,\n 15,\n 3,\n 18,\n 13\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 9,\n 0,\n 9.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_highway_casing_late\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 3.5,\n 0.5,\n 18,\n 15\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 1,\n 20,\n 15\n ]\n }\n },\n {\n \"id\": \"roads_other\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"in\",\n \"kind\",\n \"other\",\n \"path\"\n ],\n [\n \"!=\",\n \"kind_detail\",\n \"pier\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ebebeb\",\n \"line-dasharray\": [\n 3,\n 1\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 14,\n 0,\n 20,\n 7\n ]\n }\n },\n {\n \"id\": \"roads_link\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"has\",\n \"is_link\"\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_minor_service\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ],\n [\n \"==\",\n \"kind_detail\",\n \"service\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ebebeb\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 18,\n 8\n ]\n }\n },\n {\n \"id\": \"roads_minor\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ],\n [\n \"!=\",\n \"kind_detail\",\n \"service\"\n ]\n ],\n \"paint\": {\n \"line-color\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n \"#ebebeb\",\n 16,\n \"#ffffff\"\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_major_casing_early\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"maxzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 0.5,\n 18,\n 13\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 9,\n 0,\n 9.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_major\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 6,\n 0,\n 12,\n 1.6,\n 15,\n 3,\n 18,\n 13\n ]\n }\n },\n {\n \"id\": \"roads_highway_casing_early\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"maxzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 3.5,\n 0.5,\n 18,\n 15\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 1\n ]\n }\n },\n {\n \"id\": \"roads_highway\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"!has\",\n \"is_tunnel\"\n ],\n [\n \"!has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 6,\n 1.1,\n 12,\n 1.6,\n 15,\n 5,\n 18,\n 15\n ]\n }\n },\n {\n \"id\": \"roads_rail\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"rail\"\n ],\n \"paint\": {\n \"line-dasharray\": [\n 0.3,\n 0.75\n ],\n \"line-opacity\": 0.5,\n \"line-color\": \"#a7b1b3\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 6,\n 0.15,\n 18,\n 9\n ]\n }\n },\n {\n \"id\": \"boundaries_country\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"boundaries\",\n \"filter\": [\n \"<=\",\n \"kind_detail\",\n 2\n ],\n \"paint\": {\n \"line-color\": \"#adadad\",\n \"line-width\": 0.7,\n \"line-dasharray\": [\n \"step\",\n [\n \"zoom\"\n ],\n [\n \"literal\",\n [\n 2,\n 0\n ]\n ],\n 4,\n [\n \"literal\",\n [\n 2,\n 1\n ]\n ]\n ]\n }\n },\n {\n \"id\": \"boundaries\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"boundaries\",\n \"filter\": [\n \">\",\n \"kind_detail\",\n 2\n ],\n \"paint\": {\n \"line-color\": \"#adadad\",\n \"line-width\": 0.4,\n \"line-dasharray\": [\n \"step\",\n [\n \"zoom\"\n ],\n [\n \"literal\",\n [\n 2,\n 0\n ]\n ],\n 4,\n [\n \"literal\",\n [\n 2,\n 1\n ]\n ]\n ]\n }\n },\n {\n \"id\": \"roads_bridges_other_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"in\",\n \"kind\",\n \"other\",\n \"path\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 14,\n 0,\n 20,\n 7\n ]\n }\n },\n {\n \"id\": \"roads_bridges_link_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 12,\n 0,\n 12.5,\n 1.5\n ]\n }\n },\n {\n \"id\": \"roads_bridges_minor_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 0.8\n ]\n }\n },\n {\n \"id\": \"roads_bridges_major_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 0.5,\n 18,\n 10\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 9,\n 0,\n 9.5,\n 1.5\n ]\n }\n },\n {\n \"id\": \"roads_bridges_other\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"in\",\n \"kind\",\n \"other\",\n \"path\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ebebeb\",\n \"line-dasharray\": [\n 2,\n 1\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 14,\n 0,\n 20,\n 7\n ]\n }\n },\n {\n \"id\": \"roads_bridges_minor\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"minor_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 11,\n 0,\n 12.5,\n 0.5,\n 15,\n 2,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_bridges_link\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 13,\n 0,\n 13.5,\n 1,\n 18,\n 11\n ]\n }\n },\n {\n \"id\": \"roads_bridges_major\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"major_road\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#f5f5f5\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 6,\n 0,\n 12,\n 1.6,\n 15,\n 3,\n 18,\n 13\n ]\n }\n },\n {\n \"id\": \"roads_bridges_highway_casing\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 12,\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#e0e0e0\",\n \"line-gap-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 3.5,\n 0.5,\n 18,\n 15\n ],\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 7,\n 0,\n 7.5,\n 1,\n 20,\n 15\n ]\n }\n },\n {\n \"id\": \"roads_bridges_highway\",\n \"type\": \"line\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"has\",\n \"is_bridge\"\n ],\n [\n \"==\",\n \"kind\",\n \"highway\"\n ],\n [\n \"!has\",\n \"is_link\"\n ]\n ],\n \"paint\": {\n \"line-color\": \"#ffffff\",\n \"line-width\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.6\n ],\n [\n \"zoom\"\n ],\n 3,\n 0,\n 6,\n 1.1,\n 12,\n 1.6,\n 15,\n 5,\n 18,\n 15\n ]\n }\n },\n {\n \"id\": \"address_label\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"buildings\",\n \"minzoom\": 18,\n \"filter\": [\n \"==\",\n \"kind\",\n \"address\"\n ],\n \"layout\": {\n \"symbol-placement\": \"point\",\n \"text-font\": [\n \"Noto Sans Italic\"\n ],\n \"text-field\": [\n \"get\",\n \"addr_housenumber\"\n ],\n \"text-size\": 12\n },\n \"paint\": {\n \"text-color\": \"#91888b\",\n \"text-halo-color\": \"#ffffff\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"water_waterway_label\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"minzoom\": 13,\n \"filter\": [\n \"in\",\n \"kind\",\n \"river\",\n \"stream\"\n ],\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"text-font\": [\n \"Noto Sans Italic\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": 12,\n \"text-letter-spacing\": 0.2\n },\n \"paint\": {\n \"text-color\": \"#728dd4\",\n \"text-halo-color\": \"#80deea\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"roads_oneway\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 16,\n \"filter\": [\n \"==\",\n [\n \"get\",\n \"oneway\"\n ],\n \"yes\"\n ],\n \"layout\": {\n \"symbol-placement\": \"line\",\n \"icon-image\": \"arrow\",\n \"icon-rotate\": 90,\n \"symbol-spacing\": 100\n }\n },\n {\n \"id\": \"roads_labels_minor\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 15,\n \"filter\": [\n \"in\",\n \"kind\",\n \"minor_road\",\n \"other\",\n \"path\"\n ],\n \"layout\": {\n \"symbol-sort-key\": [\n \"get\",\n \"min_zoom\"\n ],\n \"symbol-placement\": \"line\",\n \"text-font\": [\n \"Noto Sans Regular\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": 12\n },\n \"paint\": {\n \"text-color\": \"#91888b\",\n \"text-halo-color\": \"#ffffff\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"water_label_ocean\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"sea\",\n \"ocean\",\n \"bay\",\n \"strait\",\n \"fjord\"\n ],\n \"layout\": {\n \"text-font\": [\n \"Noto Sans Italic\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 3,\n 10,\n 10,\n 12\n ],\n \"text-letter-spacing\": 0.1,\n \"text-max-width\": 9,\n \"text-transform\": \"uppercase\"\n },\n \"paint\": {\n \"text-color\": \"#728dd4\",\n \"text-halo-width\": 1,\n \"text-halo-color\": \"#80deea\"\n }\n },\n {\n \"id\": \"earth_label_islands\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"earth\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"island\"\n ],\n \"layout\": {\n \"text-font\": [\n \"Noto Sans Italic\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": 10,\n \"text-letter-spacing\": 0.1,\n \"text-max-width\": 8\n },\n \"paint\": {\n \"text-color\": \"#8f8f8f\",\n \"text-halo-color\": \"#e0e0e0\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"water_label_lakes\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"water\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"lake\",\n \"water\"\n ],\n \"layout\": {\n \"text-font\": [\n \"Noto Sans Italic\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 3,\n 10,\n 6,\n 12,\n 10,\n 12\n ],\n \"text-letter-spacing\": 0.1,\n \"text-max-width\": 9\n },\n \"paint\": {\n \"text-color\": \"#728dd4\",\n \"text-halo-color\": \"#80deea\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"roads_shields\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"filter\": [\n \"all\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"highway\",\n \"major_road\"\n ]\n ]\n ],\n [\n \"has\",\n \"shield_text\"\n ],\n [\n \"<=\",\n [\n \"length\",\n [\n \"get\",\n \"shield_text\"\n ]\n ],\n 5\n ]\n ],\n \"layout\": {\n \"icon-image\": [\n \"match\",\n [\n \"get\",\n \"network\"\n ],\n \"US:I\",\n [\n \"concat\",\n \"US:I-\",\n [\n \"length\",\n [\n \"get\",\n \"shield_text\"\n ]\n ],\n \"char\"\n ],\n \"NL:S-road\",\n [\n \"concat\",\n \"NL:S-road-\",\n [\n \"length\",\n [\n \"get\",\n \"shield_text\"\n ]\n ],\n \"char\"\n ],\n [\n \"concat\",\n \"generic_shield-\",\n [\n \"length\",\n [\n \"get\",\n \"shield_text\"\n ]\n ],\n \"char\"\n ]\n ],\n \"text-field\": [\n \"get\",\n \"shield_text\"\n ],\n \"text-font\": [\n \"Noto Sans Medium\"\n ],\n \"text-size\": 8,\n \"icon-size\": 0.8,\n \"symbol-placement\": \"line\",\n \"icon-rotation-alignment\": \"viewport\",\n \"text-rotation-alignment\": \"viewport\"\n },\n \"paint\": {\n \"text-color\": \"#938a8d\"\n }\n },\n {\n \"id\": \"roads_labels_major\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"roads\",\n \"minzoom\": 11,\n \"filter\": [\n \"in\",\n \"kind\",\n \"highway\",\n \"major_road\"\n ],\n \"layout\": {\n \"symbol-sort-key\": [\n \"get\",\n \"min_zoom\"\n ],\n \"symbol-placement\": \"line\",\n \"text-font\": [\n \"Noto Sans Regular\"\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": 12\n },\n \"paint\": {\n \"text-color\": \"#938a8d\",\n \"text-halo-color\": \"#ffffff\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"pois\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"pois\",\n \"filter\": [\n \"all\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"beach\",\n \"forest\",\n \"marina\",\n \"park\",\n \"peak\",\n \"zoo\",\n \"garden\",\n \"bench\",\n \"aerodrome\",\n \"station\",\n \"bus_stop\",\n \"ferry_terminal\",\n \"stadium\",\n \"university\",\n \"library\",\n \"school\",\n \"animal\",\n \"toilets\",\n \"drinking_water\",\n \"post_office\",\n \"building\",\n \"townhall\",\n \"restaurant\",\n \"fast_food\",\n \"cafe\",\n \"bar\",\n \"supermarket\",\n \"convenience\",\n \"books\",\n \"beauty\",\n \"electronics\",\n \"clothes\",\n \"attraction\",\n \"museum\",\n \"theatre\",\n \"artwork\"\n ]\n ]\n ],\n [\n \">=\",\n [\n \"zoom\"\n ],\n [\n \"+\",\n [\n \"get\",\n \"min_zoom\"\n ],\n 0\n ]\n ]\n ],\n \"layout\": {\n \"icon-image\": [\n \"match\",\n [\n \"get\",\n \"kind\"\n ],\n \"station\",\n \"train_station\",\n [\n \"get\",\n \"kind\"\n ]\n ],\n \"text-font\": [\n \"Noto Sans Regular\"\n ],\n \"text-justify\": \"auto\",\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 17,\n 10,\n 19,\n 16\n ],\n \"text-max-width\": 8,\n \"text-offset\": [\n 1.1,\n 0\n ],\n \"text-variable-anchor\": [\n \"left\",\n \"right\"\n ]\n },\n \"paint\": {\n \"text-color\": [\n \"case\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"beach\",\n \"forest\",\n \"marina\",\n \"park\",\n \"peak\",\n \"zoo\",\n \"garden\",\n \"bench\"\n ]\n ]\n ],\n \"#20834D\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"aerodrome\",\n \"station\",\n \"bus_stop\",\n \"ferry_terminal\"\n ]\n ]\n ],\n \"#315BCF\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"stadium\",\n \"university\",\n \"library\",\n \"school\",\n \"animal\",\n \"toilets\",\n \"drinking_water\",\n \"post_office\",\n \"building\",\n \"townhall\"\n ]\n ]\n ],\n \"#6A5B8F\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"supermarket\",\n \"convenience\",\n \"books\",\n \"beauty\",\n \"electronics\",\n \"clothes\"\n ]\n ]\n ],\n \"#1A8CBD\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"restaurant\",\n \"fast_food\",\n \"cafe\",\n \"bar\"\n ]\n ]\n ],\n \"#CB6704\",\n [\n \"in\",\n [\n \"get\",\n \"kind\"\n ],\n [\n \"literal\",\n [\n \"attraction\",\n \"museum\",\n \"theatre\",\n \"artwork\"\n ]\n ]\n ],\n \"#EF56BA\",\n \"#e2dfda\"\n ],\n \"text-halo-color\": \"#e2dfda\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"places_subplace\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"places\",\n \"filter\": [\n \"in\",\n \"kind\",\n \"neighbourhood\",\n \"macrohood\"\n ],\n \"layout\": {\n \"symbol-sort-key\": [\n \"case\",\n [\n \"has\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"min_zoom\"\n ]\n ],\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-font\": [\n \"Noto Sans Regular\"\n ],\n \"text-max-width\": 7,\n \"text-letter-spacing\": 0.1,\n \"text-padding\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 5,\n 2,\n 8,\n 4,\n 12,\n 18,\n 15,\n 20\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"exponential\",\n 1.2\n ],\n [\n \"zoom\"\n ],\n 11,\n 8,\n 14,\n 14,\n 18,\n 24\n ],\n \"text-transform\": \"uppercase\"\n },\n \"paint\": {\n \"text-color\": \"#8f8f8f\",\n \"text-halo-color\": \"#e0e0e0\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"places_region\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"places\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"region\"\n ],\n \"layout\": {\n \"symbol-sort-key\": [\n \"get\",\n \"sort_key\"\n ],\n \"text-field\": [\n \"step\",\n [\n \"zoom\"\n ],\n [\n \"coalesce\",\n [\n \"get\",\n \"ref:en\"\n ],\n [\n \"get\",\n \"ref\"\n ]\n ],\n 6,\n [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ]\n ],\n \"text-font\": [\n \"Noto Sans Regular\"\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 3,\n 11,\n 7,\n 16\n ],\n \"text-radial-offset\": 0.2,\n \"text-anchor\": \"center\",\n \"text-transform\": \"uppercase\"\n },\n \"paint\": {\n \"text-color\": \"#b3b3b3\",\n \"text-halo-color\": \"#e0e0e0\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"places_locality\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"places\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"locality\"\n ],\n \"layout\": {\n \"icon-image\": [\n \"step\",\n [\n \"zoom\"\n ],\n [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"capital\"\n ],\n \"yes\"\n ],\n \"capital\",\n \"townspot\"\n ],\n 8,\n \"\"\n ],\n \"icon-size\": 0.7,\n \"text-field\": [\n \"case\",\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"case\",\n [\n \"any\",\n [\n \"is-supported-script\",\n [\n \"get\",\n \"name\"\n ]\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\n \"!\",\n [\n \"has\",\n \"name:en\"\n ]\n ],\n [\n \"has\",\n \"name:en\"\n ],\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ]\n ],\n \"\",\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {}\n ]\n ],\n [\n \"all\",\n [\n \"any\",\n [\n \"has\",\n \"name\"\n ],\n [\n \"has\",\n \"pgf:name\"\n ]\n ],\n [\n \"any\",\n [\n \"has\",\n \"name2\"\n ],\n [\n \"has\",\n \"pgf:name2\"\n ]\n ],\n [\n \"!\",\n [\n \"any\",\n [\n \"has\",\n \"name3\"\n ],\n [\n \"has\",\n \"pgf:name3\"\n ]\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"has\",\n \"script2\"\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ],\n [\n \"case\",\n [\n \"all\",\n [\n \"has\",\n \"script\"\n ],\n [\n \"has\",\n \"script2\"\n ],\n [\n \"has\",\n \"script3\"\n ]\n ],\n [\n \"format\",\n [\n \"get\",\n \"name:en\"\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"case\",\n [\n \"!\",\n [\n \"has\",\n \"script\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"!\",\n [\n \"has\",\n \"script2\"\n ]\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script3\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ],\n [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"pgf:name3\"\n ],\n [\n \"get\",\n \"name3\"\n ]\n ],\n {},\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name\"\n ],\n [\n \"get\",\n \"name\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n },\n \"\\n\",\n {},\n [\n \"coalesce\",\n [\n \"get\",\n \"pgf:name2\"\n ],\n [\n \"get\",\n \"name2\"\n ]\n ],\n {\n \"text-font\": [\n \"case\",\n [\n \"==\",\n [\n \"get\",\n \"script2\"\n ],\n \"Devanagari\"\n ],\n [\n \"literal\",\n [\n \"Noto Sans Devanagari Regular v1\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ]\n }\n ]\n ]\n ]\n ],\n \"text-font\": [\n \"case\",\n [\n \"<=\",\n [\n \"get\",\n \"min_zoom\"\n ],\n 5\n ],\n [\n \"literal\",\n [\n \"Noto Sans Medium\"\n ]\n ],\n [\n \"literal\",\n [\n \"Noto Sans Regular\"\n ]\n ]\n ],\n \"symbol-sort-key\": [\n \"case\",\n [\n \"has\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"min_zoom\"\n ]\n ],\n \"text-padding\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 5,\n 3,\n 8,\n 7,\n 12,\n 11\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 2,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 13\n ],\n 8,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 13\n ],\n 13,\n 0\n ],\n 4,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 13\n ],\n 10,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 13\n ],\n 15,\n 0\n ],\n 6,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 12\n ],\n 11,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 12\n ],\n 17,\n 0\n ],\n 8,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 11\n ],\n 11,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 11\n ],\n 18,\n 0\n ],\n 10,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 9\n ],\n 12,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 9\n ],\n 20,\n 0\n ],\n 15,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 8\n ],\n 12,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 8\n ],\n 22,\n 0\n ]\n ],\n \"icon-padding\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 0,\n 0,\n 8,\n 4,\n 10,\n 8,\n 12,\n 6,\n 22,\n 2\n ],\n \"text-justify\": \"auto\",\n \"text-variable-anchor\": [\n \"step\",\n [\n \"zoom\"\n ],\n [\n \"literal\",\n [\n \"bottom\",\n \"left\",\n \"right\",\n \"top\"\n ]\n ],\n 8,\n [\n \"literal\",\n [\n \"center\"\n ]\n ]\n ],\n \"text-radial-offset\": 0.3\n },\n \"paint\": {\n \"text-color\": \"#5c5c5c\",\n \"text-halo-color\": \"#e0e0e0\",\n \"text-halo-width\": 1\n }\n },\n {\n \"id\": \"places_country\",\n \"type\": \"symbol\",\n \"source\": \"protomaps\",\n \"source-layer\": \"places\",\n \"filter\": [\n \"==\",\n \"kind\",\n \"country\"\n ],\n \"layout\": {\n \"symbol-sort-key\": [\n \"case\",\n [\n \"has\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"sort_key\"\n ],\n [\n \"get\",\n \"min_zoom\"\n ]\n ],\n \"text-field\": [\n \"format\",\n [\n \"coalesce\",\n [\n \"get\",\n \"name:en\"\n ],\n [\n \"get\",\n \"name:en\"\n ]\n ],\n {}\n ],\n \"text-font\": [\n \"Noto Sans Medium\"\n ],\n \"text-size\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 2,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 10\n ],\n 8,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 10\n ],\n 12,\n 0\n ],\n 6,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 8\n ],\n 10,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 8\n ],\n 18,\n 0\n ],\n 8,\n [\n \"case\",\n [\n \"<\",\n [\n \"get\",\n \"population_rank\"\n ],\n 7\n ],\n 11,\n [\n \">=\",\n [\n \"get\",\n \"population_rank\"\n ],\n 7\n ],\n 20,\n 0\n ]\n ],\n \"icon-padding\": [\n \"interpolate\",\n [\n \"linear\"\n ],\n [\n \"zoom\"\n ],\n 0,\n 2,\n 14,\n 2,\n 16,\n 20,\n 17,\n 2,\n 22,\n 2\n ],\n \"text-transform\": \"uppercase\"\n },\n \"paint\": {\n \"text-color\": \"#a3a3a3\",\n \"text-halo-color\": \"#e2dfda\",\n \"text-halo-width\": 1\n }\n }\n ],\n \"glyphs\": \"https://protomaps.github.io/basemaps-assets/fonts/{fontstack}/{range}.pbf\",\n \"sprite\": \"https://protomaps.github.io/basemaps-assets/sprites/v4/light\"\n}\n","// PMTiles support for MapLibre is handled via protocol registration in map.component.ts\n\nexport type StandardLayer =\n | 'state'\n | 'county'\n | 'tract'\n | 'zipcode'\n | 'watershed'\n | 'hardiness2023';\n\n// See : https://data.census.gov/api/mapdata?vintage=2022 for a total list\nexport class Layers {\n static readonly State: VectorLayerSource = {\n ID: 'state',\n Name: 'States',\n URL: 'https://gis.data.census.gov/arcgis/rest/services/Hosted/VT_2019_040_00_PP_D1/VectorTileServer/tile/{z}/{y}/{x}.pbf',\n Source: 'State',\n minZoom: 3,\n LabelSource: 'State/label',\n };\n static readonly County: VectorLayerSource = {\n ID: 'county',\n Name: 'Counties',\n URL: 'https://gis.data.census.gov/arcgis/rest/services/Hosted/VT_2019_050_00_PY_D1/VectorTileServer/tile/{z}/{y}/{x}.pbf',\n Source: 'County',\n minZoom: 3,\n LabelSource: 'County/label',\n };\n static readonly USCensusTract: VectorLayerSource = {\n ID: 'tract',\n Name: 'US Census Tracts',\n URL: 'https://gis.data.census.gov/arcgis/rest/services/Hosted/VT_2019_140_00_PY_D1/VectorTileServer/tile/{z}/{y}/{x}.pbf',\n Source: 'CensusTract',\n minZoom: 6,\n LabelSource: 'CensusTract/label',\n };\n static readonly USZipCode: VectorLayerSource = {\n ID: 'zipcode',\n Name: 'US Zip Code',\n URL: 'https://gis.data.census.gov/arcgis/rest/services/Hosted/VT_2019_860_00_PY_D1/VectorTileServer/tile/{z}/{y}/{x}.pbf',\n Source: 'ZCTA5',\n minZoom: 6,\n LabelSource: 'ZCTA5/label',\n };\n static readonly Watershed: VectorLayerSource = {\n ID: 'watershed',\n Name: 'Watersheds',\n URL: 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/watershedhu6.pmtiles',\n Source: 'watershedhu6',\n minZoom: 4,\n SourceType: 'vector',\n IDField: 'globalid',\n };\n static readonly Hardiness2023: VectorLayerSource = {\n ID: 'hardiness2023',\n Name: 'Hardiness 2023',\n // URL: 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/hardiness2023.pmtiles',\n URL: 'pmtiles://https://build.protomaps.com/20251117.pmtiles',\n Source: 'boundaries',\n // Source: 'hardiness2023',\n minZoom: 4,\n SourceType: 'vector',\n IDField: 'Id',\n };\n static readonly VectorSources = [\n Layers.State,\n Layers.County,\n Layers.USCensusTract,\n Layers.USZipCode,\n Layers.Watershed,\n Layers.Hardiness2023,\n ];\n\n static FindVector(id: string): VectorLayerSource | undefined {\n for (let v of Layers.VectorSources) {\n if (v.ID == id) {\n return v;\n }\n }\n return undefined;\n }\n}\n\nexport interface VectorLayerSource {\n ID: string;\n Name: string;\n URL: string;\n Source: string;\n minZoom?: number;\n LabelSource?: string;\n SourceType?: any;\n IDField?: string;\n}\n","import { Map as mbMap } from 'maplibre-gl'\nimport { MapService } from './map.service'\n\nexport class NoOpMapper implements MapboxMapper {\n onReady(map: mbMap, svc: MapService) {}\n reset() {}\n clear() {}\n count = 0\n total = 0\n}\n\nexport interface MapboxMapper {\n // Called when the map is initially ready. Each time this is called\n // the implementer shoud treat this as a new map and rebuild\n onReady(map: mbMap, svc: MapService): void\n\n // Reset the map to the expected stete, tear down and rebuild\n reset(): void\n\n // Clear everything you have contributed\n clear(): void\n\n legends?: LegendDesc[]\n\n // Count items\n count: number\n total: number\n\n onStyleChange?(map: mbMap, svc: MapService): void\n}\n\nexport class MapboxMapperGroup<T extends MapboxMapper> implements MapboxMapper {\n map: mbMap | undefined\n svc: MapService | undefined\n mappers: Map<string, T> = new Map()\n\n onStyleChange(map: mbMap, svc: MapService): void {\n this.mappers.forEach((mapper) => {\n if (mapper.onStyleChange) {\n mapper.onStyleChange(map, svc)\n } \n }) \n }\n\n public set(name: string, mapper: T) {\n if (mapper == undefined) {\n return;\n }\n this.mappers.set(name, mapper)\n if (this.map && this.svc) {\n // If map is already ready, initialize the mapper\n // This should already be outside Angular zone context\n mapper.onReady(this.map, this.svc)\n }\n }\n\n public get(name: string): T | undefined {\n return this.mappers.get(name)\n }\n\n public remove(name: string) {\n const m = this.mappers.get(name)\n if (m) {\n m.clear()\n }\n }\n\n get count(): number {\n let count = 0\n for (const [name, mapper] of this.mappers) {\n count += mapper.count\n }\n return count\n }\n\n get total(): number {\n let total = 0\n for (const [name, mapper] of this.mappers) {\n total += mapper.total\n }\n return total\n }\n\n get legends(): LegendDesc[] {\n const legends: any[] = []\n\n for (let [key, value] of this.mappers) {\n if (value && value.legends) {\n legends.push(...value.legends)\n }\n }\n\n return legends\n }\n\n onReady(map: mbMap, svc: MapService): void {\n this.map = map\n this.svc = svc\n\n // Already running outside Angular zone from MapBoxMapComponent\n this.mappers.forEach((mapper) => mapper.onReady(map, svc))\n }\n\n reset(): void {\n this.mappers.forEach((mapper) => mapper.reset())\n }\n\n clear(): void {\n this.mappers.forEach((mapper) => mapper.clear())\n }\n}\n\nexport interface LegendDesc {\n title?: string\n items?: LegendItem[]\n}\n\nexport interface LegendItem {\n label?: string\n value: string\n}\n","import { Map as mbMap } from 'maplibre-gl'\nimport { MapService } from '../map.service'\nimport { AddLayer, AddSource } from '../mapbox-utils'\nimport { MapboxMapper } from '../mapper'\n\nexport class StandardLayersMapper implements MapboxMapper {\n static readonly EMPTY_SOURCE = 'empty'\n static readonly POLYGONS_BACKGROUND = 'polygons-background'\n static readonly POLYGONS_ACTIVE = 'polygons-active'\n static readonly SELECTIONS = 'selections'\n static readonly POINTS = 'points'\n\n map: mbMap | undefined\n\n onStyleChange(map: mbMap, svc: MapService): void {\n this.onReady(map, svc);\n }\n\n onReady(map: mbMap, svc: MapService) {\n this.map = map\n\n AddSource(map, StandardLayersMapper.EMPTY_SOURCE, {\n type: 'geojson',\n data: {\n type: 'FeatureCollection',\n features: [],\n },\n })\n\n AddLayer(map, {\n type: 'fill',\n id: StandardLayersMapper.POINTS,\n source: StandardLayersMapper.EMPTY_SOURCE,\n // }, 'road-label')\n })\n\n AddLayer(\n map,\n {\n type: 'fill',\n id: StandardLayersMapper.SELECTIONS,\n source: StandardLayersMapper.EMPTY_SOURCE,\n },\n StandardLayersMapper.POINTS\n )\n\n AddLayer(\n map,\n {\n type: 'fill',\n id: StandardLayersMapper.POLYGONS_ACTIVE,\n source: StandardLayersMapper.EMPTY_SOURCE,\n },\n StandardLayersMapper.SELECTIONS\n )\n\n AddLayer(\n map,\n {\n type: 'fill',\n id: StandardLayersMapper.POLYGONS_BACKGROUND,\n source: StandardLayersMapper.EMPTY_SOURCE,\n }, StandardLayersMapper.POLYGONS_ACTIVE)\n\n \n\n\n\n \n }\n reset() {}\n clear() {}\n count: number = 0\n total: number = 0\n}\n","import { GeoJSONFeature, Map as mbMap } from 'maplibre-gl';\nimport MapboxDraw from 'maplibre-gl-draw';\nimport { Layers, VectorLayerSource } from '../layers';\nimport { MapService } from '../map.service';\nimport {\n AddLayer,\n AddSource,\n RemoveLayer,\n RemoveSource,\n discoverLayers,\n} from '../mapbox-utils';\nimport { LegendDesc, MapboxMapper } from '../mapper';\nimport { StandardLayersMapper } from './standard-layers-mapper';\n\nexport class AreaMapperMapper implements MapboxMapper {\n layerType: 'fill' | 'fill-extrusion' = 'fill';\n labels: boolean = false;\n\n legends: LegendDesc[] = [];\n\n areaType: string = 'state';\n areaSelector: string = '<your-area-selector>';\n areaSelection: string = '<your-area-selection>';\n\n scale: string = 'linear';\n\n opactity: number = 0.8;\n\n mask: boolean = false;\n maskColor: string = '#000000';\n maskOpacity: number = 0.5;\n\n public map: mbMap | undefined;\n public svc: MapService | undefined;\n hoveredStateId = null;\n\n draw: MapboxDraw | undefined;\n ids: string[] = [];\n\n get source(): string {\n return this.name + '-src';\n }\n\n get sourceLayer(): string | undefined {\n const src: VectorLayerSource | undefined = Layers.FindVector(this.areaType);\n if (!src) {\n console.error('AreaMapperMapper: Unknown area type ' + this.areaType);\n return undefined;\n }\n return src.Source;\n }\n\n get layer(): string {\n return this.name + '-fill';\n }\n get selectionLayer(): string {\n return this.name + '-selection';\n }\n get labelLayer(): string {\n return this.name + '-labels';\n }\n set visible(value: boolean) {\n if (!this.map) return;\n\n const fillLayer = this.map.getLayer(this.layer);\n if (fillLayer) {\n this.map.setLayoutProperty(\n this.layer,\n 'visibility',\n value ? 'visible' : 'none'\n );\n }\n }\n\n constructor(\n public name: string = 'area-' + Math.floor(Math.random() * 1000000),\n public belowLayer: string = StandardLayersMapper.POLYGONS_BACKGROUND\n ) {}\n\n onStyleChange(map: mbMap, svc: MapService): void {\n // this.onReady(map, svc);\n }\n\n onReady(map: mbMap, svc: MapService) {\n this.map = map;\n this.svc = svc;\n this.load();\n }\n\n reset() {\n this.clear();\n }\n\n clear() {\n if (!this.map) return;\n\n const fillLayer = this.map.getLayer(this.layer);\n const source = this.map.getSource(this.source);\n\n if (fillLayer) {\n RemoveLayer(this.map, fillLayer.id);\n }\n\n if (source) {\n RemoveSource(this.map, this.source);\n }\n }\n\n trash() {\n // this.ids = []\n // this.map.setFilter(this.layer, ['in', 'GEOID', ''])\n }\n\n get count(): number {\n return 0;\n }\n\n get total(): number {\n return 0;\n }\n\n updateOpacity(o: number) {\n if (!this.map) return;\n\n this.opactity = o;\n const fillLayer = this.map.getLayer(this.layer);\n\n if (fillLayer) {\n this.map.setPaintProperty(this.layer, this.opacityField(), o);\n }\n }\n\n setAreaType(type: string) {\n if (this.areaType == type) return;\n this.areaType = type;\n\n this.load();\n this.fixZoom();\n }\n\n async load() {\n if (!this.map) return;\n this.clear();\n\n const src: VectorLayerSource | undefined = Layers.FindVector(this.areaType);\n if (!src) {\n console.error('AreaMapperMapper: Unknown area type ' + this.areaType);\n return;\n }\n\n const sourceType = src.SourceType || 'vector';\n const promoteId = src.IDField || 'GEOID';\n\n if (src.URL?.startsWith('pmtiles://')) {\n const layers = await discoverLayers(src.URL);\n console.log('Discovered layers:', layers);\n\n AddSource(this.map, this.source, {\n type: 'vector',\n url: src.URL,\n promoteId: promoteId, // promote field to be used as a foreign key\n });\n } else {\n AddSource(this.map, this.source, {\n type: sourceType,\n tiles: [src.URL],\n promoteId: promoteId, // promote field to be used as a foreign key\n });\n }\n \n AddLayer(\n this.map,\n {\n id: this.layer,\n type: 'fill',\n source: this.source,\n 'source-layer': src.Source,\n paint: {\n 'fill-outline-color': '#e5541c',\n 'fill-opacity': this.opactity,\n 'fill-color': '#cccccc',\n },\n layout: {\n visibility: 'none',\n },\n },\n this.belowLayer\n );\n }\n\n fixZoom() {\n if (!this.map) return;\n\n const src: VectorLayerSource | undefined = Layers.FindVector(this.areaType);\n if (!src) return;\n\n if (src.minZoom && this.map.getZoom() < src.minZoom) {\n this.map.setZoom(src.minZoom);\n }\n }\n\n renderPopup(item: GeoJSONFeature): string {\n return 'NO POPUP';\n }\n\n useStat(\n id: string,\n stats: { id: string; name: string; formatted: string }[]\n ): string {\n const i = stats.findIndex((a) => a.id == id);\n if (i >= 0) {\n const stat = stats[i];\n stats.splice(i, 1);\n return this.formatStat(stat);\n }\n return '';\n }\n\n formatStat(stat: { name: string; formatted: string }): string {\n return `<b>${stat.name}:</b> ${stat.formatted}<br>`;\n }\n\n colorField(): 'fill-color' | 'fill-extrusion-color' {\n if (this.layerType == 'fill') return 'fill-color';\n if (this.layerType == 'fill-extrusion') return 'fill-extrusion-color';\n return 'fill-color';\n }\n\n opacityField(): 'fill-opacity' | 'fill-extrusion-opacity' {\n if (this.layerType == 'fill') return 'fill-opacity';\n if (this.layerType == 'fill-extrusion') return 'fill-extrusion-opacity';\n return 'fill-opacity';\n }\n\n loadData(ids: string[]) {\n if (!this.map) return;\n\n this.ids = ids;\n const src: VectorLayerSource | undefined = Layers.FindVector(this.areaType);\n if (!src) {\n console.error('AreaMapperMapper: Unknown area type ' + this.areaType);\n return;\n }\n // this.map.setFilter(this.layer, ['in', 'GEOID', ...ids])\n this.map.setLayoutProperty(this.layer, 'visibility', 'visible');\n this.map.setPaintProperty(this.layer, this.opacityField(), this.opactity);\n }\n}\n","import { GeoJSONFeature, Map, MapGeoJSONFeature, MapMouseEvent } from 'maplibre-gl'\nimport MapboxDraw, { DrawCreateEvent } from 'maplibre-gl-draw'\n// @ts-ignore - No TypeScript definitions available for mapbox-gl-draw-rectangle-mode\nimport RectangleMode from 'mapbox-gl-draw-rectangle-mode'\nimport { Subject } from 'rxjs'\nimport { MapService } from '../map.service'\nimport { MapboxMapper } from '../mapper'\n\nexport class DrawingMapper implements MapboxMapper {\n\n sourceLayer: string | undefined\n polygon = 'draw_polygon'\n modeSelectFeature = 'select-feature'\n\n count: number = 0\n total: number = 0\n map: Map | undefined\n mapService: MapService | undefined\n\n draw: MapboxDraw | undefined\n canvas: HTMLElement | undefined\n mode: string | undefined\n\n polygonCreatedSub = new Subject<GeoJSONFeature[]>()\n polygonCreated$ = this.polygonCreatedSub.asObservable()\n\n doneModeSub = new Subject<string>()\n doneMode$ = this.doneModeSub.asObservable()\n\n // // Variable to hold the starting xy coordinates\n // // when `mousedown` occured.\n // let start;\n\n // // Variable to hold the current xy coordinates\n // // when `mousemove` or `mouseup` occurs.\n // let current;\n\n // // Variable for the draw box element.\n // let box;\n\n isReady() : boolean{\n return this.map != undefined && this.draw != undefined\n }\n\n onReady(map: Map, svc: MapService) {\n console.log('DrawingMapper onReady called', 'Instance ID:', this.constructor.name + Math.random().toString(36).substr(2, 9))\n\n // Clear any existing initialization first (different map or stale state)\n if (this.draw) {\n console.log('Clearing existing DrawingMapper before reinitializing')\n this.clear()\n }\n\n this.map = map\n this.mapService = svc\n this.canvas = map.getCanvasContainer()\n\n try {\n this.draw = new MapboxDraw({\n displayControlsDefault: false,\n touchEnabled: true,\n boxSelect: false,\n clickBuffer: 2,\n touchBuffer: 25,\n\n // @ts-ignore\n modes: Object.assign({}, MapboxDraw.modes, {\n draw_rectangle: RectangleMode,\n }),\n\n styles: DrawingMapper.STYLES_DRAW,\n })\n\n map.addControl(this.draw as any)\n\n // Set up event listeners\n this.mapService.Run(() => {\n map.on('draw.create', this.onDrawCreate)\n map.on('draw.delete', this.onDraw)\n map.on('draw.update', this.onDraw)\n map.on('click', this.onMapClick)\n })\n\n console.log('DrawingMapper initialized successfully')\n } catch (error) {\n console.error('Error initializing DrawingMapper:', error)\n }\n }\n\n onDraw = (e: any) => {\n console.log('DRAW EVENT ', e)\n }\n\n onMapClick = (e: MapMouseEvent) => {}\n\n onDrawCreate = (e: DrawCreateEvent) => {\n console.log('DRAW CREATE EVENT ', e)\n const features: MapGeoJSONFeature[] = <MapGeoJSONFeature[]>e.features\n this.polygonCreatedSub.next(features)\n this.doneModeSub.next('')\n }\n\n reset() {}\n\n clear() {\n if (this.map && this.draw) {\n try {\n // Remove event listeners\n this.map.off('draw.create', this.onDrawCreate)\n this.map.off('draw.delete', this.onDraw)\n this.map.off('draw.update', this.onDraw)\n this.map.off('click', this.onMapClick)\n\n // Clear any drawn features\n this.trash()\n\n // Remove the control from the map\n this.map.removeControl(this.draw as any)\n\n console.log('DrawingMapper cleared successfully')\n } catch (error) {\n console.error('Error clearing DrawingMapper:', error)\n }\n }\n }\n\n trash() {\n if (this.draw && this.mapService) {\n this.mapService.Run(() => {\n if (this.draw) {\n this.draw.trash()\n }\n })\n }\n }\n\n changeMode(mode: string) {\n if (this.draw && this.mapService) {\n this.mapService.Run(() => {\n this._changeMode(mode)\n })\n }\n }\n\n _changeMode(mode: string) {\n if (!this.draw) {\n console.error('DrawingMapper: draw instance not initialized')\n return\n }\n\n this.deactivate()\n\n switch (mode) {\n case 'draw_polygon':\n this.draw.changeMode('draw_polygon')\n this.mode = mode\n break\n case 'draw_rectangle':\n // @ts-ignore\n this.draw.changeMode('draw_rectangle')\n this.mode = mode\n break\n case '':\n case 'simple_select':\n default:\n // For empty string or unrecognized modes, go to simple_select\n this.draw.changeMode('simple_select')\n this.mode = undefined\n break\n }\n }\n\n startPolygon() {\n console.debug('DrawingMapper: startPolygon called')\n console.debug('DrawingMapper state:', { \n map: !!this.map, \n draw: !!this.draw, \n mapService: !!this.mapService \n })\n \n if (!this.map || !this.draw) {\n console.error('DrawingMapper not ready: map or draw instance missing', {\n map: !!this.map,\n draw: !!this.draw\n })\n return\n }\n this.changeMode('draw_polygon')\n }\n\n startRectangle() {\n console.debug('DrawingMapper: startRectangle called')\n console.debug('DrawingMapper state:', { \n map: !!this.map, \n draw: !!this.draw, \n mapService: !!this.mapService \n })\n \n if (!this.map || !this.draw) {\n console.error('DrawingMapper not ready: map or draw instance missing', {\n map: !!this.map,\n draw: !!this.draw\n })\n return\n }\n this.changeMode('draw_rectangle')\n }\n\n deactivate() {\n if (!this.mode || !this.draw) {\n return\n }\n\n this.draw.deleteAll()\n \n if (this.mode === this.polygon || this.mode === 'draw_polygon') {\n this.draw.trash()\n }\n if (this.mode === 'draw_rectangle') {\n this.draw.trash()\n }\n if (this.mode === 'select-feature' && this.map) {\n this.map.getCanvas().style.cursor = 'default'\n }\n\n // Change back to simple_select mode and clear the mode\n this.draw.changeMode('simple_select')\n this.mode = undefined\n }\n\n static STYLES_DRAW = [\n {\n id: 'gl-draw-line',\n type: 'line',\n filter: ['all', ['==', '$type', 'LineString'], ['!=', 'mode', 'static']],\n layout: {\n 'line-cap': 'round',\n 'line-join': 'round',\n },\n paint: {\n 'line-color': '#FF0000',\n 'line-width': 2,\n },\n },\n {\n id: 'gl-draw-polygon-fill',\n type: 'fill',\n filter: ['all', ['==', '$type', 'Polygon'], ['!=', 'mode', 'static']],\n paint: {\n 'fill-color': '#FF0000',\n 'fill-outline-color': '#D20C0C',\n 'fill-opacity': 0.1,\n },\n },\n\n {\n id: 'gl-draw-polygon-stroke-active',\n type: 'line',\n filter: ['all', ['==', '$type', 'Polygon'], ['!=', 'mode', 'static']],\n layout: {\n 'line-cap': 'round',\n 'line-join': 'round',\n },\n paint: {\n 'line-color': '#D20C0C',\n 'line-width': 2,\n },\n },\n\n {\n id: 'gl-draw-polygon-and-line-vertex-halo-active',\n type: 'circle',\n filter: ['all', ['==', 'meta', 'vertex'], ['==', '$type', 'Point'], ['!=', 'mode', 'static']],\n paint: {\n 'circle-radius': 5,\n 'circle-color': '#FFF',\n },\n },\n\n {\n id: 'gl-draw-polygon-and-line-vertex-active',\n type: 'circle',\n filter: ['all', ['==', 'meta', 'vertex'], ['==', '$type', 'Point'], ['!=', 'mode', 'static']],\n paint: {\n 'circle-radius': 3,\n 'circle-color': '#D20C0C',\n },\n },\n\n {\n id: 'gl-draw-line-static',\n type: 'line',\n filter: ['all', ['==', '$type', 'LineString'], ['==', 'mode', 'static']],\n layout: {\n 'line-cap': 'round',\n 'line-join': 'round',\n },\n paint: {\n 'line-color': '#FF0000',\n 'line-width': 3,\n },\n },\n {\n id: 'gl-draw-polygon-fill-static',\n type: 'fill',\n filter: ['all', ['==', '$type', 'Polygon'], ['==', 'mode', 'static']],\n paint: {\n 'fill-color': '#ee0508',\n\n 'fill-opacity': 0.8,\n },\n },\n {\n id: 'gl-draw-polygon-stroke-static',\n type: 'line',\n filter: ['all', ['==', '$type', 'Polygon'], ['==', 'mode', 'static']],\n layout: {\n 'line-cap': 'round',\n 'line-join': 'round',\n },\n paint: {\n 'line-color': '#c40b0b',\n\n 'line-width': 2,\n },\n },\n ]\n}\n","import { inject, Injectable, NgZone, signal } from '@angular/core';\nimport { Map } from 'maplibre-gl';\nimport { Subject } from 'rxjs';\nimport { MapboxMapperGroup } from './mapper';\nimport { DrawingMapper } from './mappers/drawing-mapper';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MapService {\n ngZone = inject(NgZone)\n updateLegend = signal<boolean>(false)\n updateLegendSub = new Subject<boolean>();\n\n\n drawMapper: DrawingMapper | null = null\n map : Map | null = null;\n mapper : MapboxMapperGroup<any> | null = null;\n defaultCursor = 'grab'\n \n setMap(map: Map) {\n this.map = map\n this.setDefaultCursor()\n }\n \n setMapper(mapper: MapboxMapperGroup<any>) {\n this.mapper = mapper\n this.drawMapper = new DrawingMapper()\n this.mapper.set('drawing', this.drawMapper)\n }\n\n Run(fn: () => void) {\n if (this.ngZone) {\n this.ngZone.runOutsideAngular(fn)\n } else {\n fn()\n }\n }\n\n setHandCursor() {\n if (this.map) {\n this.map.getCanvas().style.cursor = 'grab'\n }\n }\n\n setDefaultCursor() {\n if (this.map) {\n this.map.getCanvas().style.cursor = this.defaultCursor\n }\n } \n\n setCrosshairCursor() {\n if (this.map) {\n this.map.getCanvas().style.cursor = 'crosshair'\n }\n }\n\n setPointerCursor() {\n if (this.map) {\n this.map.getCanvas().style.cursor = 'pointer'\n }\n }\n}","import { inject, Injectable, signal } from '@angular/core';\nimport booleanContains from '@turf/boolean-contains';\nimport booleanOverlap from '@turf/boolean-overlap';\nimport { polygon } from '@turf/helpers';\nimport { Feature } from 'geojson';\nimport {\n GeoJSONFeature,\n MapMouseEvent,\n MapTouchEvent,\n PointLike\n} from 'maplibre-gl';\nimport { Subject, Subscription } from 'rxjs';\nimport { MapService } from './map.service';\nimport { MapboxMapperGroup } from './mapper';\n\nexport enum SelectMode {\n PickOne,\n PickMultiple,\n RectangleIn,\n RectangleTouching,\n PolygonIn,\n PolygonTouching,\n}\n\n/**\n * Service to handle map selection operations.\n *\n * The caller must \"enable\" selections and then can listen to selection changes.\n * The service maintains the current selection state and provides methods to modify it.\n *\n * Types of Selections:\n * - PickOne: Select a single feature by clicking.\n * - PickMultiple: Select multiple features by clicking.\n * - RectangleIn: Select features fully within a drawn rectangle.\n * - RectangleTouching: Select features touching a drawn rectangle.\n * - PolygonIn: Select features fully within a drawn polygon.\n * - PolygonTouching: Select features touching a drawn polygon.\n * - InBounds: Select features within given bounds.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class MapSelectionService {\n map: maplibregl.Map | null = null;\n mapper: MapboxMapperGroup<any> | null = null;\n\n source: string | null = null;\n layer: string | null = null;\n sourceLayer: string | null = null;\n idsSelected: Set<string> = new Set();\n\n selectionSubject = new Subject<Set<string>>();\n selection$ = this.selectionSubject.asObservable();\n mode = signal<SelectMode | null>(null);\n sub: Subscription | null = null;\n polysub: Subscription | null = null;\n\n // Show the highlight of selected features\n selecting = false;\n\n mapSvc = inject(MapService);\n\n setMap(map: maplibregl.Map) {\n this.map = map;\n }\n\n setMapper(mapper: MapboxMapperGroup<any>) {\n this.mapper = mapper;\n }\n\n enable(\n source: string,\n layer: string,\n sourceLayer: string,\n initial?: Set<string>\n ) {\n if (!this.map) {\n console.warn('MapSelectionService: No map set, cannot enable selection');\n return;\n }\n if (!this.mapper) {\n console.warn(\n 'MapSelectionService: No mapper set, cannot enable selection'\n );\n return;\n }\n\n this.source = source;\n this.layer = layer;\n this.sourceLayer = sourceLayer;\n if (initial) {\n this.idsSelected = initial;\n } else {\n this.idsSelected = new Set<string>();\n }\n\n this.selecting = true;\n }\n\n start(mode: SelectMode) {\n if (!this.map) {\n console.warn('MapSelectionService: No map set, cannot start selection');\n return;\n }\n this.mode.set(mode);\n\n switch (mode) {\n case SelectMode.PickOne:\n case SelectMode.PickMultiple:\n // Turn ON Point selection Mode\n this.enablePointSelection();\n break;\n case SelectMode.RectangleIn:\n case SelectMode.RectangleTouching:\n if (this.mapSvc.drawMapper?.isReady()) {\n this.mapSvc.setCrosshairCursor();\n this.mapSvc.drawMapper?.startRectangle();\n this.listenForPolygons();\n }\n break;\n case SelectMode.PolygonIn:\n case SelectMode.PolygonTouching:\n this.mapSvc.setCrosshairCursor();\n this.mapSvc.drawMapper?.startPolygon();\n this.listenForPolygons();\n break;\n default:\n break;\n }\n }\n\n stop() {\n this.disablePointSelection();\n if (this.polysub) {\n this.polysub.unsubscribe();\n this.polysub = null;\n }\n\n switch (this.mode()) {\n case SelectMode.PickOne:\n case SelectMode.PickMultiple:\n // Turn ON Point selection Mode\n\n break;\n\n default:\n break;\n }\n }\n\n disable() {\n this.selecting = false;\n if (this.sub) {\n this.sub.unsubscribe();\n this.sub = null;\n }\n }\n\n private listenForPolygons() {\n if (!this.mapSvc.drawMapper || !this.mapSvc.drawMapper.draw) {\n console.warn(\n 'MapSelectionService: drawMapper or draw instance not available for listenForDrawComplete'\n );\n return;\n }\n\n this.polysub = this.mapSvc.drawMapper.polygonCreated$.subscribe(\n (feature: GeoJSONFeature[]) => {\n if (!this.selecting) {\n return;\n }\n\n const contains =\n this.mode() == SelectMode.RectangleIn ||\n this.mode() == SelectMode.PolygonIn;\n this.selectFeatures(feature, contains);\n this.mapSvc.drawMapper?.deactivate();\n this.mapSvc.setDefaultCursor();\n this.mode.set(null);\n }\n );\n }\n\n\n // Select all the features within the current map bounds\n selectInBounds() {\n if (!this.map) {\n console.warn('No map available for selectInBounds');\n return;\n }\n const bounds = this.map.getBounds();\n if (!bounds) {\n console.warn('No bounds on map for selectInBounds');\n return;\n }\n\n const coords = [\n [bounds.getWest(), bounds.getSouth()],\n [bounds.getEast(), bounds.getNorth()],\n ];\n // Create bounding box polygon directly from coordinates\n const feature: Feature<any> = {\n type: 'Feature',\n properties: {},\n geometry: {\n type: 'Polygon',\n coordinates: [[\n [coords[0][0], coords[0][1]], // southwest\n [coords[1][0], coords[0][1]], // northwest\n [coords[1][0], coords[1][1]], // northeast\n [coords[0][0], coords[1][1]], // southeast\n [coords[0][0], coords[0][1]] // close polygon\n ]]\n }\n };\n\n this.selectFeatures([feature]);\n }\n\n // Select features at a given point\n selectPoint(point: PointLike) {\n const hits = this.getPointHits(point);\n this.setFeaturesSelected(hits);\n }\n\n // Add features at a given point to the current selection\n addPointToSelection(point: PointLike) {\n const hits = this.getPointHits(point);\n this.addFeaturesToSelection(hits);\n }\n\n // Remove features at a given point from the current selection\n removePointFromSelection(point: PointLike) {\n const hits = this.getPointHits(point);\n this.removeFeaturesFromSelection(hits);\n }\n\n // Get features at a given point\n getPointHits(point: PointLike): Feature<any>[] {\n if (!this.map) {\n console.warn('No map available for selectInBounds');\n return [];\n }\n\n return this.map.queryRenderedFeatures(point as any, {\n layers: [this.layer || ''],\n });\n }\n\n // Add features at a given point to the current selection\n addToSelection(features: Feature<any>[], containsOnly = true) {\n const hits = containsOnly\n ? this.getAllContains(features)\n : this.getAllIntersects(features);\n this.addFeaturesToSelection(hits);\n }\n\n // set the provided features as the current selection\n selectFeatures(features: Feature<any>[], containsOnly = true) {\n const hits = containsOnly\n ? this.getAllContains(features)\n : this.getAllIntersects(features);\n this.setFeaturesSelected(hits);\n }\n\n // Remove features at a given point from the current selection\n removeFromSelection(features: Feature<any>[]) {\n const hits = this.getAllContains(features);\n this.removeFeaturesFromSelection(hits);\n }\n\n clearSelection() {\n if (!this.idsSelected) {\n this.idsSelected = new Set<string>();\n } else {\n this.idsSelected.clear();\n }\n this.emit();\n }\n\n getAllContains(features: Feature<any>[]): Feature<any>[] {\n const all: Feature<any>[] = [];\n for (const f of features) {\n const hits = this.getContains(f);\n all.push(...hits);\n }\n return all;\n }\n\n getAllIntersects(features: Feature<any>[]): Feature<any>[] {\n const all: Feature<any>[] = [];\n for (const f of features) {\n const hits = this.getIntersects(f);\n all.push(...hits);\n }\n return all;\n }\n\n getContains(f: Feature<any>): Feature<any>[] {\n if (!this.map) {\n console.warn('No map available for selectInBounds');\n return [];\n }\n if (!this.source || !this.sourceLayer) {\n console.warn('No source/sourceLayer set for SelectionMapper');\n return [];\n }\n\n const found = this.map.querySourceFeatures(this.source, {\n sourceLayer: this.sourceLayer,\n });\n const hits = found.filter((feature: any) => {\n if (feature.geometry.type == 'MultiPolygon') {\n const pieces = feature.geometry.coordinates.map((c: any) => ({\n type: 'Feature' as const,\n properties: {},\n geometry: { type: 'Polygon' as const, coordinates: c }\n }));\n for (let piece of pieces) {\n if (booleanContains(f, piece)) {\n return true;\n }\n }\n }\n if (feature.geometry.type == 'Polygon') {\n return booleanContains(f, feature);\n }\n return false;\n });\n return hits;\n }\n\n getIntersects(f: Feature<any>): Feature<any>[] {\n if (!this.map) {\n console.warn('No map available for selectInBounds');\n return [];\n }\n if (!this.source || !this.sourceLayer) {\n console.warn('No source/sourceLayer set for SelectionMapper');\n return [];\n }\n\n const found = this.map.querySourceFeatures(this.source, {\n sourceLayer: this.sourceLayer,\n });\n const hits = found.filter((feature: any) => {\n if (feature.geometry.type == 'MultiPolygon') {\n const pieces = feature.geometry.coordinates.map((c: any) => polygon(c));\n for (let piece of pieces) {\n if (booleanContains(f, piece) || booleanOverlap(f, piece)) {\n return true;\n }\n }\n }\n if (feature.geometry.type == 'Polygon') {\n return booleanContains(f, feature) || booleanOverlap(f, feature);\n }\n return false;\n });\n return hits;\n }\n\n setFeaturesSelected(hits: Feature<any>[]) {\n this.idsSelected = new Set<string>();\n this.addFeaturesToSelection(hits);\n }\n\n addFeaturesToSelection(hits: Feature<any>[]) {\n if (!this.idsSelected) {\n this.idsSelected = new Set<string>();\n }\n\n const ids = hits\n .map((feature) => feature.properties?.['GEOID'])\n .filter((id) => id != null);\n for (let id of ids) {\n this.idsSelected.add(id);\n }\n this.emit();\n }\n\n removeFeaturesFromSelection(hits: Feature<any>[]) {\n if (!this.idsSelected) {\n this.idsSelected = new Set<string>();\n return;\n }\n\n const ids = hits\n .map((feature) => feature.properties?.['GEOID'])\n .filter((id) => id != null);\n for (let id of ids) {\n this.idsSelected.delete(id);\n }\n this.emit();\n }\n\n emit() {\n this.selectionSubject.next(this.idsSelected);\n }\n\n disablePointSelection() {\n if (!this.map) {\n console.warn('No map available for disablePointSelection');\n return;\n }\n\n this.mapSvc.setDefaultCursor();\n this.map.off('click', this.pointSelect);\n this.map.off('touchend', this.pointSelect);\n }\n\n enablePointSelection() {\n if (!this.map) {\n console.warn('No map available for enablePointSelection');\n return;\n }\n\n // Save the previous cursor style\n this.mapSvc.setPointerCursor();\n this.map.on('click', this.pointSelect);\n this.map.on('touchend', this.pointSelect);\n }\n\n pointSelect = (e: MapMouseEvent | MapTouchEvent) => {\n if (!this.idsSelected) {\n this.idsSelected = new Set<string>();\n }\n\n const hits = this.getPointHits(e.point);\n const ids = hits\n .map((feature) => feature.properties?.['GEOID'])\n .filter((id) => id != null);\n let changes = false;\n for (let id of ids) {\n if (this.idsSelected.has(id)) {\n this.idsSelected.delete(id);\n changes = true;\n } else {\n this.idsSelected.add(id);\n changes = true;\n }\n }\n\n if (changes) {\n this.emit();\n }\n };\n}\n","import { Map } from 'maplibre-gl';\nimport { AddLayer, RemoveLayer } from '../mapbox-utils';\nimport { MapboxMapper } from '../mapper';\nimport { StandardLayersMapper } from './standard-layers-mapper';\n\n\nexport class HighlightMapper implements MapboxMapper {\n count: number = 0\n total: number = 0\n map: Map | undefined\n source: string | undefined\n sourceLayer: string | undefined\n\n idsSelected: Set<string> = new Set()\n enabled = false\n readonly name : string\n\n constructor(\n name : string = \"highlight-\" + Math.floor(Math.random() * 1000000),\n source: string | undefined = undefined, \n sourceLayer: string |undefined = undefined) {\n this.name = name\n this.source = source\n this.sourceLayer = sourceLayer\n }\n\n setSource(source: string, sourceLayer: string) {\n this.source = source\n this.sourceLayer = sourceLayer\n }\n\n disable() {\n this.enabled = false\n RemoveLayer(this.map, this.name)\n }\n\n enable() {\n if (!this.map) return\n this.disable()\n if( !this.source || !this.sourceLayer) {\n console.warn('HighlightMapper: source or sourceLayer not set, cannot enable highlight')\n return\n }\n \n this.enabled = true\n const filter = this.idsSelected.size > 0 ?\n ['in', 'GEOID', ...Array.from(this.idsSelected)] :\n ['in', 'GEOID', '']\n\n AddLayer(\n this.map,\n {\n id: this.name,\n type: 'fill',\n source: this.source,\n 'source-layer': this.sourceLayer,\n paint: {\n 'fill-outline-color': '#000000',\n 'fill-color': '#d5b176',\n 'fill-opacity': 1,\n },\n filter: filter,\n },\n StandardLayersMapper.POLYGONS_ACTIVE,\n )\n }\n\n updateSelection(ids: string[]) {\n this.idsSelected = new Set<string>(ids)\n this.update()\n }\n\n onReady(map: Map) {\n this.map = map\n }\n\n reset() {\n this.clear()\n this.enable()\n }\n\n clear() {\n if (!this.map) return\n this.enabled = false\n this.idsSelected.clear()\n RemoveLayer(this.map, this.name)\n }\n\n update() {\n if ( !this.map) { return }\n try {\n const layer = this.map.getLayer(this.name)\n\n if (!layer) {\n this.enable() // This will create the layers\n }\n\n const realIds = Array.from(this.idsSelected)\n if (realIds.length > 0) {\n this.map.setFilter(this.name, ['in', 'GEOID', ...realIds])\n } else {\n this.map.setFilter(this.name, ['in', 'GEOID', ''])\n }\n } catch (error) {\n console.error('Caught: Error updating selection layers', error)\n }\n }\n}\n","import { CommonModule } from '@angular/common'\n\nimport { Component, Input, OnInit, effect, inject, input, output } from '@angular/core'\nimport { FormsModule } from '@angular/forms'\nimport { Layers, VectorLayerSource } from '../layers'\nimport { MapboxMapperGroup } from '../mapper'\nimport { AreaMapperMapper } from '../mappers/area-mapper'\nimport { StandardLayersMapper } from '../mappers/standard-layers-mapper'\n\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome'\nimport { faBookmark, faDrawPolygon, faDrawSquare, faExpandArrows, faList, faMousePointer, faTimes, faTrashAlt } from '@fortawesome/pro-light-svg-icons'\n// import { NgSelectComponent } from '@ng-select/ng-select'\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop'\nimport { MapSelectionService, SelectMode } from '../map-selection.service'\nimport { MapComponent } from '../map.component'\nimport { AreaSelectionType, MapAreaSelection } from '../mapbox-utils'\nimport { HighlightMapper } from '../mappers/highlight-mapper'\n\n\n\nexport type MapAreaSelectMode = 'select' | 'bounds' | 'rect' | 'poly' | 'list' | 'saved' | 'trash' | 'dynamic'\n\n@Component({\n selector: 'mapag-area-select',\n templateUrl: './map-area-select.component.html',\n styleUrls: ['./map-area-select.component.css'],\n imports: [FormsModule, FaIconComponent, CommonModule],\n})\nexport class MapAreaSelectComponent implements OnInit {\n mapRef = input.required<MapComponent>();\n\n readonly mapperGroup = input<MapboxMapperGroup<any>>(new MapboxMapperGroup())\n\n readonly belowLayer = input<string>(\n StandardLayersMapper.POLYGONS_BACKGROUND,\n )\n\n // Output event when a selection is made\n readonly onSelect = output<MapAreaSelection>()\n\n // Current selection\n // TODO: Skipped for migration because:\n // Your application code writes to the input. This prevents migration.\n @Input() selection: MapAreaSelection | undefined\n\n // Type of areas available for selection.\n // Valid options are : \"state\", \"county\", \"tract\", \"none\", \"zipcode\"\n readonly areaTypes = input<AreaSelectionType[]>(\n ['state', 'county', 'tract'],\n )\n\n // The type of the area that the user is going to select.\n // Valid options are : \"state\", \"county\", \"tract\", \"none\", \"zipcode\"\n @Input() areaType: AreaSelectionType = 'state'\n\n // Set of IDs that the user has selected\n @Input() areaSelection: string[] = []\n\n // Temporary vairable that tracks the new track ID being added by the user\n newTract = ''\n\n // FontAwesome icons\n faMousePointer = faMousePointer\n faExpandArrows = faExpandArrows\n faDrawSquare = faDrawSquare\n faDrawPolygon = faDrawPolygon\n faList = faList\n faBookmark = faBookmark\n faTrashAlt = faTrashAlt\n faTimes = faTimes\n\n areaTypeSrc: VectorLayerSource | undefined\n \n ids: Set<string> = new Set()\n mapper: AreaMapperMapper | undefined\n highlightMapper: HighlightMapper | undefined\n\n selectionSvc = inject(MapSelectionService)\n mode: string | undefined = undefined\n svcMode = this.selectionSvc.mode\n\n _e1 = effect(() => {\n const m = this.selectionSvc.mode()\n\n if (this.mode == 'select' && m == null) {\n this.mode = undefined\n return \n }\n if (this.mode == 'rect' && m == null) {\n this.mode = undefined\n return \n }\n if (this.mode == 'poly' && m == null) {\n this.mode = undefined\n return \n } \n\n })\n\n constructor() {\n this.selectionSvc.selection$\n .pipe(takeUntilDestroyed())\n .subscribe((ids: Set<string>) => {\n this.ids = ids\n this.highlightMapper?.updateSelection(Array.from(ids))\n })\n }\n\n ngOnInit(): void {\n // Create the area mapper\n const name = 'area-' + Math.floor(Math.random() * 1000000)\n this.mapper = new AreaMapperMapper(name, StandardLayersMapper.POLYGONS_BACKGROUND)\n this.highlightMapper = new HighlightMapper('name-highlight', this.mapper.source, this.mapper.sourceLayer)\n\n this.mapRef().mapper().set('area-select', this.mapper)\n this.mapRef().mapper().set('area-highlight', this.highlightMapper)\n }\n\n updateAreaType() {\n this.selectionSvc.clearSelection()\n this.areaSelection = []\n\n if (this.areaType == 'none') {\n this.selection = {\n areaType: this.areaType,\n areaSelection: [],\n }\n this.onSelect.emit(this.selection)\n return\n }\n\n // this.m.areaType = this.areaType\n this.areaTypeSrc = Layers.FindVector(this.areaType)\n if (!this.areaTypeSrc) {\n return\n }\n\n // Initialize the mapper\n if (this.mapper) {\n this.mapper.areaType = this.areaType\n this.mapper.load()\n }\n\n this.selection = {\n areaType: this.areaType,\n areaSelection: this.areaSelection,\n }\n\n this.onSelect.emit(this.selection)\n }\n\n changeMode(mode: MapAreaSelectMode) {\n if (!this.mapper || !this.mapper.source || !this.mapper.sourceLayer) {\n console.warn('MapAreaSelectComponent: Mapper not initialized or source/sourceLayer not set')\n return\n }\n\n // Deactivate current mode\n if (mode == this.mode) {\n this.deactiveMode()\n return\n }\n\n // Verify\n // this.mapper.load()\n this.mapper.visible = true\n\n this.mode = mode\n this.selectionSvc.enable(this.mapper.source, this.mapper.layer, this.mapper.sourceLayer)\n switch (mode) {\n case 'select':\n this.selectionSvc.start(SelectMode.PickMultiple)\n break;\n case 'bounds':\n this.selectionSvc.selectInBounds()\n this.mode = undefined\n break;\n case 'rect':\n this.selectionSvc.start(SelectMode.RectangleTouching)\n break;\n case 'poly':\n this.selectionSvc.start(SelectMode.PolygonIn)\n break;\n \n case 'trash':\n this.selectionSvc.clearSelection()\n this.deactiveMode()\n this.mapper.visible = false\n break\n default:\n break;\n }\n\n }\n\n deactiveMode() {\n this.selectionSvc.stop()\n this.mode = undefined\n }\n\n // addTract() {\n // if (this.newTract) {\n // this.areaSelection.push(this.newTract)\n // this.updateSelection()\n // this.newTract = ''\n // }\n // }\n\n // removeTract(id: string) {\n // const i = this.areaSelection.indexOf(id)\n // if (i >= 0) {\n // this.areaSelection.splice(i, 1)\n // this.updateSelection()\n // }\n // }\n}\n\n","<h3>Geographic Area Type</h3>\n<select class=\"ng-select-sm\" [(ngModel)]=\"areaType\" (ngModelChange)=\"updateAreaType()\">\n @if (areaTypes().includes('none')) {\n <option value=\"none\">None</option>\n }\n @if (areaTypes().includes('state')) {\n <option value=\"state\">States</option>\n }\n @if (areaTypes().includes('county')) {\n <option value=\"county\">Counties</option>\n }\n @if (areaTypes().includes('zipcode')) {\n <option value=\"zipcode\">Zipcode</option>\n }\n @if (areaTypes().includes('tract')) {\n <option value=\"tract\">Census Tracts</option>\n }\n</select>\n\n@if (areaType != 'none') {\n <h3>Choose Geographic Area</h3>\n <div class=\"tools\">\n <button class=\"btn-icon\" title=\"Select area\" [class.active]=\"mode == 'select'\" (click)=\"changeMode('select')\"><fa-icon [icon]=\"faMousePointer\"></fa-icon></button>\n <button class=\"btn-icon\" title=\"Select everthing in the map window\" (click)=\"changeMode('bounds')\"><fa-icon [icon]=\"faExpandArrows\"></fa-icon></button>\n <button class=\"btn-icon\" title=\"Select with a rectangle\" [class.active]=\"mode == 'rect'\" (click)=\"changeMode('rect')\"><fa-icon [icon]=\"faDrawSquare\"></fa-icon></button>\n <button class=\"btn-icon\" title=\"Select using a polygon\" [class.active]=\"mode == 'poly'\" (click)=\"changeMode('poly')\"><fa-icon [icon]=\"faDrawPolygon\"></fa-icon></button>\n <button class=\"btn-icon\" title=\"Choose from a list\" [class.active]=\"mode == 'list'\" (click)=\"changeMode('list')\"><fa-icon [icon]=\"faList\"></fa-icon></button>\n <!-- <button class=\"btn-icon\" title=\"Select a saved area\" [class.active]=\"mode == 'saved'\"\n (click)=\"changeMode('saved')\"><fa-icon [icon]=\"faBookmark\"></fa-icon></button> -->\n <button class=\"btn-icon\" title=\"Clear the selection\" (click)=\"changeMode('trash')\"><fa-icon [icon]=\"faTrashAlt\"></fa-icon></button>\n {{mode}}, {{svcMode()}}\n </div>\n}\n@switch (mode) {\n @case ('select') {\n <h3>Select area on map</h3>\n <div class=\"help-text\">Click on the map areas of interest. Selected areas will be highlighted.</div>\n }\n @case ('bounds') {\n <h3>Select all areas shown on map</h3>\n <div class=\"help-text\">All areas on the map have been selected.</div>\n }\n @case ('rect') {\n <h3>Select in rectangle</h3>\n <div class=\"help-text\">Click once to start the rectangle. Then move the mouse and click one more time to complete it.</div>\n }\n @case ('poly') {\n <h3>Select in polygon</h3>\n <div class=\"help-text\">\n Draw one or more polygons on the map. Double click or press \"Enter\" to end the current polygon. Everything in that polygon will be added. Hold down the \"Shift\" key to pan the\n map. Press \"Esc\" to cancel.\n </div>\n }\n @case ('list') {\n <h3>Select from list</h3>\n @if (areaType == 'state') {\n <!-- <ng-select\n class=\"ng-select-sm\"\n [(ngModel)]=\"areaSelection\"\n (ngModelChange)=\"updateSelection()\"\n bindLabel=\"Name\"\n bindValue=\"ID\"\n [multiple]=\"true\"\n [items]=\"states\"\n placeholder=\"Please choose ...\"\n ></ng-select> -->\n }\n @if (areaType == 'county') {\n <!-- <ng-select\n class=\"ng-select-sm\"\n [(ngModel)]=\"areaSelection\"\n (ngModelChange)=\"updateSelection()\"\n bindLabel=\"Name\"\n bindValue=\"ID\"\n [multiple]=\"true\"\n groupBy=\"Parent\"\n [selectableGroup]=\"true\"\n [items]=\"counties\"\n placeholder=\"Please choose ...\"\n ></ng-select> -->\n }\n @if (areaType == 'tract') {\n <!-- <div class=\"list\">\n <input type=\"text\" (keyup.enter)=\"addTract()\" [(ngModel)]=\"newTract\" placeholder=\"Type in tract id (11 digits)\" />\n @for (id of areaSelection; track id) {\n <div class=\"list-item\">\n {{ id }}\n <button class=\"x\" (click)=\"removeTract(id)\"><fa-icon [icon]=\"faTimes\"></fa-icon></button>\n </div>\n }\n </div> -->\n }\n }\n @case ('saved') {\n <h3>Select a saved area</h3>\n <!-- <ng-select></ng-select> -->\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n NgZone,\n OnDestroy,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faPrint } from '@fortawesome/free-solid-svg-icons';\nimport { saveAs } from 'file-saver';\nimport 'mapbox-gl-infobox/styles.css';\nimport maplibregl, { Map } from 'maplibre-gl';\n\nimport { Protocol } from 'pmtiles';\nimport { Subject } from 'rxjs';\nimport { MapSelectionService } from './map-selection.service';\nimport { MapService } from './map.service';\nimport { MapboxMapperGroup } from './mapper';\nimport { StandardLayersMapper } from './mappers/standard-layers-mapper';\nimport { Styles } from './styles';\n\n// Set up PMTiles protocol for MapLibre\nconst protocol = new Protocol();\nmaplibregl.addProtocol('pmtiles', protocol.tile);\n\n@Component({\n selector: 'mapag-map',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FaIconComponent, CommonModule],\n styles: `\n :host {\n height: 100%;\n position: relative;\n overflow: hidden;\n }\n \n .mapcontainer {\n margin: 0;\n padding: 0;\n height: 100%;\n width: 100%;\n }\n \n .legend {\n position: absolute;\n top: 10px;\n right: 10px;\n background: white;\n padding: 10px;\n border-radius: 5px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.2);\n z-index: 1000;\n }\n \n .buttons {\n position: absolute;\n top: 10px;\n left: 10px;\n z-index: 1000;\n }\n \n .buttons > button {\n border-radius: 5px;\n border: 1px solid #ccc;\n background: white;\n color: #333;\n padding: 8px 12px;\n cursor: pointer;\n box-shadow: 0 2px 4px rgba(0,0,0,0.2);\n }\n \n .buttons > button:hover {\n background-color: #f0f0f0;\n }\n \n .legend-row {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 8px;\n padding: 4px 0;\n align-items: center;\n }\n \n .legend-title {\n font-weight: bold;\n text-align: center;\n margin-bottom: 8px;\n }\n \n .legend-item {\n height: 15px;\n width: 15px;\n border: 1px solid #ccc;\n }\n `,\n template: `\n <div class=\"mapcontainer\" #map>\n @if (mapper().legends.length) { @for (legend of mapper().legends; track\n legend) {\n <div class=\"legend\">\n <div class=\"legend-title\">Legend</div>\n @if (legend.title) {\n <div>{{ legend.title }}</div>\n } @for (item of legend.items; track item) {\n <div class=\"legend-row\">\n <div class=\"legend-item\" [style.background-color]=\"item.value\"></div>\n <div>{{ item.label }}</div>\n </div>\n }\n </div>\n } }\n <div class=\"buttons\">\n <button class=\"map-btn\" (click)=\"saveImage()\" title=\"Save Image\">\n <fa-icon [icon]=\"faPrint\" size=\"lg\"></fa-icon>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n `,\n})\nexport class MapComponent implements AfterViewInit, OnDestroy {\n styles = new Styles();\n\n private zone = inject(NgZone);\n\n readonly mapper = input<MapboxMapperGroup<any>>(new MapboxMapperGroup());\n readonly mapContainer = viewChild<ElementRef>('map');\n readonly id = input('mapid');\n\n readonly onMapReady = output<Map>();\n readonly mapReady = signal<Map | undefined>(undefined);\n // accessToken = input.required<string>();\n\n // FontAwesome icons\n faPrint = faPrint;\n\n map: maplibregl.Map | undefined;\n svc = inject(MapService);\n selectionSvc = inject(MapSelectionService);\n\n updateLegendSub = new Subject<boolean>();\n\n constructor() {\n console.log('MapComponent created');\n this.styles.initializeEffect();\n }\n\n ngAfterViewInit() {\n this.initializeMap();\n }\n\n ngOnDestroy() {\n this.styles.destroy();\n }\n\n private async initializeMap() {\n this.zone.runOutsideAngular(async () => {\n const container = this.mapContainer();\n\n // let style =\n // 'https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json';\n // // style = 'https://demotiles.maplibre.org/style.json'\n let style = await this.styles.FetchStyleDefinition(this.styles.style());\n\n if (container) {\n // @ts-ignore - Type conflict between different maplibre-gl versions\n const map = new maplibregl.Map({\n container: container.nativeElement,\n // style: this.basemap(),\n // style: this.styles.style().url, // Default style\n style: style, // Default style\n center: [-98, 38.88],\n minZoom: 1,\n zoom: 3,\n \n });\n this.map = map;\n\n // disable map rotation using right click + drag\n map.dragRotate.disable();\n\n // Forward style change events to the mapper\n map.on('styledata', (e: any) => {\n this.zone.runOutsideAngular(() => {\n this.mapper().onStyleChange(map, this.svc);\n });\n });\n\n // Forward style change events to the mapper\n this.map.on('idle', () => {\n this.zone.runOutsideAngular(() => {\n this.mapper().onStyleChange(map, this.svc);\n });\n });\n \n // Process when the map has finished loading\n this.map.on('load', () => {\n this.styles.initializeMap(map);\n\n // Setup the mapper\n const mapper = this.mapper();\n\n // Set the map in the services\n this.svc.setMap(map);\n this.svc.setMapper(mapper);\n this.selectionSvc.setMap(map);\n this.selectionSvc.setMapper(mapper);\n\n // Just create our standard Layers\n const std = new StandardLayersMapper();\n std.onReady(map, this.svc);\n\n // Notify that the map is ready\n this.zone.runOutsideAngular(() => {\n this.onMapReady.emit(map);\n this.mapReady.set(map);\n });\n \n // Initialize the mapper(s)\n this.zone.runOutsideAngular(() => {\n this.mapper().onReady(map, this.svc);\n });\n });\n }\n });\n }\n\n saveImage() {\n if (!this.map) return;\n\n this.map.once('render', () => {\n const canvas = this.map?.getCanvas();\n if (canvas) {\n canvas.toBlob((blob) => {\n if (blob) {\n saveAs(blob, 'map.png');\n }\n });\n }\n });\n\n this.map.triggerRepaint();\n }\n}\n\n// Define map styles\nconst mapStyles = {\n 'carto-positron': {\n code: 'carto-positron',\n url: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json',\n image:\n 'https://carto.com/help/images/building-maps/basemaps/positron_labels.png',\n },\n 'carto-dark': {\n code: 'carto-dark',\n url: 'https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json',\n image:\n 'https://carto.com/help/images/building-maps/basemaps/dark_labels.png',\n },\n 'carto-voyager': {\n code: 'carto-voyager',\n url: 'https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json',\n image:\n 'https://carto.com/help/images/building-maps/basemaps/voyager_labels.png',\n },\n};\n","import { BBox, MultiPolygon, Polygon, Position } from \"geojson\";\n\nexport interface Geoloader {\n LoadBoundary(): Promise<MultiPolygon | undefined>\n}\n\nexport interface PointDataLoader {\n LoadPoints(options: PointDataOptions): Promise<PointData | undefined>\n}\n\nexport type PointDataOptions = {\n limit?: number\n offset?: number\n bboxFilter?: BBox\n}\n\nexport type PointData = {\n data : GeoJSON.FeatureCollection<GeoJSON.Geometry>\n totalCount: number\n limit?: number\n offset?: number\n bboxFilter?: BBox\n}\n\nexport interface PopupRenderer {\n RenderPopup(feature: GeoJSON.Feature): Promise<string | undefined>\n}\n\nexport function isGeoloader(obj: any): obj is Geoloader {\n return typeof obj === 'object' &&\n obj !== null &&\n typeof obj.LoadBoundary === 'function'\n}\n\nexport function isMultiPolygon(obj: any): obj is MultiPolygon {\n return typeof obj === 'object' &&\n obj !== null &&\n obj.type === 'MultiPolygon';\n}\n\nexport function isPolygon(obj: any): obj is Polygon {\n return typeof obj === 'object' &&\n obj !== null &&\n obj.type === 'Polygon';\n}\n\nexport function isNumber2DArray(input: any): input is number[][] {\n return Array.isArray(input) &&\n input.every(row =>\n Array.isArray(row) &&\n row.every(cell => typeof cell === 'number')\n );\n}\n\nexport function isNumber3DArray(input: any): input is number[][][] {\n return Array.isArray(input) &&\n input.every(matrix =>\n Array.isArray(matrix) &&\n matrix.every(row =>\n Array.isArray(row) &&\n row.every(cell => typeof cell === 'number')\n )\n );\n}\n\n\nexport function toMultiPolygon(geom: Polygon | MultiPolygon | number[][] | number[][][]): MultiPolygon {\n if (isMultiPolygon(geom)) {\n return geom\n }\n\n if (isPolygon(geom)) { \n return {\n type: 'MultiPolygon',\n coordinates: [geom.coordinates]\n } as MultiPolygon\n }\n\n if (isNumber2DArray(geom)) {\n let raw: number[][][] = [geom];\n const coords: Position[][][] = raw as unknown as Position[][][];\n return {\n type: 'MultiPolygon',\n coordinates: coords\n } as MultiPolygon\n }\n\n let raw: number[][][] = geom;\n const coords: Position[][][] = raw as unknown as Position[][][];\n return {\n type: 'MultiPolygon',\n coordinates: coords\n } as MultiPolygon\n }\n\n","import bbox from '@turf/bbox';\nimport bboxPolygon from '@turf/bbox-polygon';\nimport buffer from '@turf/buffer';\nimport { feature } from '@turf/helpers';\nimport { MultiPolygon, Polygon } from \"geojson\";\nimport { LngLatBoundsLike, Map } from 'maplibre-gl';\nimport { AddLayer, AddSource, RemoveLayer, RemoveSource } from '..//mapbox-utils';\nimport { MapboxMapper } from '../mapper';\nimport { Geoloader, isGeoloader, toMultiPolygon } from '../services/interfaces';\nimport { StandardLayersMapper } from './standard-layers-mapper';\n\nexport class BackgroundMaskMapper implements MapboxMapper {\n map: Map | undefined\n \n count: number = 0\n total: number = 0\n \n source : string = 'mask'\n layer : string = 'zmask'\n\n mask : MultiPolygon | undefined\n zoom: boolean = true\n private _fillColor: string = 'black'\n private _fillOpacity: number = 0.5\n private _visible: boolean = true\n // private _beforeLayer: string | undefined = 'unclustered-search-results'\n private _beforeLayer: string | undefined = StandardLayersMapper.SELECTIONS\n\n set fillColor(color: string) {\n this.fillColor = color\n this.load()\n }\n\n get fillColor(): string {\n return this._fillColor\n }\n\n set fillOpacity(opacity: number) {\n this.fillOpacity = opacity\n this.load()\n }\n\n get fillOpacity(): number {\n return this._fillOpacity\n }\n\n set visible(visible: boolean) {\n this._visible = visible\n this.load()\n }\n\n get visible(): boolean {\n return this._visible\n }\n \n set beforeLayer(layerId: string | undefined) {\n this._beforeLayer = layerId\n this.load()\n }\n\n get beforeLayer(): string | undefined {\n return this._beforeLayer\n }\n\n onReady(map: Map) {\n this.map = map\n this.reset()\n }\n\n reset() {\n this.clear()\n this.load()\n }\n\n clear() {\n this.removeLayers()\n }\n\n flyToBounds() {\n if (this.map && this.mask) {\n // minX, minY, maxX, maxY order\n let bboxCoords = this.mask.bbox\n if (!bboxCoords) {\n const f = feature(this.mask)\n bboxCoords = bbox(f)\n }\n const buffered = buffer(bboxPolygon(bboxCoords), 10, { units: 'miles' })\n const bbox2 = buffered ? bbox(buffered) : bboxCoords\n\n const bounds: LngLatBoundsLike = [\n { lat: bbox2[3], lon: bbox2[0] },\n { lat: bbox2[1], lon: bbox2[2] },\n ]\n this.map.fitBounds(bounds)\n }\n }\n\n removeLayers() {\n RemoveLayer(this.map, this.layer)\n RemoveSource(this.map, this.source)\n }\n\n load() {\n this.removeLayers()\n\n if (!this._visible) {\n return\n }\n\n if (!this.map || !this.mask) {\n return\n }\n\n // Create a simple world polygon without the mask for now\n // TODO: Implement proper polygon difference\n const shape = bboxPolygon([-180, -90, 180, 90])\n\n AddSource(this.map, this.source, {\n type: 'geojson',\n data: shape,\n })\n\n AddLayer(\n this.map,\n {\n id: this.layer,\n source: this.source,\n type: 'fill',\n paint: {\n 'fill-color': this.fillColor,\n 'fill-opacity': this.fillOpacity,\n },\n },\n this.beforeLayer,\n )\n\n if (this.zoom) {\n this.flyToBounds()\n }\n }\n\n async setMask(mask : Geoloader | MultiPolygon | Polygon | number[][] | number[][][], show : boolean = true) {\n if (isGeoloader(mask)) {\n this.mask = await mask.LoadBoundary()\n } else {\n this.mask = toMultiPolygon(mask)\n }\n\n if (!show) {\n return \n }\n\n this.visible = true\n }\n\n async loadGeoJsonFromLoader(loader: Geoloader) {\n // Load the boundary from the external loader\n const geomask = await loader.LoadBoundary()\n this.mask = geomask\n this.load()\n }\n}\n\n","import { MapGeoJSONFeature, MapMouseEvent, MapTouchEvent, Map as mbMap } from 'maplibre-gl'\nimport { MapService } from '../map.service'\nimport { AddLayer, AddSource, RemoveLayer, RemoveSource } from '../mapbox-utils'\nimport { MapboxMapper } from '../mapper'\n\n// Extend the event interfaces to include features property for layer-specific events\ninterface MapLayerMouseEvent extends MapMouseEvent {\n features?: MapGeoJSONFeature[]\n}\n\ninterface MapLayerTouchEvent extends MapTouchEvent {\n features?: MapGeoJSONFeature[]\n}\n\nexport class CensusTractMapper implements MapboxMapper {\n public map: mbMap | undefined\n public selected: CensusTract[] = []\n public svc: MapService | undefined\n hoveredStateId: string | number | null = null\n\n constructor(public belowLayer?: string) {}\n\n onReady(map: mbMap, svc: MapService) {\n this.map = map\n this.svc = svc\n this.load()\n }\n\n reset() {\n this.clear()\n this.load()\n }\n\n clear() {\n if (!this.map) return\n this.map.off('click', 'tracts-fill', this.onClick)\n this.map.off('mousemove', 'tracts-fill', this.onMouseMove)\n this.map.off('mouseleave', 'tracts-fill', this.onMouseLeave)\n RemoveLayer(this.map, 'tracts-fill')\n RemoveSource(this.map, 'tracts')\n }\n\n get count(): number {\n return this.selected.length\n }\n\n get total(): number {\n return this.selected.length\n }\n\n removeSelection(feature: CensusTract) {\n this.toggleSelection(feature, false)\n if (!this.map) return\n const featureId = { source: 'tracts', sourceLayer: 'CensusTract', id: feature.GeoID }\n let state = this.map.getFeatureState(featureId)\n if (state) {\n state['selected'] = false\n } else {\n state = { selected: false }\n }\n\n this.map.setFeatureState(featureId, state)\n }\n\n toggleSelection(feature: CensusTract, selected: boolean) {\n const index = this.selected.findIndex((a) => a.GeoID == feature.GeoID)\n if (selected) {\n if (index == -1) {\n this.selected.push(feature)\n }\n } else {\n if (index >= 0) {\n this.selected.splice(index, 1)\n }\n }\n }\n\n load() {\n if (!this.map) return\n\n AddSource(this.map, 'tracts', {\n type: 'vector',\n tiles: ['https://gis.data.census.gov/arcgis/rest/services/Hosted/VT_2019_140_00_PY_D1/VectorTileServer/tile/{z}/{y}/{x}.pbf'],\n promoteId: 'GEOID', // promote field to be used as a foreign key\n })\n AddLayer(\n this.map,\n {\n id: 'tracts-fill',\n type: 'fill',\n source: 'tracts',\n 'source-layer': 'CensusTract',\n paint: {\n 'fill-outline-color': '#e5541c',\n 'fill-color': [\n 'case',\n ['==', ['feature-state', 'hover'], true],\n 'rgba(229, 85, 28, 0.8)',\n ['==', ['feature-state', 'selected'], true],\n 'rgba(229, 85, 28, 0.5)',\n 'rgba(0,0,0,0)',\n ],\n },\n },\n this.belowLayer,\n )\n\n this.map.on('click', 'tracts-fill', this.onClick)\n\n // When the user moves their mouse over the layer, we'll update the\n // feature state for the feature under the mouse.\n this.map.on('mousemove', 'tracts-fill', this.onMouseMove)\n\n // When the mouse leaves the layer, update the feature state of the\n // previously hovered feature.\n this.map.on('mouseleave', 'tracts-fill', this.onMouseLeave)\n }\n\n onClick = (e: MapLayerMouseEvent | MapLayerTouchEvent) => {\n if (!this.svc || !this.map) return\n\n var coordinates = e.lngLat\n console.log('Clicked on ', e)\n\n\n //look up GINI value\n if (e?.features && e.features.length > 0) {\n let state = e.features[0].state\n const selected = state?.['selected'] ? true : false\n if (state) {\n state['selected'] = !selected\n } else {\n state = { selected: !selected }\n }\n\n const isSelected : boolean = state['selected'] as boolean\n this.toggleSelection(\n {\n Basename: e.features[0]?.properties?.['BASENAME'],\n Fullname: e.features[0]?.properties?.['FULLNAME'],\n GeoID: e.features[0]?.properties?.['GEOID'],\n },\n isSelected,\n )\n\n if (e.features[0].id !== undefined) {\n this.map.setFeatureState({ source: 'tracts', sourceLayer: 'CensusTract', id: e.features[0].id }, state)\n }\n }\n }\n\n onMouseMove = (e: MapLayerMouseEvent | MapLayerTouchEvent) => {\n if (!this.svc || !this.map) return\n\n if (e?.features && e.features.length > 0) {\n // Remove the old hover state\n if (this.hoveredStateId !== null) {\n let lastId = { source: 'tracts', sourceLayer: 'CensusTract', id: this.hoveredStateId }\n let state = this.map.getFeatureState(lastId)\n if (state) {\n state['hover'] = false\n } else {\n state = { hover: false }\n }\n this.map.setFeatureState(lastId, state)\n }\n\n // Add new hover\n let state = e.features[0].state\n if (state) {\n state['hover'] = false\n } else {\n state = { hover: false }\n }\n\n this.hoveredStateId = e.features[0].id as string | number\n if (this.hoveredStateId !== undefined) {\n this.map.setFeatureState({ source: 'tracts', sourceLayer: 'CensusTract', id: this.hoveredStateId }, { hover: true })\n }\n }\n }\n\n onMouseLeave = () => {\n if (!this.svc || !this.map) return\n \n if (this.hoveredStateId !== null) {\n let state = this.map.getFeatureState({ source: 'tracts', sourceLayer: 'CensusTract', id: this.hoveredStateId })\n if (state) {\n state['hover'] = false\n } else {\n state = { hover: false }\n }\n\n this.map.setFeatureState({ source: 'tracts', sourceLayer: 'CensusTract', id: this.hoveredStateId }, state)\n }\n this.hoveredStateId = null\n }\n}\n\nexport interface CensusTract {\n Basename: string\n Fullname: string\n GeoID: string\n}\n","\nexport class LayerSettings {\n visible = true\n}\n\nexport class PolygonLayerSettings extends LayerSettings {\n fillColor = '#888888'\n fillOpacity = 0.5\n opacity = 0.7\n borderColor = '#ffffff'\n borderWidth = 0.5\n borderOpacity = 0.8\n}\n\nexport type ColorValues = {[key: string]: string}\n\nexport class DiscreteColors {\n colors : ColorValues = {}\n}\n\n\n","import { effect, signal } from '@angular/core';\nimport { Map, Popup } from 'maplibre-gl';\nimport { MapService } from '../map.service';\nimport {\n AddLayer,\n AddSource,\n discoverLayers,\n RemoveLayer,\n RemoveSource,\n} from '../mapbox-utils';\nimport { LegendDesc, MapboxMapper } from '../mapper';\nimport { PolygonLayerSettings } from './settings';\nimport { StandardLayersMapper } from './standard-layers-mapper';\n\nexport class HardinessMapper implements MapboxMapper {\n LAYER_ID = 'hardiness-layer';\n SOURCE_ID = 'hardinessSource';\n SOURCE_LAYER = 'hardiness2023';\n PMTILES_URL =\n 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/hardiness2023.pmtiles';\n\n current: Popup | null = null;\n currentFeatureID: string | number | undefined = undefined;\n over = signal<GeoJSON.Feature | null>(null);\n settings = signal(new HardinessSettings());\n\n async onStyleChange(map: Map, svc: MapService): Promise<void> {\n // await this.onReady(map, svc);\n }\n\n constructor(settings?: Partial<HardinessSettings>) {\n if (settings) {\n this.settings.set({\n ...this.settings(),\n ...settings\n });\n }\n const _ = effect(() => {\n const settings = this.settings();\n // this._update(settings);\n this.create();\n });\n }\n\n async create() {\n if (!this.map) {\n return;\n }\n const map: Map = this.map;\n\n // Method 1: Get available layers from PMTiles metadata\n const layers = await discoverLayers(this.PMTILES_URL);\n console.log('Discovered layers:', layers);\n\n AddSource(map, this.SOURCE_ID, {\n type: 'vector',\n url: this.PMTILES_URL,\n });\n\n const added = AddLayer(\n map,\n {\n id: this.LAYER_ID,\n source: this.SOURCE_ID,\n 'source-layer': this.SOURCE_LAYER,\n type: 'fill',\n },\n StandardLayersMapper.POLYGONS_BACKGROUND\n );\n\n this._update(this.settings());\n\n if (added) {\n map.on('mousemove', this.LAYER_ID, (e) => {\n this.over.set(\n e.features && e.features.length > 0 ? e.features[0] : null\n );\n });\n\n map.on('click', this.LAYER_ID, (e) => {\n // Publish\n this.over.set(\n e.features && e.features.length > 0 ? e.features[0] : null\n );\n if (e.features && e.features.length > 0) {\n const feature = e.features[0];\n const coordinates = e.lngLat;\n console.log('Feature properties:', feature.properties);\n const name = feature.properties\n ? feature.properties['zone']\n : 'Unknown';\n\n // Ensure that if the popup is already open, we don't create a new one\n if (this.popup) {\n this.popup.remove();\n }\n const fields = feature.properties\n ? Object.entries(feature.properties)\n .map(([key, value]) => `<strong>${key}:</strong> ${value}`)\n .join('<br/>')\n : '';\n\n this.currentFeatureID = feature?.properties?.['globalid'];\n this.popup = new Popup({ maxWidth: '400px' })\n .setLngLat(coordinates)\n .setHTML(`<strong>Hardiness:</strong> ${name}<hr /><br/>${fields}`)\n .addTo(map);\n }\n });\n }\n }\n\n update(newSettings: Partial<HardinessSettings>) {\n this.settings.set({...this.settings(), ...newSettings});\n }\n\n private _update(settings: HardinessSettings) {\n if (!this.map) {\n return;\n }\n\n // Visiblitiy\n if (settings.visible) {\n this.map.setLayoutProperty(this.LAYER_ID, 'visibility', 'visible');\n } else {\n this.map.setLayoutProperty(this.LAYER_ID, 'visibility', 'none');\n }\n\n // Update paint properties\n this.map.setPaintProperty(this.LAYER_ID, 'fill-color', [\n 'case',\n ['==', ['get', 'zone'], '1a'], settings.zone1a,\n ['==', ['get', 'zone'], '1b'], settings.zone1b,\n ['==', ['get', 'zone'], '2a'], settings.zone2a,\n ['==', ['get', 'zone'], '2b'], settings.zone2b,\n ['==', ['get', 'zone'], '3a'], settings.zone3a,\n ['==', ['get', 'zone'], '3b'], settings.zone3b,\n ['==', ['get', 'zone'], '4a'], settings.zone4a,\n ['==', ['get', 'zone'], '4b'], settings.zone4b,\n ['==', ['get', 'zone'], '5a'], settings.zone5a,\n ['==', ['get', 'zone'], '5b'], settings.zone5b,\n ['==', ['get', 'zone'], '6a'], settings.zone6a,\n ['==', ['get', 'zone'], '6b'], settings.zone6b,\n ['==', ['get', 'zone'], '7a'], settings.zone7a,\n ['==', ['get', 'zone'], '7b'], settings.zone7b,\n ['==', ['get', 'zone'], '8a'], settings.zone8a,\n ['==', ['get', 'zone'], '8b'], settings.zone8b,\n ['==', ['get', 'zone'], '9a'], settings.zone9a,\n ['==', ['get', 'zone'], '9b'], settings.zone9b,\n ['==', ['get', 'zone'], '10a'], settings.zone10a,\n ['==', ['get', 'zone'], '10b'], settings.zone10b,\n ['==', ['get', 'zone'], '11a'], settings.zone11a,\n ['==', ['get', 'zone'], '11b'], settings.zone11b,\n ['==', ['get', 'zone'], '12a'], settings.zone12a,\n ['==', ['get', 'zone'], '12b'], settings.zone12b,\n ['==', ['get', 'zone'], '13a'], settings.zone13a,\n ['==', ['get', 'zone'], '13b'], settings.zone13b,\n settings.fillColor,\n ]);\n\n this.map.setPaintProperty(\n this.LAYER_ID,\n 'fill-opacity',\n settings.fillOpacity\n );\n\n // Set up the legend\n if (settings.visible) {\n this.legends = [\n {\n title: 'USDA Plant Hardiness Zones',\n items: [\n { value: settings.zone1a, label: 'Zone 1a' },\n { value: settings.zone1b, label: 'Zone 1b' },\n { value: settings.zone2a, label: 'Zone 2a' },\n { value: settings.zone2b, label: 'Zone 2b' },\n { value: settings.zone3a, label: 'Zone 3a' },\n { value: settings.zone3b, label: 'Zone 3b' },\n { value: settings.zone4a, label: 'Zone 4a' },\n { value: settings.zone4b, label: 'Zone 4b' },\n { value: settings.zone5a, label: 'Zone 5a' },\n { value: settings.zone5b, label: 'Zone 5b' },\n { value: settings.zone6a, label: 'Zone 6a' },\n { value: settings.zone6b, label: 'Zone 6b' },\n { value: settings.zone7a, label: 'Zone 7a' },\n { value: settings.zone7b, label: 'Zone 7b' },\n { value: settings.zone8a, label: 'Zone 8a' },\n { value: settings.zone8b, label: 'Zone 8b' },\n { value: settings.zone9a, label: 'Zone 9a' },\n { value: settings.zone9b, label: 'Zone 9b' },\n { value: settings.zone10a, label: 'Zone 10a' },\n { value: settings.zone10b, label: 'Zone 10b' },\n { value: settings.zone11a, label: 'Zone 11a' },\n { value: settings.zone11b, label: 'Zone 11b' },\n { value: settings.zone12a, label: 'Zone 12a' },\n { value: settings.zone12b, label: 'Zone 12b' },\n { value: settings.zone13a, label: 'Zone 13a' },\n { value: settings.zone13b, label: 'Zone 13b' },\n ],\n },\n ];\n } else {\n this.legends = undefined;\n }\n }\n\n async onReady(map: Map, svc: MapService): Promise<void> {\n this.map = map;\n this.create();\n }\n\n reset(): void {}\n clear(): void {\n RemoveLayer(this.map, this.LAYER_ID);\n RemoveSource(this.map, this.SOURCE_ID);\n }\n\n legends?: LegendDesc[] | undefined;\n count: number = 0;\n total: number = 0;\n map: Map | undefined;\n popup: Popup | null = null;\n}\n\nexport class HardinessSettings extends PolygonLayerSettings {\n zone1a = '#1a237e';\n zone1b = '#283593';\n zone2a = '#3949ab';\n zone2b = '#3f51b5';\n zone3a = '#5c6bc0';\n zone3b = '#7986cb';\n zone4a = '#42a5f5';\n zone4b = '#29b6f6';\n zone5a = '#26c6da';\n zone5b = '#26a69a';\n zone6a = '#66bb6a';\n zone6b = '#9ccc65';\n zone7a = '#d4e157';\n zone7b = '#ffee58';\n zone8a = '#ffca28';\n zone8b = '#ffa726';\n zone9a = '#ff8a65';\n zone9b = '#ff7043';\n zone10a = '#f4511e';\n zone10b = '#e53935';\n zone11a = '#c62828';\n zone11b = '#ad1457';\n zone12a = '#8e24aa';\n zone12b = '#7b1fa2';\n zone13a = '#6a1b9a';\n zone13b = '#4a148c';\n override fillColor = '#cccccc'; // default color for unknown zones\n override fillOpacity = 0.7;\n override borderOpacity = 0;\n}\n","import { CircleLayerSpecification, FillLayerSpecification, LineLayerSpecification, Map, SymbolLayerSpecification } from 'maplibre-gl'\nimport { MapService } from '../map.service'\nimport { AddLayer, AddSource, RemoveLayer, RemoveSource } from '../mapbox-utils'\nimport { LegendDesc, MapboxMapper } from '../mapper'\nimport { StandardLayersMapper } from './standard-layers-mapper'\n\nexport class VectorTileServerMapper implements MapboxMapper {\n legends?: LegendDesc[]\n count: number = 0\n total: number = 0\n\n map: Map | undefined\n svc: MapService | undefined\n display: boolean = true\n displayLabels: boolean = true\n\n constructor(private src: VectorTileServerSource) {}\n\n onReady(map: Map, svc: MapService) {\n this.map = map\n this.svc = svc\n this.addSource()\n this.addLayers()\n }\n reset() {\n this.clear()\n this.addSource()\n this.addLayers()\n }\n \n clear() {\n if (!this.map) return \n for (const layer of this.src.layerStyles) {\n RemoveLayer(this.map, layer.id)\n }\n if (this.src.labelStyles) {\n for (const layer of this.src.labelStyles) {\n RemoveLayer(this.map, layer.id)\n }\n }\n RemoveSource(this.map, this.src.layerId)\n }\n\n addSource() {\n if (!this.map) return \n AddSource(this.map, this.src.layerId, {\n type: 'vector',\n tiles: [`https://gis.data.census.gov/${this.src.tileSource}/tile/{z}/{y}/{x}.pbf`],\n promoteId: 'GEOID', // promote field to be used as a foreign key\n })\n }\n\n addLayers() {\n for (const layer of this.src.layerStyles) {\n let layerCopy = JSON.parse(JSON.stringify(layer))\n layerCopy.source = this.src.layerId\n AddLayer(this.map, layerCopy, StandardLayersMapper.POLYGONS_BACKGROUND)\n }\n\n if (this.src.labelStyles) {\n for (const layer of this.src.labelStyles) {\n let layerCopy = JSON.parse(JSON.stringify(layer))\n layerCopy.source = this.src.layerId\n delete layerCopy.layout['text-font']\n AddLayer(this.map, layerCopy, StandardLayersMapper.POINTS)\n }\n }\n this.updateBoth(false)\n }\n\n updateBoth(v: boolean) {\n this.updateDisplay(v)\n this.updateDisplayLabels(v)\n }\n\n updateDisplay(v: boolean) {\n this.display = v\n if (!this.map) return\n\n if (v) {\n for (const layer of this.src.layerStyles) {\n this.map.setLayoutProperty(layer.id, 'visibility', 'visible')\n }\n } else {\n for (const layer of this.src.layerStyles) {\n this.map.setLayoutProperty(layer.id, 'visibility', 'none')\n }\n }\n }\n\n updateDisplayLabels(v: boolean) {\n this.displayLabels = v\n if (!this.map) return\n if (!this.src.labelStyles) return\n\n if (v) {\n for (const layer of this.src.labelStyles) {\n this.map.setLayoutProperty(layer.id, 'visibility', 'visible')\n }\n } else {\n for (const layer of this.src.labelStyles) {\n this.map.setLayoutProperty(layer.id, 'visibility', 'none')\n }\n }\n }\n}\n\ntype PossibleLayer = SymbolLayerSpecification | FillLayerSpecification | LineLayerSpecification | CircleLayerSpecification\n\nexport interface VectorTileServerSource {\n labelStyles?: SymbolLayerSpecification[]\n displayName: string\n tileSource: string\n layerStyles: PossibleLayer[]\n layerId: string\n name: string\n}\n\n// export interface Style {\n// layout: maplibregl.SymbolLayout | maplibregl.FillLayout | maplibregl.LineLayout\n// maxzoom: number\n// paint: maplibregl.SymbolPaint | maplibregl.FillPaint | maplibregl.LinePaint\n// id: string\n// source: string\n// \"source-layer\": string\n// type: 'symbol' | 'fill' | 'line'\n// minzoom: number\n// }\n","import { effect, signal } from '@angular/core';\nimport { Map, Popup } from 'maplibre-gl';\nimport { MapService } from '../map.service';\nimport { AddLayer, AddSource } from '../mapbox-utils';\nimport { LegendDesc, MapboxMapper } from '../mapper';\nimport { StandardLayersMapper } from './standard-layers-mapper';\n\nexport type HydrologicUnit = 'HUC2' | 'HUC4' | 'HUC6' | 'HUC8' | 'HUC10' | 'HUC12';\n\nexport class WatershedMapper implements MapboxMapper {\n static WBDHU2 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/WBDHU2.pmtiles';\n static WBDHU4 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/WBDHU4.pmtiles';\n static WBDHU6 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/watershedhu6.pmtiles';\n static WBDHU8 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/WBDHU8.pmtiles';\n static WBDHU10 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/WBDHU10.pmtiles';\n static WBDHU12 = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/WBDHU12.pmtiles';\n\n FILL_LAYER_ID = 'watershed-layer';\n LINE_LAYER_ID = 'watershed-layer-line';\n LABEL_LAYER_ID = 'watershed-layer-label';\n SOURCE_ID = 'watershedSource';\n SOURCE_LAYER = 'watershedhu6';\n currentHU: HydrologicUnit = 'HUC6';\n settings = signal(new WatershedSettings());\n current: Popup | null = null;\n currentFeatureID: string | number | undefined = undefined;\n over = signal<GeoJSON.Feature | null>(null);\n\n constructor(settings?: Partial<WatershedSettings>) {\n if (settings) {\n this.settings.set({\n ...this.settings(),\n ...settings\n });\n }\n const _ = effect(() => {\n const settings = this.settings();\n this._update(settings);\n });\n }\n\n update(settings: Partial<WatershedSettings>) {\n this.settings.set({...this.settings(), ...settings});\n }\n\n private _update(settings: WatershedSettings) {\n if (!this.map) {\n return;\n }\n const map: Map = this.map;\n\n if (this.currentHU !== settings.hydrologicUnit) {\n this.clear();\n this.currentHU = settings.hydrologicUnit;\n this.create();\n }\n\n if (settings.visible) {\n map.setLayoutProperty(this.FILL_LAYER_ID, 'visibility', 'visible');\n map.setLayoutProperty(this.LINE_LAYER_ID, 'visibility', 'visible');\n } else {\n map.setLayoutProperty(this.FILL_LAYER_ID, 'visibility', 'none');\n map.setLayoutProperty(this.LINE_LAYER_ID, 'visibility', 'none');\n }\n\n map.setPaintProperty(this.FILL_LAYER_ID, 'fill-color', settings.fillColor);\n map.setPaintProperty(this.FILL_LAYER_ID, 'fill-opacity', settings.fillOpacity);\n\n map.setPaintProperty(this.LINE_LAYER_ID, 'line-color', settings.borderColor);\n map.setPaintProperty(this.LINE_LAYER_ID, 'line-width', settings.borderWidth);\n map.setPaintProperty(this.LINE_LAYER_ID, 'line-opacity', settings.borderOpacity);\n\n const watershedLabelVisible = settings.visible && settings.labelsVisible;\n map.setLayoutProperty(this.LABEL_LAYER_ID, 'visibility', watershedLabelVisible ? 'visible' : 'none');\n map.setPaintProperty(this.LABEL_LAYER_ID, 'text-color', settings.labelsColor);\n map.setPaintProperty(this.LABEL_LAYER_ID, 'text-halo-color', settings.labelsHaloColor);\n map.setPaintProperty(this.LABEL_LAYER_ID, 'text-halo-width', settings.labelsHaloWidth);\n map.setPaintProperty(this.LABEL_LAYER_ID, 'text-opacity', settings.labelsOpacity);\n map.setLayoutProperty(this.LABEL_LAYER_ID, 'text-size', settings.labelsSize);\n }\n\n private create() {\n if (!this.map) {\n return;\n }\n const map: Map = this.map;\n\n let PMTILES_URL = WatershedMapper.WBDHU6;\n switch (this.settings().hydrologicUnit) {\n case 'HUC2':\n PMTILES_URL = WatershedMapper.WBDHU2;\n this.SOURCE_LAYER = 'WBDHU2';\n break;\n case 'HUC4':\n PMTILES_URL = WatershedMapper.WBDHU4;\n this.SOURCE_LAYER = 'WBDHU4';\n break;\n case 'HUC6':\n PMTILES_URL = WatershedMapper.WBDHU6;\n this.SOURCE_LAYER = 'watershedhu6';\n break;\n case 'HUC8':\n PMTILES_URL = WatershedMapper.WBDHU8;\n this.SOURCE_LAYER = 'WBDHU8';\n break;\n case 'HUC10':\n PMTILES_URL = WatershedMapper.WBDHU10;\n this.SOURCE_LAYER = 'WBDHU10';\n break;\n case 'HUC12':\n PMTILES_URL = WatershedMapper.WBDHU12;\n this.SOURCE_LAYER = 'WBDHU12';\n break;\n default:\n PMTILES_URL = WatershedMapper.WBDHU6;\n this.SOURCE_LAYER = 'watershedhu6'; \n }\n \n AddSource(map, this.SOURCE_ID, {\n type: 'vector',\n url: PMTILES_URL,\n });\n\n const addedFill = AddLayer(map,\n {\n id: this.FILL_LAYER_ID,\n source: this.SOURCE_ID,\n \"source-layer\": this.SOURCE_LAYER, \n type: 'fill',\n },\n StandardLayersMapper.POLYGONS_BACKGROUND\n );\n\n // map.showTileBoundaries = true;\n AddLayer(map,\n {\n id: this.LINE_LAYER_ID,\n source: this.SOURCE_ID,\n \"source-layer\": this.SOURCE_LAYER,\n type: 'line',\n },\n StandardLayersMapper.POLYGONS_BACKGROUND\n );\n\n AddLayer(map,\n {\n id: this.LABEL_LAYER_ID,\n source: this.SOURCE_ID,\n \"source-layer\": this.SOURCE_LAYER,\n type: 'symbol',\n layout: {\n 'text-field': ['get', 'name'],\n 'text-size': this.settings().labelsSize,\n 'text-allow-overlap': true,\n },\n paint: {\n 'text-color': this.settings().labelsColor,\n 'text-halo-color': this.settings().labelsHaloColor,\n 'text-halo-width': this.settings().labelsHaloWidth,\n // 'text-size': this.settings().labelsSize,\n },\n },\n StandardLayersMapper.POLYGONS_BACKGROUND\n ); \n\n this._update(this.settings());\n\n if (!addedFill) {\n return;\n }\n\n map.on('zoomend', () => {\n if (!this.settings().visible) {\n return \n }\n\n const zoom = map.getZoom();\n if (this.settings().autoSelectLayer) {\n if (zoom >= 0 && zoom < 5 && this.currentHU !== 'HUC2') {\n this.update({ hydrologicUnit: 'HUC2' });\n } else if (zoom >=5 && zoom < 7 && this.currentHU !== 'HUC4') {\n this.update({ hydrologicUnit: 'HUC4' });\n } else if (zoom >=7 && zoom < 9 && this.currentHU !== 'HUC6') {\n this.update({ hydrologicUnit: 'HUC6' });\n } else if (zoom >=9 && zoom < 11 && this.currentHU !== 'HUC8') {\n this.update({ hydrologicUnit: 'HUC8' });\n } else if (zoom >=11 && zoom < 13 && this.currentHU !== 'HUC10') {\n this.update({ hydrologicUnit: 'HUC10' });\n } else if (zoom >=13 && this.currentHU !== 'HUC12') {\n this.update({ hydrologicUnit: 'HUC12' });\n }\n }\n })\n\n map.on('mousemove', this.FILL_LAYER_ID, (e) => {\n this.over.set(e.features && e.features.length > 0 ? e.features[0] : null);\n });\n\n map.on('click', this.FILL_LAYER_ID, (e) => {\n // Publish\n this.over.set(e.features && e.features.length > 0 ? e.features[0] : null);\n if (e.features && e.features.length > 0) {\n const feature = e.features[0];\n const coordinates = e.lngLat;\n console.log('Feature properties:', feature.properties);\n const name = feature.properties\n ? feature.properties['name']\n : 'Unknown';\n\n // Ensure that if the popup is already open, we don't create a new one\n if (this.popup) {\n this.popup.remove();\n }\n const fields = feature.properties\n ? Object.entries(feature.properties)\n .map(([key, value]) => `<strong>${key}:</strong> ${value}`)\n .join('<br/>')\n : '';\n\n this.currentFeatureID = feature?.properties?.['globalid'];\n this.popup = new Popup({ maxWidth: '400px' })\n .setLngLat(coordinates)\n .setHTML(`<strong>Watershed:</strong> ${name}<hr /><br/>${fields}`)\n .addTo(map);\n }\n });\n \n }\n\n\n async onReady(map: Map, svc: MapService): Promise<void> {\n this.map = map;\n this.create();\n }\n reset(): void {}\n clear(): void {\n if (this.map) {\n this.map.removeLayer(this.FILL_LAYER_ID);\n this.map.removeLayer(this.LINE_LAYER_ID);\n this.map.removeLayer(this.LABEL_LAYER_ID);\n this.map.removeSource(this.SOURCE_ID);\n }\n }\n\n legends?: LegendDesc[] | undefined;\n count: number = 0;\n total: number = 0;\n map: Map | undefined;\n popup: Popup | null = null;\n}\n\nexport class WatershedSettings {\n hydrologicUnit : HydrologicUnit = 'HUC6';\n visible = true;\n fillColor = '#0000ff';\n fillOpacity = 0.1;\n borderColor = '#01018bff';\n borderWidth = 1;\n borderOpacity = 1.0; \n labelsVisible = true;\n labelsSize : number = 10;\n labelsColor = '#000000';\n labelsHaloColor = '#ffffff';\n labelsHaloWidth = 1;\n labelsOpacity = 1.0;\n autoSelectLayer = false;\n}","import { HttpClient } from \"@angular/common/http\"\nimport { MultiPolygon, Polygon } from \"geojson\"\nimport { firstValueFrom } from \"rxjs\"\nimport { Geoloader, toMultiPolygon } from \"./interfaces\"\n\n\nexport class HttpBoundaryLoader implements Geoloader {\n static NewCustom(http: HttpClient, path: string) {\n const loader = new HttpBoundaryLoader(http)\n loader.customUrl = path\n return loader\n }\n\n static NewStandard(http: HttpClient, geoType: 'county' | 'state' | 'fips', geoids: string) {\n const loader = new HttpBoundaryLoader(http)\n loader.geoType = geoType\n loader.geoids = geoids\n return loader\n }\n\n private http: HttpClient \n private geoType: 'county' | 'state' | 'fips' = 'state'\n private geoids: string | undefined\n private customUrl: string | undefined\n\n constructor(http: HttpClient) {\n this.http = http\n }\n\n boundary: MultiPolygon | undefined\n\n LoadBoundary(): Promise<MultiPolygon| undefined> {\n if (this.boundary) {\n return Promise.resolve(this.boundary)\n }\n\n if (this.geoType == 'county' && this.geoids) {\n return this.loadCounty(this.geoids)\n }\n if (this.geoType == 'state' && this.geoids) {\n return this.loadState(this.geoids)\n }\n if (this.geoType == 'fips' && this.geoids) {\n return this.loadCounties(this.geoids)\n }\n if (this.customUrl) {\n return this.loadCustom(this.customUrl)\n }\n return Promise.resolve(undefined)\n }\n\n loadCounty(geoid: string) {\n let url = 'https://public.opendatasoft.com/api/records/1.0/search/?dataset=us-county-boundaries&q=&facet=stusab&refine.geoid=' + geoid\n return this.loadGeoJson(url, 'geo_shape')\n }\n\n loadCounties(abbr: string) {\n let url = 'https://public.opendatasoft.com/api/records/1.0/search/?dataset=us-county-boundaries&q=&rows=1000&refine.stusab=' + abbr\n return this.loadGeoJson(url, 'geo_shape')\n }\n\n loadState(abbr: string) {\n console.log('Loading State ', abbr)\n let url = 'https://public.opendatasoft.com/api/records/1.0/search/?dataset=us-state-boundaries&q=&facet=name&refine.stusab=' + abbr\n return this.loadGeoJson(url, 'st_asgeojson')\n }\n\n loadCustom(path: string) {\n return this.loadGeoJson(path, 'features')\n }\n\n async loadGeoJson(url: string, geofield: string): Promise<MultiPolygon | undefined> {\n const response : any = await firstValueFrom(this.http.get(url))\n if (!response) {\n return undefined\n }\n if (!response.records && !response[geofield]) {\n return undefined\n }\n\n let records: any[] = response.records || response[geofield]\n if (!records || records.length == 0) {\n return undefined\n }\n \n const record = records[0]\n let geo = record\n if (record.geometry) {\n geo = record.geometry\n }\n if (record.fields && record.fields[geofield]) {\n geo = record.fields[geofield]\n }\n\n if (geo.type == \"Polygon\") {\n this.boundary = toMultiPolygon(geo as Polygon)\n } else if (geo.type == \"MultiPolygon\") {\n this.boundary = geo as MultiPolygon\n } else {\n console.error('Unknown geometry type: ', geo.type)\n return undefined\n }\n\n return this.boundary\n }\n \n}","/*\n * Public API Surface of mapag\n */\n\nexport * from './lib/basemap-select';\nexport * from './lib/basemap-select-menu';\nexport * from './lib/basemaps';\nexport * from './lib/map-area-select/map-area-select.component';\nexport * from './lib/map-selection.service';\nexport * from './lib/map.component';\nexport * from './lib/map.service';\nexport * from './lib/mapbox-utils';\nexport * from './lib/mapper';\nexport * from './lib/mappers/area-mapper';\nexport * from './lib/mappers/background-mask';\nexport * from './lib/mappers/census-tracts-mapper';\nexport * from './lib/mappers/drawing-mapper';\nexport * from './lib/mappers/hardiness';\nexport * from './lib/mappers/standard-layers-mapper';\nexport * from './lib/mappers/vector-tile-server-mapper';\nexport * from './lib/mappers/watershed';\nexport * from './lib/services/http-boundary-loader';\nexport * from './lib/services/interfaces';\nexport * from './lib/styles';\n// export * from './lib/models/census-zipcodes';\n// export * from './lib/models/census-counties';\n// export * from './lib/models/census-states';\n// export * from './lib/models/census-tracts';\n// export * from './lib/models/layers';\n// export * from './lib/models/vector-tile-server-source';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["BasemapSelectComponent","i1"],"mappings":"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,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD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wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;AACd,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN,KAAK;gBACL,OAAO;gBACP,KAAK;gBACL,QAAQ;gBACR;AACD,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;oBACD,EAAE;oBACF,EAAE;oBACF;AACD,iBAAA;AACD,gBAAA,qBAAqB,EAAE,GAAG;AAC1B,gBAAA,gBAAgB,EAAE,CAAC;AACnB,gBAAA,gBAAgB,EAAE;AACnB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,CAAC;AACpB,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,qBAAqB;AAC3B,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN;AACD,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,qBAAqB,EAAE,GAAG;AAC1B,gBAAA,gBAAgB,EAAE;AACnB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,OAAO;AACvB,YAAA,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN,MAAM;gBACN;AACD,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;A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;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;AACd,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,MAAM;AACtB,YAAA,QAAQ,EAAE;gBACR,KAAK;AACL,gBAAA;oBACE,IAAI;AACJ,oBAAA;wBACE,KAAK;wBACL;AACD,qBAAA;AACD,oBAAA;wBACE,SAAS;AACT,wBAAA;4BACE,OAAO;4BACP,QAAQ;4BACR,QAAQ;4BACR,MAAM;4BACN,MAAM;4BACN,KAAK;4BACL,QAAQ;4BACR,OAAO;4BACP,WAAW;4BACX,SAAS;4BACT,UAAU;4BACV,gBAAgB;4BAChB,SAAS;4BACT,YAAY;4BACZ,SAAS;4BACT,QAAQ;4BACR,QAAQ;4BACR,SAAS;4BACT,gBAAgB;4BAChB,aAAa;4BACb,UAAU;4BACV,UAAU;4BACV,YAAY;4BACZ,WAAW;4BACX,MAAM;4BACN,KAAK;4BACL,aAAa;4BACb,aAAa;4BACb,OAAO;4BACP,QAAQ;4BACR,aAAa;4BACb,SAAS;4BACT,YAAY;4BACZ,QAAQ;4BACR,SAAS;4BACT;AACD;AACF;AACF,iBAAA;AACD,gBAAA;oBACE,IAAI;AACJ,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE,GAAG;AACH,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;wBACD;AACD;AACF;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,YAAY,EAAE;oBACZ,OAAO;AACP,oBAAA;wBACE,KAAK;wBACL;AACD,qBAAA;oBACD,SAAS;oBACT,eAAe;AACf,oBAAA;wBACE,KAAK;wBACL;AACD;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;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CACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,gBAAgB,EAAE,CAAC;AACnB,gBAAA,qBAAqB,EAAE,GAAG;AAC1B,gBAAA,cAAc,EAAE;oBACd,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,EAAE;oBACF,EAAE;oBACF,EAAE;oBACF;AACD,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX,aAAa;AACb,oBAAA;wBACE,aAAa;wBACb;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,EAAE;oBACF,CAAC;oBACD,EAAE;oBACF,EAAE;oBACF,EAAE;oBACF;AACD,iBAAA;AACD,gBAAA,gBAAgB,EAAE;AACnB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN;AACD,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,iBAAiB,EAAE;oBACjB,KAAK;oBACL;AACD,iBAAA;AACD,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE,UAAU;AACV,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,KAAK;4BACL;AACD;AACF,qBAAA;oBACD,CAAC;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;AACL,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;AACL,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,MAAM;AACN,gCAAA;oCACE,KAAK;AACL,oCAAA;wCACE,qBAAqB;AACrB,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,MAAM;AACN,wCAAA;4CACE,KAAK;AACL,4CAAA;gDACE,GAAG;AACH,gDAAA;oDACE,KAAK;oDACL;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;AACD,4CAAA;gDACE,GAAG;AACH,gDAAA;oDACE,KAAK;oDACL;AACD;AACF;AACF,yCAAA;wCACD,EAAE;AACF,wCAAA;4CACE,UAAU;AACV,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;AACD,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;AACL,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,MAAM;AACN,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,MAAM;AACN,gCAAA;oCACE,GAAG;AACH,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF,qCAAA;oCACD,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF,iCAAA;AACD,gCAAA;oCACE,GAAG;AACH,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF,qCAAA;oCACD,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF,iCAAA;AACD,gCAAA;oCACE,QAAQ;AACR,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;oCACD,EAAE;oCACF,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF,qCAAA;oCACD,IAAI;oCACJ,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF,qCAAA;AACD,oCAAA;AACE,wCAAA,WAAW,EAAE;4CACX,MAAM;AACN,4CAAA;gDACE,IAAI;AACJ,gDAAA;oDACE,KAAK;oDACL;AACD,iDAAA;gDACD;AACD,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF,6CAAA;AACD,4CAAA;gDACE,SAAS;AACT,gDAAA;oDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX;AACD,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;oBACD,EAAE;oBACF,CAAC;oBACD;AACD,iBAAA;AACD,gBAAA,oBAAoB,EAAE,GAAG;AACzB,gBAAA,aAAa,EAAE,QAAQ;AACvB,gBAAA,gBAAgB,EAAE;AACnB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,iBAAiB,EAAE;AACpB;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,QAAQ,EAAE,WAAW;AACrB,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN;AACD,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,SAAS;wBACT;AACD,qBAAA;oBACD,CAAC;oBACD;AACD,iBAAA;AACD,gBAAA,WAAW,EAAE,GAAG;AAChB,gBAAA,YAAY,EAAE;oBACZ,MAAM;AACN,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,qBAAqB;AACrB,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,MAAM;AACN,oCAAA;wCACE,KAAK;AACL,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,GAAG;AACH,4CAAA;gDACE,KAAK;gDACL;AACD;AACF;AACF,qCAAA;oCACD,EAAE;AACF,oCAAA;wCACE,UAAU;AACV,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;AACD,wCAAA;4CACE,KAAK;4CACL;AACD;AACF;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;4BACD;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,KAAK;AACL,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;AACL,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF,qBAAA;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,KAAK;AACL,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;AACD,4BAAA;gCACE,KAAK;gCACL;AACD;AACF,yBAAA;AACD,wBAAA;4BACE,QAAQ;AACR,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD,EAAE;4BACF,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF,6BAAA;4BACD,IAAI;4BACJ,EAAE;AACF,4BAAA;gCACE,UAAU;AACV,gCAAA;oCACE,KAAK;oCACL;AACD,iCAAA;AACD,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;AACE,gCAAA,WAAW,EAAE;oCACX,MAAM;AACN,oCAAA;wCACE,IAAI;AACJ,wCAAA;4CACE,KAAK;4CACL;AACD,yCAAA;wCACD;AACD,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF,qCAAA;AACD,oCAAA;wCACE,SAAS;AACT,wCAAA;4CACE;AACD;AACF;AACF;AACF;AACF,yBAAA;AACD,wBAAA;4BACE,MAAM;AACN,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,GAAG;AACH,gCAAA;oCACE,KAAK;oCACL;AACD;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF,6BAAA;AACD,4BAAA;gCACE,QAAQ;AACR,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;gCACD,EAAE;gCACF,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF,iCAAA;gCACD,IAAI;gCACJ,EAAE;AACF,gCAAA;oCACE,UAAU;AACV,oCAAA;wCACE,KAAK;wCACL;AACD,qCAAA;AACD,oCAAA;wCACE,KAAK;wCACL;AACD;AACF,iCAAA;AACD,gCAAA;AACE,oCAAA,WAAW,EAAE;wCACX,MAAM;AACN,wCAAA;4CACE,IAAI;AACJ,4CAAA;gDACE,KAAK;gDACL;AACD,6CAAA;4CACD;AACD,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF,yCAAA;AACD,wCAAA;4CACE,SAAS;AACT,4CAAA;gDACE;AACD;AACF;AACF;AACF;AACF;AACF;AACF;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX,MAAM;AACN,oBAAA;wBACE,IAAI;AACJ,wBAAA;4BACE,KAAK;4BACL;AACD,yBAAA;wBACD;AACD,qBAAA;AACD,oBAAA;wBACE,SAAS;AACT,wBAAA;4BACE;AACD;AACF,qBAAA;AACD,oBAAA;wBACE,SAAS;AACT,wBAAA;4BACE;AACD;AACF;AACF,iBAAA;AACD,gBAAA,iBAAiB,EAAE;oBACjB,MAAM;AACN,oBAAA;wBACE,KAAK;wBACL;AACD,qBAAA;AACD,oBAAA;wBACE,KAAK;wBACL;AACD,qBAAA;AACD,oBAAA;wBACE,KAAK;wBACL;AACD;AACF,iBAAA;AACD,gBAAA,cAAc,EAAE;oBACd,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,EAAE;oBACF;AACD,iBAAA;AACD,gBAAA,WAAW,EAAE;oBACX,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,CAAC;AACD,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD,qBAAA;oBACD,CAAC;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;AACF,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD,qBAAA;oBACD,CAAC;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;AACF,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD,qBAAA;oBACD,CAAC;AACD,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;AACF,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD,qBAAA;oBACD,EAAE;AACF,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;AACF,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD,qBAAA;oBACD,EAAE;AACF,oBAAA;wBACE,MAAM;AACN,wBAAA;4BACE,GAAG;AACH,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;AACF,wBAAA;4BACE,IAAI;AACJ,4BAAA;gCACE,KAAK;gCACL;AACD,6BAAA;4BACD;AACD,yBAAA;wBACD,EAAE;wBACF;AACD;AACF,iBAAA;AACD,gBAAA,cAAc,EAAE;oBACd,aAAa;AACb,oBAAA;wBACE;AACD,qBAAA;AACD,oBAAA;wBACE;AACD,qBAAA;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,CAAC;oBACD,EAAE;oBACF,CAAC;oBACD,EAAE;oBACF,CAAC;oBACD,EAAE;o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"}
|