{"mappings":"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","sources":["node_modules/@parcel/runtime-js/lib/runtime-80d780421c2b34b3.js","node_modules/@parcel/runtime-js/lib/helpers/bundle-manifest.js","app.js","node_modules/@swc/helpers/src/index.js","node_modules/@swc/helpers/src/_apply_decorated_descriptor.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js","node_modules/@swc/helpers/src/_array_with_holes.js","node_modules/@swc/helpers/src/_array_without_holes.js","node_modules/@swc/helpers/src/_assert_this_initialized.js","node_modules/@swc/helpers/src/_async_generator.js","node_modules/@swc/helpers/src/_await_value.js","node_modules/@swc/helpers/src/_async_generator_delegate.js","node_modules/@swc/helpers/src/_async_iterator.js","node_modules/@swc/helpers/src/_async_to_generator.js","node_modules/@swc/helpers/src/_await_async_generator.js","node_modules/@swc/helpers/src/_class_call_check.js","node_modules/@swc/helpers/src/_class_name_tdz_error.js","node_modules/@swc/helpers/src/_class_private_field_get.js","node_modules/@swc/helpers/src/_class_private_field_loose_base.js","node_modules/@swc/helpers/src/_class_private_field_set.js","node_modules/@swc/helpers/src/_class_private_method_get.js","node_modules/@swc/helpers/src/_class_private_method_set.js","node_modules/@swc/helpers/src/_class_static_private_field_spec_get.js","node_modules/@swc/helpers/src/_class_static_private_field_spec_set.js","node_modules/@swc/helpers/src/_construct.js","node_modules/@swc/helpers/src/_create_class.js","node_modules/@swc/helpers/src/_decorate.js","node_modules/@swc/helpers/src/_to_array.js","node_modules/@swc/helpers/src/_iterable_to_array.js","node_modules/@swc/helpers/src/_non_iterable_rest.js","node_modules/@swc/helpers/src/_to_property_key.js","node_modules/@swc/helpers/src/_type_of.js","node_modules/@swc/helpers/src/_to_primitive.js","node_modules/@swc/helpers/src/_defaults.js","node_modules/@swc/helpers/src/_define_enumerable_properties.js","node_modules/@swc/helpers/src/_define_property.js","node_modules/@swc/helpers/src/_extends.js","node_modules/@swc/helpers/src/_get.js","node_modules/@swc/helpers/src/_super_prop_base.js","node_modules/@swc/helpers/src/_get_prototype_of.js","node_modules/@swc/helpers/src/_inherits.js","node_modules/@swc/helpers/src/_set_prototype_of.js","node_modules/@swc/helpers/src/_inherits_loose.js","node_modules/@swc/helpers/src/_initializer_define_property.js","node_modules/@swc/helpers/src/_initializer_warning_helper.js","node_modules/@swc/helpers/src/_instanceof.js","node_modules/@swc/helpers/src/_interop_require_default.js","node_modules/@swc/helpers/src/_interop_require_wildcard.js","node_modules/@swc/helpers/src/_is_native_function.js","node_modules/@swc/helpers/src/_iterable_to_array_limit.js","node_modules/@swc/helpers/src/_iterable_to_array_limit_loose.js","node_modules/@swc/helpers/src/_jsx.js","node_modules/@swc/helpers/src/_new_arrow_check.js","node_modules/@swc/helpers/src/_non_iterable_spread.js","node_modules/@swc/helpers/src/_object_spread.js","node_modules/@swc/helpers/src/_object_without_properties.js","node_modules/@swc/helpers/src/_object_without_properties_loose.js","node_modules/@swc/helpers/src/_possible_constructor_return.js","node_modules/@swc/helpers/src/_read_only_error.js","node_modules/@swc/helpers/src/_set.js","node_modules/@swc/helpers/src/_skip_first_generator_next.js","node_modules/@swc/helpers/src/_sliced_to_array.js","node_modules/@swc/helpers/src/_sliced_to_array_loose.js","node_modules/@swc/helpers/src/_tagged_template_literal.js","node_modules/@swc/helpers/src/_tagged_template_literal_loose.js","node_modules/@swc/helpers/src/_throw.js","node_modules/@swc/helpers/src/_to_consumable_array.js","node_modules/@swc/helpers/src/_wrap_async_generator.js","node_modules/@swc/helpers/src/_wrap_native_super.js","node_modules/regenerator-runtime/runtime.js","node_modules/@lit/reactive-element/src/reactive-element.ts","node_modules/@lit/reactive-element/src/css-tag.ts","node_modules/lit-html/src/lit-html.ts","node_modules/lit-element/src/lit-element.ts","node_modules/papaparse/papaparse.min.js","node_modules/@parcel/runtime-js/lib/runtime-f5260ccd76d0b342.js","node_modules/@parcel/runtime-js/lib/helpers/browser/js-loader.js","node_modules/@parcel/runtime-js/lib/helpers/cacheLoader.js","node_modules/@parcel/runtime-js/lib/helpers/bundle-url.js","node_modules/@parcel/runtime-js/lib/runtime-46687aeb71b778c0.js","node_modules/@parcel/runtime-js/lib/runtime-516b4f0808bb252e.js"],"sourcesContent":["require('./helpers/bundle-manifest').register(JSON.parse(\"{\\\"dzjBv\\\":\\\"index.85b279b8.js\\\",\\\"fbeTq\\\":\\\"hq.bundle.1b43c99b.js\\\",\\\"5HoW0\\\":\\\"leaves.eef8c0b4.png\\\",\\\"1pQBX\\\":\\\"sw.js\\\"}\"));","\"use strict\";\n\nvar mapping = {};\n\nfunction register(pairs) {\n var keys = Object.keys(pairs);\n\n for (var i = 0; i < keys.length; i++) {\n mapping[keys[i]] = pairs[keys[i]];\n }\n}\n\nfunction resolve(id) {\n var resolved = mapping[id];\n\n if (resolved == null) {\n throw new Error('Could not resolve bundle with id ' + id);\n }\n\n return resolved;\n}\n\nmodule.exports.register = register;\nmodule.exports.resolve = resolve;","import { html, render } from 'lit';\nimport Papa from 'papaparse';\n\nconst DATA_API_ROOT = 'https://data.exploretrees.sg/';\n\nconst speciesFamily = {};\nconst fColorsMap = {};\nconst fColors = [];\nconst familiesSpeciesFetch = fetch(`${DATA_API_ROOT}families-species.json`)\n .then((res) => res.json())\n .then((data) => {\n const familiesSpeciesData = data;\n for (let family in familiesSpeciesData) {\n familiesSpeciesData[family].forEach((s) => (speciesFamily[s] = family));\n }\n\n const families = Object.keys(familiesSpeciesData).sort();\n const familiesCount = families.length;\n families.forEach((f, i) => {\n const hue = (i / familiesCount) * 300;\n const color = `hsl(${hue}, 100%, 50%)`;\n fColors.push(f, color);\n fColorsMap[f] = {\n hslStr: color,\n rgbArr: HSLToRGB(hue, 100, 50),\n };\n });\n fColors.push('slategray');\n document.getElementById('legend-family').innerHTML = Object.keys(fColorsMap)\n .map((f, i) => {\n return `\n \n ${f}\n `;\n })\n .join('');\n document.getElementById('legend-family').onclick = (e) => {\n if (e.target.tagName.toLowerCase() === 'a') {\n if (e.target.classList.contains('selected')) {\n e.preventDefault();\n location.hash = '#family';\n }\n }\n };\n });\n\nconst isTouch = 'ontouchstart' in window || navigator.msMaxTouchPoints;\nconst hqHash = /#hq/.test(location.hash);\nconst renderingMode = !hqHash && isTouch ? 'low' : 'high';\n\nif (renderingMode === 'low')\n document.getElementById('rendering-mode').hidden = false;\n\nconst distancePoints = (x1, y1, x2, y2) => {\n const dx = x1 - x2;\n const dy = y1 - y2;\n return Math.sqrt(dx * dx + dy * dy);\n};\n\n// https://css-tricks.com/converting-color-spaces-in-javascript/\nfunction hexToRGB(h) {\n // Assume #123456\n let r = 0,\n g = 0,\n b = 0;\n r = +('0x' + h[1] + h[2]);\n g = +('0x' + h[3] + h[4]);\n b = +('0x' + h[5] + h[6]);\n return [r, g, b];\n}\nfunction HSLToRGB(h, s, l) {\n // Must be fractions of 1\n s /= 100;\n l /= 100;\n let c = (1 - Math.abs(2 * l - 1)) * s,\n x = c * (1 - Math.abs(((h / 60) % 2) - 1)),\n m = l - c / 2,\n r = 0,\n g = 0,\n b = 0;\n if (0 <= h && h < 60) {\n r = c;\n g = x;\n b = 0;\n } else if (60 <= h && h < 120) {\n r = x;\n g = c;\n b = 0;\n } else if (120 <= h && h < 180) {\n r = 0;\n g = c;\n b = x;\n } else if (180 <= h && h < 240) {\n r = 0;\n g = x;\n b = c;\n } else if (240 <= h && h < 300) {\n r = x;\n g = 0;\n b = c;\n } else if (300 <= h && h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return [r, g, b];\n}\n\n// https://stackoverflow.com/a/47355187/20838\nconst colorContext = document.createElement('canvas').getContext('2d');\nconst colorNameCache = new Map();\nconst colorName2RGB = (str) => {\n if (colorNameCache.has(str)) return colorNameCache.get(str);\n colorContext.fillStyle = str;\n const rgb = hexToRGB(colorContext.fillStyle);\n colorNameCache.set(str, rgb);\n return rgb;\n};\n\nconst $modal = document.getElementById('modal');\nconst $card = document.getElementById('card');\nconst $layersButton = document.getElementById('layers-button');\nconst $layers = document.getElementById('layers');\n\n$layersButton.onclick = function () {\n document.body.classList.toggle('modal');\n $layers.hidden = !$layers.hidden;\n};\n\nfunction closeLayers() {\n document.body.classList.remove('modal');\n $layers.hidden = true;\n}\n\n$modal.onclick = closeLayers;\n\n$layers.onclick = function (e) {\n if (e.target.className.toLowerCase() === 'close') {\n closeLayers();\n }\n if (/family\\//i.test(e.target.href)) {\n closeLayers();\n }\n};\n\nmapboxgl.accessToken =\n 'pk.eyJ1IjoiY2hlZWF1biIsImEiOiJjanF3azBrMjMwM2w1NDNyN3Yzc21saDUzIn0.jNWlsBO-S3uDKdfT9IKT1A';\nconst mapBounds = [\n [103.6016626883025, 1.233357600011331], // sw\n [104.0381760444838, 1.473818072475055], // ne\n];\nconst map = (window._map = new mapboxgl.Map({\n container: 'map',\n style: 'mapbox://styles/cheeaun/ckuuzdbmpf0uw17s058a34qq3?optimize=true',\n minZoom: 8,\n maxZoom: 20,\n renderWorldCopies: false,\n boxZoom: false,\n attributionControl: false, // Attribution is inside Layers modal\n bounds: mapBounds,\n // maxTileCacheSize: renderingMode === 'low' ? 0 : null,\n fadeDuration: renderingMode === 'high' ? 300 : 0,\n}));\nif (renderingMode === 'low') {\n map.touchZoomRotate.disableRotation();\n // map.on('error', (e) => alert(e));\n}\nconst geolocateControl = new mapboxgl.GeolocateControl({\n positionOptions: {\n enableHighAccuracy: true,\n },\n showUserHeading: true,\n trackUserLocation: true,\n});\nmap.addControl(geolocateControl);\nmap.addControl(new mapboxgl.NavigationControl());\n\nclass Link3DControl {\n onAdd(map) {\n this._map = map;\n const container = document.createElement('a');\n container.className = 'mapboxgl-ctrl mapboxgl-ctrl-group';\n container.innerHTML = `\n \n `;\n container.href = '/3d/';\n container.target = '_blank';\n container.style.textDecoration = 'none';\n this._container = container;\n return this._container;\n }\n}\nmap.addControl(new Link3DControl(), 'top-right');\n\nsetTimeout(() => {\n let orientationGranted = false;\n geolocateControl._geolocateButton.addEventListener('click', (e) => {\n if (window.DeviceOrientationEvent && !orientationGranted) {\n if (typeof DeviceOrientationEvent.requestPermission === 'function') {\n DeviceOrientationEvent.requestPermission()\n .then(function (permissionState) {\n if (permissionState === 'granted') {\n console.log('granted');\n orientationGranted = true;\n }\n })\n .catch((e) => {});\n }\n }\n });\n}, 1);\n\nlet labelLayerId;\nlet mapLoaded = new Promise((res, rej) => map.once('load', res));\n\nlet speciesData = {};\nfetch(DATA_API_ROOT + 'species.json')\n .then((res) => res.json())\n .then((data) => {\n speciesData = data;\n });\n\nmap.once('styledata', () => {\n const layers = map.getStyle().layers;\n console.log(layers);\n labelLayerId = layers.find(\n (layer) => layer.type === 'symbol' && layer.layout['text-field'],\n ).id;\n\n const poiStyles = {\n layout: {\n 'icon-offset': [0, -4],\n 'icon-size': 0.5,\n 'text-max-width': 12,\n 'text-variable-anchor': ['left', 'right', 'bottom', 'top'],\n 'text-justify': 'auto',\n 'text-radial-offset': 0.9,\n 'text-padding': 1,\n 'text-size': 11,\n 'text-optional': true,\n },\n paint: {\n 'text-halo-blur': 1,\n 'text-halo-width': 1,\n },\n };\n\n map.once('idle', () => {\n fetch(DATA_API_ROOT + 'pois.json')\n .then((res) => res.json())\n .then((poisData) => {\n map.addSource('pois', {\n type: 'geojson',\n tolerance: 10,\n buffer: 0,\n data: {\n type: 'FeatureCollection',\n features: poisData.map((p) => ({\n type: 'Feature',\n geometry: {\n type: 'Point',\n coordinates: p.position,\n },\n properties: {\n name: p.name,\n type: p.type,\n },\n })),\n },\n });\n\n map.addImage('poi-park', document.getElementById('park-icon'));\n map.addImage('poi-hroad', document.getElementById('hroad-icon'));\n map.addImage(\n 'poi-srgreenery',\n document.getElementById('srgreenery-icon'),\n );\n map.addImage('poi-garden', document.getElementById('garden-icon'));\n\n map.addLayer({\n id: 'pois',\n type: 'symbol',\n source: 'pois',\n minzoom: 16,\n layout: {\n 'icon-image': [\n 'match',\n ['get', 'type'],\n 'park',\n 'poi-park',\n 'hroad',\n 'poi-hroad',\n 'srgreenery',\n 'poi-srgreenery',\n 'garden',\n 'poi-garden',\n 'circle-11',\n ],\n 'text-allow-overlap': true,\n 'text-ignore-placement': true,\n 'text-field': ['step', ['zoom'], '', 16, ['get', 'name']],\n ...poiStyles.layout,\n },\n paint: {\n 'text-color': 'rgba(255,255,255,.85)',\n 'text-halo-color': 'rgba(0,0,0,0.85)',\n ...poiStyles.paint,\n },\n });\n });\n });\n});\n\nconst markupCard = (d, selected) => html`\n \n

\n ${(speciesData[d.species_id] || { name: d.species_id }).name}\n ${d.heritage ? html` 🌳 ` : '🌱'}\n

\n
\n Family name:\n ${d.family\n ? html`\n ${d.family}\n \n `\n : '-'}\n ${selected\n ? html`\n
\n Common name:\n ${d.common_name ||\n (speciesData[d.species_id] || {}).common_name ||\n '-'}\n `\n : ''}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Tree IDGirth (m)Height (m)Age (Y)
${d.tree_id}${d.girth}${d.height || '-'}${d.age || '-'}
\n ${selected\n ? html`\n
\n \n \n Google Maps\n \n \n 🔍 Learn more\n \n
\n `\n : ''}\n`;\nconst showTree = (d, selected = false) => {\n render(markupCard(d, selected), $card);\n $card.hidden = false;\n $card.classList.toggle('selected', selected);\n};\n\nlet highlightedTree;\nlet selectedTree;\nlet hideHighlightTree;\n$card.onclick = (e) => {\n if (e.target && e.target.tagName.toLowerCase() === 'a') {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n if (e.target && e.target.classList.contains('close')) {\n $card.hidden = true;\n hideHighlightTree && hideHighlightTree();\n selectedTree = highlightedTree = null;\n } else if (highlightedTree) {\n selectedTree = highlightedTree;\n showTree(selectedTree, true);\n flyToPosition(selectedTree.position);\n }\n};\n\nconst flyToPosition = (lngLat) => {\n document.body.style.pointerEvents = 'none';\n map.once('moveend', () => {\n document.body.style.pointerEvents = '';\n });\n const zoom = map.getZoom();\n if (zoom >= 16) {\n map.easeTo({\n center: lngLat,\n zoom: Math.max(18, zoom),\n });\n } else {\n map.flyTo({\n speed: 1,\n center: lngLat,\n zoom: 16,\n });\n }\n};\n\n(async () => {\n let currentFamily = null;\n if (renderingMode === 'low') {\n await mapLoaded;\n\n map.addSource('trees-source', {\n type: 'vector',\n url: 'mapbox://cheeaun.bptkspgy', // Production\n // url: 'mapbox://cheeaun.dgcdx6zd', // Staging\n });\n\n const layerStyles = {\n type: {\n paint: {\n 'circle-color': [\n 'case',\n ['to-boolean', ['get', 'heritage']],\n 'aqua',\n 'green',\n ],\n 'circle-radius': [\n 'interpolate',\n ['linear'],\n ['zoom'],\n 8,\n 0.5,\n 14,\n ['case', ['to-boolean', ['get', 'heritage']], 3, 1.25],\n 20,\n ['case', ['to-boolean', ['get', 'heritage']], 10, 6],\n ],\n 'circle-stroke-width': [\n 'interpolate',\n ['linear'],\n ['zoom'],\n 11,\n 0,\n 14,\n 1,\n ],\n 'circle-stroke-color': 'rgba(0,0,0,.25)',\n },\n },\n girth: {\n paint: {\n 'circle-color': [\n 'match',\n ['get', 'girth_size'],\n 'L',\n 'orangered',\n 'M',\n 'green',\n 'S',\n 'limegreen',\n 'XS',\n 'yellow',\n 'slategray',\n ],\n 'circle-opacity': [\n 'match',\n ['get', 'girth_size'],\n 'L',\n 1,\n 'M',\n 0.78,\n 'S',\n 0.56,\n 'XS',\n 0.5,\n 0.5,\n ],\n 'circle-radius': [\n 'interpolate',\n ['linear'],\n ['zoom'],\n 10,\n 0.5,\n 20,\n 5,\n ],\n },\n },\n age: {\n paint: {\n 'circle-color': [\n 'interpolate',\n ['linear'],\n ['to-number', ['get', 'age'], 0],\n 0,\n 'slategray',\n 0.001,\n 'yellow',\n 10,\n 'orange',\n 20,\n 'lime',\n 30,\n 'orangered',\n 100,\n 'magenta',\n ],\n 'circle-opacity': [\n 'interpolate',\n ['linear'],\n ['to-number', ['get', 'age'], 0],\n 0,\n 0.25,\n 1,\n 0.5,\n 10,\n 0.6,\n 20,\n 0.78,\n 30,\n 1,\n ],\n 'circle-radius': [\n 'interpolate',\n ['linear'],\n ['zoom'],\n 10,\n [\n 'case',\n ['>', ['to-number', ['get', 'age']], 30],\n ['max', 0.5, ['min', 3, ['to-number', ['get', 'age']]]],\n 0.5,\n ],\n 20,\n 5,\n ],\n },\n },\n family: {\n paint: {\n 'circle-color': ['match', ['to-string', ['get', 'family']]].concat(\n fColors,\n ),\n 'circle-opacity': () => [\n 'case',\n ['all', !!currentFamily, ['!=', ['get', 'family'], currentFamily]],\n 16 / 256,\n ['to-boolean', ['get', 'family']],\n 1,\n 0.5,\n ],\n 'circle-radius': () => [\n 'interpolate',\n ['linear'],\n ['zoom'],\n 10,\n [\n 'case',\n [\n 'all',\n !!currentFamily,\n ['==', ['get', 'family'], currentFamily],\n ],\n 2,\n 0.5,\n ],\n 20,\n 5,\n ],\n },\n },\n };\n\n map.addLayer(\n {\n id: 'trees',\n type: 'circle',\n source: 'trees-source',\n 'source-layer': 'trees',\n layout: {\n visibility: 'none',\n },\n },\n labelLayerId,\n );\n\n map.addSource('highlight-tree', {\n type: 'geojson',\n tolerance: 10,\n buffer: 0,\n data: {\n type: 'Feature',\n },\n });\n map.addLayer({\n id: 'highlight-tree',\n type: 'circle',\n source: 'highlight-tree',\n layout: {\n visibility: 'none',\n },\n paint: {\n 'circle-color': [\n 'interpolate',\n ['linear'],\n ['zoom'],\n 0,\n 'rgba(255, 255, 255, .5)',\n 20,\n 'rgba(255, 255, 255, .1)',\n ],\n 'circle-stroke-width': 3,\n 'circle-stroke-color': 'dodgerblue',\n 'circle-radius': [\n 'interpolate',\n ['linear'],\n ['zoom'],\n 0,\n 5,\n 14,\n 8,\n 24,\n 16,\n ],\n },\n });\n const highlightTreeSource = map.getSource('highlight-tree');\n function showHighlightTree(coordinates) {\n map.setLayoutProperty('highlight-tree', 'visibility', 'visible');\n highlightTreeSource.setData({\n type: 'Feature',\n properties: {},\n geometry: {\n type: 'Point',\n coordinates,\n },\n });\n }\n hideHighlightTree = () => {\n map.setLayoutProperty('highlight-tree', 'visibility', 'none');\n };\n\n window.onhashchange = function () {\n const hash = decodeURIComponent(location.hash.slice(1));\n let filters = hash.trim().split('/');\n const filter = filters[0] || 'type';\n const filter2 = filters[1] || null;\n currentFamily = filter === 'family' ? filter2 : null;\n console.log({ filters });\n let styles = layerStyles[filter];\n if (!styles) {\n filter = 'type';\n styles = layerStyles.type;\n }\n const { paint } = styles;\n for (let name in paint) {\n map.setPaintProperty(\n 'trees',\n name,\n typeof paint[name] === 'function' ? paint[name]() : paint[name],\n );\n }\n map.setLayoutProperty('trees', 'visibility', 'visible');\n const links = document.querySelectorAll('#layers a');\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n link.classList.toggle(\n 'selected',\n link.innerText.toLowerCase() == filter ||\n link.innerText.trim() == currentFamily,\n );\n }\n const legends = document.querySelectorAll('#layers .legend');\n for (let i = 0; i < legends.length; i++) {\n const legend = legends[i];\n legend.classList.toggle('selected', legend.classList.contains(filter));\n }\n };\n window.onhashchange();\n\n const pointRange = 10;\n map.on('click', (e) => {\n const { point, lngLat } = e;\n if (selectedTree) {\n const { point } = e;\n const treePoint = map.project(selectedTree.position);\n const distance = distancePoints(\n point.x,\n point.y,\n treePoint.x,\n treePoint.y,\n );\n if (distance > 30) {\n // If cursor click is far away from selected tree,\n // reset everything\n selectedTree = highlightedTree = null;\n $card.hidden = true;\n hideHighlightTree();\n }\n } else {\n let feature;\n let features = map.queryRenderedFeatures(point, { layers: ['trees'] });\n if (features.length) {\n feature = features[0];\n } else {\n const { x, y } = point;\n features = map.queryRenderedFeatures(\n [\n [x - pointRange, y - pointRange],\n [x + pointRange, y + pointRange],\n ],\n { layers: ['trees'] },\n );\n let shortestDistance = Infinity;\n features.forEach((f) => {\n const { coordinates } = f.geometry;\n const distance = distancePoints(\n lngLat.lng,\n lngLat.lat,\n coordinates[0],\n coordinates[1],\n );\n if (distance < shortestDistance) {\n shortestDistance = distance;\n feature = f;\n }\n });\n }\n // console.log(e, features);\n if (feature) {\n const { properties } = feature;\n const position = (properties.position = properties.position\n .split(',')\n .map(Number));\n highlightedTree = properties;\n showTree(highlightedTree);\n showHighlightTree(position);\n } else {\n highlightedTree = null;\n $card.hidden = true;\n hideHighlightTree();\n }\n }\n return true;\n });\n\n map.on('dragstart', () => {\n if (selectedTree) return;\n if ($card.hidden) return;\n $card.hidden = true;\n hideHighlightTree();\n return true;\n });\n } else {\n const {\n MapboxLayer,\n AmbientLight,\n SunLight,\n LightingEffect,\n ScatterplotLayer,\n // SolidPolygonLayer,\n SimpleMeshLayer,\n SphereGeometry,\n TruncatedConeGeometry,\n polyline,\n KDBush,\n geokdbush,\n // circle,\n throttle,\n } = await import('./hq.bundle');\n\n const highlightPoint = {};\n const highlightTreeLayer = new MapboxLayer({\n visible: false,\n id: 'highlight-tree',\n type: ScatterplotLayer,\n opacity: 1,\n radiusMinPixels: 10,\n getRadius: 3,\n getFillColor: [26, 128, 227, 50],\n stroked: true,\n lineWidthUnits: 'pixels',\n getLineWidth: 3,\n getLineColor: [26, 128, 227, 255],\n parameters: {\n depthTest: false,\n },\n });\n function showHighlightTree(coordinates) {\n highlightPoint.position = coordinates;\n highlightTreeLayer.setProps({\n visible: true,\n data: [highlightPoint],\n });\n }\n hideHighlightTree = () => {\n highlightTreeLayer.setProps({\n visible: false,\n });\n };\n\n // Pitch control\n class PitchControl {\n onAdd(map) {\n this._map = map;\n const container = document.createElement('div');\n container.className = 'mapboxgl-ctrl mapboxgl-ctrl-group';\n container.innerHTML = `\n \n `;\n container.onclick = function () {\n const pitch = map.getPitch();\n const zoom = map.getZoom();\n let nextPitch = 0;\n if (pitch <= 5) nextPitch = 80;\n if (zoom < 17 && pitch < 5) {\n map.flyTo({\n pitch: nextPitch,\n zoom: 17,\n });\n } else {\n map.easeTo({\n pitch: nextPitch,\n });\n }\n };\n map.on('pitchend', this.onPitch);\n this._container = container;\n return this._container;\n }\n onPitch = () => {\n const pitch = this._map.getPitch();\n const is3DMode = pitch > 5;\n this._container.classList.toggle('active', is3DMode);\n };\n onRemove() {\n this._container.parentNode.removeChild(this._container);\n this._map.off('pitchend', this.onPitch);\n this._map = undefined;\n }\n }\n map.addControl(new PitchControl(), 'top-right');\n\n document.getElementById('map').classList.remove('loaded');\n\n const fetchCSV = new Promise((resolve, reject) => {\n console.time('csv download');\n Papa.parse(DATA_API_ROOT + 'trees-no-coords.csv.txt', {\n download: true,\n header: true,\n fastMode: true,\n worker: true,\n complete: (results) => {\n console.timeEnd('csv download');\n resolve(results.data);\n },\n error: (e) => {\n reject(e);\n },\n });\n });\n\n const fetchLines = fetch(DATA_API_ROOT + 'trees.line.txt')\n .then((res) => res.text())\n .then((text) => {\n const coords = polyline.decode(text);\n return coords;\n });\n\n const fetchHeritage = fetch(DATA_API_ROOT + 'heritage-trees.json').then(\n (res) => res.json(),\n );\n\n const fetchTrees = Promise.all([\n fetchCSV,\n fetchLines,\n fetchHeritage,\n familiesSpeciesFetch,\n ]).then(([props, coords, heritageList]) => {\n // console.log({ props, coords });\n const metadata = {};\n const data = props.map((p, i) => {\n const {\n id,\n tree_id,\n species_id,\n girth,\n girth_size,\n height,\n height_est,\n age,\n } = p;\n // const names = speciesData[species_id] || {};\n const family = speciesFamily[species_id] || null;\n const heritage = heritageList.includes(id);\n const elevation = heritage ? 0.4 : age > 30 ? 0.3 : family ? 0.2 : 0.1;\n const position = coords[i].concat(elevation);\n metadata[id] = {\n tree_id,\n species_id,\n girth,\n height,\n // name: names.name || '',\n // common_name: names.common_name || '',\n family,\n };\n return {\n id,\n position,\n // all properties needed for rendering\n girth,\n girth_size,\n height_est: +height_est,\n age: +age,\n heritage,\n family,\n familyColor: fColorsMap[family] || null,\n };\n });\n\n return [data, metadata];\n });\n\n const treesLayer = new MapboxLayer({\n id: 'trees',\n type: ScatterplotLayer,\n opacity: 1,\n radiusMinPixels: 0.2,\n radiusMaxPixels: 5,\n lineWidthUnits: 'pixels',\n getLineWidth: 1,\n getLineColor: [0, 0, 0, 200],\n // parameters: {\n // depthTest: false,\n // },\n });\n\n map.on('zoom', () => {\n const zoom = map.getZoom();\n treesLayer.setProps({\n stroked: zoom >= 16,\n });\n });\n\n const layerStyles = {\n type: {\n getRadius: (d) => (d.heritage ? 100 : 3),\n getFillColor: (d) => {\n if (d.heritage) return colorName2RGB('aqua');\n return colorName2RGB('green');\n },\n },\n girth: {\n getRadius: 3,\n getFillColor: (d) => {\n const color = {\n NULL: ['slategray', 128],\n XS: ['yellow', 140],\n S: ['limegreen', 170],\n M: ['green', 200],\n L: ['orangered', 255],\n }[d.girth_size || 'NULL'];\n return colorName2RGB(color[0]).concat(color[1]);\n },\n },\n age: {\n getRadius: (d) => (d.age > 30 ? Math.max(3, d.age) : 3),\n getFillColor: ({ age }) => {\n if (age >= 100) return colorName2RGB('magenta');\n if (age > 30) return colorName2RGB('orangered');\n if (age > 20) return colorName2RGB('lime').concat(200);\n if (age > 10) return colorName2RGB('orange').concat(170);\n if (age > 0.001) return colorName2RGB('yellow').concat(140);\n return colorName2RGB('slategray').concat(128);\n },\n },\n family: {\n getRadius: (d) =>\n currentFamily && d.family === currentFamily ? 100 : 3,\n getFillColor: ({ family, familyColor }) => {\n if (currentFamily && family !== currentFamily) {\n return colorName2RGB('slategray').concat(16);\n }\n return familyColor\n ? familyColor.rgbArr\n : colorName2RGB('slategray').concat(128);\n },\n },\n };\n\n const treesTrunkLayer = (window.treesTrunkLayer = new MapboxLayer({\n visible: false,\n id: 'trees-trunk',\n type: SimpleMeshLayer,\n mesh: new TruncatedConeGeometry({\n topRadius: 0.5,\n bottomRadius: 1.2,\n }),\n getColor: [67, 39, 21],\n getOrientation: [0, 0, 90],\n getTranslation: (d) => [0, 0, (d.height_est * 0.75) / 2],\n getScale: (d) => {\n const girth = parseFloat(\n (d.girth || '0.5').match(/[\\d.]+[^\\d.]?$/)[0],\n 10,\n );\n const girthScale = girth / 1.5;\n return [girthScale, d.height_est * 0.75, girthScale];\n },\n }));\n\n // const trees3DLayer = new MapboxLayer({\n // visible: false,\n // id: 'trees-3d',\n // type: SolidPolygonLayer,\n // getFillColor: (d) =>\n // d.crown\n // ? colorName2RGB('green').concat(100)\n // : colorName2RGB('saddlebrown').concat(128),\n // extruded: true,\n // getElevation: (d) => d.elevation,\n // });\n\n const treesCrownLayer = new MapboxLayer({\n visible: false,\n id: 'trees-crown',\n type: SimpleMeshLayer,\n texture: require('./assets/leaves.png'),\n mesh: new SphereGeometry(),\n data: [],\n getColor: colorName2RGB('green').concat(100),\n getTranslation: (d) => [0, 0, d.height_est * 0.75],\n getScale: (d) => {\n const scale = d.height_est * 0.5;\n return [scale * 0.8, scale * 0.8, scale * 0.9];\n },\n });\n\n // const tree3DCache = new Map();\n // const tree3Dify = (id, d) => {\n // if (tree3DCache.has(id)) return tree3DCache.get(id);\n // const { height_est: height, position } = d;\n // const girth = parseFloat(d.girth.match(/[\\d.]+[^\\d.]?$/)[0], 10);\n // const steps = 6 + (girth - 0.5) * 2; // girth: from 0.5 to 1.5\n // const trunkRadius = (girth / Math.PI) * 2;\n // const trunkPolygon = circle(position, trunkRadius / 1000, { steps })\n // .geometry.coordinates;\n // const trunk = {\n // polygon: trunkPolygon,\n // elevation: height * 0.75, // let the trunk \"goes into\" the crown a bit\n // };\n // // const crownRadius = height * .4;\n // // const crownPolygon = circle(position, crownRadius/1000, { steps: steps * 2 }).geometry.coordinates[0];\n // // const crown = {\n // // crown: true,\n // // polygon: crownPolygon.map(c => c.concat(height * .5)),\n // // elevation: height * .5,\n // // };\n // // const polygons = [trunk, crown];\n // const polygons = [trunk];\n // tree3DCache.set(id, polygons);\n // return polygons;\n // };\n // const trees3Dify = (data, metadata) => {\n // const finalData = [];\n // data.forEach((d) => {\n // finalData.push(...tree3Dify(d.id, { ...d, ...metadata[d.id] }));\n // });\n // return finalData;\n // };\n\n await mapLoaded;\n\n map.addLayer({\n id: 'sky',\n type: 'sky',\n paint: {\n 'sky-type': 'gradient',\n 'sky-gradient': [\n 'interpolate',\n ['linear'],\n ['sky-radial-progress'],\n 0.8,\n '#040613',\n 1,\n '#16326a',\n ],\n },\n });\n\n map.addLayer(highlightTreeLayer);\n\n const [data, metadata] = await fetchTrees;\n\n treesLayer.setProps({ data });\n map.addLayer(treesLayer, labelLayerId);\n\n document.getElementById('total-trees').innerHTML = data\n .filter((d) => !d.heritage)\n .length.toLocaleString();\n document.getElementById('total-heritage').innerHTML = data\n .filter((d) => d.heritage)\n .length.toLocaleString();\n\n window.onhashchange = function () {\n const hash = decodeURIComponent(location.hash.slice(1));\n let filters = hash.trim().split('/');\n const filter = filters[0] || 'type';\n const filter2 = filters[1] || null;\n currentFamily = filter === 'family' ? filter2 : null;\n let styles = layerStyles[filter];\n if (!styles) {\n filter = 'type';\n styles = layerStyles.type;\n }\n treesLayer.setProps({\n ...styles,\n updateTriggers: {\n getRadius: hash,\n getFillColor: hash,\n },\n });\n const links = document.querySelectorAll('#layers a');\n for (let i = 0; i < links.length; i++) {\n const link = links[i];\n link.classList.toggle(\n 'selected',\n link.innerText.toLowerCase() == filter ||\n link.innerText.trim() == currentFamily,\n );\n }\n const legends = document.querySelectorAll('#layers .legend');\n for (let i = 0; i < legends.length; i++) {\n const legend = legends[i];\n legend.classList.toggle('selected', legend.classList.contains(filter));\n }\n };\n window.onhashchange();\n\n const index = new KDBush(\n data,\n (p) => p.position[0],\n (p) => p.position[1],\n );\n const data3D = data.filter((d) => !!d.girth_size && !!d.height_est);\n const index3D = new KDBush(\n data3D,\n (p) => p.position[0],\n (p) => p.position[1],\n );\n\n const throttledDrag = throttle(() => {\n if (selectedTree) return;\n if ($card.hidden) return;\n $card.hidden = true;\n hideHighlightTree();\n return true;\n }, 1000);\n map.on('drag', throttledDrag);\n\n const isTree3DMode = () => {\n const zoom = map.getZoom();\n const pitch = map.getPitch();\n return zoom >= 17 && pitch > 5;\n };\n\n // Zoom 0 - 12: within 100 meters (0.1 km)\n // Zoom 12 - 20: decreasing to within 10 meters (0.01 km)\n const zoomMin = 12;\n const zoomRange = 20 - zoomMin;\n const radiusMin = 0.1;\n const radiusRange = 0.01 - radiusMin;\n const getRadiusByZoom = (zoom) =>\n ((zoom - zoomMin) * radiusRange) / zoomRange + radiusMin;\n const getNearestTree = (point) => {\n const zoom = map.getZoom();\n const radius = zoom <= zoomMin ? 0.1 : getRadiusByZoom(zoom);\n const nearestPoints = geokdbush.around(\n isTree3DMode() ? index3D : index,\n point.lng,\n point.lat,\n 1,\n radius,\n );\n if (nearestPoints && nearestPoints.length) {\n const nearestPoint = nearestPoints[0];\n return {\n ...nearestPoint,\n ...metadata[nearestPoint.id],\n };\n }\n return;\n };\n\n let mousemoveRAF;\n map.on('mousemove', (e) => {\n if (mousemoveRAF) cancelAnimationFrame(mousemoveRAF);\n if (selectedTree) return;\n if (map.isMoving()) return;\n mousemoveRAF = requestAnimationFrame(() => {\n const point = e.lngLat;\n const nearestTree = getNearestTree(point);\n if (nearestTree) {\n highlightedTree = nearestTree;\n showTree(highlightedTree);\n showHighlightTree(highlightedTree.position);\n }\n });\n });\n\n map.on('click', (e) => {\n if (selectedTree) {\n const { point } = e;\n const treePoint = map.project(selectedTree.position);\n const distance = distancePoints(\n point.x,\n point.y,\n treePoint.x,\n treePoint.y,\n );\n if (distance > 30) {\n // If cursor click is far away from selected tree,\n // reset everything\n selectedTree = highlightedTree = null;\n $card.hidden = true;\n hideHighlightTree();\n }\n } else {\n const point = e.lngLat;\n highlightedTree = getNearestTree(point);\n if (highlightedTree) {\n if (isTouch) {\n showTree(highlightedTree);\n showHighlightTree(highlightedTree.position);\n } else {\n selectedTree = highlightedTree;\n showTree(selectedTree, true);\n flyToPosition(selectedTree.position);\n }\n } else {\n $card.hidden = true;\n hideHighlightTree();\n }\n }\n return true;\n });\n\n // map.addLayer(trees3DLayer, labelLayerId);\n // map.setLayerZoomRange('trees-3d', 16, 20.5);\n map.addLayer(treesTrunkLayer, labelLayerId);\n map.setLayerZoomRange('trees-trunk', 16, 20.5);\n map.addLayer(treesCrownLayer, labelLayerId);\n map.setLayerZoomRange('trees-crown', 16, 20.5);\n\n // Modified from https://observablehq.com/@mourner/sun-position-in-900-bytes\n const getSunAzimuth = (date, lng, lat) => {\n const { sin, cos, asin, atan2, PI } = Math,\n r = PI / 180,\n t = date / 315576e7 - 0.3,\n m = r * (357.52911 + t * (35999.05029 - t * 1537e-7)),\n c = cos(r * (125.04 - 1934.136 * t)),\n l =\n r *\n (280.46646 +\n t * (36000.76983 + t * 3032e-7) +\n (1.914602 - t * (4817e-6 - t * 14e-6)) * sin(m) -\n 569e-5 -\n 478e-5 * c) +\n (0.019993 - 101e-6 * t) * sin(2 * m) +\n 289e-6 * sin(3 * m),\n e =\n (r * (84381.448 - t * (46.815 - t * (59e-5 + 1813e-6 * t)))) / 3600 +\n r * 256e-5 * c,\n sl = sin(l),\n cr = cos(r * lat),\n sr = sin(r * lat),\n d = asin(sin(e) * sl),\n h =\n r * (280.46061837 + 13184999.8983375 * t + lng) -\n atan2(cos(e) * sl, cos(l)),\n sd = sin(d),\n cd = cos(d),\n ch = cos(h);\n return asin(sr * sd + cr * cd * ch);\n };\n const getPhaseColor = (timestamp) => {\n const altitude = getSunAzimuth(timestamp, 103.8, 1.4); // SG coords\n const d = 180 / Math.PI;\n const h = d * altitude;\n return h < -0.833 ? 'dark' : 'bright';\n };\n const setLighting = (window._setLighting = (timestamp) => {\n const phaseColor = getPhaseColor(timestamp);\n const ambientLight = new AmbientLight({\n intensity: phaseColor === 'dark' ? 1 : 1.5,\n });\n const sunLight = new SunLight({\n timestamp,\n intensity: phaseColor === 'dark' ? 1 : 2,\n });\n const lightingEffect = new LightingEffect({ ambientLight, sunLight });\n treesCrownLayer.deck.setProps({\n effects: [lightingEffect],\n });\n });\n setLighting(+new Date());\n setInterval(() => {\n console.log('Update sun light');\n setLighting(+new Date());\n }, 10 * 60 * 1000); // Update sun light 10 mins\n\n let renderRAF;\n const renderTrees = throttle(() => {\n if (renderRAF) cancelAnimationFrame(renderRAF);\n renderRAF = requestAnimationFrame(() => {\n if (isTree3DMode()) {\n const bounds = map.getBounds();\n let results = index3D\n .range(...bounds.toArray().flat())\n .map((id) => data3D[id]);\n // Min: 1000, Max: 5000 3D trees\n if (results.length < 1000) {\n const center = map.getCenter();\n results = geokdbush.around(index3D, center.lng, center.lat, 1000);\n } else if (results.length > 5000) {\n const center = map.getCenter();\n results = geokdbush.around(index3D, center.lng, center.lat, 5000);\n }\n console.log(`3D trees count: ${results.length}`);\n // trees3DLayer.setProps({\n // visible: true,\n // data: trees3Dify(results, metadata),\n // });\n treesTrunkLayer.setProps({\n visible: true,\n data: results,\n });\n treesCrownLayer.setProps({\n visible: true,\n data: results,\n });\n treesLayer.setProps({\n visible: false,\n });\n if (!selectedTree) hideHighlightTree();\n } else {\n // trees3DLayer.setProps({\n // visible: false,\n // });\n treesTrunkLayer.setProps({\n visible: false,\n });\n treesCrownLayer.setProps({\n visible: false,\n });\n treesLayer.setProps({\n visible: true,\n });\n }\n });\n }, 1000);\n map.on('moveend', renderTrees);\n }\n\n map.once('idle', () => {\n document.getElementById('map').classList.add('loaded');\n });\n})();\n\n// Touch demo mode\n// Renders finger taps on screen for demo purposes\n// Supports up to 2 taps, for now\nif (/touch\\-demo/i.test(location.hash)) {\n const pointers = [];\n pointers[0] = document.createElement('div');\n pointers[0].style =\n 'background-color: rgba(220,220,220,.3); border: 10px solid rgba(5,5,5,.3); width: 100px; height: 100px; border-radius: 123123px; margin: -50px 0 0 -50px; position: absolute; left: 0; top: 0; pointer-events: none;';\n pointers[0].hidden = true;\n pointers[1] = pointers[0].cloneNode();\n pointers.forEach((p) => document.body.appendChild(p));\n\n document.body.ontouchstart =\n document.body.ontouchend =\n document.body.ontouchmove =\n document.body.ontouchcancel =\n (e) => {\n requestAnimationFrame(() => {\n pointers.forEach((p) => (p.hidden = true));\n [...e.touches].forEach((touch, i) => {\n if (i >= 2) return;\n pointers[\n i\n ].style.transform = `translate(${touch.clientX}px, ${touch.clientY}px)`;\n pointers[i].hidden = false;\n });\n });\n };\n}\n\nif ('serviceWorker' in navigator) {\n window.addEventListener('load', () => {\n navigator.serviceWorker.register(new URL('./sw.js', import.meta.url), {\n type: 'module',\n });\n });\n}\n","export { default as applyDecoratedDescriptor } from './_apply_decorated_descriptor';\nexport { default as arrayWithHoles } from './_array_with_holes';\nexport { default as arrayWithoutHoles } from './_array_without_holes';\nexport { default as assertThisInitialized } from './_assert_this_initialized';\nexport { default as asyncGenerator } from './_async_generator';\nexport { default as asyncGeneratorDelegate } from './_async_generator_delegate';\nexport { default as asyncIterator } from './_async_iterator';\nexport { default as asyncToGenerator } from './_async_to_generator';\nexport { default as awaitAsyncGenerator } from './_await_async_generator';\nexport { default as awaitValue } from './_await_value';\nexport { default as classCallCheck } from './_class_call_check';\nexport { default as classNameTDZError } from './_class_name_tdz_error';\nexport { default as classPrivateFieldGet } from './_class_private_field_get';\nexport { default as classPrivateFieldLooseBase } from './_class_private_field_loose_base';\nexport { default as classPrivateFieldSet } from './_class_private_field_set';\nexport { default as classPrivateMethodGet } from './_class_private_method_get';\nexport { default as classPrivateMethodSet } from './_class_private_method_set';\nexport { default as classStaticPrivateFieldSpecGet } from './_class_static_private_field_spec_get';\nexport { default as classStaticPrivateFieldSpecSet } from './_class_static_private_field_spec_set';\nexport { default as construct } from './_construct';\nexport { default as createClass } from './_create_class';\nexport { default as decorate } from './_decorate';\nexport { default as defaults } from './_defaults';\nexport { default as defineEnumerableProperties } from './_define_enumerable_properties';\nexport { default as defineProperty } from './_define_property';\nexport { default as extends } from './_extends';\nexport { default as get } from './_get';\nexport { default as getPrototypeOf } from './_get_prototype_of';\nexport { default as inherits } from './_inherits';\nexport { default as inheritsLoose } from './_inherits_loose';\nexport { default as initializerDefineProperty } from './_initializer_define_property';\nexport { default as initializerWarningHelper } from './_initializer_warning_helper';\nexport { default as _instanceof } from './_instanceof';\nexport { default as interopRequireDefault } from './_interop_require_default';\nexport { default as interopRequireWildcard } from './_interop_require_wildcard';\nexport { default as isNativeFunction } from './_is_native_function';\nexport { default as iterableToArray } from './_iterable_to_array';\nexport { default as iterableToArrayLimit } from './_iterable_to_array_limit';\nexport { default as iterableToArrayLimitLoose } from './_iterable_to_array_limit_loose';\nexport { default as jsx } from './_jsx';\nexport { default as newArrowCheck } from './_new_arrow_check';\nexport { default as nonIterableRest } from './_non_iterable_rest';\nexport { default as nonIterableSpread } from './_non_iterable_spread';\nexport { default as objectSpread } from './_object_spread';\nexport { default as objectWithoutProperties } from './_object_without_properties';\nexport { default as objectWithoutPropertiesLoose } from './_object_without_properties_loose';\nexport { default as possibleConstructorReturn } from './_possible_constructor_return';\nexport { default as readOnlyError } from './_read_only_error';\nexport { default as set } from './_set';\nexport { default as setPrototypeOf } from './_set_prototype_of';\nexport { default as skipFirstGeneratorNext } from './_skip_first_generator_next';\nexport { default as slicedToArray } from './_sliced_to_array';\nexport { default as slicedToArrayLoose } from './_sliced_to_array_loose';\nexport { default as superPropBase } from './_super_prop_base';\nexport { default as taggedTemplateLiteral } from './_tagged_template_literal';\nexport { default as taggedTemplateLiteralLoose } from './_tagged_template_literal_loose';\nexport { default as _throw } from './_throw';\nexport { default as toArray } from './_to_array';\nexport { default as toConsumableArray } from './_to_consumable_array';\nexport { default as toPrimitive } from './_to_primitive';\nexport { default as toPropertyKey } from './_to_property_key';\nexport { default as typeOf } from './_type_of';\nexport { default as wrapAsyncGenerator } from './_wrap_async_generator';\nexport { default as wrapNativeSuper } from './_wrap_native_super';\n","export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n var desc = {};\n Object['ke' + 'ys'](descriptor).forEach(function (key) {\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n\n if ('value' in desc || desc.initializer) {\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n return decorator ? (decorator(target, property, desc) || desc) : desc;\n }, desc);\n\n if (context && desc.initializer !== void 0) {\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0) {\n Object['define' + 'Property'](target, property, desc);\n desc = null;\n }\n\n return desc;\n}\n","exports.interopDefault = function(a) {\n return a && a.__esModule ? a : {default: a};\n};\n\nexports.defineInteropFlag = function(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n};\n\nexports.exportAll = function(source, dest) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function() {\n return source[key];\n },\n });\n });\n\n return dest;\n};\n\nexports.export = function(dest, destName, get) {\n Object.defineProperty(dest, destName, {\n enumerable: true,\n get: get,\n });\n};\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n","import AwaitValue from './_await_value';\n\nexport default function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg);\n var value = result.value;\n var wrappedAwait = value instanceof AwaitValue;\n Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) {\n if (wrappedAwait) {\n resume(\"next\", arg);\n return;\n }\n\n settle(result.done ? \"return\" : \"normal\", arg);\n }, function (err) {\n resume(\"throw\", err);\n });\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({\n value: value,\n done: true\n });\n break;\n\n case \"throw\":\n front.reject(value);\n break;\n\n default:\n front.resolve({\n value: value,\n done: false\n });\n break;\n }\n\n front = front.next;\n\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n if (typeof gen.return !== \"function\") {\n this.return = undefined;\n }\n}\n\nif (typeof Symbol === \"function\" && Symbol.asyncIterator) {\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () {\n return this;\n };\n}\n\nAsyncGenerator.prototype.next = function (arg) {\n return this._invoke(\"next\", arg);\n};\n\nAsyncGenerator.prototype.throw = function (arg) {\n return this._invoke(\"throw\", arg);\n};\n\nAsyncGenerator.prototype.return = function (arg) {\n return this._invoke(\"return\", arg);\n};\n","export default function _AwaitValue(value) {\n this.wrapped = value;\n}\n","export default function _asyncGeneratorDelegate(inner, awaitWrap) {\n var iter = {},\n waiting = false;\n\n function pump(key, value) {\n waiting = true;\n value = new Promise(function (resolve) {\n resolve(inner[key](value));\n });\n return {\n done: false,\n value: awaitWrap(value)\n };\n }\n\n ;\n\n if (typeof Symbol === \"function\" && Symbol.iterator) {\n iter[Symbol.iterator] = function () {\n return this;\n };\n }\n\n iter.next = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n\n return pump(\"next\", value);\n };\n\n if (typeof inner.throw === \"function\") {\n iter.throw = function (value) {\n if (waiting) {\n waiting = false;\n throw value;\n }\n\n return pump(\"throw\", value);\n };\n }\n\n if (typeof inner.return === \"function\") {\n iter.return = function (value) {\n return pump(\"return\", value);\n };\n }\n\n return iter;\n}\n","export default function _asyncIterator(iterable) {\n var method;\n\n if (typeof Symbol === \"function\") {\n if (Symbol.asyncIterator) {\n method = iterable[Symbol.asyncIterator];\n if (method != null) return method.call(iterable);\n }\n\n if (Symbol.iterator) {\n method = iterable[Symbol.iterator];\n if (method != null) return method.call(iterable);\n }\n }\n\n throw new TypeError(\"Object is not async iterable\");\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n","import AwaitValue from './_await_value';\n\nexport default function _awaitAsyncGenerator(value) {\n return new AwaitValue(value);\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _classNameTDZError(name) {\n throw new Error(\"Class \\\"\" + name + \"\\\" cannot be referenced in computed property keys.\");\n}\n","export default function _classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return privateMap.get(receiver).value;\n}\n","export default function _classPrivateFieldBase(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n\n return receiver;\n}\n","export default function _classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n\n var descriptor = privateMap.get(receiver);\n\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n descriptor.value = value;\n return value;\n}\n","export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return fn;\n}\n","export default function _classPrivateMethodSet() {\n throw new TypeError(\"attempted to reassign private method\");\n}\n","export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n\n return descriptor.value;\n}\n","export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n descriptor.value = value;\n return value;\n}\n","function isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () { }));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n construct = Reflect.construct;\n } else {\n construct = function construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return construct.apply(null, arguments);\n}\n\nexport default function _construct(Parent, args, Class) {\n return construct.apply(null, arguments);\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n","import toArray from './_to_array';\nimport toPropertyKey from './_to_property_key';\n\nexport default function _decorate(decorators, factory, superClass) {\n var r = factory(function initialize(O) {\n _initializeInstanceElements(O, decorated.elements);\n }, superClass);\n\n var decorated = _decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators);\n\n _initializeClassElements(r.F, decorated.elements);\n\n return _runClassFinishers(r.F, decorated.finishers);\n}\n\nfunction _createElementDescriptor(def) {\n var key = toPropertyKey(def.key);\n var descriptor;\n\n if (def.kind === \"method\") {\n descriptor = {\n value: def.value,\n writable: true,\n configurable: true,\n enumerable: false\n };\n Object.defineProperty(def.value, \"name\", {\n value: _typeof(key) === \"symbol\" ? \"\" : key,\n configurable: true\n });\n } else if (def.kind === \"get\") {\n descriptor = {\n get: def.value,\n configurable: true,\n enumerable: false\n };\n } else if (def.kind === \"set\") {\n descriptor = {\n set: def.value,\n configurable: true,\n enumerable: false\n };\n } else if (def.kind === \"field\") {\n descriptor = {\n configurable: true,\n writable: true,\n enumerable: true\n };\n }\n\n var element = {\n kind: def.kind === \"field\" ? \"field\" : \"method\",\n key: key,\n placement: def.static ? \"static\" : def.kind === \"field\" ? \"own\" : \"prototype\",\n descriptor: descriptor\n };\n if (def.decorators) element.decorators = def.decorators;\n if (def.kind === \"field\") element.initializer = def.value;\n return element;\n}\n\nfunction _coalesceGetterSetter(element, other) {\n if (element.descriptor.get !== undefined) {\n other.descriptor.get = element.descriptor.get;\n } else {\n other.descriptor.set = element.descriptor.set;\n }\n}\n\nfunction _coalesceClassElements(elements) {\n var newElements = [];\n\n var isSameElement = function isSameElement(other) {\n return other.kind === \"method\" && other.key === element.key && other.placement === element.placement;\n };\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var other;\n\n if (element.kind === \"method\" && (other = newElements.find(isSameElement))) {\n if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) {\n if (_hasDecorators(element) || _hasDecorators(other)) {\n throw new ReferenceError(\"Duplicated methods (\" + element.key + \") can't be decorated.\");\n }\n\n other.descriptor = element.descriptor;\n } else {\n if (_hasDecorators(element)) {\n if (_hasDecorators(other)) {\n throw new ReferenceError(\"Decorators can't be placed on different accessors with for \" + \"the same property (\" + element.key + \").\");\n }\n\n other.decorators = element.decorators;\n }\n\n _coalesceGetterSetter(element, other);\n }\n } else {\n newElements.push(element);\n }\n }\n\n return newElements;\n}\n\nfunction _hasDecorators(element) {\n return element.decorators && element.decorators.length;\n}\n\nfunction _isDataDescriptor(desc) {\n return desc !== undefined && !(desc.value === undefined && desc.writable === undefined);\n}\n\nfunction _initializeClassElements(F, elements) {\n var proto = F.prototype;\n [\"method\", \"field\"].forEach(function (kind) {\n elements.forEach(function (element) {\n var placement = element.placement;\n\n if (element.kind === kind && (placement === \"static\" || placement === \"prototype\")) {\n var receiver = placement === \"static\" ? F : proto;\n\n _defineClassElement(receiver, element);\n }\n });\n });\n}\n\nfunction _initializeInstanceElements(O, elements) {\n [\"method\", \"field\"].forEach(function (kind) {\n elements.forEach(function (element) {\n if (element.kind === kind && element.placement === \"own\") {\n _defineClassElement(O, element);\n }\n });\n });\n}\n\nfunction _defineClassElement(receiver, element) {\n var descriptor = element.descriptor;\n\n if (element.kind === \"field\") {\n var initializer = element.initializer;\n descriptor = {\n enumerable: descriptor.enumerable,\n writable: descriptor.writable,\n configurable: descriptor.configurable,\n value: initializer === void 0 ? void 0 : initializer.call(receiver)\n };\n }\n\n Object.defineProperty(receiver, element.key, descriptor);\n}\n\nfunction _decorateClass(elements, decorators) {\n var newElements = [];\n var finishers = [];\n var placements = {\n static: [],\n prototype: [],\n own: []\n };\n elements.forEach(function (element) {\n _addElementPlacement(element, placements);\n });\n elements.forEach(function (element) {\n if (!_hasDecorators(element)) return newElements.push(element);\n\n var elementFinishersExtras = _decorateElement(element, placements);\n\n newElements.push(elementFinishersExtras.element);\n newElements.push.apply(newElements, elementFinishersExtras.extras);\n finishers.push.apply(finishers, elementFinishersExtras.finishers);\n });\n\n if (!decorators) {\n return {\n elements: newElements,\n finishers: finishers\n };\n }\n\n var result = _decorateConstructor(newElements, decorators);\n\n finishers.push.apply(finishers, result.finishers);\n result.finishers = finishers;\n return result;\n}\n\nfunction _addElementPlacement(element, placements, silent) {\n var keys = placements[element.placement];\n\n if (!silent && keys.indexOf(element.key) !== -1) {\n throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n }\n\n keys.push(element.key);\n}\n\nfunction _decorateElement(element, placements) {\n var extras = [];\n var finishers = [];\n\n for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) {\n var keys = placements[element.placement];\n keys.splice(keys.indexOf(element.key), 1);\n\n var elementObject = _fromElementDescriptor(element);\n\n var elementFinisherExtras = _toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject);\n\n element = elementFinisherExtras.element;\n\n _addElementPlacement(element, placements);\n\n if (elementFinisherExtras.finisher) {\n finishers.push(elementFinisherExtras.finisher);\n }\n\n var newExtras = elementFinisherExtras.extras;\n\n if (newExtras) {\n for (var j = 0; j < newExtras.length; j++) {\n _addElementPlacement(newExtras[j], placements);\n }\n\n extras.push.apply(extras, newExtras);\n }\n }\n\n return {\n element: element,\n finishers: finishers,\n extras: extras\n };\n}\n\nfunction _decorateConstructor(elements, decorators) {\n var finishers = [];\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var obj = _fromClassDescriptor(elements);\n\n var elementsAndFinisher = _toClassDescriptor((0, decorators[i])(obj) || obj);\n\n if (elementsAndFinisher.finisher !== undefined) {\n finishers.push(elementsAndFinisher.finisher);\n }\n\n if (elementsAndFinisher.elements !== undefined) {\n elements = elementsAndFinisher.elements;\n\n for (var j = 0; j < elements.length - 1; j++) {\n for (var k = j + 1; k < elements.length; k++) {\n if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) {\n throw new TypeError(\"Duplicated element (\" + elements[j].key + \")\");\n }\n }\n }\n }\n }\n\n return {\n elements: elements,\n finishers: finishers\n };\n}\n\nfunction _fromElementDescriptor(element) {\n var obj = {\n kind: element.kind,\n key: element.key,\n placement: element.placement,\n descriptor: element.descriptor\n };\n var desc = {\n value: \"Descriptor\",\n configurable: true\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n if (element.kind === \"field\") obj.initializer = element.initializer;\n return obj;\n}\n\nfunction _toElementDescriptors(elementObjects) {\n if (elementObjects === undefined) return;\n return toArray(elementObjects).map(function (elementObject) {\n var element = _toElementDescriptor(elementObject);\n\n _disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n\n _disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n\n return element;\n });\n}\n\nfunction _toElementDescriptor(elementObject) {\n var kind = String(elementObject.kind);\n\n if (kind !== \"method\" && kind !== \"field\") {\n throw new TypeError('An element descriptor\\'s .kind property must be either \"method\" or' + ' \"field\", but a decorator created an element descriptor with' + ' .kind \"' + kind + '\"');\n }\n\n var key = toPropertyKey(elementObject.key);\n var placement = String(elementObject.placement);\n\n if (placement !== \"static\" && placement !== \"prototype\" && placement !== \"own\") {\n throw new TypeError('An element descriptor\\'s .placement property must be one of \"static\",' + ' \"prototype\" or \"own\", but a decorator created an element descriptor' + ' with .placement \"' + placement + '\"');\n }\n\n var descriptor = elementObject.descriptor;\n\n _disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n var element = {\n kind: kind,\n key: key,\n placement: placement,\n descriptor: Object.assign({}, descriptor)\n };\n\n if (kind !== \"field\") {\n _disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n } else {\n _disallowProperty(descriptor, \"get\", \"The property descriptor of a field descriptor\");\n\n _disallowProperty(descriptor, \"set\", \"The property descriptor of a field descriptor\");\n\n _disallowProperty(descriptor, \"value\", \"The property descriptor of a field descriptor\");\n\n element.initializer = elementObject.initializer;\n }\n\n return element;\n}\n\nfunction _toElementFinisherExtras(elementObject) {\n var element = _toElementDescriptor(elementObject);\n\n var finisher = _optionalCallableProperty(elementObject, \"finisher\");\n\n var extras = _toElementDescriptors(elementObject.extras);\n\n return {\n element: element,\n finisher: finisher,\n extras: extras\n };\n}\n\nfunction _fromClassDescriptor(elements) {\n var obj = {\n kind: \"class\",\n elements: elements.map(_fromElementDescriptor)\n };\n var desc = {\n value: \"Descriptor\",\n configurable: true\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n return obj;\n}\n\nfunction _toClassDescriptor(obj) {\n var kind = String(obj.kind);\n\n if (kind !== \"class\") {\n throw new TypeError('A class descriptor\\'s .kind property must be \"class\", but a decorator' + ' created a class descriptor with .kind \"' + kind + '\"');\n }\n\n _disallowProperty(obj, \"key\", \"A class descriptor\");\n\n _disallowProperty(obj, \"placement\", \"A class descriptor\");\n\n _disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n\n _disallowProperty(obj, \"initializer\", \"A class descriptor\");\n\n _disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n var finisher = _optionalCallableProperty(obj, \"finisher\");\n\n var elements = _toElementDescriptors(obj.elements);\n\n return {\n elements: elements,\n finisher: finisher\n };\n}\n\nfunction _disallowProperty(obj, name, objectType) {\n if (obj[name] !== undefined) {\n throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n }\n}\n\nfunction _optionalCallableProperty(obj, name) {\n var value = obj[name];\n\n if (value !== undefined && typeof value !== \"function\") {\n throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n }\n\n return value;\n}\n\nfunction _runClassFinishers(constructor, finishers) {\n for (var i = 0; i < finishers.length; i++) {\n var newConstructor = (0, finishers[i])(constructor);\n\n if (newConstructor !== undefined) {\n if (typeof newConstructor !== \"function\") {\n throw new TypeError(\"Finishers must return a constructor.\");\n }\n\n constructor = newConstructor;\n }\n }\n\n return constructor;\n}\n","import arrayWithHoles from './_array_with_holes';\nimport iterableToArray from './_iterable_to_array';\nimport nonIterableRest from './_non_iterable_rest';\n\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest();\n}\n","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n","import _typeof from './_type_of';\nimport toPrimitive from './_to_primitive';\n\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","export default function _typeof(obj) {\n return obj && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n","import _typeof from './_type_of';\n\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n\n return (hint === \"string\" ? String : Number)(input);\n}","export default function _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n}\n","export default function _defineEnumerableProperties(obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n if (Object.getOwnPropertySymbols) {\n var objectSymbols = Object.getOwnPropertySymbols(descs);\n\n for (var i = 0; i < objectSymbols.length; i++) {\n var sym = objectSymbols[i];\n var desc = descs[sym];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, sym, desc);\n }\n }\n\n return obj;\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","function extends_() {\n extends_ = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return extends_.apply(this, arguments);\n}\n\nexport default function _extends() {\n return extends_.apply(this, arguments);\n}\n","import superPropBase from './_super_prop_base';\n\nfunction get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n get = Reflect.get;\n } else {\n get = function get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver || target);\n }\n\n return desc.value;\n };\n }\n\n return get(target, property, receiver);\n}\n\nexport default function _get(target, property, reciever) {\n return get(target, property, reciever);\n}\n","import getPrototypeOf from './_get_prototype_of';\n\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n","function getPrototypeOf(o) {\n getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return getPrototypeOf(o);\n}\n\nexport default function _getPrototypeOf(o) {\n return getPrototypeOf(o);\n}","import setPrototypeOf from './_set_prototype_of';\n\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n","function setPrototypeOf(o, p) {\n setPrototypeOf = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return setPrototypeOf(o, p);\n}\n\nexport default function _setPrototypeOf(o, p) {\n return setPrototypeOf(o, p);\n}\n","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n","export default function _initializerDefineProperty(target, property, descriptor, context) {\n if (!descriptor) return;\n Object.defineProperty(target, property, {\n enumerable: descriptor.enumerable,\n configurable: descriptor.configurable,\n writable: descriptor.writable,\n value: descriptor.initializer ? descriptor.initializer.call(context) : void 0\n });\n}\n","export default function _initializerWarningHelper(descriptor, context) {\n throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and set to use loose mode. ' + 'To use proposal-class-properties in spec mode with decorators, wait for ' + 'the next major version of decorators in stage 2.');\n}\n","export default function _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}","export default function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n","export default function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};\n\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n}\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n","export default function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n","export default function _iterableToArrayLimitLoose(arr, i) {\n var _arr = [];\n\n for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n _arr.push(_step.value);\n\n if (i && _arr.length === i) break;\n }\n\n return _arr;\n}\n","var REACT_ELEMENT_TYPE;\n\nexport default function _createRawReactElement(type, props, key, children) {\n if (!REACT_ELEMENT_TYPE) {\n REACT_ELEMENT_TYPE = typeof Symbol === \"function\" && Symbol.for && Symbol.for(\"react.element\") || 0xeac7;\n }\n\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n props = {\n children: void 0\n };\n }\n\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = new Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n\n props.children = childArray;\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : '' + key,\n ref: null,\n props: props,\n _owner: null\n };\n}\n","export default function _newArrowCheck(innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n}\n","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n","import defineProperty from './_define_property';\n\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from './_object_without_properties_loose';\n\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n","import assertThisInitialized from './_assert_this_initialized';\nimport _typeof from './_type_of';\n\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n","export default function _readOnlyError(name) {\n throw new Error(\"\\\"\" + name + \"\\\" is read-only\");\n}\n","import defineProperty from './_define_property';\nimport superPropBase from './_super_prop_base';\n\nfunction set(target, property, value, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.set) {\n set = Reflect.set;\n } else {\n set = function set(target, property, value, receiver) {\n var base = superPropBase(target, property);\n var desc;\n\n if (base) {\n desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.set) {\n desc.set.call(receiver, value);\n return true;\n } else if (!desc.writable) {\n return false;\n }\n }\n\n desc = Object.getOwnPropertyDescriptor(receiver, property);\n\n if (desc) {\n if (!desc.writable) {\n return false;\n }\n\n desc.value = value;\n Object.defineProperty(receiver, property, desc);\n } else {\n defineProperty(receiver, property, value);\n }\n\n return true;\n };\n }\n\n return set(target, property, value, receiver);\n}\n\nexport default function _set(target, property, value, receiver, isStrict) {\n var s = set(target, property, value, receiver || target);\n\n if (!s && isStrict) {\n throw new Error('failed to set property');\n }\n\n return value;\n}\n","export default function _skipFirstGeneratorNext(fn) {\n return function () {\n var it = fn.apply(this, arguments);\n it.next();\n return it;\n };\n}\n","import arrayWithHoles from './_array_with_holes';\nimport iterableToArrayLimit from './_iterable_to_array';\nimport nonIterableRest from './_non_iterable_rest';\n\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","import arrayWithHoles from './_array_with_holes';\nimport iterableToArrayLimitLoose from './_iterable_to_array_limit_loose';\nimport nonIterableRest from './_non_iterable_rest';\n\nexport default function _slicedToArrayLoose(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || nonIterableRest();\n}\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n","export default function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n strings.raw = raw;\n return strings;\n}\n","export default function _throw(e) {\n throw e;\n}","import arrayWithoutHoles from './_array_without_holes';\nimport iterableToArray from './_iterable_to_array';\nimport nonIterableSpread from './_non_iterable_spread';\n\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}\n","import AsyncGenerator from './_async_generator';\n\nexport default function _wrapAsyncGenerator(fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n}\n","import construct from './_construct';\nimport isNativeFunction from './_is_native_function';\nimport getPrototypeOf from './_get_prototype_of';\nimport setPrototypeOf from './_set_prototype_of';\n\nfunction wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n wrapNativeSuper = function wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return wrapNativeSuper(Class);\n}\n\nexport default function _wrapNativeSuper(Class) {\n return wrapNativeSuper(Class);\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * [[ReactiveElement]].\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\nconst DEV_MODE = true;\n\nlet requestUpdateThenable: (name: string) => {\n then: (\n onfulfilled?: (value: boolean) => void,\n _onrejected?: () => void\n ) => void;\n};\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst polyfillSupport = DEV_MODE\n ? window.reactiveElementPolyfillSupportDevMode\n : window.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings: Set =\n (globalThis.litIssuedWarnings ??= new Set());\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (window.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n\n requestUpdateThenable = (name) => ({\n then: (\n onfulfilled?: (value: boolean) => void,\n _onrejected?: () => void\n ) => {\n issueWarning(\n 'request-update-promise',\n `The \\`requestUpdate\\` method should no longer return a Promise but ` +\n `does so on \\`${name}\\`. Use \\`updateComplete\\` instead.`\n );\n if (onfulfilled !== undefined) {\n onfulfilled(false);\n }\n },\n });\n}\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty =

(\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * Map of changed properties with old values. Takes an optional generic\n * interface corresponding to the declared element properties.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = keyof T extends PropertyKey\n ? Map\n : never;\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? '' : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean => {\n // This ensures (old==NaN, value==NaN) always returns false\n return old !== value && (old === old || value === value);\n};\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n hasChanged: notEqual,\n};\n\n/**\n * The Closure JS Compiler doesn't currently have good support for static\n * property semantics where \"this\" is dynamic (e.g.\n * https://github.com/google/closure-compiler/issues/3177 and others) so we use\n * this hack to bypass any rewriting by the compiler.\n */\nconst finalized = 'finalized';\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind = 'change-in-update' | 'migration';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclassers to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning.?('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning.?('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning.?('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning.?('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this._initializers ??= [];\n this._initializers.push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having finished creating properties.\n */\n protected static [finalized] = true;\n\n /**\n * Memoized list of all element properties, including any superclass properties.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap = new Map();\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the [[`css`]] tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `