From 88f055384d7447966a8a87acb22146aa8add39d9 Mon Sep 17 00:00:00 2001 From: Ian Renton Date: Thu, 18 Jun 2026 20:07:42 +0100 Subject: [PATCH] Internalise third-party dependencies (cherry picked from commit 725eb619b4c87f50874dd75a721194e3a84caa65) --- README.md | 10 +- templates/about.html | 1 - templates/add_spot.html | 3 +- templates/alerts.html | 3 +- templates/api_only_home.html | 2 +- templates/bands.html | 5 +- templates/base.html | 23 +- templates/conditions.html | 5 +- templates/map.html | 33 +- templates/spots.html | 5 +- templates/status.html | 3 +- webassets/js/geo.js | 104 + webassets/js/ui-ham.js | 438 ++++ webassets/js/utils.js | 33 + webassets/vendor/css/bootstrap-5.3.8.min.css | 6 + .../css/fontawesome-6.7.2.min.css} | 0 webassets/vendor/css/images/layers-2x.png | Bin 0 -> 1259 bytes webassets/vendor/css/images/layers.png | Bin 0 -> 696 bytes .../vendor/css/images/marker-icon-2x.png | Bin 0 -> 2464 bytes webassets/vendor/css/images/marker-icon.png | Bin 0 -> 1466 bytes webassets/vendor/css/images/marker-shadow.png | Bin 0 -> 618 bytes webassets/vendor/css/leaflet-1.9.4.min.css | 8 + .../css/leaflet-extra-markers-1.2.2.min.css | 8 + .../css/solid-6.7.2.min.css} | 0 webassets/vendor/img/markers_default.png | Bin 0 -> 119805 bytes webassets/vendor/img/markers_default@2x.png | Bin 0 -> 254280 bytes webassets/vendor/img/markers_shadow.png | Bin 0 -> 535 bytes webassets/vendor/img/markers_shadow@2x.png | Bin 0 -> 1469 bytes .../vendor/js/bootstrap-5.3.8.bundle.min.js | 7 + webassets/vendor/js/chart-4.4.9.umd.min.js | 20 + webassets/vendor/js/jquery-3.7.1.min.js | 2 + webassets/vendor/js/leaflet-1.9.4.min.js | 12 + webassets/vendor/js/leaflet-cqzones.js | 163 ++ .../js/leaflet-extra-markers-1.2.2.min.js | 10 + .../js/leaflet-geodesic-2.7.2.umd.min.js | 2 + webassets/vendor/js/leaflet-ituzones.js | 263 +++ webassets/vendor/js/leaflet-maidenhead.js | 113 + .../vendor/js/leaflet-providers-2.0.0.js | 1178 ++++++++++ .../vendor/js/leaflet-terminator-1.1.0.min.js | 8 + .../vendor/js/leaflet-vectorgrid-1.3.0.js | 2062 +++++++++++++++++ .../js/leaflet-workedallbritainireland.js | 259 +++ webassets/vendor/js/moment-2.29.4.min.js | 15 + webassets/vendor/js/oms-leaflet-0.2.7.min.js | 7 + webassets/vendor/js/text-image-0.7.0.js | 1 + webassets/vendor/js/tinycolor2-1.6.0.min.js | 8 + .../{fa => vendor}/webfonts/fa-solid-900.ttf | Bin .../webfonts/fa-solid-900.woff2 | Bin 47 files changed, 4771 insertions(+), 49 deletions(-) create mode 100644 webassets/js/geo.js create mode 100644 webassets/js/ui-ham.js create mode 100644 webassets/js/utils.js create mode 100644 webassets/vendor/css/bootstrap-5.3.8.min.css rename webassets/{fa/css/fontawesome.min.css => vendor/css/fontawesome-6.7.2.min.css} (100%) create mode 100644 webassets/vendor/css/images/layers-2x.png create mode 100644 webassets/vendor/css/images/layers.png create mode 100644 webassets/vendor/css/images/marker-icon-2x.png create mode 100644 webassets/vendor/css/images/marker-icon.png create mode 100644 webassets/vendor/css/images/marker-shadow.png create mode 100644 webassets/vendor/css/leaflet-1.9.4.min.css create mode 100644 webassets/vendor/css/leaflet-extra-markers-1.2.2.min.css rename webassets/{fa/css/solid.min.css => vendor/css/solid-6.7.2.min.css} (100%) create mode 100644 webassets/vendor/img/markers_default.png create mode 100644 webassets/vendor/img/markers_default@2x.png create mode 100644 webassets/vendor/img/markers_shadow.png create mode 100644 webassets/vendor/img/markers_shadow@2x.png create mode 100644 webassets/vendor/js/bootstrap-5.3.8.bundle.min.js create mode 100644 webassets/vendor/js/chart-4.4.9.umd.min.js create mode 100644 webassets/vendor/js/jquery-3.7.1.min.js create mode 100644 webassets/vendor/js/leaflet-1.9.4.min.js create mode 100644 webassets/vendor/js/leaflet-cqzones.js create mode 100644 webassets/vendor/js/leaflet-extra-markers-1.2.2.min.js create mode 100644 webassets/vendor/js/leaflet-geodesic-2.7.2.umd.min.js create mode 100644 webassets/vendor/js/leaflet-ituzones.js create mode 100644 webassets/vendor/js/leaflet-maidenhead.js create mode 100644 webassets/vendor/js/leaflet-providers-2.0.0.js create mode 100644 webassets/vendor/js/leaflet-terminator-1.1.0.min.js create mode 100644 webassets/vendor/js/leaflet-vectorgrid-1.3.0.js create mode 100644 webassets/vendor/js/leaflet-workedallbritainireland.js create mode 100644 webassets/vendor/js/moment-2.29.4.min.js create mode 100644 webassets/vendor/js/oms-leaflet-0.2.7.min.js create mode 100644 webassets/vendor/js/text-image-0.7.0.js create mode 100644 webassets/vendor/js/tinycolor2-1.6.0.min.js rename webassets/{fa => vendor}/webfonts/fa-solid-900.ttf (100%) rename webassets/{fa => vendor}/webfonts/fa-solid-900.woff2 (100%) diff --git a/README.md b/README.md index 8ee2f93..d4c0f87 100644 --- a/README.md +++ b/README.md @@ -348,9 +348,9 @@ To navigate your way around the source code, this list may help. * `/webassets` - Root for static files served by the web server * `/webassets/apidocs` - Contains the OpenAPI spec (`openapi.yml`) * `/webassets/css` - CSS files used by the web front-end -* `/webassets/fa` - a copy of the FontAwesome library * `/webassets/img` - image files used by the web front-end * `/webassets/js` - JavaScript used by the web front-end +* `/webassets/vendor` - Third-party libraries (CSS, JS, fonts and images) *Miscellaneous* @@ -383,11 +383,13 @@ As well as being my work, I have also gratefully received feature patches from S The project contains GeoJSON files for CQ and ITU zones, in the `/datafiles/` directory. These are MIT-licenced and, to my knowledge, created by HA8TKS for his CQ and ITU zone layers for Leaflet. -The project contains a self-hosted copy of Font Awesome's free library, in the `/webassets/fa/` directory. This is subject to Font Awesome's licence and is not covered by the overall licence declared in the `LICENSE` file. This approach was taken in preference to using their hosted kits due to the popularity of this project exceeding the page view limit for their free hosted offering. - The project contains a set of flag icons generated using the "Noto Color Emoji" font on a Debian system, in the `/webassets/img/flags/` directory. -The software uses a number of Python libraries as listed in `requirements.txt`, and a number of JavaScript libraries such as jQuery, Leaflet and Bootstrap. This project would not have been possible without these libraries, so many thanks to their developers. +The software uses a number of Python libraries as listed in `requirements.txt`, and a number of JavaScript libraries. This project would not have been possible without these libraries, so many thanks to their developers. + +### Third Party Libraries + +A number of third-party libraries are self-hosted in the `/webassets/vendor/` directory. These files are subject to their own licences and are not covered by the overall licence declared in the `LICENSE` file. Particular thanks go to country-files.com for providing country lookup data for amateur radio, to K0SWE for [this JSON-formatted DXCC data](https://github.com/k0swe/dxcc-json/), and to the developers of `pyhamtools` for making it easy to use country-files.com data as well as QRZ.com and Clublog lookup. diff --git a/templates/about.html b/templates/about.html index 377dc5b..89a06bc 100644 --- a/templates/about.html +++ b/templates/about.html @@ -69,7 +69,6 @@

This software is dedicated to the memory of Tom G1PJB, SK, a friend and colleague who sadly passed away around the time I started writing it in Autumn 2025. I was looking forward to showing it to you when it was done.

- {% end %} \ No newline at end of file diff --git a/templates/add_spot.html b/templates/add_spot.html index 6720d49..87c9c3d 100644 --- a/templates/add_spot.html +++ b/templates/add_spot.html @@ -69,8 +69,7 @@ - - + {% end %} \ No newline at end of file diff --git a/templates/alerts.html b/templates/alerts.html index 2d9cfe0..9ab39b2 100644 --- a/templates/alerts.html +++ b/templates/alerts.html @@ -70,8 +70,7 @@ - - + {% end %} \ No newline at end of file diff --git a/templates/api_only_home.html b/templates/api_only_home.html index 28625c2..a550f80 100644 --- a/templates/api_only_home.html +++ b/templates/api_only_home.html @@ -1,6 +1,6 @@ {% extends "skeleton.html" %} {% block head_extra %} - + {% end %} {% block body %}
diff --git a/templates/bands.html b/templates/bands.html index 766a291..b121e81 100644 --- a/templates/bands.html +++ b/templates/bands.html @@ -76,9 +76,8 @@ - - - + + {% end %} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index c3aa90f..4440af2 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,18 +1,19 @@ {% extends "skeleton.html" %} {% block head_extra %} - - - - + + + + - - - - + + + + - - - + + + + {% end %} {% block body %}
diff --git a/templates/conditions.html b/templates/conditions.html index 43fc2a2..6aafa35 100644 --- a/templates/conditions.html +++ b/templates/conditions.html @@ -283,9 +283,8 @@
- - - + + diff --git a/templates/map.html b/templates/map.html index 937aff2..c0d063e 100644 --- a/templates/map.html +++ b/templates/map.html @@ -76,27 +76,26 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + {% end %} \ No newline at end of file diff --git a/templates/spots.html b/templates/spots.html index fab2fdb..8edd983 100644 --- a/templates/spots.html +++ b/templates/spots.html @@ -104,9 +104,8 @@ - - - + + {% end %} \ No newline at end of file diff --git a/templates/status.html b/templates/status.html index 73a98ac..14e3204 100644 --- a/templates/status.html +++ b/templates/status.html @@ -59,8 +59,7 @@ - - + diff --git a/webassets/js/geo.js b/webassets/js/geo.js new file mode 100644 index 0000000..638a071 --- /dev/null +++ b/webassets/js/geo.js @@ -0,0 +1,104 @@ +// +// GEOGRAPHIC UTILITY FUNCTIONS +// Great Circle calculation, Maidenhead grid calcs, etc. +// + +// Calculate great circle bearing between two lat/lon points. +function calcBearing(lat1, lon1, lat2, lon2) { + lat1 *= Math.PI / 180; + lon1 *= Math.PI / 180; + lat2 *= Math.PI / 180; + lon2 *= Math.PI / 180; + var lonDelta = lon2 - lon1; + var y = Math.sin(lonDelta) * Math.cos(lat2); + var x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1) * Math.cos(lat2) * Math.cos(lonDelta); + var bearing = Math.atan2(y, x); + bearing = bearing * (180 / Math.PI); + if ( bearing < 0 ) { bearing += 360; } + return bearing; +} + +// Convert a Maidenhead grid reference of arbitrary precision to the lat/long of the centre point of the square. +// Returns null if the grid format is invalid. +function latLonForGridCentre(grid) { + let [lat, lon, latCellSize, lonCellSize] = latLonForGridSWCornerPlusSize(grid); + if (lat != null && lon != null && latCellSize != null && lonCellSize != null) { + return [lat + latCellSize / 2.0, lon + lonCellSize / 2.0]; + } else { + return null; + } +} + +// Convert a Maidenhead grid reference of arbitrary precision to lat/long, including in the result the size of the +// lowest grid square. This is a utility method used by the main methods that return the centre, southwest, and +// northeast coordinates of a grid square. +// The return type is always an array of size 4. The elements in it are null if the grid format is invalid. +function latLonForGridSWCornerPlusSize(grid) { + // Make sure we are in upper case so our maths works. Case is arbitrary for Maidenhead references + grid = grid.toUpperCase(); + + // Return null if our Maidenhead string is invalid or too short + let len = grid.length; + if (len <= 0 || (len % 2) !== 0) { + return [null, null, null, null]; + } + + let lat = 0.0; // aggregated latitude + let lon = 0.0; // aggregated longitude + let latCellSize = 10; // Size in degrees latitude of the current cell. Starts at 20 and gets smaller as the calculation progresses + let lonCellSize = 20; // Size in degrees longitude of the current cell. Starts at 20 and gets smaller as the calculation progresses + let latCellNo; // grid latitude cell number this time + let lonCellNo; // grid longitude cell number this time + + // Iterate through blocks (two-character sections) + for (let block = 0; block * 2 < len; block += 1) { + if (block % 2 === 0) { + // Letters in this block + lonCellNo = grid.charCodeAt(block * 2) - 'A'.charCodeAt(0); + latCellNo = grid.charCodeAt(block * 2 + 1) - 'A'.charCodeAt(0); + // Bail if the values aren't in range. Allowed values are A-R (0-17) for the first letter block, or + // A-X (0-23) thereafter. + let maxCellNo = (block === 0) ? 17 : 23; + if (latCellNo < 0 || latCellNo > maxCellNo || lonCellNo < 0 || lonCellNo > maxCellNo) { + return [null, null, null, null]; + } + } else { + // Numbers in this block + lonCellNo = parseInt(grid.charAt(block * 2)); + latCellNo = parseInt(grid.charAt(block * 2 + 1)); + // Bail if the values aren't in range 0-9.. + if (latCellNo < 0 || latCellNo > 9 || lonCellNo < 0 || lonCellNo > 9) { + return [null, null, null, null]; + } + } + + // Aggregate the angles + lat += latCellNo * latCellSize; + lon += lonCellNo * lonCellSize; + + // Reduce the cell size for the next block, unless we are on the last cell. + if (block * 2 < len - 2) { + // Still have more work to do, so reduce the cell size + if (block % 2 === 0) { + // Just dealt with letters, next block will be numbers so cells will be 1/10 the current size + latCellSize = latCellSize / 10.0; + lonCellSize = lonCellSize / 10.0; + } else { + // Just dealt with numbers, next block will be letters so cells will be 1/24 the current size + latCellSize = latCellSize / 24.0; + lonCellSize = lonCellSize / 24.0; + } + } + } + + // Offset back to (-180, -90) where the grid starts + lon -= 180.0; + lat -= 90.0; + + // Return nulls on maths errors + if (isNaN(lat) || isNaN(lon) || isNaN(latCellSize) || isNaN(lonCellSize)) { + return [null, null, null, null]; + } + + return [lat, lon, latCellSize, lonCellSize]; +} diff --git a/webassets/js/ui-ham.js b/webassets/js/ui-ham.js new file mode 100644 index 0000000..15eb07f --- /dev/null +++ b/webassets/js/ui-ham.js @@ -0,0 +1,438 @@ +// +// USER INTERFACE FUNCTIONS (AMATEUR RADIO) +// Functions providing colour schemes for ham radio bands, SIG icons etc. +// + +const BAND_COLOR_SCHEMES = { + "PSK Reporter": { + "2200m": "#ff4500", + "600m": "#1e90ff", + "160m": "#7cfc00", + "80m": "#e550e5", + "60m": "#00008b", + "40m": "#5959ff", + "30m": "#62d962", + "20m": "#f2c40c", + "17m": "#f2f261", + "15m": "#cca166", + "12m": "#b22222", + "11m": "#00ff00", + "10m": "#ff69b4", + "6m": "#FF0000", + "5m": "#e0e0e0", + "4m": "#cc0044", + "2m": "#FF1493", + "1.25m": "#CCFF00", + "70cm": "#999900", + "23cm": "#5AB8C7", + "13cm": "#FF7F50", + "5.8GHz": "#cc0099", + "10GHz": "#696969", + "24GHz": "#f3edc6", + "47GHz": "#ffe786", + "76GHz": "#baf9d8" + }, + "PSK Reporter (Adjusted)": { + "2200m": "#ff4500", + "600m": "#1e90ff", + "160m": "#7cfc00", + "80m": "#b33fb3", + "60m": "#00008b", + "40m": "#5959ff", + "30m": "#62d962", + "20m": "#f2c40c", + "17m": "#f2f261", + "15m": "#cca166", + "12m": "#b22222", + "11m": "#00ff00", + "10m": "#ff7eb4", + "6m": "#FF0000", + "5m": "#e0e0e0", + "4m": "#cc0044", + "2m": "#FF1493", + "1.25m": "#CCFF00", + "70cm": "#999900", + "23cm": "#5AB8C7", + "13cm": "#FF7F50", + "5.8GHz": "#cc0099", + "10GHz": "#696969", + "24GHz": "#f3edc6", + "47GHz": "#ffe786", + "76GHz": "#baf9d8" + }, + "RBN": { + "2200m": "#000000", + "600m": "#aaaaaa", + "160m": "#ffe000", + "80m": "#093F00", + "60m": "#777777", + "40m": "#ffa500", + "30m": "#ff0000", + "20m": "#800080", + "17m": "#0000ff", + "15m": "#444444", + "12m": "#00ffff", + "11m": "#000000", + "10m": "#ff00ff", + "6m": "#ffc0cb", + "5m": "#000000", + "4m": "#a276ff", + "2m": "#92FF7F", + "1.25m": "#000000", + "70cm": "#000000", + "23cm": "#000000", + "13cm": "#000000", + "5.8GHz": "#000000", + "10GHz": "#000000", + "24GHz": "#000000", + "47GHz": "#000000", + "76GHz": "#000000" + }, + "Ham Rainbow": { + "2200m": "#8e4f37", + "600m": "#8e4f37", + "160m": "#8e3737", + "80m": "#da2f93", + "60m": "#792fda", + "40m": "#2f4bda", + "30m": "#2fdad2", + "20m": "#68da2f", + "17m": "#dad52f", + "15m": "#da832f", + "12m": "#da5c2f", + "11m": "#8e8e8e", + "10m": "#da2f2f", + "6m": "#8e377a", + "5m": "#8e8e8e", + "4m": "#42378e", + "2m": "#37748e", + "1.25m": "#8e8e8e", + "70cm": "#378e65", + "23cm": "#8e8e37", + "13cm": "#8e6037", + "5.8GHz": "#8e6037", + "10GHz": "#8e6037", + "24GHz": "#8e6037", + "47GHz": "#8e6037", + "76GHz": "#8e6037" + }, + "Ham Rainbow (Reverse)": { + "2200m": "#42378e", + "600m": "#42378e", + "160m": "#8e377a", + "80m": "#da2f2f", + "60m": "#da5c2f", + "40m": "#da832f", + "30m": "#dad52f", + "20m": "#68da2f", + "17m": "#2fdad2", + "15m": "#2f4bda", + "12m": "#792fda", + "11m": "#8e8e8e", + "10m": "#da2f93", + "6m": "#8e3737", + "5m": "#8e8e8e", + "4m": "#8e4f37", + "2m": "#8e6037", + "1.25m": "#8e8e8e", + "70cm": "#8e8e37", + "23cm": "#378e65", + "13cm": "#37748e", + "5.8GHz": "#37748e", + "10GHz": "#37748e", + "24GHz": "#37748e", + "47GHz": "#37748e", + "76GHz": "#37748e", + }, + "Kate Morley": { + "2200m": "#817", + "600m": "#817", + "160m": "#817", + "80m": "#a35", + "60m": "#c66", + "40m": "#e94", + "30m": "#ed0", + "20m": "#9d5", + "17m": "#4d8", + "15m": "#2cb", + "12m": "#0bc", + "11m": "#09c", + "10m": "#09c", + "6m": "#36b", + "5m": "#36b", + "4m": "#36b", + "2m": "#36b", + "1.25m": "#36b", + "70cm": "#639", + "23cm": "#639", + "13cm": "#639", + "5.8GHz": "#639", + "10GHz": "#639", + "24GHz": "#639", + "47GHz": "#639", + "76GHz": "#639", + }, + "ColorBrewer": { + "2200m": "#54278f", + "600m": "#756bb1", + "160m": "#9e9ac8", + "80m": "#cbc9e2", + "60m": "#08519c", + "40m": "#3182bd", + "30m": "#6baed6", + "20m": "#bdd7e7", + "17m": "#006d2c", + "15m": "#31a354", + "12m": "#74c476", + "11m": "#bae4b3", + "10m": "#a63603", + "6m": "#e6550d", + "5m": "#fd8d3c", + "4m": "#fdbe85", + "2m": "#a50f15", + "1.25m": "#de2d26", + "70cm": "#fb6a4a", + "23cm": "#fcae91", + "13cm": "#636363", + "5.8GHz": "#636363", + "10GHz": "#969696", + "24GHz": "#969696", + "47GHz": "#cccccc", + "76GHz": "#cccccc", + }, + "IWantHue": { + "2200m": "#409271", + "600m": "#b03ce1", + "160m": "#50c640", + "80m": "#d545b7", + "60m": "#99b936", + "40m": "#7260db", + "30m": "#60af57", + "20m": "#d54788", + "17m": "#58c79f", + "15m": "#e2462a", + "12m": "#49b1d3", + "11m": "#df872f", + "10m": "#506bb0", + "6m": "#c6a639", + "5m": "#9554a3", + "4m": "#36783c", + "2m": "#da405b", + "1.25m": "#657527", + "70cm": "#8c97e2", + "23cm": "#b44f2f", + "13cm": "#d386c8", + "5.8GHz": "#aaac66", + "10GHz": "#9d4760", + "24GHz": "#90672c", + "47GHz": "#e08086", + "76GHz": "#dc9769", + }, + "IWantHue (Color Blind)": { + "2200m": "#bf9e3d", + "600m": "#9d2fec", + "160m": "#79df39", + "80m": "#d445db", + "60m": "#5dd175", + "40m": "#814dd8", + "30m": "#d7ce2f", + "20m": "#657af1", + "17m": "#8cc34a", + "15m": "#d635aa", + "12m": "#6cbd80", + "11m": "#b860c1", + "10m": "#e48721", + "6m": "#686ccc", + "5m": "#d44e2b", + "4m": "#51b3db", + "2m": "#d74058", + "1.25m": "#56c5ad", + "70cm": "#d0478d", + "23cm": "#708940", + "13cm": "#c380c2", + "5.8GHz": "#cab775", + "10GHz": "#7a7fc2", + "24GHz": "#b87148", + "47GHz": "#bd678c", + "76GHz": "#c3666b", + }, + "Mokole": { + "2200m": "#8b4513", + "600m": "#006400", + "160m": "#808000", + "80m": "#483d8b", + "60m": "#5f9ea0", + "40m": "#000080", + "30m": "#9acd32", + "20m": "#8b008b", + "17m": "#ff0000", + "15m": "#ff8c00", + "12m": "#ffd700", + "11m": "#7fff00", + "10m": "#8a2be2", + "6m": "#00ff7f", + "5m": "#dc143c", + "4m": "#00bfff", + "2m": "#0000ff", + "1.25m": "#d8bfd8", + "70cm": "#ff00ff", + "23cm": "#1e90ff", + "13cm": "#db7093", + "5.8GHz": "#f0e68c", + "10GHz": "#ff1493", + "24GHz": "#ffa07a", + "47GHz": "#ee82ee", + "76GHz": "#7fffd4", + } +}; +let bandColorScheme = "PSK Reporter (Adjusted)"; + +// Set the band colour scheme. Returns true if successful, false if the requested scheme was not known +function setBandColorScheme(scheme) { + let ret = BAND_COLOR_SCHEMES[scheme] + if (ret) { + bandColorScheme = scheme; + } + return ret; +} + +// Get the list of known bands +function getKnownBands() { + return Array.from(Object.keys(BAND_COLOR_SCHEMES[bandColorScheme])); +} + +// Get the list of available band colour schemes +function getAvailableBandColorSchemes() { + return Array.from(Object.keys(BAND_COLOR_SCHEMES)); +} + +// Band name to colour (in the current colour scheme). If the band is unknown, black will be returned. +function bandToColor(band) { + let col = (band != null) ? BAND_COLOR_SCHEMES[bandColorScheme][band] : null; + if (col) { + return col; + } else { + return "#000000"; + } +} + +// Band name to contrast colour (in the current colour scheme). This is either black or white, contrasting as well as +// possible with the band colour. If the band is unknown, white will be returned. +function bandToContrastColor(band) { + const rgb = hexToRGB(bandToColor(band)); + const lum = 0.2126*rgb[0] + 0.7152*rgb[1] + 0.0722*rgb[2]; + return (lum > 128) ? "#000000" : "#ffffff"; +} + +const MODE_TYPE_COLOR_SCHEMES = { + "CW": "red", + "PHONE": "green", + "DATA": "blue" +} + +// Mode type (CW, PHONE, DATA) to colour. If the mode type is unknown, black will be returned. +function modeTypeToColor(modeType) { + let col = (modeType != null) ? MODE_TYPE_COLOR_SCHEMES[modeType.toUpperCase()] : null; + if (col) { + return col; + } else { + return "#000000"; + } +} + +const SIG_ICONS = { + "POTA": "fa-tree", + "SOTA": "fa-mountain-sun", + "WWFF": "fa-seedling", + "GMA": "fa-person-hiking", + "WWBOTA": "fa-radiation", + "HEMA": "fa-mound", + "IOTA": "fa-book-atlas", + "MOTA": "fa-fan", + "ARLHS": "fa-house-flood-water", + "ILLW": "fa-house-flood-water", + "SIOTA": "fa-wheat-awn", + "WCA": "fa-chess-rook", + "ZLOTA": "fa-kiwi-bird", + "WOTA": "fa-w", + "BOTA": "fa-umbrella-beach", + "KRMNPA": "fa-earth-oceania", + "LLOTA": "fa-water", + "WWTOTA": "fa-tower-observation", + "WAB": "fa-table-cells-large", + "WAI": "fa-table-cells-large", + "Tiles": "fa-square", + "TOTA": "fa-toilet" +} + +const SIG_NAMES = { + "POTA": "Parks on the Air", + "SOTA": "Summits on the Air", + "WWFF": "Worldwide Flora & Fauna", + "GMA": "Global Mountain Activity", + "WWBOTA": "Bunkers on the Air", + "HEMA": "Humps Excluding Marilyns Award", + "IOTA": "Islands on the Air", + "MOTA": "Mills on the Air", + "ARLHS": "Amateur Radio Lighthouse Society", + "ILLW": "International Lighthouse Lightship Weekend", + "SIOTA": "Silos on the Air", + "WCA": "World Castles Award", + "ZLOTA": "New Zealand on the Air", + "WOTA": "Wainwrights on the Air", + "BOTA": "Beaches on the Air", + "KRMNPA": "Keith Roget Memorial National Parks Award", + "LLOTA": "Lagos y Lagunas on the Air", + "WWTOTA": "Towers on the Air", + "WAB": "Worked All Britain", + "WAI": "Worked All Ireland", + "Tiles": "Tiles on the Air", + "TOTA": "Toilets on the Air" +} + +// Get the Font Awesome icon for a given SIG. If the SIG is unknown, the provided default symbol will be returned +function sigToIcon(sig, defaultIcon) { + let col = (sig != null) ? SIG_ICONS[sig] : null; + if (col) { + return col; + } else { + let col = (sig != null) ? SIG_ICONS[sig.toUpperCase()] : null; + if (col) { + return col; + } else { + return defaultIcon; + } + } +} + +// Get the full name for a given SIG abbreviation. If the SIG is unknown, an empty string will be returned. +function sigToName(sig) { + let col = (sig != null) ? SIG_NAMES[sig] : null; + if (col) { + return col; + } else { + let col = (sig != null) ? SIG_NAMES[sig.toUpperCase()] : null; + if (col) { + return col; + } else { + return ""; + } + } +} + +// Get the list of known SIGs +function getKnownSIGs() { + return Array.from(Object.keys(SIG_ICONS)); +} + +// Format a Maidenhead grid with alternating alphabetic blocks in lower case +function formatGrid(grid) { + grid = grid.toUpperCase(); + if (grid.length >= 6) { + grid = grid.substring(0, 4) + grid.substring(4, 6).toLowerCase() + grid.substring(6); + } + if (grid.length >= 12) { + grid = grid.substring(0, 10) + grid.substring(10, 12).toLowerCase() + grid.substring(14); + } + return grid; +} diff --git a/webassets/js/utils.js b/webassets/js/utils.js new file mode 100644 index 0000000..8a5733a --- /dev/null +++ b/webassets/js/utils.js @@ -0,0 +1,33 @@ +// +// GENERAL UTILITY FUNCTIONS +// OBject, string manipulation etc. +// + +// Utility function to escape HTML characters from a string. +function escapeHtml(str) { + if (typeof str !== 'string') { + return ''; + } + + const escapeCharacter = (match) => { + switch (match) { + case '&': return '&'; + case '<': return '<'; + case '>': return '>'; + case '"': return '"'; + case '\'': return '''; + case '`': return '`'; + default: return match; + } + }; + + return str.replace(/[&<>"'`]/g, escapeCharacter); +} + +// Converts an HTML hex colour to an array of [R, G, B] where each is 0-255. +function hexToRGB(hex) { + return hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i + ,(m, r, g, b) => '#' + r + r + g + g + b + b) + .substring(1).match(/.{2}/g) + .map(x => parseInt(x, 16)); +} diff --git a/webassets/vendor/css/bootstrap-5.3.8.min.css b/webassets/vendor/css/bootstrap-5.3.8.min.css new file mode 100644 index 0000000..1d8bac4 --- /dev/null +++ b/webassets/vendor/css/bootstrap-5.3.8.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.8 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/webassets/fa/css/fontawesome.min.css b/webassets/vendor/css/fontawesome-6.7.2.min.css similarity index 100% rename from webassets/fa/css/fontawesome.min.css rename to webassets/vendor/css/fontawesome-6.7.2.min.css diff --git a/webassets/vendor/css/images/layers-2x.png b/webassets/vendor/css/images/layers-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..200c333dca9652ac4cba004d609e5af4eee168c1 GIT binary patch literal 1259 zcmVFhCYNy;#0irRPomHqW|G1C*;4?@4#E?jH>?v@U%cy?3dQAc-DchXVErpOh~ z-jbon+tNbnl6hoEb;)TVk+%hTDDi_G%i3*RZ&15!$Fjr^f;Ke&A@|?=`2&+{zr+3a z{D*=t(`AXyS%X7N z%a#RZw6vD^t_rnM`L4E>m=U&R!A-&}nZIi$BOPvkhrCuUe@BN~-lRD)f44;J%TwgE zcze8u!PQ_NR7?o(NylLXVTfDO zxs5=@|GsYEsNo4M#nT%N!UE(?dnS)t2+{ELYAFp*3=iF=|EQnTp`#vlSXuGVraYo? z+RCzXo6h3qA8{KG?S4nE(lM+;Eb4nT3XV;7gcAxUi5m)`k5tv}cPy()8ZR3TLW3I- zAS^}cq-IJvL7a4RgR!yk@~RT%$lA7{L5ES*hyx)M4(yxI$Ub(4f)K|^v1>zvwQY!_ zIrWw8q9GS^!Dp~}+?mbnB6jDF8mVlbQ!jFKDY;w=7;XO{9bq7>LXGK24WA`;rL)_Z z)&j}pbV(;6gY;VMhbxgvn`X;6x}VUEE-7 z%)7j-%t8S=ZL3yc)HbXDAqJZvBTPoiW_A-+a8m3_Z?v{DN7Tnr#O_VUMT0UBt$;p` zDh6JbGHN8JJ*JN%y2%msb97@_S>9!%Egwk;?PEkU9ntz&3uR}%Fj5d$JHQbQb3}a{ zSzFT^#n=VInPpcAS}CNxj?_ zVscANk5Cfz(51EI1pz};AWWb|kgbYNb4wCEGUn3+eMUMV?1-{=I4TlmLJMot@rd07 zZuo2hk1ccu{YmGkcYdWAVdk{Z4Nm?^cTD&}jGm+Q1SYIXMwmG*oO*83&#>l%nbR`G zhh=lZ%xIb7kU3#;TBbfECrnC9P=-XpL|TG2BoZdj61*XiFbW8?1Z_wp%#;>${SUIy V$8qr;L*)Pf002ovPDHLkV1hYLS~36t literal 0 HcmV?d00001 diff --git a/webassets/vendor/css/images/layers.png b/webassets/vendor/css/images/layers.png new file mode 100644 index 0000000000000000000000000000000000000000..1a72e5784b2b456eac5d7670738db80697af3377 GIT binary patch literal 696 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 e-I|>x8~*?ZhF3snGbtJX0000cOl4 literal 0 HcmV?d00001 diff --git a/webassets/vendor/css/images/marker-icon.png b/webassets/vendor/css/images/marker-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..950edf24677ded147df13b26f91baa2b0fa70513 GIT binary patch literal 1466 zcmV;r1x5OaP)P001cn1^@s6z>|W`000GnNklGNuHDcIX17Zdjl&3`L?0sTjIws<{((Dh&g-s0<@jYQyl?D*X^?%13;ml^gy> ziMrY_^1WI=(g@LMizu=zCoA>C`6|QEq1eV92k*7m>G65*&@&6)aC&e}G zI)pf-Za|N`DT&Cn1J|o`19mumxW~hiKiKyc-P`S@q)rdTo84@QI@;0yXrG%9uhI>A zG5QHb6s4=<6xy{1 z@NMxEkryp{LS44%z$3lP^cX!9+2-;CTt3wM4(k*#C{aiIiLuB>jJj;KPhPzIC00bL zU3a#;aJld94lCW=`4&aAy8M7PY=HQ>O%$YEP4c4UY#CRxfgbE~(|uiI=YS8q;O9y6 zmIkXzR`}p7ti|PrM3a}WMnR=3NVnWdAAR>b9X@)DKL6=YsvmH%?I24wdq?Gh54_;# z$?_LvgjEdspdQlft#4CQ z`2Zyvy?*)N1Ftw|{_hakhG9WjS?Az@I@+IZ8JbWewR!XUK4&6346+d#~gsE0SY(LX8&JfY>Aj)RxGy96nwhs2rv zzW6pTnMpFkDSkT*a*6Dx|u@ds6ISVn0@^RmIsKZ5Y;bazbc;tTSq(kg(=481ODrPyNB6n z-$+U}(w$m6U6H$w17Bw+wDaFIe~GvNMYvnw31MpY0eQKT9l>SU``8k7w4)z!GZKMI z#_cEKq7k~i%nlK@6c-K?+R;B#5$?T#YpKD`t_4bAs^#E+@5QW$@OX3*`;(#{U^d-vY)&xEE>n5lYl&T?Amke9$Lam@{1K@O ze*LXqlKQHiv=gx+V^Cbb2?z@ISBQ*3amF;9UJ3SBg(N|710TLamQmYZ&Qjn2LuO<* zCZlB4n%@pc&7NNnY1}x+NWpHlq`OJEo|`aYN9<`RBUB+79g;>dgb6YlfN#kGL?lO_ z!6~M^7sOnbsUkKk<@Ysie&`G>ruxH&Mgy&8;i=A zB9OO!xR{AyODw>DS-q5YM{0ExFEAzt zm>RdS+ssW(-8|?xr0(?$vBVB*%(xDLtq3Hf0I5yFm<_g=W2`QWAax{1rWVH=I!VrP zs(rTFX@W#t$hXNvbgX`gK&^w_YD;CQ!B@e0QbLIWaKAXQe2-kkloo;{iF#6}z!4=W zi$giRj1{ zt;2w`VSCF#WE&*ev7jpsC=6175@(~nTE2;7M-L((0bH@yG}-TB$R~WXd?tA$s3|%y zA`9$sA(>F%J3ioz<-LJl*^o1|w84l>HBR`>3l9c8$5Xr@xCiIQ7{x$fMCzOk_-M=% z+{a_Q#;42`#KfUte@$NT77uaTz?b-fBe)1s5XE$yA79fm?KqM^VgLXD07*qoM6N<$ Ef<_J(9smFU literal 0 HcmV?d00001 diff --git a/webassets/vendor/css/leaflet-1.9.4.min.css b/webassets/vendor/css/leaflet-1.9.4.min.css new file mode 100644 index 0000000..728a574 --- /dev/null +++ b/webassets/vendor/css/leaflet-1.9.4.min.css @@ -0,0 +1,8 @@ +/** + * Minified by jsDelivr using clean-css v5.3.3. + * Original file: /npm/leaflet@1.9.4/dist/leaflet.css + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,0.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px 'Lucida Console',Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(images/layers.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(images/layers-2x.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(images/marker-icon.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:17px 0;margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}} +/*# sourceMappingURL=/sm/bfbb31271eec85d6fb0a8b43b40900904aaa52e8aa82dd11f27aaf15d06b417a.map */ \ No newline at end of file diff --git a/webassets/vendor/css/leaflet-extra-markers-1.2.2.min.css b/webassets/vendor/css/leaflet-extra-markers-1.2.2.min.css new file mode 100644 index 0000000..d682791 --- /dev/null +++ b/webassets/vendor/css/leaflet-extra-markers-1.2.2.min.css @@ -0,0 +1,8 @@ +/*! + * leaflet-extra-markers + * Custom Markers for Leaflet JS based on Awesome Markers + * Leaflet ExtraMarkers + * https://github.com/coryasilva/Leaflet.ExtraMarkers/ + * @author coryasilva + * @version 1.2.1 + */.extra-marker{background:url("../img/markers_default.png") no-repeat 0 0;width:35px;height:46px;position:absolute;left:0;top:0;display:block;text-align:center}.extra-marker-shadow{background:url("../img/markers_shadow.png") no-repeat 0 0;width:36px;height:16px}@media (min--moz-device-pixel-ratio:1.5),(-webkit-min-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5),(min-resolution:1.5dppx){.extra-marker{background-image:url("../img/markers_default@2x.png");background-size:540px 184px}.extra-marker-shadow{background-image:url("../img/markers_shadow@2x.png");background-size:35px 16px}}.extra-marker.extra-marker-svg{background:none}.extra-marker.extra-marker-svg .svg-inline--fa,.extra-marker.extra-marker-svg i{position:absolute;left:0;width:35px}.extra-marker .svg-inline--fa,.extra-marker i{color:#fff;margin-top:7px;display:inline-block;font-size:14px}.extra-marker .svg-inline--fa{margin-top:10px;background:none}.extra-marker .svg-inline--fa,.extra-marker i.fa,.extra-marker i.fab,.extra-marker i.fas,.extra-marker i.far,.extra-marker i.fal{margin-top:10px}.extra-marker .svg-inline--fa.fa-2x,.extra-marker i.fa.fa-2x,.extra-marker i.fab.fa-2x,.extra-marker i.fas.fa-2x,.extra-marker i.far.fa-2x,.extra-marker i.fal.fa-2x{font-size:16px;margin-top:9px}.extra-marker .svg-inline--fa.fa-3x,.extra-marker i.fa.fa-3x,.extra-marker i.fab.fa-3x,.extra-marker i.fas.fa-3x,.extra-marker i.far.fa-3x,.extra-marker i.fal.fa-3x{font-size:18px;margin-top:9px}.extra-marker .svg-inline--fa.fa-4x,.extra-marker i.fa.fa-4x,.extra-marker i.fab.fa-4x,.extra-marker i.fas.fa-4x,.extra-marker i.far.fa-4x,.extra-marker i.fal.fa-4x{font-size:20px;margin-top:8px}.extra-marker .svg-inline--fa.fa-5x,.extra-marker i.fa.fa-5x,.extra-marker i.fab.fa-5x,.extra-marker i.fas.fa-5x,.extra-marker i.far.fa-5x,.extra-marker i.fal.fa-5x{font-size:24px;margin-top:6px}.extra-marker .fa-number:before{content:attr(number)}.extra-marker i.glyphicon{margin-top:10px}.extra-marker i.icon{margin-right:0;opacity:1}.extra-marker-circle-red{background-position:0 0}.extra-marker-circle-orange-dark{background-position:-36px 0}.extra-marker-circle-orange{background-position:-72px 0}.extra-marker-circle-yellow{background-position:-108px 0}.extra-marker-circle-blue-dark{background-position:-144px 0}.extra-marker-circle-blue{background-position:-180px 0}.extra-marker-circle-cyan{background-position:-216px 0}.extra-marker-circle-purple{background-position:-252px 0}.extra-marker-circle-violet{background-position:-288px 0}.extra-marker-circle-pink{background-position:-324px 0}.extra-marker-circle-green-dark{background-position:-360px 0}.extra-marker-circle-green{background-position:-396px 0}.extra-marker-circle-green-light{background-position:-432px 0}.extra-marker-circle-black{background-position:-468px 0}.extra-marker-circle-white{background-position:-504px 0}.extra-marker-square-red{background-position:0 -46px}.extra-marker-square-orange-dark{background-position:-36px -46px}.extra-marker-square-orange{background-position:-72px -46px}.extra-marker-square-yellow{background-position:-108px -46px}.extra-marker-square-blue-dark{background-position:-144px -46px}.extra-marker-square-blue{background-position:-180px -46px}.extra-marker-square-cyan{background-position:-216px -46px}.extra-marker-square-purple{background-position:-252px -46px}.extra-marker-square-violet{background-position:-288px -46px}.extra-marker-square-pink{background-position:-324px -46px}.extra-marker-square-green-dark{background-position:-360px -46px}.extra-marker-square-green{background-position:-396px -46px}.extra-marker-square-green-light{background-position:-432px -46px}.extra-marker-square-black{background-position:-468px -46px}.extra-marker-square-white{background-position:-504px -46px}.extra-marker-star-red{background-position:0 -92px}.extra-marker-star-orange-dark{background-position:-36px -92px}.extra-marker-star-orange{background-position:-72px -92px}.extra-marker-star-yellow{background-position:-108px -92px}.extra-marker-star-blue-dark{background-position:-144px -92px}.extra-marker-star-blue{background-position:-180px -92px}.extra-marker-star-cyan{background-position:-216px -92px}.extra-marker-star-purple{background-position:-252px -92px}.extra-marker-star-violet{background-position:-288px -92px}.extra-marker-star-pink{background-position:-324px -92px}.extra-marker-star-green-dark{background-position:-360px -92px}.extra-marker-star-green{background-position:-396px -92px}.extra-marker-star-green-light{background-position:-432px -92px}.extra-marker-star-black{background-position:-468px -92px}.extra-marker-star-white{background-position:-504px -92px}.extra-marker-penta-red{background-position:0 -138px}.extra-marker-penta-orange-dark{background-position:-36px -138px}.extra-marker-penta-orange{background-position:-72px -138px}.extra-marker-penta-yellow{background-position:-108px -138px}.extra-marker-penta-blue-dark{background-position:-144px -138px}.extra-marker-penta-blue{background-position:-180px -138px}.extra-marker-penta-cyan{background-position:-216px -138px}.extra-marker-penta-purple{background-position:-252px -138px}.extra-marker-penta-violet{background-position:-288px -138px}.extra-marker-penta-pink{background-position:-324px -138px}.extra-marker-penta-green-dark{background-position:-360px -138px}.extra-marker-penta-green{background-position:-396px -138px}.extra-marker-penta-green-light{background-position:-432px -138px}.extra-marker-penta-black{background-position:-468px -138px}.extra-marker-penta-white{background-position:-504px -138px} \ No newline at end of file diff --git a/webassets/fa/css/solid.min.css b/webassets/vendor/css/solid-6.7.2.min.css similarity index 100% rename from webassets/fa/css/solid.min.css rename to webassets/vendor/css/solid-6.7.2.min.css diff --git a/webassets/vendor/img/markers_default.png b/webassets/vendor/img/markers_default.png new file mode 100644 index 0000000000000000000000000000000000000000..2c81d15bf68b2444f39108823c7166cd7d74d8fb GIT binary patch literal 119805 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 literal 0 HcmV?d00001 diff --git a/webassets/vendor/img/markers_default@2x.png b/webassets/vendor/img/markers_default@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..35ff61b50db09885901cbd0e222c2540265cc357 GIT binary patch literal 254280 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 z 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

JVRE-K81RUbKAU)P=1 z5pdd9BKWBY&dJ{b0dakpHC^*vQ+$r;Z!0V8@_}x-%NKPn(lT@f_do7xWl9a|roUA4 z6zzrIOcCVm$#$e52>|T_ja?=&9^U95=9-WG<5f+-S*>JAHpXhf_bq0;w4l9h=CR)u`S>TM!)rjX$pui}%sQ42pHMf|uT++W>y%O?6 z9{_GTO)Wxz1Ra|m|L8KCKb*WO<#$t4lAcTz3V7?6szX?b$s_6s+I4-I^a=~O5LF)i z5C6fY<|uJ_4)4eF&{(LNy~AKVcY?@n*RhiohH`b@F8G)sSXtF{YxgbtX`=G%8mTOO zJI!aiBHlbKK=T3Mt37}{%Jj*7>)xYy68}C`UP`45%+ihGOVbT()8xgUt6NUneFWb5 zJt8u~k8s8%%-?^PC35=tPki292i1;i*jXdW#$orr6-tw-#ziL(o~+Jz zf7>~Gjc&fVh5#Ps4bo4g755%DX&W?hzF7#!nHrCzii)YOOgFnf=+-dgFfsTcu{}0v zeH=XV+uBjUk8Ff#QR@X#^5H_~M}TI|I?)C(#FZxd8QbH`<@xNO4LZ=`bzy#&kb~xj ziJRBx6F;i{HvDwm_Gz$T_+@eJ_(G}hWTuK5F)cB6COW&8zOEqhjx8o(S=TyKTViM* z+4khSi;=tuD+dyci}#i82$T8x`c_u8CakzIpY6?eb##!#P~_l5;)dA_O<1CrbZd># zZ3l}Tcy|Rk1v2U+TNWa-Khz~81n(|b8vuKELjO1k;BGtWpnb2R=o0kxOSjmHY{?L`N@K#OMeliB-rNl}Oi* z_WM2Z-ttis-LPfZprCd7?O&WsCe8CMiT{rrRUi+(tvynIaBI=dd1{hE( z=>VluhkA-4*C|};SRDd6f8JLUhjM+S?BC9V7110Df&F+~8dO~xS;0tl5yZxFWqPL{ z8Qh#bL0TNU6dx~Qu6@X?BNEyP=@@M(D7YuB$oySsw-1r~8j?D$<@K(|%fkyDQI|=z zhw548K72`%12~v4Ljb?G!z~NO+J9gxC*lu=@z(5|_x9h2HPW{I#y5@RD6K5#pZ3t7t8N&{c{onYsh!cdsaw(oZ)!b z*j3>vzfKT-rpC~vMLcm9%M}@ zBTnsNz3BSvsLEG(o<+kI6qT|jkA6W-2HV)61(h{EC)&dbL7vbv_ehEe7>C(H>kZ43 z$N$Jns$)Xq>bc^!0~}=J_FEv9P_6+ln+M2&xryswN9(-QC=1fQKt^HNjbD#;PEH4P zuTD>QNgFI5d}$*QWk!{jR{{G8o-BsR}cHp3LXkKX} zD#nRE1+Jc1Omxz_VGZ(km8@1k_P(iQeMmNowIo2BQD>g)eoK@MiyMYIh>ZTB+148( zlR3EaU})Z+k;1azXy~L=H^edX*NX2ib<>~H()ay1nB|>kN-pRljl(4ql7IhAC=5pL z)`-=Uclqf#OXtCr`2|2%nmwpkG{4EHqTo#ETx<1#aKPJ|h4_~Z#uv1(hAyAxp9l5kV$uB?b%^wERZWUBgeZlOV`;GWR;OL*&lEo8Gx zr)$0u_yS98W%=CfP0QKH4)V}{p9vBn)oHf9g_-!H4B{2ZgV`!Wmwv>In?QVE`g*D& zoW|kVW^``}or)3(2F($bYgU8tRbd1ueg&E!_vF z+@s%B>X7{3SE6uBi>gtMs$;wXgxmYkj$bpJliDIK@*b1mj3lO=FWO$Zq4i%I4T>&x z+~3W4`-7=fj4jA-KKA}RZ?7vIE^t(-SRW@=cr%*?4&`CIjSs3-`n~0 zWRs8ftSTmu(%}t*%(e|6M(SYul@CYEW&yu#WM@zMCxWt+ZJm~YX-tp2XX53?w|yED zl%&7I0<%vFq*8>yBcLz45Oii@vu4Pw><+ICYe#;R21bdTme}SG)!)X8ge5(GS5RCY z%2FY(s`wXRPtxl`onl3poh@5=QVLpF(yC?`4+9=cfEeFWxK`E}Xg1R?o`%x-C0=TM zQdx|B_h;)CXrF?vexmK$&@MrtwjIy+ zG9Y9(afmg*jwG{WPGitv@x0^FF)b%x5aL!9W_RDg`>{Z9=eXC}2eV6Cyj2d=G{E?$ zsv7B(-oQO3B6-zLAVzFd#!t_DCVVB3mDhlL)381zcFAzxAT@kOY zNC&Z3g&(mSTCRxOUZu+GgSXK>6pDwq3!Un&iMIqBBhv48#!Z|Z)O>bexRnw=GBmY< zJqg~BUxDInrPoP@$Tr=NIfa2ruiYt;!*_{79FYUu-#9#@Y=#Y3+$AR}=Z#V8lSj5~ zT{0WNw!XMapBW|vxPr#)c9(-|L<0HnOIMfR$=22rzO$>YAU$F;;EOxhzCQo+!?lH1 z9ZO8LtTCBB9$4j^r{@(DCWv3^pY=h?&7cZ;t4hDP4rS(W&>7Qj5utd#Bl2lobNn*6 z?Q|%SyKg9Xc}@PlHy7%=tBH{s!iZK>rEy4Q)G?g-;0Uf53_R6MTOFLvoBGcC9||tF zv3y<$MoY2#CF89vs3BzKKMwx&Gly)vMw~8u8f`on-xay#jVHu(5Sa z#TiYDrSBOoJNF_k9!<8pkBJPT@$qq@(2Hl7A9M2=ZidQXp)Cn*9~XkOI_?GJ6`PO=!u5>duA>uvV!I56mLkr-sOih!G)JGD_{;{b-kEI)Vaxan ziC$7+?4uTfVLu7JZv9Clx@+@!`mFz94lMs5)VtLG+e`CQHUT9HaGPz6xR)D9S!Yc1 zIAzjF9>33M)m`wQ7mB<)zy-%XD@NKum-8mNmh#+t&AP8|<}A~Ayysd3cTdfK7X}ae zWWD}jBrXxo>WUI-AbW@w?G7x69X!gbReo?ZF}I((tx2Rz2%`B}BNB<-V@;sR_?EDe zcX7(?zh36Pa_F}5;hh!34FVCL{-I5^=7g6ob$nx#*G2jZ#T(`)&UXW7p}N!De5ulg&QXo6Lu&U9lLd(>SDRwN9cH+BKxX8vh*L~- zi>I8TO504`3kjx@%$^ZwIqaA%yDrSCmS^HbF^l?=s-^9(1k@EWzU@#ezaI%OcK+uW z=(v-p!zjugbxk3h;daUp6qaEl}$O_VQL{dWJ;e>Gnt*oL&x zg2ysPlRpIXP?S-a&;~Z zDT0u#tLugUfX*;k1aqiIOUr@oTY;Gf*v-17_~!scjiBemaS~L`(7A$pUsa1Qc~wBT zVIVZMVia8J7#gEcJ$9s2QWIu|#eoA0Ur(T_#uvUsm#tXW6l*PC2r;#s++ z>t`rlpxeBd+}c*4RyUgAd#?(E9Llvx*XL_Iz};ko_Eq|xh28oo|JxmTWX zV42o+hIcESyL1i^X3JR*={D0EG_?qYVh4?_gPf^ka)U{UzuA-urFQA<=Y1*^Bn3!F z&QGn6ii=oZdcVzm9I|r~1W$NKKSA+Z;KfTKzhiVe>1^OC&(sn2bP5?``DcN|qHYLt)4WsNv|O-qap*_eull(X&Tk9e&r+=)z5b(DU9=YM3WXl!OUiu*{EmJ>qlIS@r-^o=U8!Z9c z5EV_TQmYxdVKt#ii_?6XMv7o;*Ql9SX|Wr4ZLpJz%6@igys7Cp1Kw-mEHB$__xryE z&eOyXAE^DxK5Xs@cG-Cyok6V!2QF7%3H*Ysild|{rP>ne0>OPHQfrfq-j^&VzXiz` zPCRW_D2XAZ1^I^kn2tN@1td9b`yPiKvDiEl<)L1g-=Qyh7h0I+pz*Yfn3w!l_Y9Z2 z%yfM?38T4BGjX=)77zo3b*%^wE4yHk{XcF=De+rJ^-bqSi}idQeRh-asj)Y?g$m+h zOuASIXj5jZZ<%G-xOlI#0K?qEGBRHST-MEhpNJ{4&r}>EV>+MWGEqS z_4MUZLL>oc<|=1WPGLQZO|T=HwiJB|jzZlC$$I*v@w zLoHluGCX7H$rc#YspmTKer`pUjU{{}6CbE*s*7clakC1tr;0leGukSBHN<1)YFqR? zlK$(9ih?(#mK76S$UQNTBV~td7E3{wxAInZ%#-48|H!}U{JStLov31(s*-aQb3%DE z*%sy!i<@lYsDchiv*w%QWvGhI1YLGGzTPxRe-qSG#Aj1Rt~kCen%@SWiUN9gh60m{b;^I7Xb|sU^)lKt^p;TwiA5?lT%TG=z3t z>us#*mUdg%vQDH}XI&qE{j}5$=c%WC1#0D{WLZ6RD~-jvRQU54-P3@l5AGbAetmW3 z>00wH-hiw_HbqjC-+aL!5=H-t=qYGNrHqd57@`j(Zglw+_KUW$pLeMur3()FSKG`5 z$tTW+3{8kW7NBIlu+)l9q2mc-n>5lmZYMOai?1j=IDGyl#O607?!#OB?b9jRm-hEd zh4jQlNY^RQ&&LRE*xvTX(Ju{`yxo)De+D+C=#i{b?%+dMRC8UrHjES1WQVr>JZB$uin4@@DJrW4vH~h^ zdN2K+{TvMwuoa|LMGzl9m6mbh3?(4Ps5MVpIOA`7d*!&Hs)WWPFnfP!TAhI>U@g))Xm5?0{TtO~1 z7gU7&PYD$4*!xS?Fc$yYmbU1Q3Zh%X3+RmY@xUalZTepy6rGx9)S@A1xkwF~F1LY0 zue$=!^_7F-5mGg4$+-HD$xjB-Uy2%c&;&>IfgRtRAB(<6-f76A* zfZSRRDa}Gx?+`~>?Vee~jzS4sxw@)h&t!fT} z@OYv0m>RxeT``m3q_su0#%cqsonU86m!jLFjeOYp;xD!2xA?3+6Pn@KX9=;SVBI&4 z)}?Qdi`0+#lYg%cCyIfPaMWVd_Lqk)K2DR5po{%x%$hA9$8%~fxvl%>w&QyOKF;zS zo(y(@9Ftml3k=P+r07BrUeVS>Wd#&MbM;^t0lS>gp$`PYH=-E&b1xV&B82ZSqHhY5uYIN9B{|)Y$)-6Kng$Z zD}`ZQq7_ZTHHCAZls78}yi+-|xaZ&DMll71Tf$_SqmFgonSObNGaCEoUsZf=25Y-SsRz)Euq+}YF9x|&~jA224kNu4Ho=pXP1+k<(owo z*S8J(|3ZX&>}`d=eu{won4C6M4Qjd7&r&U<$xzDo7RTEUb`F!4kr{Gp@bveGgXCO( z^;#9!YK}?pCJ;e5RV^*?#A*?qfRuciY&+%fZ)bR;n5bz%5n-Pb!t}c0P1o*B!@-|k zk(I?oi`gGmzcIROTwdRVf(vsS9n>A`j2my#wi^Ra9t8idjiy$%JfVYFuB#i7PF|0* zES=Jj|8L1dR7oUu=poZipYq@5j{0YTki0w54w_PMQ?8G)%R(lZ-L*Q1E=llulwdZK z+zAB=PZH=EX_mz`^6gk7l-i|-Jr2sM9ImlJ%mq<3QSBH>d|U*rMq~YayD@L~-Vy+d zB-6x`J#jqWJN_K~;T1$xwIR z%&*D`RfP>8<~BQ(M0ko2(3;w^fCLc-k@^Bj0DfBU`AF9LJ?o>Il&%$o*`W-_Mcic+ z>PH+>LYW^7aLpS1od=2c0(j2#IV=m_RSwm+>*jFlrU`h8kPzXr#OLr$Q>1Y*@}`3% zB^2gaL6vRmVJDW$tkxJOMn+r?#vDY)01B*nPLVdqMF)JtACYjs?CXp?MwG=0N+&dx zeV^`jyjYJdEe7gjNfQCf*LQCBG@Y@kRBP8TTIN_k5Xf7}^9v_V2oY7T_sduMb$&8B zMx7Le=YKf_8W6g^Ft0Y9AKA?@s z$f8RiJpOK%I5-9a?U_tqu5kB*)NjYo1!-N~s=k3d5Ij~b+Uq5K9JeT?(wLm+fhO6L z)!Tea!uH~%;Nf5g{Ab<%h(%LEV&V{v`7}UB+RQ2}g)Ga9n3@r>54AI{M9X%e zUI_MJ7{E4iOl-wA%+x7iB?cC^#!4H#)@gllb6xnWGZG7G@6=5{QK%tTP!OB*wsYg# z6JjdcEy|fcvE8zENng<=Tf_F)ezCi9%*Co^s{6nr<_e45;8z8ByZxt?Y0@=I%~Lk9 z?GVN7-%&-s-b>}8qy4f@8fqs?WfGS%b4GHuRc@nTSS3bWHT`UaF|qc68?^Ug4alN$;{B#%lp)Bg;s^#2F2R` zs~Eo7#Afh0wG2lOKV`@XcL!HCYJ!%#Su4<^>| z;PRi`@3~!=+x^*9(6K>m=VVY`PHh&~0d0TuvE+{ekO)L^a_}7|_ALMu&z}LoywzkG!vL+oT4$jS}595qAJt;Rt$zPKZd!_Vs6ZE5O7I7vPyzy1F$+}ZFEVK{l zH~SN89dKuZEo~o&D?Nt3I|Ki*So$Dw+EsE~1|rGIh2g59Hc}vJH?aUYZb4TJw_Wmx zt*rw9c24yeOx)ktGi=OW_DMNCm1KJurA(&r5)xxq@;-}Pj@WH5oY*E#V2I^~hk`== z>6Gl7%P)_$Ij7$nPrA7A9P&Wu-+mI2suX*LFt+~ui@3sTT4GPu-^e*q=@US@|6b;_fsjY^v~e%L0iNXYN;9pXfQvVq(q)vF zm=s+bQ&^Gl5ySgZs<@yk9{mUJ8bmz%|& zM{7_2?_i?sT6_<;M~dN!%Rk7B7lYEG!byl5gXdA~m&y5gkeCX?J)$m3#h1|TZU6qf zc#Ra3!(=-P&044%DC`J7LN{W$nCmsAv1YAe2xkB1KbeFL-6CzC4O)`;mO&O$k9Y0t#s!0O~JRsVj5 z#yoSTIVqt9B8l=dw#2{Zm=mew5Je-|3Hs5sCy>{LK@h9s=w~fR-%(B==f}3vl*=Jj z&$Mv*uW#JH8aXdFhQ+n4JYuJ79yE@iZco*aaI!)-MH{q`lX7z;9~rzvSm*K99DHR~ z-_M75x`&^aeDD@!_o`*-TAbh|Lz7N&RkO1Vzq|qs2Y6yx6_0ya50P@|*4-7v+ zOK_TCY&79 z=@X)XvyT)arCBE?#s?{$g~wBVS$&KDmlo%ZHd7U(^ps>@p6?J#9dE22#~9C5n-$-o zqb}zE50Ii02`C!_*7CsqSB2IEk%_mD?J`McazlCVZmu+h#gRli(t@bG%Vc#F$S4nEqlyL8WG9mf{&uLDVcFiQ#rC z=XR+T+u>L`zu|zo4$e0vlcfQi#UNDrw~ z;@3F9hx=u``@F~CH#@Ms4k+@ZpMOiALsD#P`QXspj@nSNfS*+#h{CJR%KrrObox58 z^;OF9(`Czu6+y zP3-WWevD?}DFee5cPw#x+;L))KYm09mVz)8Mu*TfW=s~ToH3e-mX_AzY;Vr<6Sg`T z)tae<642-s$5eW)Qr6cuR5dq$Sh$W~0MK`N4Lm}jchO>%2O3-JG(dQNN^*Sxt5c47 zYR!8r(_y4f?<%j#&C)BXmx3@ndt#7 z+Bwdu$ffxe@B-q)L@DlTV~+5M{hvj|+cXX2NV7m2HMrgfEK-1*{#vGewq6-a(O1_j z9#`%wC9#*;D&kObx1j~ zpMi;!6*V%fXOivIbK;d;Q^NMsPP>}8!g=U8NZ8y9Lnmz?|I_?LLB?gohkFr0ORDtO zz_skyD2vH`=lFHZRh=4NtsuF6NtDRll#EAnd~vBAL0(>wn*`IG`2B+`hvh zU6pQh=#OOMQvy?7eZS4)q4rZ1sX-brJ+Dfa~NIwW$Gw%mOw zonh$y3CBDj`M?0>EZjNFCM9vVM#n2P4j9BfmtHsUSn-+0NMqxy(dIh)APK-R)A*|9 z5LX-{5~4zE^02nvwMVJ?ka z^S&#g>e+<_Pf{<=#x9K25T)HAa)X}LVFs5Odu`MPBvt`{+Tj8AD~Ur~=?c+DQZR$z z#xNmaD9oJ6vb4gEPtfT16NBoMPh~d$@1;<486e^RKk)zFJ3iEU_~7MnnfY|)nOMiI z7E4^%)X7nFX#Iho7ctn*Z{XZ+9Up;06=x&@rxGXFUVE77m7DI(sTywDCxp&7;A!{&8n|z;3=BFL8nE-Rv^J zE2UE|a$(vzz_avR{TF(!lvH-%DD+h+;B2sR7k zI0jk)`~XX&alklF(`h^qw9GnNm7CF`cquj;VR@~FP-9K63K$J%!AP}RHUbBoD_|HX zJNF_5Nk0^7oi)NYhXAa{3Frr#Va%=~Wi`lz;q3jo$6cGl)3E-}472U@)Ym?Pbo9!i zkzFisBfRL3!b`DeFRMRGe?!eQDta#%XqDlZ&H_!2aZm4x8zaq|=kU+NQ;nAU- zb>{~EcG?~&ipf}uM9QhF$y=$jo0F^Uc)=~I$*;@QRL#*4*?eR~IiRJ;g|p}((b?UBIf;kaVY^ZfJq z&kBxqWwNCoTBxosjumI%XfW7a0;CHqaBg2!un>(NX_@h|d@oLnJG@tpP8U)TrPR=VJ|Nx^I(f^fO(iS-mc02> zeER_)!-b0@xM&j=93i&#bdVqL#u)DbVCXjE7rx;&Jj(5=2m^Ejip+fQ(4~k&8kQ+BXp&cX&Q3a6EL zI3R{maE$x@zuSs|_D?F)4!ZVlq~~*;D-ZaDl62>dm2SU?0SwS@V19qv6TQj=U+mXV z|7A4(GQCO@PTkgZpLftz*zp;%^O@J-y;p00*R)KmPGs{_rj#8}qsNFJHqzcf#H9nb{>o zukj8pKnmBTR#6_R0gjU=4al170sVg6t$A33J!MIsxPcVRVo*EjKL@W!7Vfk;+!8n` z4M^B6c}{HI2fhX)Z(!5%iswSse;NO5Oc#yOQLkS~hpwq1?!m8?dg#KEB~Jf)cEPfV zW#(K~aQ9o8pEw;k_hYekdtlwEy|X}Wf5u2U#}G$|vxtW|o$pn6TIm_LWG)~%bRU@7 zJeXnU$5&__ogdW>xsyWPEMG@5YKdXo#HK|x;F!P)6c&E4&Zd37?#N>T0{U@+QaL|bp2vgzyd?m>rJ7>ceIa9C~7 z_A2i8VOdcv3ESrSu(*uLS{QlI(Y8l|hbtZ?Q$BYcxXc5KSIYV?mz2>pEG1$F>zcndw`6I~3}Qk$EvXdnsS*yOPM#9PtOyEC!$mzDE|o zuJ`Tup_U1-FR*#xPojI+y~A0VU(|1{(i@`s!j&{keBbgU@#eA4EEKc7o_D3T@V~gA zjKXlO`{M=>@8m=1d|s!q+M;*OnvN_8^6tBe=SR<i~X?>Z~ ztJT>K4T;N+FD88zZ{Z?;OnL{>hd?K6+a6nr-sN_|U;uAIOUHg{v*XnK5I9K(jkJ~5vusH{*8w&d#lK5)NfoQLAiW$TSZfT*7?he_=LKJ=N=pxt7 zF2~QSdGuUc(rQ3qe26aF?KksBws9;oV3fS!j00geyVPU>z>{>Ju#-vM1IdAw@#@ju z-5kcX^F!O0vJ2eh{cQ>IUKv5t4iJhsVX=6l-RbEDD4^SZLzB(p zS)=d6$Zhcw27>ypV=f*QT*pC!ACBXuqUmpwI4kwbZdAGv0+S=g16Rpw8VfMDF1>J- zc6`u~UB0Aevmde)hB*p`JzYs>7l|CDjH77Ag3Yfwv(sDsjp1Cm0qiGF@%qP(eL@vwJxpVO%@*3l*M+onctl20jB|R z5oE-U>n=>O%6B)Bg6DUMDWYKISoZ0=r{EZ$fa|gk*UNbgXAhgP4TK4WUS2c}w5DNt zEoEEN8TjCVyZlK!Zoy^u+H+?91t(0L#DRPkFMvFT5NR&MZgFGnH}mriINWXsI6?uF z(T5j4XxtsLhrM!hKo2=J5T-F0OvB$&L#<^p{fC{+gwde?A^bWlL>ZOu^86Dgq)9#{ zq@<=eqC23?#}CD=3D3y5$$|&2dJ|S|HXVaPiNx;N+*tKivU}83XI0FtS2t85!EA8N z+vgN;6j%Li#&@Y=F?A}4zWv43*Yn>GT|(9$y5Bq}RbIO&aD9$xpM}gZD_)17MB0v@ zz88}WhS8u@A)>=cO<8MTR?u@G5Iyu%f_=XAL`s}9bn6luvTX90qM&+bXg*3T94zXG zxb{1l*A6peBcTu6SD_X5_->yzOtFyyGRjY)c{_+tzqzk_m8&vwgVL2q_{gKXuk{qu zZApf#IU9l%cA1zv63Yw)xD?6T4YI|?Lbe|0HhNV_*@tnzg}E)m9;w?ey>Pf0O_ihr zdyG(v65T(zM$0dpB&WNFpt_(xxybz9%}0yKBB=AEYX2txQVrhuWD;ig`EKs< zc(GfkB9QyjVY178dhTQP;D7xcX9{6{1QS{6>q^jDUI;Uzg3KC2PB{;SGy^{y5A1aR z4<3ogt91 zCYFW8nFOJ5>~@DQ5SI44E3)hS9}|5?{<0vqseYa(rxR|nXPV7>;T?WJ|4wr2<>4#8 zFPe@v4^&frHHK{O!9IY07b_f%7c2I8s;BW!@sfLXQ*_>GykhganL?&>2H%m58l+m1 zfJJscCyN1rs-B5zT}_5qp3QA?;r}_q!geJ-FDAuy^RjZmBR&+ETrE_c4e$9m+Ue2p zjAlV1Z&mh|!vIeNscj?OhOzU#XRT6+Bf7?6cI#9z(3dw3>0i{MdZ-S*&cK2ecI8EG zSi*r{>ENAAC=sLs@E@g?_|9DO$*ZP6GK!m<4WT5|Nq?^CcO_Ien$8znm~SrUz!kx~ z)Ic5>#hcPxZFD{l;5kU^?q9B7_^XD6G2IniJbGgO_;)$P^8xH(+hX@3oYQPR=ms_` z-*_Y}&ThHUQF_Z`{qSCiD9D(FC}HlOwA?>0xByv4>IM+G4Y~Y1eG;D(7*IVWZ&!-a z%`Q8TL}Jx(2+T1vKWJ1n$2L8*R`3q9`AHxLu}%R81>v48pEo?Z7=4lZ3#yr8pLoq7 z(Vt{L4+?n^buN?IR8QlDc(T{Ep1f$O?I<+=er|< z+oQ7`=5zr^G9@Nr(#q@c zv*CC9c}9*{SJ2iZ3upsIy|R7`bALj zbrw8sr3g7sxaq{>-H$m)!tip2E#&;BP;^?C5+iWSHAVxxY{49)Nt7e`EO@i}McTxi zR04m~pEZRTIaak1gqQ^^^&@_s{K@vaY)v%QL-qcQ{ZqnMiBQ{*qBAFhzE?b@qYY)l z^IsL&&tLz;EoPmh4v$1&9}^T^vq6xE_6{`C57*jw^~!9qV7Csk4`46z2ue3cP*Zc$ z(H}rG`{`-@=n&bSr(UlY0(To2zqp0*4~z+239%>awRE|+5jy8^Zyzy#sgqKB2Ix3f z3w988je_&Mcgc{;G~;N-gNgDw`xkLFxyC_G>s}hKIBna96!49mzcl^KFZN~{6i@BB z6!KUA^A!Hly&gYz>`%xS<=fjk4v<&5gzbbg5ySze#@yH~cc5F*_B4a)8iPzHVCLr1 zZ^%sP9NsCt3}>^u^><+7CT|Vk!wi2bsxTY0jWQ)*6*srMa!oSLKi90gOjq!W^2|cbt*Pe<6}vwP9}_2W0x&Dr80sGB9vT4CcL1)sF!z1!yJG zAp!_8h;zC)50APv>)ty_7%rLg7xzXuU!70Ic&SBNYEk2n`1Nb!-PhL|+cNPf>*I>m zyGwT>DJb;3pP~K*DuoehPIl=+V2!Bh!0;08Jfa)DH15$hP-L|L9cr4Z>Q8Ni$!os) z@|Vi*d+W_n;Q%g|zEZ=7`R-)N(D88>N2S7)uW#7V0#tRsLc?Q*Hcv9HmhZf`GD4>+ z!oRyCBq3PK0*Np6xHi;uMyML+m^61qm`Yq@ID#DK6g{iB> zOmpmW)#8T&jieJ<+`aewEjmeFGtea@$k0ShtDB@P zEQFA55^-i}>tTk7L&ki)>7?=ig|vI>R_!rTFz7GU3lxsrbkE1q+_iA>p=oz{Q(y55#-f&wbn7DmLqe;CO&f%#ux zX~N?@fIj*taY{;7*50qYG;CZ~v#4Ive?r)U`2#7DeNcQnX29utKNbOi^GccsM_E{N zZPtd89l}H2p7AyiilRHl)|li%8HcsB(0TE~oDv5M>6=x#+AK8Ik~~XYjGWPO%7i>Z zA# ze-Uhu4lD=U7FC!G`Uo2j^=cWq#9iFR$Jqtxb&)rbdXH;FK;$@2LD<~Or5V^wvjuIX z891|bEMELwg78H_-|wg2M0P%sc;YsGbCuwq-*XAJ$qbVruRMJT7$xKKR1EcHXT}#^ z#fr=lHWujb4o;VIJ2gv(3NLr{;^tk+!GOlE;oDRtQ68i6lW*U=u5;QZC}#*9NHlP^ zp7G={gv-Jo)g}U#C<+||S3jkj-}uFO&9($F2L%N|RN6h+J^Is^S?J@4Gn2cIBZ=+e z;~#U*3EQWv=(Vs{PlyZjB}4i4@`&Q@h~5XDo?A-x$D)|Ly3jy4`%O$L0}<7tdRyJl zz>^)Uf1BvyqWt9I?)r883cO9>@afR)#pphjXsG?hTpQu3QO?)Bs}ipSo$aE=y3e5d z#l~HHDqTL7F<%Lb9l66#a#TC{VGn{Vf)yX>ji zTEVW=%Pn9W$!&@eAJK_(Mqsq2d7&41#a>4u{P3l2%b+=k{I^cm0kkt32&BD>AE=78 z`F*Ls^Kp5>9_B%!7`(5kqYyrFi+hXofq`}@EZbo}scW}!P$Qh~tTp3%*=HvIz+LL; zt#;@}O3giJ*Ivg^E>VL{85&{AEH{u=uw&2qT*S*`;vJ&~M9tsB<2dK1gT6ow0u=sj zbMfH{^%*UAA=RGcx`c$O-ooa+?VJ+7u5#x)M(OrAOv_3~P$3C*AE-+63}+AH>BK8v zyJgt!Z@KPkfaT&pv>x)+3}TduRYhgOC#E9DS?NFr4I7czA_W<-)z)|@sAY-yJ|F!h zy(zuYR7J95`Vd2-NYBfT1KIpEDo{e`@KtcpQB_DLWxo>* z`cCceIwvT)3)zKms?{LE3x|e?{QsZFuFNAJ3Mnih`3pGfurOFCWN~AE-=tcyPT{sa z(S4TnwJ*eaT|}2ET=nrqd_YdYlnW2Fs!%f#ctTwJJqoDQ!$-VxpXylC>r4IxfW}_O zT;T_7RJaze#T$N@_t28Zb@;rw+qLA*!U=O1#RgdPSH4fw((ro1U7QrhKwp?D#CD9x zmZjbLMNw}%PDj#Hr_oLE701g$tthqWyWMSw6DmEAu^F`i^^kmg`nvviihZnCqvFE~ zYs9BQC%7W;?9E0Y!BJ?hNwlY*?-O~|U2(S=?{7)9$)xx9LTGQ%a(XI>v;r6sRRPahD6I>V_=g?rk$2V^f7g^LhW9*fmEIYoQJRN0<58UYr*EX%dY-J<|;j_ZaJ7)%^^B}5UC|A(%xjA|?D z+DveF2~w=MTWN6D;#w#kw76SwcPSFwy|@&L7pFjwqQzYc6!*#d&6-)?8u@#FM9#T) zpS|y6)M223(Q;2z#dw~h{M;(@wia>Q^x#r5dO|IKvmWs~dpeZJjDA_( z~i zGmlCf_v_0a&|B~1iV&ZO^dA*F&Pn_C6J|p0fSo<%C*`3C2_;_PdUcgw8gBG1PlC&! zE8nhCBmvdHRg{G70(chI+-F+YW%Y&goz=p1!1l>+wi^Ca?Ib11F-oPpeT*5IB&9BF zz|pl(6fk5>2Pc%O~c%ghz&J=6#Q(T#KAOLiUtB9& z`y0v>JssLqQL(E^j}<~oS(}ubT_i;#C9T+ghz5+Ta91B{yysF4`Xy*y+Ub3}_73lH zY6&Uew{cM-mI6Sb?1`5#h`qay5;bnt)tFsvvs(v9SW!J zgCGiS?b~3SUNCEt$zrzKP+vGaJfI^|Ud?sLSjg+xmPjIu{!|j(lWL=0vMA$2`ziS6 zyz|knxTzc)9^pm;B82Gg8>~DF8NdB&2rxm{4=oXpmWw(f@mo{L0eu*VjyhF^@FqY3Oeq@wAanqx`oW+{;3;2qAY#^CC!3$u{B;HN7^zu zVeL^BQWR1f0_*H%&Gw@n*>vPDK!RxPhA&DeOKmj1d=|q3%SN z`vlEU_TdTq8^0H>2Z#t0upcvFLXl{SsT@?!!K+CH=5ke20x6+8(NL?C_-Pv5zAmi_ zrD`d&Ss;#$&K2n3u%{oSGuq{rQekH!v>+fEZk#$Zk~YLoC-LV8f{y+rq6AA#c?yUW z5UEKX!*4V8VkR?g!>nD@>iC1Xv?Y(Xc9{qeIph1J3S7qM+6crSOdg>U3rHB)T8`w{VNNX*I4`Hz#62FUJ$tw< z2WD0+(ICXl7^pSCmThbrOScFx#&YTaRu*l+$;4}7>PoinYFwR(C|E7uTKK<2P{~*T zY-g8_ScXa5nWeShcr!RvSAE%Z`8h+!O!ky7ex;+x7P4HqajqUyK#W>>DAU9ISvWmd z`D*Ksr4I!0hYC`VF6lCeZWXbiqRurY)o@ZiE9WtYKF(MDuE&GW3}Hp_v$78?Y9k^6 z#-|i;3l0IpBXN2L;-#f$W#`&qha9JI{eSZ@KHFHNMQ2u4iV_1*8@4j546E}$I~7y{ zGH8EI{{#i|Awc$tE%x1uXW%p4jHmhF5+Iq_KQ(>aahds@oCOu?^GEr>`O)|kv|s#A zli+iN4dx2wD!*RPv~o}=k3c|Kex1^zS3ihv7Jx$p7+&mYVtL8eGZrsMeiqC&?F|Cu zidY@3BU2$hPubATRi3&@?F^G4W)o2Jnp^$YtFp*i9x(kTN zJ9@1uF37}$eEh!v+W*31UG;&K{}1r?o5i6evh)8&Z2vp3Tbe=K+wk8n{4b0*-B=ee z{C}dr|Md~R|KBf>{idzXS==XFoUEEy3?&P6WPI%(_th9AwyR=bGVks? zN;78!A=iB?1j)wD%3s^HH|CmLS>FraoI>=%^!}R9_)B5Nv~Ssj;QPyQ^}_wCqhaMd zRK7V8I|u-xw5LviC&xF1T@{5EKOcDGr#B=)5t>4s__*&qz_jvi4I9~n9pM5SZ!ODP?11GL1&M~0-` z8>q6JtLP{6F7UmqsRh63A`!0qoclQ;`n+Kf#MLd8rDMjt3{muJFRG{&aOyYBNDjKw zNj{kt(jTpPhe>*4?G}KGuDR_u|4ffCEY*~SC5h$6+;Vh)jpv;R(>dS%chj_!CYGL8 z@>iMculwJU1igl;5S*dYWU~w}u_S1p$5RbkL;l)j;f#!rs=)>TI!oeZ=ZbIpdB{*R zhLagyj(GrJW%MBLl$DIPGJC%V%^466G=pAt4xs-q^P*oXSpi1m>)Omj#-pW3;27+R z7XJb>ex2T64VTcuVHB&ZV6o#)r3KMi)e3`{%=-Yk4H>^#Q3nTZ%A;cI~YY$8a3R;cMZX_oaP`4to8!}9WJ*L*mAHMw@T{~Ii9LR>cwI<; zT$MKUFhNGRBbxPDtgU5KMM}(`j`R33q4xCMxxK$-n#iS6I>H9j*OdB??zw9}9FeQ` zMD+ArEqe-YVg;88J+eB)6Ffuj-xC(IMtsFc#6X~Q!%NVAfBqHdT{^j7fh>RcP;)8n zfiJ++Q=$1J^8KfmM#rZ^j09vrLOZ~`g$+E$#XXMR8@2RMNuQA_*n`R_Ylk>=f@zD7 ztj!Ua-%%fpWCCM$sq~E<6A9W*-VRf;FNz!jvfAZeGv64QQLy>E1>pFT^wlmCv#MsL z+Wz1vbMrrMB6zBDQO+qTn8mu;s;wCFs;~#XJGyXtu|^UgqtR)Uwe*coEJV*8KiUWm zX5>@4W}EqLyCBWyh-Nz=ZoUVkw5}3ibq}qQXV_xiWY#bEwebbjt;H9*pAwgc=VDqF z%C{Hxp(5se#e*`-@FAkWI`yIAvkr6ULTruYT6^X-vl7+IgYdMHlOt zSTEWP3dFz!*MuIr+5A39-BZk;Uom4?JiX_N8dDaCHbCDia;`@7%7zKREbrm@eJ}(X ztpE|aNc#BM(s&)kjmj0V#0-0@s{@kV9s}54WD`a*9Ufvk9yeC7Rf-LQDRIpPcykd- zg~{QHD8BsZfyY6EtR-rKflT%t7nBJ&AF0Z%zWUfFi@|!0G$1rbq1!1dn;(40bS(u1 z2Qt@ffG$^3k6hYUGJ=EWNx+=ndkCN2kz*#s=~^Nl^6l6|mx|2QlVItt&IP`tVT1$d zyYy3U<=>;OLy>T+38)hmJo2hvzhPJ#{Q*HtS<$B`Vk;93oXZDckc9L(toF1{6hNfl zr`vB#Z!eF+red9)Q=23ZEB;|WARjvHaa~M3eYsB3t+{ONK=rrCM8kEDJ1ha z%vl$=9tzUq4*vcaRhBS4=XQG8tWibGDp{fzY(Z3pq%Y-h#s5wWX|IS{LY56IceP%< z9GBK92^fwxn<2zyeaB$I82g5i&|7p6hq%QC0{9UkI{sEvrKX|Z{Gd~EdOQAee7xw~ zPQaQ*E|z4rR-w9WLds}MHm303>3jm!@1r_&L3tk@UU80;pnBE?`s>2 z@hu99?p8I+TJHQ|BNU$<-2s`tKo`RS37=J$gx{6oTOC~pEr~M-yztNj8|yfK+rdTx zD-Z7FWUSbyA%UBGwTA)2$}|@3hy^nkIHIo+sN0|TMYF3RWV2qyY6M}n|0#wLO6vw2 z-K!XV7=@EAQWW9c;Z;)=3||)BjlHSsVGk}}f)-?&msh_lb7}U>!U@u_MfR~xFlZ-} zMVSRA@I?L!A=V_uEKt+4n)*%h`$Bg%UEZuJ;A%up=Ua$$zO%gY-*W4iE$ zQ3iI9Ts+(+i|n?wuho^-1Z@1A5X~`?y{}B0gX$btcA|q_AdZYT2>_2{?0y`z13Jfj z5V`J@3DgHBB)?`U%c%9J!tDA$)(^#ztVEK>gaA~i^sM-YKjd?EYJwfDyvUnGVDPVC z9Zuxp+4qJ}a*6D41v!;DFj35Py&!$@zSh;S%3e??cT+jPu3$hOrt=i?(1325)Mxm@ zY9i;2!IZ<B&R zae8?|IYyNKe9(d0*zZ%ANWyFF1R$Xar}i`cRQt?XCP`Tw!b6-ft7Sfu4_}$P&urLd zrH_r+s;uCu^89FmbQX%Jn7un64p1T@`tdiCG#}uWO^jrzBUG)%5=Z4#wkQmK8;NfH zsup3e;5`%j?q@@%Kf4PUJ`~Wdl0z3|k0gqBg1^|<;D*Qrj-OvVgxT3020s*$k9{l` zMP2_mUa!6OGCno+4TH4moG2|BW3o|FtxBHDU^66!+-7`t1FDl@Cc>&&Vjm(c_Vq z<5;?{s*x#Z<;B3}0}6sP${*27zDwKQfC|f6;!r;>O4w?>i6Qv85(0Lcf1kD~{nf&W z7%@n7?3iR!X6%iKju2w@gn2nr-sOdvte-m5Ja1L%ECVs+574YAN0306()WtElOukN zf(taarjM~ob0Eh(J?ESYGX`Reasw3z|dv%$-|vCH@@FNNFfi3rN%SlVA7WGLVufTP=SDq0m=Ld(Q=)Vl!G!cLkQ7H7P{%)eiX>F?Ec- zZHQ4%FsVjS3E$j=FXbQ`UMBuxJ~pDEQN0#cuv`m^n;@8kv#^e?w?QIyjLsuRhk6#w zCdH4r>?fit4IRGm5{q`ap3KPOhk) zu7#!tZ^(_=g8JjwD6a-WF@TiC*B=o@yFx-4Yul9Q3RrRa3ebCW_IeoQG7{~t_}5>! zdFEy|DfwQ$xJ#Q1^_j&*R88F%x$WBtpbmcnj3^uP=+#D&H91)^1}|hXVCXQCy>n9{ z8eLg)$j#wi0Wc*e^B(!84Mz=dq?#o42XH%Tf1O1|dvH0l0oUPx2#N9d> z`o!JyH}EcMjgVkGGhfYbRdd%UPSOrr3r?44>V~t3YU;r zU5s0f>d);%B8PN7_hb@ot!Wn4|2(CIBzZCMmBtoEU!Mrv&hNj*@EZk7%YoG#`C<`$ z_i~Of5Gk!cVT}z9q#rn~Y-;T?{uEs55OkYYg4xQl;h8Zmh;>CfuTi!P(>}0#>e-#- zRkz$}3PZqBPXmJG>_Fmflc68S$#lzQjx72Q!gYD=R6Q(DFDnTq4spiW!7WGHm`8EC zbEOzT&eJX9ywlcx?$zd**M|}n?l`n#!)z2HRFs5#2sUoK=NnITg^C2i+VDZ;Hyx~`=Y)@g;{dq{vVZz~+h6p59)ujK9hbfrZS{r79q-V=+p)AhUGKPE z`0Xm2ZX}x(5dM{C7n+uzH4{sLsMTzXSH+|aJv_wVeS7KPj(@9y8Dvv5Gpo%DoRyQN zz!v%%pYZY&R#LkYp-&p5xtL3C=a-&9HD!09Fa14vTos`RwnxWD>^e1D39k z=8{;(L{wawwBkvKQT%>MQ*L|YU!Ga08Z~B-Nl2twIwEe4BNh7&AJcQaC)C`Jgkh9Q1$&hhyLFzJ68NQ4Wg0Mj5ry!PJ^s$_94Wa!^w#FGD45<71UBu zahOIXqrOa(7@=FmOHBD$yZzr3ylX_U&_P}U_oOe007^Y?$5jH-%D<>;CF;}TR*H!U zyzhg){-|oDVOQVst2Oy%L3o7GS}~59G!a5kaYW3SxLD+>iD5K{sg)3t*^w|FSX9aMHt4?i+47^^5*c`eU& z?hZ5(9ijuqSrQWN4`tsyE$oC3vNyRT1nH{nZ*Uv*gWm0JRwyAyPFHzTwaV`DDE{0V zhA|8eiEuu!IQ4#Qa(6UoiHWp7*>OEtnST?m)hY%2N_DTLUGIK*B3&(jJ(~fntz;tq-vvdI>Y_J=0fv1B(yr-g(x!=QDQJ|Icxrq&Y z)#hRPz%{csAg6_V!l$yh|Mfa|0ary^by_(LkvZw<^B84V|3B-ceUV;`C;OtY{)62* zXC7beIe!1uSRf_wJ8{cn7CVhhz0rSd+HK=A5dAg5#tTSoDaKJ*s^Quc*2)VHVUu^8 z=o{qeIe6D4EQg$Eop@WsFcnMx7{MCnG=8Iu0wLM{x6@oCx@HxO-AqpC#~W>0^+J+4 z3y%M4mdRI-soZX`v@dw$Lv`*rshV7khB|Dqi<<_JfZ9YF?7S37Q3hf%=wiC>>*ho3 zJi~MI`f4O;Fdc1>9r(2+PkK%;cm}6}@g>is5h%X`CDMQiDO9V`crF5;x_~tjt!VKF^nEJ}zO`OSR&-lQ0 z6$eNrSp@0i7x9*d^ed+}iY44wr~3{Glvywf^+}MvLW}kaG0;WKwj$~WdJ>&vCa#bI zEjr{Gey33p3J;2_q)%q(S}7|ZR2m{jicL>64?J3kFerV}Q5gg#=o3$s0~dX?dRa$i z>eRsWjH3xWgR3yCK-QCP#)bD25s9Cif8i|JT-k;L6WT>t<#I)|AS%DKc&gJZmt=^) zuE)(Y92)~Rpdu=1c}2XKiu|!EXW#w-v-96Wk#Y9#MRmx6AbZ3p9JL$6@klP6vSUk0 z6Be1r?6u*Rzq%){ywy%?-W50GUV_2uwm}e1c)P?RQvR|9kwf6;dFgalz7BJk-);`P zuiLQgl;nnBeE}w!!3T-Ydd}?JJ5|gHTob+8X4#cWl$2J5ch-y&Fm(rlgJ?5at@l$S z*4cuTiaNFRvzPGKJAz;29gr_S4W@s7jr(0V@dXDb6;*!2v7f70UJY2_vVPLl#)xYIY#)`MEtl)H*tc{V zr^w?{%>lVrC2_400)T1n)aff8RTS=sX%XwTfyq_SV8Ou`ghJvtMw`lll90Xq4-;5? z+y+fw14uhg63N+l6&Wk{ZdR>Lb4K|Si4PNHP-?&a z;+Q|^sn-P|WQbNyXqD#pbW1o)kj3Aazqj_(ZILVKQ`5DSL7}`cw!GWXcx7}b3ex=` z?n?S5BQt9QZG}**P*%s5D}GcfwD}&r?;+B56XU5QhNajbG&xp3_uoX%+&@QNlEi>Q z>CYd{Tz^W}f)<-uSdof~c0RE&*Gz_rkK?H>S!)-EKz=4vrQF?@sOjY1mGQ+eA_x;x z>!Jf#&5cTl-%69PXN#B=j|tX%=qHz+?`BKlNUc-|CaM7KI$&uTG}tZ?+CsMbi-^q( z%pDU;&2&1%MPyxy-_1g|dSW~YONlH--HGTzX0j@aeoEV7>i~nKtIbb6pHB(_IIeH- zc#!GJTz-&#!)Uc`wpBpGgJ=;VA^@d`nW86|Sc8!8XUl{j9)~AFVce!Coyb<Jl1NO} zKP191ivW)l1v7qjK}G}>UjpRJ+>n>#)durv(IesmsC70Xe4b88?eMjCEcQbnb_HP@ zc$}z$`$nSsSf-{*)d(8}N^z1c(x${vmg(>aF{ubai5&_l#I+8AiGjpYVr8AJ8gYT_=vbGfI4Ovdq-ThrsT-U;eau5$G z!ryiW1sRNpMX-167%~j0@|$UbD3h-NW&{w5=^T(UttPi%K`(J)NK98%{I-u$TB|Ky zZZG013RBQ*^Y$PRZ&oRB)sF#yv*;cY9QC#O+n`u6H7~aeUXC<6j)1IW9KLHMM$o)A zqxhTS5fJxeG@s|B80I7`nCnFo{lxJExlortsoMNV0og!X&XBG(CN!$z%8v^fOfIa~ z8$Qysxp7ml?zCTv*#oc6_$BirsUh3#KN`9&MYf+-NX4r*&R0PpYLy!_2;j4DEK7A%D^zYh?1G2;_0wwcHk%_2kTZR) zpD_6}eB2dH51t#h{Wjq^Pktj7BcWM0k_2BN_Hs|Y-X27~PIa}Ft}aMZgaNWaDb|F$ zRG%AmwUdd$$a2qG*oX4wvcz(-5KkN39?ZhFC9~GZhDHe!#sNJjp!TbW;FKiWn4rrS z)m8s+n=xdT?-h&lLqa0C(&5wXCcA!|jmq8L-tJGIQtKo(kni_W^0|tWeo=N)ueSea za$8q6%ltkt95z`WDj}St#R?8%N-AGs3pIWv+f_hgOsArG%gwwq;*K&zW1vhiO3iW{x96-_Ek|W(Er*^r>#Y9pC2u zclE=tzi`BqV|j>{)FyLdMQkUB>B7`o-t$rAj4U@=%_e^qX!U+;0lp%brzyHW9M$@3dMU}-wKe_Ls@U~X&&Esg}q{7UiXwb?K zNaJ{BPd%NiZCi60(cuL6=9v$|Itze}oVUMtOB4}kkwR$hn6nW86Ug9ZO*lIOKTO>0 zYHfIUh(_uiWANZI+&4UIVh_eMEU4`x&=Rgr(Rhl?Z>jo@jC=SUT4+B1BdW>59EwUn zmY40404@M51J)#0hWZm**we9eV1~OsEzaJEifBaZBYgXVSb1CBENhozrhpljmSbNs{0 zm8JZ>K7r~O-}OC-kUSuGIABX+vqs?|sDd=j>I0=L1;UJ&1?%*;NAY6}p|M8WAxoLw zvKYQHSS5_u0wFTsNMg2QyZ|$dBPXck*TF7!l!t&4L!4)+^zpeOH z9h5MkJm(^}Oz*}s_Jt53=7-tbAYl7g@)*`}z+;c|q(xTlcNjUz#?)J!m`e6;r1$49 z@w|IYkgvU=s7*U4Sy4#`M7DW__yT!eBKyTkRhPt^LqVB8Uz8anQ6wlu++W_r-R}g) zOyg;2l-Q&}llRr}=C9ASXZ;NRc;0FAC*N=K1%Q_j+KU@Nr}4lsGNIVq z^&7|!oB`OP^ejD*4Z9>8e@(F0l29?u5Ufnp{B&)f(oaP`OC z^l~79GQEDD`Dbr5qS70b&#d9G5x<`DXHZPiZ-`|^hCUl9omm1l@fw4r(v^C*xqv0` z)11w4$a7eoMLv2P{L1*N@%y_h4od1be=r&u@;+CVz&YZ8ZOWW!`EWd#T}`?AqJDh* zC-#=Cm=^r$9>mS>9v!0mq7ePD#F*?SBeL}s~- zKiPqE?XMfhKWrmJ_sl+U(=W3#jBMhY6<||Y2!bFRaLt}wSWxnjVf<5DNGO>C%7HBh zt7(+oDfRWuS->aWktr{c-*#BMCX+PF_+k9h2eS#jw9HcXe=CrYM~tQ9uwkN`r-?H~eSqH3{@-w95Iq>Y zkB1YAXEl~Nx43Nl`ts;?7AVh4NkfD{-$@5G>_$Hr0J*12F-U{3?Hz0U6ZeIu8pvS* z;2J>4R*)46e`#2rB*bm?wHx*JtJ5T^f7=rtn$RGes+wCw!I-V>aHxEj_zyqAzaGX4L-p1sq2T?#Aj}oEdH7l4{p3sUCgU zeXG&ks8mfaxs&-^(l>I`n+QM8-Gr=BKCUl6boZ}51`_oD9#R(*SIO&wSDhe3L`57t zGk?2d|AcLcUo3EYY(mmOH!6U+=|`u(PjlPbt6t_w2%LyV2{m~7LjVK3q|XJ}2!^Iz z4VPUZNJN!x9||u_XroeO;%p;+{CRTWM2hIb8n-_GgdjBg;b@I)rcmljj&zFLtix-? zaOak5>?9&30Ev`4B=~~m0+;9aaZAs85LWm1HJgH_)(BKwDjGC|dNK#h44o~oT+@<_ zwf`I2EOUtesekP;oZWZ%Nd=5&C_#a!A7rr)0bnm&zLYuVIGx@601L&`cQ*vnCpchr zu}dU1e2K{0|BuZHT-R%w(|6r@OBR~hN%z!s=708^`e_XJnHv;TZ!9jreR8+f1sfwn z+@=IVOi8E^j5Zo1r3Ho0=@M5LN&QT8MWT7YNdzuEiIZt;;tkgWT7hdLlsP=kLom@e zmu91Q3A|n~2*QMGZ93Fz`};O7)uH`y4Dd=E%vgao6%T@;qtnV(fg%3sUX1z}bg~@`3NGQ`A2}`@iCEFrkR^0de z6J!u*er|{|X@g*CxKpTyyvhWKGurV7PNK!(r~KYHR|v*M9m&p39MsEy=*Nk(ikqy- zCAOC37j@SA=%4F@Z5`x(%o3_Z9@>$gQHEfOMOW_+qd{mGq#8Py{#9-N+sv7Jtfa9sI zHNx^biXbhhzkR{Rykf2k0*Pzup$KG@M;L-S=m05BZw9GYjh(1m5b+VCxL&$V1prnE zNj&baK$I?`KYHZi0ngEUUOO>E)`#B$qImA?u%o707+}`M5RmkQ7Zo#Pp6Y6@{NFdH zb)Je~C}iP-ePN_rX$)AjXN zx>1HGG@N!^e2K&@>SweIwL)scZ&=yM@eAf(H$GBBz@UPr>44WcraJ#Fjhp@bc~z_s zx8^@$hI&CZF*uUv)64_E1Nm$Vqvk?jmP*c3^~dW z7c8BS)g3$^amiDIN9!z@Lw96JU-R=e4{!@h{A_ioP+^k~ci_HqI7xERhLWXpbu)Jr z1_1Sfd*xf(H$2}8-M=PU9(0Lg8vt*|c@JYSNEGj1A;KfNBf**QHZAtIV%ZH+I7_xD9_-}!{w7XZtKS1^m^ zmCz@B%;N+>I1wg`pIb};SC9TXnk3TnSLSMc?fsxY8%&EoZ?Q|X2_ee+@Z75%p9Hv5 zsog@Iv?BWYbwJIu{Yx_YuYwjeCvE|YJG zz<|buN7?lji(JE@CS>Y^mW6H1{N5gyquAvMDJ%<9Bo9kBl}5GeCm@JE-0yPeeKmha z=34jT?k#UL_j{CZJUCbyNfj4HIAXdK{T1^d5}*LWYVOm>k}N0dRJB{^^0^FT zWcf9WL9C$DXNk&sKQ6TgaumPdv{*_reO)8Px}l#Lfh(n*1AxyU#6I+am?M1OI~s*D z(#nhCp9P?jXDmajk>iOBzlHUy!?=r_-O;O#s%W14rh`Pv+yV;wSB7%Wr<*;~TfR#_ z!JVm4G(l+F;?Jm0&Rb?2{K<1QO4ox|c0pe%3KKQKBh$D-)a~nE{x*RS6~xb=TC@+Mz0#`(O>kcJ$lEJ&VmhM;tcmWerGwxyh@JLC`mL-LTc zg>A(3M2kt_4ToA_9uJCA`jrgH1NY!LwDB^ngj}yqHc%}7vixl2D6n*lx;NfjBCH_R zo(94`jP4@Bk3U}VEL~12Tp-s!0&-oHO;NJ9mw7!MEk82(mYTaK!Ql57$*YLKFd~WN zXMF1=)2#Apn_o_#e!wf|lLZ>dI}V%rdS8BpHUUYWk42nAfYO3li_K?gKywQBAwd5O zE%UdH{8|@nE`~FRraDM(i8G<;{KF%UI zSpaiMM*v}zYP#Pf4sD_pgE{xDBE-Tc!n68$=F|Gs9t+cmbPM;0Zs30sXunRZ0h`oRLTtYDK(%?%1&qz{Xh6gQQ zxK;W6rX9>MkOJ_lOLEpBUElOaxGH@S#c2<8cq!W#ChompRiM~TN$S4;Yo{UKoS4Z`d~=3LYr>UzO(0LZvw`IZKF@XM)bRTo2Q>afKP?sWTo@P z`V#DObWr-qB-jv`?6matkoM%bxT7wz$z%-BPZXsU_9?r^b-TU1M}`HxbjRIDO&KG5 zPB&{5OYeQ&6CtlkE%n*@i{{C`1j({eM(hCZ+aX(Dq@=tUfY1WzlQ7B%|CAaav#-+Y zukot)R&`qX6hp&Z8=QyW;o|5jvgCVIJuC93`%lNC&(bsH=2RqwOVY=u85k%?@XAKy zM)peuUss!>X)J@~H=YxQ5$y=w#efTy-1mWS2R_crN}}gtAEafQU$4bw!%6z-v@u0J za9`H5`0YEs@87>`RL}iKB^qx~P6D=$1O0>RW@d~DM8lYCdPiI#?Apb~onbB!zBTaD zgUmu4hS#&Cf841OUtXL8`+5R%$A6#k$W==8`TF7UAA8{6gS&&=?~bcdP3zJ`b2M@T z+nA@+*tC?+ebiYMsrZtt;UcOePH*WtBD_J{2M2gctYI2gcJWr1m(gfr9G+u}6HU!2`NR?7kqJa&g z{r-0Qre&GAX7fkw+RF0F+T^v}Iu3vrc3xqgdTQd4=ereXu5pLs^V;X-@!0?Vniqiy zfn*vNaEQhq)=L~Ini^2CDAA$0$*hORYqF8?@mb-cCeOmHW}w@4-Fda}I_AP**2(m> zv{Fb^amVxTvy_0VxwYvvzX|6%3o&{>wi;3v;`bv8y|{0h$-lXC-iY9bOi|ceCAhW8 znFnNt2GgQg##AEby^mUGeVH+J*yl=dHcu{3G>rNcAHqv{d#o0yOZVAiA&UA-`D}dM zt`Q(7SbFkHqK2hZEi$t^p2I($;QR0%Hc16s;u%Er48BoM|1)GX#=Pw@Nf*s7M8p#Z$a5630W@ zdhHDKI`{AYdx1UV8y+w&b+(Cyy%$m7jEUP73=N9DHBEu+#7tn9u$M{E6c?mLYFUktoKrM?5mi#J)oE28Nu zpHX80@9kQUIHk20Dh_<%Hw(HI3#?!-P?O{p2pPk4ptS|*5$UnelWVD1HGD| zdqH~~UqjH6s0}I<%Jnb9fr0>kZ5lC)7JWdYcr;C&)q1r7>krHQuVOk&0|stKkH3&n zRT0z@@}9&q6z|m>Rh|6*xX*}8E1Prt)B;algkTZq=hA%2@WR`pdiAyD7N(kL4Tju+ zrupFhVp8k`d$t1YLTxu)xEZ*Cbp)03#?*GN<3DO};sc`V8-M(ZH`jYoGg^2#{=rIJ zTa7W<9P2XU(FDy}hN&-_p;ILW(M}IUlbb8dKEU z5?OoQ#=vo!FPma|JkMe8;2`N7(8&YKOI?2q;#aY0<9#CaG5#VBIjNm#^ZIgc);E&< za`S5GsBk7~e~uSdOm>#`bz-9DEcX%RYz4xrB99ueb%v8fh%TBN;6d}#Acbb1(s7g~ z3hr+fhHbamC9j)KO{)2qAlcBFyM)hb9MnNecwMcp6KGl=aCrIK>ypg{%=QpxadlB5 z%OS%4rhB^c*1t4)qa~uJ`-4G&*!g_`w542y$|dUjW5cDIxu}r zh4J*}nXpqD5X!CfZYn#_1m!V)rh}_NSY;UTY!YqkdmT zXG!0fQo0*_nZMW(DlZ`Eg=i*cq6|3-){2QJ>aJBcZ3-|U5E5uoIp!OpDA)A%JWp`- zVSXj@*ur_ok<|&%WNA?(BDtgHj29prT2d)ZF`=l%g2zI2-}uPfbD_0Mq!m(! zPwndU#R3=2bUqEyjU2r}qnvF}{Vs4N?m8bBdb@eSkKbS4E8aBH#GF<6_!$GI=m!S9 zEEao)>l7X1)>l&ePI(PR>Wq|A6d_8PeJssv?!6q745cs4R3rHY9jW5-&o7(uIb0ZF z4;LTQJt9n>H}~1Rk&XeAQ?`lmws&XEr9Fp;qFG8w*#D9;s1RXF zN#8&G&0i$jb`*=s>G-tUf6WkhPqBiD0ODQ6WK^UeFlGP5|*jEbuaJw4rZaq>9FU;r)T&ym?p zri-)4^tZRSUV0jtU7TwE4Dq1lRt@27;n!Z_TkOeuE{$kPe2$euMF8evMMwOZg6alXltcaCFZ9Sms?&Z1T8pKy;(_2-Cwfny5pMGN=m>RE-1Tm0Y2AVM=rlz7>IgAq9~b z1t&i5a5{Q&VlAdkr;K8ASF>Mp8&=n^#6+?x-0_&%+j>40;92}pF~L64`9u(4)7f$! zV2!mn6XY@ybCf7ZIzji^PnI!%C^~tMsl-TKGd8W3etjStu>?Nc+_$^=_c9bSY$

m=G6Jk{JFi#O#6`R;|(sIJpaEH2FQUz8m|-h}Gb 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

+PWOqNh!VN{N&o; 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

&0ouuJw2V2DI- zWBnNq&C-W4tC|o#zxt>)Bc*R*322MfU~oHg*r-UdrN^K7iq_gd69a9QpHC1=uvs5G zJI>ONWYYr7A#fsAHV2;I?I|Nri9sc>BuO$Jjd&0Qh@$AK@68xPo@dzK+Xn#D>$PVZlp{UlEEG5v{~-v35NI?S zf70o6f9H|?y)SV&M}x7e7Fy@Bu+ySIqh5co)9!qyCIsy)pmr4x#Ddgo zm(cBe4}I|A*Nz+q5hdmQ_z4O>05H@Vst^b}tq(cf&M%oMb+2kAOX3?pwr^s zkOPpt`X|y+`yI7=F5WeBIRZw&o``U?g1*c$1C|sJTiy2-Ywh1%NpWL-8v+3w4&pFa zYFDz6h3Dr}zws;G^wL*l69>*U2&E_kl9>TZb4Mz75}sl=SoZ?!*AWa-k;EmxGRz+4XE zxgaZ;SF`}ax;tyH7vKEw$C7VzR0`tMuBg~Oevg&1usIsN<|jHE^>+xNRuBv3MKXXp z46etZsa?r?)*9quCpO>r@I&;~JRX9&5kQ`ZaI}Q~n)m=BQ)u;qziW5tuM}0W(XQZG zf&h-=!Sw=Y*I$W$TFvgqx}E+zAAI=!I~^{-C@+)Mt9)Z^6!Id&T5sbodaeHNKdNoPA69yt$>%V62?vMY_SjO-eugXzR^zw@a#ljT_eem$Hv*1F#^x%+`{g*Jd?*Zzpo09gU2*Se><-g~Dk zR#4oyat*r3*#`|$aOA7>@#v}E9?+0dg-~TE&P9>{*6_g!8Ni3S=aMybuY^?Ww zO=QJt&iCr$xQ>IseS!pkNw03$`e;Av{O9{FK6JY~bHJ}fI7$JPXk=-D%|ZXq`>pox zXGIRW0{;+dtLgL-Jw{e>|1t)YG7v)EX^eSozu!kZi|6Q$$1NVEG}hPG;kh1^l)q0n z`E#`*UI}9jtg+yn!*e~jOC!5~^viWU(P%VY`|v{#{lL8VbG7jh#yG~~G14?ex6}E@ zD6D;O)y0i#7C6{aV6-J~z@Xo|eKeasJQadDo(GrG#}SSa0K!@%#y}Z^X0!3bzULv$ zvL$`C#}`)!DZ5`~M{EVhW?q1FJ8$HZ>5J1euT7YTK4Vai@r^?WCdOc*G&rLmo%U_^ zu=25r3w-r7wSiHU;KB+ns5C1u+vvQ)KbYQbQo(23Lp!L*YRRLYU9K&PTmzhAI%wZc zh+WZWLG@t?IqWnqlLY9>M?$s2UakMqdOG_mk_hB8im=I`)a5kV0$`j#W)@;1V7P<5 zuyY41NjX-xeh7gv3Pv#)x|)L_PZKmd-5;3@4_+5fCg&)3KpppS&xcT2!n36SVHCAy z^E>DNd_@Zgu&k`o>k^^0ikvG?3$zE(+hzyRtFq~=<2eD~)Bz(Nll(ZaDuF3x0A*+m z!rKWeVe_lFU(DxDO~tWd^lAzmd2Z2Z+c!+7{6%@3N7NmI)d#Tp3PMAR61|a3p_3^n zQ-hC3`wUj*a%l8-}xk+f$jraUBFSs8AeN-Ysa!y`fTs zZh-an`kmGoP)b*FK_#%DbnYKOuV{aXG=tx1zdahZUOSsjwnOfs?gWtLO2TUkPB;>i zVI~qVO28Y@ca{yQ)tp}x1hgWlHA*iX!7-03MVh18@4Pi0PF|sBX$KA~RaG9_HJ%fT z3I$MtR=<5aE%i26bHSL?r6};RM6Iu>F>e?BTa$Qw`Unpo~0vj@kn0M1$lK

S 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 literal 0 HcmV?d00001 diff --git a/webassets/vendor/img/markers_shadow.png b/webassets/vendor/img/markers_shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..33cf95504706aa9d06ad40dbcd2fa168cbd43d13 GIT binary patch literal 535 zcmV+y0_gpTP) z;YUMJ9LDj?%v_nt)m$@krAcNsnI+jwmXs_h*_0I1l(LjkN~I{3^dGP1#rMT==4>za zro+dw-OhQ=@BYr2==b~ohHFF&QHddL@L-x8!b2P}iLwT)VFmCcAyeYZw4@|J+LCcd zBgGt31dLmO_yhbHCxp)=Gm?{e$xA_shLS@O1<5l<$ejLQAa{^JW|?eJsqD5OfsQDHnvnUgXTZ^^E-W#7^^w0LeunzBK-x-1c9PO_|#7#1eR0~!9Y z!2%sQlb+>5&iSp&bH{QZdu(Ej>Qp4pD-WoO$C{C0VX~C9$pY8%D9?sRxtCkHBG`!> zQKcqTS$0*#48qYK2$PhMvhJ|+CwZ4|`H~NLBh;N-${9iS2vRqy5lY}XMaDhjcuj<1 z$1eo=l^^-!y9c?VB8ReVRHG<4=JM_SfPLu=HZZ$bpaDDV{*~&y5~4?lwrtX0i&kGy z3FCsZhVuqCs^fD6tCanezPTYpmy@)`5w1{)SqaQL#BNYNM~7iVjaQYI8jH5DE$aj= z3ytaO32~0mVIoYHv@X61ix)=*u*SGyqDG*Uq**+qVktt$jsrRkUQsMcbX>z|j`P_4F?%Q_@f8Trt_r4(hxNiEFbHd*`e3wA~&9LoB z|JTX7kq}paKe_vc2M*ug64EAp8fjKield;^5n(28CRtDv6+dL~Fp+@_%zJ24`YVVq zBpE?@#aJOC0|_EPCT%8Af=BS!Pl8hiNCud49YlR>}1Tb-#*dPo+ z)$qjd<2BSi`Tw*-+e7qSQIZB2F9|{pVj$PjAteZrRFvox2~1WdF&r3yIy5pE{RB@l zFz=xq`k=pIC2L3tDv2DDqf#RRd?YC%r9h(yK?V}y#2Ne;Gy~%>VVE>brD8req55dj z?`V{SpsL6rIix0C3`wz4Xz)=K5@jHwsV3J7Ob2FQ7TONa5@{P|X@8nNrj3)41?_i<^tV759Srm^CO?9y)MiF(vXB8C1-?G z4cXS3j7SqpABu$-r~P)!vew(g&Y!umz$z!D6f{YWcMIh87s;8WY?KYzKA%uM*i&Y{OPyGq6Fs zND?_l42fYWNsXzKmMY_qTXxY&%XNuCjBL%1X}m$FZ3eW=ptqRhe&8VRI&f&=b<3}T z1K5LI+Cvh8kVC&qEUWpL7FA!ySwbVa=-RE?Ip857O-z|6KBeO>gNjo2nB;NbByi?% z3MX(JI8xFMkh^EZkQ$^&o$0EiOsQg9XZcj)^09RVjFdDn{Yp#)^G&{$dE&gm1P+<# zo50(^?-~5Y|GnjX=g5kJ4kbN^VM$SQ){wHO>Pp)zora`@9f+DD%g0H|4aC%l=nOl; z3IpF~a_0zmANa#?!RzmMPm~i=bVOpJl${JAOZ3}STl1s{Vdu#uM5J6@UE$=qt=bne zOO#ic!0RXl373Hn8eaQT1d$*~&9M@*tCr6TzJNuubXrJ>+i}fo$8t_#>G&xTG05@7 zm>N@zTeV8eLY5dN|5xB+;BWZAYf;QQ5_3+{jxv(6ri46KLZ(HCq{JNcNr?!t7gbh< z6?4zvZ`V?Mn~s<_O!!hufsZON?^RMxV_hL7+p);1TG9)2)Y)X*oMdfrE&4wW1rZ^n zh!Hs)@aVXzcBLN0cav}WloVXV)W9Xni`qg;ST?c1svT!ZEt$4mGA1Exza}AW9T6Nc z{!;Q%!?!W0&M|Y;nRT@*ovGq`0U|^aa-b5jo*|^;FBv(Hq%Ilw&tHBqg51N%A+JVi zrkTVtliOuUoFL!~ObubVu+t#7r_Lgi=5S`W-GTINSA^sclX#_x7zR_~TdOmHw%VOG zMGmK4Io0k^6jY~%^!?vr?AuzkMzhjgZiQ8>@H*G=ssxgX6?CU+ywRihMBIh2`n_z%eLT1;Q&-3)SwdsU@p zOzw5n)gm%XGRpSW-lik(1F^doLuy10r(wDOt*~=EVe(*Z=-Fl+8U1cCHGf}TjQ{(| z$|>1rNs5Y1hb^X72z)JK?4eJd957LN%xWKt.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,(t,e)=>`#${CSS.escape(e)}`)),t),s=t=>null==t?`${t}`:Object.prototype.toString.call(t).match(/\s([a-z]+)/i)[1].toLowerCase(),o=t=>{t.dispatchEvent(new Event(i))},r=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),a=t=>r(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,l=t=>{if(!r(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},c=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d=()=>{},u=t=>{t.offsetHeight},f=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,p=[],m=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(p.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of p)t()}),p.push(e)):e()},_=(t,e=[],i=t)=>"function"==typeof t?t.call(...e):i,b=(t,e,n=!0)=>{if(!n)return void _(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),_(t))};e.addEventListener(i,a),setTimeout(()=>{r||o(e)},s)},v=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},y=/[^.]*(?=\..*)\.|.*/,w=/\..*/,A=/::\d+$/,E={};let T=1;const C={mouseenter:"mouseover",mouseleave:"mouseout"},O=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function x(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function k(t){const e=x(t);return t.uidEvent=e,E[e]=E[e]||{},E[e]}function L(t,e,i=null){return Object.values(t).find(t=>t.callable===e&&t.delegationSelector===i)}function S(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=N(t);return O.has(o)||(o=t),[n,s,o]}function D(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=S(e,i,n);if(e in C){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=k(t),c=l[a]||(l[a]={}),h=L(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=x(r,e.replace(y,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return j(s,{delegateTarget:r}),n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return j(n,{delegateTarget:t}),i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function $(t,e,i,n,s){const o=L(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function I(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&$(t,e,i,r.callable,r.delegationSelector)}function N(t){return t=t.replace(w,""),C[t]||t}const P={on(t,e,i,n){D(t,e,i,n,!1)},one(t,e,i,n){D(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=S(e,i,n),a=r!==e,l=k(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))I(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(A,"");a&&!e.includes(s)||$(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;$(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=f();let s=null,o=!0,r=!0,a=!1;e!==N(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=j(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function j(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function F(t){return t.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const H={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter(t=>t.startsWith("bs")&&!t.startsWith("bsConfig"));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${F(e)}`))};class W{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=r(e)?H.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...r(e)?H.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[i,n]of Object.entries(e)){const e=t[i],o=r(e)?"element":s(e);if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${n}".`)}}}class B extends W{constructor(t,i){super(),(t=a(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){b(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(a(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.8"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const z=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map(t=>n(t)).join(","):null},R={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,t).filter(t=>!c(t)&&l(t))},getSelectorFromElement(t){const e=z(t);return e&&R.findOne(e)?e:null},getElementFromSelector(t){const e=z(t);return e?R.findOne(e):null},getMultipleElementsFromSelector(t){const e=z(t);return e?R.find(e):[]}},q=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;P.on(document,i,`[data-bs-dismiss="${n}"]`,function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),c(this))return;const s=R.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()})},V=".bs.alert",K=`close${V}`,Q=`closed${V}`;class X extends B{static get NAME(){return"alert"}close(){if(P.trigger(this._element,K).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),P.trigger(this._element,Q),this.dispose()}static jQueryInterface(t){return this.each(function(){const e=X.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}})}}q(X,"close"),g(X);const Y='[data-bs-toggle="button"]';class U extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each(function(){const e=U.getOrCreateInstance(this);"toggle"===t&&e[t]()})}}P.on(document,"click.bs.button.data-api",Y,t=>{t.preventDefault();const e=t.target.closest(Y);U.getOrCreateInstance(e).toggle()}),g(U);const G=".bs.swipe",J=`touchstart${G}`,Z=`touchmove${G}`,tt=`touchend${G}`,et=`pointerdown${G}`,it=`pointerup${G}`,nt={endCallback:null,leftCallback:null,rightCallback:null},st={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class ot extends W{constructor(t,e){super(),this._element=t,t&&ot.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return nt}static get DefaultType(){return st}static get NAME(){return"swipe"}dispose(){P.off(this._element,G)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),_(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&_(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,et,t=>this._start(t)),P.on(this._element,it,t=>this._end(t)),this._element.classList.add("pointer-event")):(P.on(this._element,J,t=>this._start(t)),P.on(this._element,Z,t=>this._move(t)),P.on(this._element,tt,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const rt=".bs.carousel",at=".data-api",lt="ArrowLeft",ct="ArrowRight",ht="next",dt="prev",ut="left",ft="right",pt=`slide${rt}`,mt=`slid${rt}`,gt=`keydown${rt}`,_t=`mouseenter${rt}`,bt=`mouseleave${rt}`,vt=`dragstart${rt}`,yt=`load${rt}${at}`,wt=`click${rt}${at}`,At="carousel",Et="active",Tt=".active",Ct=".carousel-item",Ot=Tt+Ct,xt={[lt]:ft,[ct]:ut},kt={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class St extends B{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=R.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===At&&this.cycle()}static get Default(){return kt}static get DefaultType(){return Lt}static get NAME(){return"carousel"}next(){this._slide(ht)}nextWhenVisible(){!document.hidden&&l(this._element)&&this.next()}prev(){this._slide(dt)}pause(){this._isSliding&&o(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?P.one(this._element,mt,()=>this.cycle()):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,mt,()=>this.to(t));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?ht:dt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&P.on(this._element,gt,t=>this._keydown(t)),"hover"===this._config.pause&&(P.on(this._element,_t,()=>this.pause()),P.on(this._element,bt,()=>this._maybeEnableCycle())),this._config.touch&&ot.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of R.find(".carousel-item img",this._element))P.on(t,vt,t=>t.preventDefault());const t={leftCallback:()=>this._slide(this._directionToOrder(ut)),rightCallback:()=>this._slide(this._directionToOrder(ft)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new ot(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=xt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=R.findOne(Tt,this._indicatorsElement);e.classList.remove(Et),e.removeAttribute("aria-current");const i=R.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Et),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===ht,s=e||v(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>P.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(pt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),u(s),i.classList.add(l),s.classList.add(l),this._queueCallback(()=>{s.classList.remove(l,c),s.classList.add(Et),i.classList.remove(Et,c,l),this._isSliding=!1,r(mt)},i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return R.findOne(Ot,this._element)}_getItems(){return R.find(Ct,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return m()?t===ut?dt:ht:t===ut?ht:dt}_orderToDirection(t){return m()?t===dt?ut:ft:t===dt?ft:ut}static jQueryInterface(t){return this.each(function(){const e=St.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)})}}P.on(document,wt,"[data-bs-slide], [data-bs-slide-to]",function(t){const e=R.getElementFromSelector(this);if(!e||!e.classList.contains(At))return;t.preventDefault();const i=St.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===H.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())}),P.on(window,yt,()=>{const t=R.find('[data-bs-ride="carousel"]');for(const e of t)St.getOrCreateInstance(e)}),g(St);const Dt=".bs.collapse",$t=`show${Dt}`,It=`shown${Dt}`,Nt=`hide${Dt}`,Pt=`hidden${Dt}`,jt=`click${Dt}.data-api`,Mt="show",Ft="collapse",Ht="collapsing",Wt=`:scope .${Ft} .${Ft}`,Bt='[data-bs-toggle="collapse"]',zt={parent:null,toggle:!0},Rt={parent:"(null|element)",toggle:"boolean"};class qt extends B{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=R.find(Bt);for(const t of i){const e=R.getSelectorFromElement(t),i=R.find(e).filter(t=>t===this._element);null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return zt}static get DefaultType(){return Rt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(t=>t!==this._element).map(t=>qt.getOrCreateInstance(t,{toggle:!1}))),t.length&&t[0]._isTransitioning)return;if(P.trigger(this._element,$t).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Ft),this._element.classList.add(Ht),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Ht),this._element.classList.add(Ft,Mt),this._element.style[e]="",P.trigger(this._element,It)},this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,Nt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(Ht),this._element.classList.remove(Ft,Mt);for(const t of this._triggerArray){const e=R.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(Ht),this._element.classList.add(Ft),P.trigger(this._element,Pt)},this._element,!0)}_isShown(t=this._element){return t.classList.contains(Mt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=a(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Bt);for(const e of t){const t=R.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=R.find(Wt,this._config.parent);return R.find(t,this._config.parent).filter(t=>!e.includes(t))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each(function(){const i=qt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}})}}P.on(document,jt,Bt,function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of R.getMultipleElementsFromSelector(this))qt.getOrCreateInstance(t,{toggle:!1}).toggle()}),g(qt);var Vt="top",Kt="bottom",Qt="right",Xt="left",Yt="auto",Ut=[Vt,Kt,Qt,Xt],Gt="start",Jt="end",Zt="clippingParents",te="viewport",ee="popper",ie="reference",ne=Ut.reduce(function(t,e){return t.concat([e+"-"+Gt,e+"-"+Jt])},[]),se=[].concat(Ut,[Yt]).reduce(function(t,e){return t.concat([e,e+"-"+Gt,e+"-"+Jt])},[]),oe="beforeRead",re="read",ae="afterRead",le="beforeMain",ce="main",he="afterMain",de="beforeWrite",ue="write",fe="afterWrite",pe=[oe,re,ae,le,ce,he,de,ue,fe];function me(t){return t?(t.nodeName||"").toLowerCase():null}function ge(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function _e(t){return t instanceof ge(t).Element||t instanceof Element}function be(t){return t instanceof ge(t).HTMLElement||t instanceof HTMLElement}function ve(t){return"undefined"!=typeof ShadowRoot&&(t instanceof ge(t).ShadowRoot||t instanceof ShadowRoot)}const ye={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach(function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];be(s)&&me(s)&&(Object.assign(s.style,i),Object.keys(n).forEach(function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)}))})},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach(function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce(function(t,e){return t[e]="",t},{});be(n)&&me(n)&&(Object.assign(n.style,o),Object.keys(s).forEach(function(t){n.removeAttribute(t)}))})}},requires:["computeStyles"]};function we(t){return t.split("-")[0]}var Ae=Math.max,Ee=Math.min,Te=Math.round;function Ce(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Oe(){return!/^((?!chrome|android).)*safari/i.test(Ce())}function xe(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&be(t)&&(s=t.offsetWidth>0&&Te(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Te(n.height)/t.offsetHeight||1);var r=(_e(t)?ge(t):window).visualViewport,a=!Oe()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function ke(t){var e=xe(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Le(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ve(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Se(t){return ge(t).getComputedStyle(t)}function De(t){return["table","td","th"].indexOf(me(t))>=0}function $e(t){return((_e(t)?t.ownerDocument:t.document)||window.document).documentElement}function Ie(t){return"html"===me(t)?t:t.assignedSlot||t.parentNode||(ve(t)?t.host:null)||$e(t)}function Ne(t){return be(t)&&"fixed"!==Se(t).position?t.offsetParent:null}function Pe(t){for(var e=ge(t),i=Ne(t);i&&De(i)&&"static"===Se(i).position;)i=Ne(i);return i&&("html"===me(i)||"body"===me(i)&&"static"===Se(i).position)?e:i||function(t){var e=/firefox/i.test(Ce());if(/Trident/i.test(Ce())&&be(t)&&"fixed"===Se(t).position)return null;var i=Ie(t);for(ve(i)&&(i=i.host);be(i)&&["html","body"].indexOf(me(i))<0;){var n=Se(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function je(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Me(t,e,i){return Ae(t,Ee(e,i))}function Fe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function He(t,e){return e.reduce(function(e,i){return e[i]=t,e},{})}const We={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=we(i.placement),l=je(a),c=[Xt,Qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Fe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:He(t,Ut))}(s.padding,i),d=ke(o),u="y"===l?Vt:Xt,f="y"===l?Kt:Qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=Pe(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Me(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Le(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Be(t){return t.split("-")[1]}var ze={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Re(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Xt,y=Vt,w=window;if(c){var A=Pe(i),E="clientHeight",T="clientWidth";A===ge(i)&&"static"!==Se(A=$e(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===Vt||(s===Xt||s===Qt)&&o===Jt)&&(y=Kt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Xt&&(s!==Vt&&s!==Kt||o!==Jt)||(v=Qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&ze),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:Te(i*s)/s||0,y:Te(n*s)/s||0}}({x:f,y:m},ge(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const qe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:we(e.placement),variation:Be(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Re(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Re(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var Ve={passive:!0};const Ke={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=ge(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach(function(t){t.addEventListener("scroll",i.update,Ve)}),a&&l.addEventListener("resize",i.update,Ve),function(){o&&c.forEach(function(t){t.removeEventListener("scroll",i.update,Ve)}),a&&l.removeEventListener("resize",i.update,Ve)}},data:{}};var Qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Xe(t){return t.replace(/left|right|bottom|top/g,function(t){return Qe[t]})}var Ye={start:"end",end:"start"};function Ue(t){return t.replace(/start|end/g,function(t){return Ye[t]})}function Ge(t){var e=ge(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Je(t){return xe($e(t)).left+Ge(t).scrollLeft}function Ze(t){var e=Se(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function ti(t){return["html","body","#document"].indexOf(me(t))>=0?t.ownerDocument.body:be(t)&&Ze(t)?t:ti(Ie(t))}function ei(t,e){var i;void 0===e&&(e=[]);var n=ti(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=ge(n),r=s?[o].concat(o.visualViewport||[],Ze(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(ei(Ie(r)))}function ii(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ni(t,e,i){return e===te?ii(function(t,e){var i=ge(t),n=$e(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Oe();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Je(t),y:l}}(t,i)):_e(e)?function(t,e){var i=xe(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ii(function(t){var e,i=$e(t),n=Ge(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Ae(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Ae(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Je(t),l=-n.scrollTop;return"rtl"===Se(s||i).direction&&(a+=Ae(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}($e(t)))}function si(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?we(s):null,r=s?Be(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case Vt:e={x:a,y:i.y-n.height};break;case Kt:e={x:a,y:i.y+i.height};break;case Qt:e={x:i.x+i.width,y:l};break;case Xt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?je(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Gt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Jt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function oi(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Zt:a,c=i.rootBoundary,h=void 0===c?te:c,d=i.elementContext,u=void 0===d?ee:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Fe("number"!=typeof g?g:He(g,Ut)),b=u===ee?ie:ee,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=ei(Ie(t)),i=["absolute","fixed"].indexOf(Se(t).position)>=0&&be(t)?Pe(t):t;return _e(i)?e.filter(function(t){return _e(t)&&Le(t,i)&&"body"!==me(t)}):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce(function(e,i){var s=ni(t,i,n);return e.top=Ae(s.top,e.top),e.right=Ee(s.right,e.right),e.bottom=Ee(s.bottom,e.bottom),e.left=Ae(s.left,e.left),e},ni(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(_e(y)?y:y.contextElement||$e(t.elements.popper),l,h,r),A=xe(t.elements.reference),E=si({reference:A,element:v,placement:s}),T=ii(Object.assign({},v,E)),C=u===ee?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===ee&&x){var k=x[s];Object.keys(O).forEach(function(t){var e=[Qt,Kt].indexOf(t)>=0?1:-1,i=[Vt,Kt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e})}return O}function ri(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?se:l,h=Be(n),d=h?a?ne:ne.filter(function(t){return Be(t)===h}):Ut,u=d.filter(function(t){return c.indexOf(t)>=0});0===u.length&&(u=d);var f=u.reduce(function(e,i){return e[i]=oi(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[we(i)],e},{});return Object.keys(f).sort(function(t,e){return f[t]-f[e]})}const ai={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=we(g),b=l||(_!==g&&p?function(t){if(we(t)===Yt)return[];var e=Xe(t);return[Ue(t),e,Ue(e)]}(g):[Xe(g)]),v=[g].concat(b).reduce(function(t,i){return t.concat(we(i)===Yt?ri(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)},[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=oi(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?Qt:Xt:k?Kt:Vt;y[S]>w[S]&&($=Xe($));var I=Xe($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every(function(t){return t})){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find(function(e){var i=A.get(e);if(i)return i.slice(0,t).every(function(t){return t})});if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function li(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ci(t){return[Vt,Qt,Kt,Xt].some(function(e){return t[e]>=0})}const hi={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=oi(e,{elementContext:"reference"}),a=oi(e,{altBoundary:!0}),l=li(r,n),c=li(a,s,o),h=ci(l),d=ci(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},di={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=se.reduce(function(t,i){return t[i]=function(t,e,i){var n=we(t),s=[Xt,Vt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Xt,Qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t},{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ui={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=si({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})},data:{}},fi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=oi(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=we(e.placement),b=Be(e.placement),v=!b,y=je(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?Vt:Xt,D="y"===y?Kt:Qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],j=f?-T[$]/2:0,M=b===Gt?E[$]:T[$],F=b===Gt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?ke(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Me(0,E[$],W[$]),V=v?E[$]/2-j-q-z-O.mainAxis:M-q-z-O.mainAxis,K=v?-E[$]/2+j+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&Pe(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Me(f?Ee(N,I+V-Y-X):N,I,f?Ae(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?Vt:Xt,tt="x"===y?Kt:Qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[Vt,Xt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Me(t,e,i);return n>i?i:n}(at,et,lt):Me(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function pi(t,e,i){void 0===i&&(i=!1);var n,s,o=be(e),r=be(e)&&function(t){var e=t.getBoundingClientRect(),i=Te(e.width)/t.offsetWidth||1,n=Te(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=$e(e),l=xe(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==me(e)||Ze(a))&&(c=(n=e)!==ge(n)&&be(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Ge(n)),be(e)?((h=xe(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Je(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function mi(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach(function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}}),n.push(t)}return t.forEach(function(t){e.set(t.name,t)}),t.forEach(function(t){i.has(t.name)||s(t)}),n}var gi={placement:"bottom",modifiers:[],strategy:"absolute"};function _i(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(H.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..._(this._config.popperConfig,[void 0,t])}}_selectMenuItem({key:t,target:e}){const i=R.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(t=>l(t));i.length&&v(i,e,t===xi,!i.includes(e)).focus()}static jQueryInterface(t){return this.each(function(){const e=Qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}})}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=R.find(Mi);for(const i of e){const e=Qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Oi,xi].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(ji)?this:R.prev(this,ji)[0]||R.next(this,ji)[0]||R.findOne(ji,t.delegateTarget.parentNode),o=Qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}P.on(document,Ii,ji,Qi.dataApiKeydownHandler),P.on(document,Ii,Fi,Qi.dataApiKeydownHandler),P.on(document,$i,Qi.clearMenus),P.on(document,Ni,Qi.clearMenus),P.on(document,$i,ji,function(t){t.preventDefault(),Qi.getOrCreateInstance(this).toggle()}),g(Qi);const Xi="backdrop",Yi="show",Ui=`mousedown.bs.${Xi}`,Gi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ji={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Zi extends W{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return Xi}show(t){if(!this._config.isVisible)return void _(t);this._append();const e=this._getElement();this._config.isAnimated&&u(e),e.classList.add(Yi),this._emulateAnimation(()=>{_(t)})}hide(t){this._config.isVisible?(this._getElement().classList.remove(Yi),this._emulateAnimation(()=>{this.dispose(),_(t)})):_(t)}dispose(){this._isAppended&&(P.off(this._element,Ui),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=a(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),P.on(t,Ui,()=>{_(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const tn=".bs.focustrap",en=`focusin${tn}`,nn=`keydown.tab${tn}`,sn="backward",on={autofocus:!0,trapElement:null},rn={autofocus:"boolean",trapElement:"element"};class an extends W{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return on}static get DefaultType(){return rn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,tn),P.on(document,en,t=>this._handleFocusin(t)),P.on(document,nn,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,tn))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=R.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===sn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?sn:"forward")}}const ln=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",cn=".sticky-top",hn="padding-right",dn="margin-right";class un{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,hn,e=>e+t),this._setElementAttributes(ln,hn,e=>e+t),this._setElementAttributes(cn,dn,e=>e-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,hn),this._resetElementAttributes(ln,hn),this._resetElementAttributes(cn,dn)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)})}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&H.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=H.getDataAttribute(t,e);null!==i?(H.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)})}_applyManipulationCallback(t,e){if(r(t))e(t);else for(const i of R.find(t,this._element))e(i)}}const fn=".bs.modal",pn=`hide${fn}`,mn=`hidePrevented${fn}`,gn=`hidden${fn}`,_n=`show${fn}`,bn=`shown${fn}`,vn=`resize${fn}`,yn=`click.dismiss${fn}`,wn=`mousedown.dismiss${fn}`,An=`keydown.dismiss${fn}`,En=`click${fn}.data-api`,Tn="modal-open",Cn="show",On="modal-static",xn={backdrop:!0,focus:!0,keyboard:!0},kn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ln extends B{constructor(t,e){super(t,e),this._dialog=R.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new un,this._addEventListeners()}static get Default(){return xn}static get DefaultType(){return kn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,_n,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Tn),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,pn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Cn),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated())))}dispose(){P.off(window,fn),P.off(this._dialog,fn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Zi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new an({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=R.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),u(this._element),this._element.classList.add(Cn),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,bn,{relatedTarget:t})},this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,An,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())}),P.on(window,vn,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),P.on(this._element,wn,t=>{P.one(this._element,yn,e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Tn),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,gn)})}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,mn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(On)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(On),this._queueCallback(()=>{this._element.classList.remove(On),this._queueCallback(()=>{this._element.style.overflowY=e},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=m()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=m()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each(function(){const i=Ln.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}})}}P.on(document,En,'[data-bs-toggle="modal"]',function(t){const e=R.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,_n,t=>{t.defaultPrevented||P.one(e,gn,()=>{l(this)&&this.focus()})});const i=R.findOne(".modal.show");i&&Ln.getInstance(i).hide(),Ln.getOrCreateInstance(e).toggle(this)}),q(Ln),g(Ln);const Sn=".bs.offcanvas",Dn=".data-api",$n=`load${Sn}${Dn}`,In="show",Nn="showing",Pn="hiding",jn=".offcanvas.show",Mn=`show${Sn}`,Fn=`shown${Sn}`,Hn=`hide${Sn}`,Wn=`hidePrevented${Sn}`,Bn=`hidden${Sn}`,zn=`resize${Sn}`,Rn=`click${Sn}${Dn}`,qn=`keydown.dismiss${Sn}`,Vn={backdrop:!0,keyboard:!0,scroll:!1},Kn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Qn extends B{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Vn}static get DefaultType(){return Kn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,Mn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new un).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Nn),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(In),this._element.classList.remove(Nn),P.trigger(this._element,Fn,{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,Hn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Pn),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(In,Pn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new un).reset(),P.trigger(this._element,Bn)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Zi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():P.trigger(this._element,Wn)}:null})}_initializeFocusTrap(){return new an({trapElement:this._element})}_addEventListeners(){P.on(this._element,qn,t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():P.trigger(this._element,Wn))})}static jQueryInterface(t){return this.each(function(){const e=Qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}})}}P.on(document,Rn,'[data-bs-toggle="offcanvas"]',function(t){const e=R.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this))return;P.one(e,Bn,()=>{l(this)&&this.focus()});const i=R.findOne(jn);i&&i!==e&&Qn.getInstance(i).hide(),Qn.getOrCreateInstance(e).toggle(this)}),P.on(window,$n,()=>{for(const t of R.find(jn))Qn.getOrCreateInstance(t).show()}),P.on(window,zn,()=>{for(const t of R.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Qn.getOrCreateInstance(t).hide()}),q(Qn),g(Qn);const Xn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Yn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Un=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Gn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Yn.has(i)||Boolean(Un.test(t.nodeValue)):e.filter(t=>t instanceof RegExp).some(t=>t.test(i))},Jn={allowList:Xn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Zn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ts={entry:"(string|element|function|null)",selector:"(string|element)"};class es extends W{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Jn}static get DefaultType(){return Zn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},ts)}_setContent(t,e,i){const n=R.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?r(e)?this._putElementInTemplate(a(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Gn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return _(t,[void 0,this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const is=new Set(["sanitize","allowList","sanitizeFn"]),ns="fade",ss="show",os=".tooltip-inner",rs=".modal",as="hide.bs.modal",ls="hover",cs="focus",hs="click",ds={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},us={allowList:Xn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},fs={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ps extends B{constructor(t,e){if(void 0===Ai)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return us}static get DefaultType(){return fs}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(rs),as,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.eventName("show")),e=(h(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.on(t,"mouseover",d);this._queueCallback(()=>{P.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",d);this._activeTrigger[hs]=!1,this._activeTrigger[cs]=!1,this._activeTrigger[ls]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ns,ss),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ns),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new es({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[os]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ns)}_isShown(){return this.tip&&this.tip.classList.contains(ss)}_createPopper(t){const e=_(this._config.placement,[this,t,this._element]),i=ds[e.toUpperCase()];return wi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return _(t,[this._element,this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..._(this._config.popperConfig,[void 0,e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)P.on(this._element,this.constructor.eventName("click"),this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[hs]=!(e._isShown()&&e._activeTrigger[hs]),e.toggle()});else if("manual"!==e){const t=e===ls?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ls?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,t,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?cs:ls]=!0,e._enter()}),P.on(this._element,i,this._config.selector,t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?cs:ls]=e._element.contains(t.relatedTarget),e._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(rs),as,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=H.getDataAttributes(this._element);for(const t of Object.keys(e))is.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:a(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){const e=ps.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}})}}g(ps);const ms=".popover-header",gs=".popover-body",_s={...ps.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},bs={...ps.DefaultType,content:"(null|string|element|function)"};class vs extends ps{static get Default(){return _s}static get DefaultType(){return bs}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[ms]:this._getTitle(),[gs]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){const e=vs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}})}}g(vs);const ys=".bs.scrollspy",ws=`activate${ys}`,As=`click${ys}`,Es=`load${ys}.data-api`,Ts="active",Cs="[href]",Os=".nav-link",xs=`${Os}, .nav-item > ${Os}, .list-group-item`,ks={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Ls={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ss extends B{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ks}static get DefaultType(){return Ls}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=a(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map(t=>Number.parseFloat(t))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(P.off(this._config.target,As),P.on(this._config.target,As,Cs,t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(t=>this._observerCallback(t),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=R.find(Cs,this._config.target);for(const e of t){if(!e.hash||c(e))continue;const t=R.findOne(decodeURI(e.hash),this._element);l(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Ts),this._activateParents(t),P.trigger(this._element,ws,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))R.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Ts);else for(const e of R.parents(t,".nav, .list-group"))for(const t of R.prev(e,xs))t.classList.add(Ts)}_clearActiveClass(t){t.classList.remove(Ts);const e=R.find(`${Cs}.${Ts}`,t);for(const t of e)t.classList.remove(Ts)}static jQueryInterface(t){return this.each(function(){const e=Ss.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}})}}P.on(window,Es,()=>{for(const t of R.find('[data-bs-spy="scroll"]'))Ss.getOrCreateInstance(t)}),g(Ss);const Ds=".bs.tab",$s=`hide${Ds}`,Is=`hidden${Ds}`,Ns=`show${Ds}`,Ps=`shown${Ds}`,js=`click${Ds}`,Ms=`keydown${Ds}`,Fs=`load${Ds}`,Hs="ArrowLeft",Ws="ArrowRight",Bs="ArrowUp",zs="ArrowDown",Rs="Home",qs="End",Vs="active",Ks="fade",Qs="show",Xs=".dropdown-toggle",Ys=`:not(${Xs})`,Us='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Gs=`.nav-link${Ys}, .list-group-item${Ys}, [role="tab"]${Ys}, ${Us}`,Js=`.${Vs}[data-bs-toggle="tab"], .${Vs}[data-bs-toggle="pill"], .${Vs}[data-bs-toggle="list"]`;class Zs extends B{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,Ms,t=>this._keydown(t)))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?P.trigger(e,$s,{relatedTarget:t}):null;P.trigger(t,Ns,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Vs),this._activate(R.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),P.trigger(t,Ps,{relatedTarget:e})):t.classList.add(Qs)},t,t.classList.contains(Ks)))}_deactivate(t,e){t&&(t.classList.remove(Vs),t.blur(),this._deactivate(R.getElementFromSelector(t)),this._queueCallback(()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),P.trigger(t,Is,{relatedTarget:e})):t.classList.remove(Qs)},t,t.classList.contains(Ks)))}_keydown(t){if(![Hs,Ws,Bs,zs,Rs,qs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter(t=>!c(t));let i;if([Rs,qs].includes(t.key))i=e[t.key===Rs?0:e.length-1];else{const n=[Ws,zs].includes(t.key);i=v(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Zs.getOrCreateInstance(i).show())}_getChildren(){return R.find(Gs,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=R.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=R.findOne(t,i);s&&s.classList.toggle(n,e)};n(Xs,Vs),n(".dropdown-menu",Qs),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Vs)}_getInnerElement(t){return t.matches(Gs)?t:R.findOne(Gs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each(function(){const e=Zs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}})}}P.on(document,js,Us,function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this)||Zs.getOrCreateInstance(this).show()}),P.on(window,Fs,()=>{for(const t of R.find(Js))Zs.getOrCreateInstance(t)}),g(Zs);const to=".bs.toast",eo=`mouseover${to}`,io=`mouseout${to}`,no=`focusin${to}`,so=`focusout${to}`,oo=`hide${to}`,ro=`hidden${to}`,ao=`show${to}`,lo=`shown${to}`,co="hide",ho="show",uo="showing",fo={animation:"boolean",autohide:"boolean",delay:"number"},po={animation:!0,autohide:!0,delay:5e3};class mo extends B{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return po}static get DefaultType(){return fo}static get NAME(){return"toast"}show(){P.trigger(this._element,ao).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(co),u(this._element),this._element.classList.add(ho,uo),this._queueCallback(()=>{this._element.classList.remove(uo),P.trigger(this._element,lo),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,oo).defaultPrevented||(this._element.classList.add(uo),this._queueCallback(()=>{this._element.classList.add(co),this._element.classList.remove(uo,ho),P.trigger(this._element,ro)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(ho),super.dispose()}isShown(){return this._element.classList.contains(ho)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,eo,t=>this._onInteraction(t,!0)),P.on(this._element,io,t=>this._onInteraction(t,!1)),P.on(this._element,no,t=>this._onInteraction(t,!0)),P.on(this._element,so,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const e=mo.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}})}}return q(mo),g(mo),{Alert:X,Button:U,Carousel:St,Collapse:qt,Dropdown:Qi,Modal:Ln,Offcanvas:Qn,Popover:vs,ScrollSpy:Ss,Tab:Zs,Toast:mo,Tooltip:ps}}); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/webassets/vendor/js/chart-4.4.9.umd.min.js b/webassets/vendor/js/chart-4.4.9.umd.min.js new file mode 100644 index 0000000..41428b7 --- /dev/null +++ b/webassets/vendor/js/chart-4.4.9.umd.min.js @@ -0,0 +1,20 @@ +/** + * Skipped minification because the original files appears to be already minified. + * Original file: /npm/chart.js@4.4.9/dist/chart.umd.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +/*! + * Chart.js v4.4.9 + * https://www.chartjs.org + * (c) 2025 Chart.js Contributors + * Released under the MIT License + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Zo},get Decimation(){return ta},get Filler(){return xa},get Legend(){return va},get SubTitle(){return Sa},get Title(){return wa},get Tooltip(){return Wa}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;at,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)t-e)).pop(),e}function N(t){return!function(t){return"symbol"==typeof t||"object"==typeof t&&null!==t&&!(Symbol.toPrimitive in t||"toString"in t||"valueOf"in t)}(t)&&!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;sl&&h=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return nt[s][e]et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;ss&&t[n-1]>i;)n--;return s>0||n{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ot.forEach((e=>{delete t[e]})),delete t._chartjs)}function lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const ht="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function ct(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,ht.call(window,(()=>{s=!1,t.apply(e,i)})))}}function dt(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const ut=t=>"start"===t?"left":"end"===t?"right":"center",ft=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,gt=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function pt(t,e,i){const n=e.length;let o=0,a=n;if(t._sorted){const{iScale:r,vScale:l,_parsed:h}=t,c=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null,d=r.axis,{min:u,max:f,minDefined:g,maxDefined:p}=r.getUserBounds();if(g){if(o=Math.min(it(h,d,u).lo,i?n:it(e,d,r.getPixelForValue(u)).lo),c){const t=h.slice(0,o+1).reverse().findIndex((t=>!s(t[l.axis])));o-=Math.max(0,t)}o=J(o,0,n-1)}if(p){let t=Math.max(it(h,r.axis,f,!0).hi+1,i?0:it(e,d,r.getPixelForValue(f),!0).hi+1);if(c){const e=h.slice(t-1).findIndex((t=>!s(t[l.axis])));t+=Math.max(0,e)}a=J(t,o,n)-o}else a=n-o}return{start:o,count:a}}function mt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}class xt{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=ht.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var bt=new xt; +/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Ft(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function qt(t,e){return t?Object.assign(e||{},t):t}function Kt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Mt(t[3]))):(e=qt(t,{r:0,g:0,b:0,a:1})).a=Mt(e.a),e}function Gt(t){return"r"===t.charAt(0)?function(t){const e=$t.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?vt(t):yt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?vt(i):yt(i,0,255)),s=255&(e[4]?vt(s):yt(s,0,255)),n=255&(e[6]?vt(n):yt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Bt(t)}class Zt{constructor(t){if(t instanceof Zt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Kt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*St[s[1]],g:255&17*St[s[2]],b:255&17*St[s[3]],a:5===o?17*St[s[4]]:255}:7!==o&&9!==o||(n={r:St[s[1]]<<4|St[s[2]],g:St[s[3]]<<4|St[s[4]],b:St[s[5]]<<4|St[s[6]],a:9===o?St[s[7]]<<4|St[s[8]]:255})),i=n||jt(t)||Gt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qt(this._rgb);return t&&(t.a=wt(t.a)),t}set rgb(t){this._rgb=Kt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?At(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=It(t),i=e[0],s=kt(e[1]),n=kt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Ut(wt(t.r)),n=Ut(wt(t.g)),o=Ut(wt(t.b));return{r:Mt(Yt(s+i*(Ut(wt(e.r))-s))),g:Mt(Yt(n+i*(Ut(wt(e.g))-n))),b:Mt(Yt(o+i*(Ut(wt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Zt(this.rgb)}alpha(t){return this._rgb.a=Mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=_t(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xt(this._rgb,2,t),this}darken(t){return Xt(this._rgb,2,-t),this}saturate(t){return Xt(this._rgb,1,t),this}desaturate(t){return Xt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=It(t);i[0]=Vt(i[0]+e),i=Ft(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Jt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Qt(t){return Jt(t)?t:new Zt(t)}function te(t){return Jt(t)?t:new Zt(t).saturate(.5).darken(.1).hexString()}const ee=["x","y","borderWidth","radius","tension"],ie=["color","borderColor","backgroundColor"];const se=new Map;function ne(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=se.get(i);return s||(s=new Intl.NumberFormat(t,e),se.set(i,s)),s}(e,i).format(t)}const oe={values:t=>n(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=z(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(z(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?oe.numeric.call(this,t,e,i):""}};var ae={formatters:oe};const re=Object.create(null),le=Object.create(null);function he(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;et.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>te(e.backgroundColor),this.hoverBorderColor=(t,e)=>te(e.borderColor),this.hoverColor=(t,e)=>te(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ce(this,t,e)}get(t){return he(this,t)}describe(t,e){return ce(le,t,e)}override(t,e){return ce(re,t,e)}route(t,e,i,s){const n=he(this,t),a=he(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=a[s];return o(t)?Object.assign({},e,t):l(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var ue=new de({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:ie},numbers:{type:"number",properties:ee}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ae.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function fe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ge(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function pe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const me=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function xe(t,e){return me(t).getPropertyValue(e)}const be=["top","right","bottom","left"];function _e(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=be[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ye=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ve(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=me(i),o="border-box"===n.boxSizing,a=_e(n,"padding"),r=_e(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(ye(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const Me=t=>Math.round(10*t)/10;function we(t,e,i,s){const n=me(t),o=_e(n,"margin"),a=pe(n.maxWidth,t,"clientWidth")||T,r=pe(n.maxHeight,t,"clientHeight")||T,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=t&&ge(t);if(o){const t=o.getBoundingClientRect(),a=me(o),r=_e(a,"border","width"),l=_e(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=pe(a.maxWidth,o,"clientWidth"),n=pe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||T,maxHeight:n||T}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=_e(n,"border","width"),e=_e(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=Me(Math.min(h,a,l.maxWidth)),c=Me(Math.min(c,r,l.maxHeight)),h&&!c&&(c=Me(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=Me(Math.floor(c*s))),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fe()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Pe(t,e){const i=xe(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t){return!t||s(t.size)||s(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Ce(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Oe(t,e,i,s){let o=(s=s||{}).data=s.data||{},a=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(o=s.data={},a=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;hi.length){for(h=0;h0&&t.stroke()}}function Re(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.xe.top-i&&t.y0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),s(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;ct[0])){const o=i||t;void 0===s&&(s=ti("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>je([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>qe(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ti(Ue(o,t),i),void 0!==n)return Xe(t,n)?Je(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ei(t).includes(e),ownKeys:t=>ei(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function $e(t,e,i,s){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ye(t,s),setContext:e=>$e(t,e,i,s),override:n=>$e(t.override(n),e,i,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>qe(t,e,(()=>function(t,e,i){const{_proxy:s,_context:a,_subProxy:r,_descriptors:l}=t;let h=s[e];S(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Xe(t,l)&&(l=Je(n._scopes,n,t,l));return l}(e,h,t,i));n(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:n,_context:a,_subProxy:r,_descriptors:l}=i;if(void 0!==a.index&&s(t))return e[a.index%e.length];if(o(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const o of i){const i=Je(s,n,t,o);e.push($e(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Xe(e,h)&&(h=$e(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:S(i)?i:()=>i,isIndexable:S(s)?s:()=>s}}const Ue=(t,e)=>t?t+w(e):e,Xe=(t,e)=>o(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function qe(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e)||"constructor"===e)return t[e];const s=i();return t[e]=s,s}function Ke(t,e,i){return S(t)?t(e,i):t}const Ge=(t,e)=>!0===t?e:"string"==typeof t?M(e,t):void 0;function Ze(t,e,i,s,n){for(const o of e){const e=Ge(i,o);if(e){t.add(e);const o=Ke(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Je(t,e,i,s){const a=e._rootScopes,r=Ke(e._fallback,i,s),l=[...t,...a],h=new Set;h.add(s);let c=Qe(h,l,i,r||i,s);return null!==c&&((void 0===r||r===i||(c=Qe(h,l,r,c,s),null!==c))&&je(Array.from(h),[""],a,r,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const a=s[e];if(n(a)&&o(i))return i;return a||{}}(e,i,s))))}function Qe(t,e,i,s,n){for(;i;)i=Ze(t,e,i,s,n);return i}function ti(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ei(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function ii(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;re"x"===t?"y":"x";function ai(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=q(o,n),l=q(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function ri(t,e="x"){const i=oi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=ni(t,0);for(a=0;a!t.skip))),"monotone"===e.cubicInterpolationMode)ri(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o0===t||1===t,di=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ui=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,fi={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*E),easeOutSine:t=>Math.sin(t*E),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ci(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ci(t)?t:di(t,.075,.3),easeOutElastic:t=>ci(t)?t:ui(t,.075,.3),easeInOutElastic(t){const e=.1125;return ci(t)?t:t<.5?.5*di(2*t,e,.45):.5+.5*ui(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-fi.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*fi.easeInBounce(2*t):.5*fi.easeOutBounce(2*t-1)+.5};function gi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function mi(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=gi(t,n,i),r=gi(n,o,i),l=gi(o,e,i),h=gi(a,r,i),c=gi(r,l,i);return gi(h,c,i)}const xi=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,bi=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function _i(t,e){const i=(""+t).match(xi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const yi=t=>+t||0;function vi(t,e){const i={},s=o(e),n=s?Object.keys(e):e,a=o(t)?s?i=>l(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=yi(a(t));return i}function Mi(t){return vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function wi(t){return vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ki(t){const e=Mi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Si(t,e){t=t||{},e=e||ue.font;let i=l(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=l(t.style,e.style);s&&!(""+s).match(bi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:l(t.family,e.family),lineHeight:_i(l(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:l(t.weight,e.weight),string:""};return n.string=De(n),n}function Pi(t,e,i,s){let o,a,r,l=!0;for(o=0,a=t.length;oi&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ci(t,e){return Object.assign(Object.create(t),e)}function Oi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ai(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ti(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Li(t){return"angle"===t?{between:Z,compare:K,normalize:G}:{between:tt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Ri(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Li(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Li(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;hb||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ei({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Ei({start:_,end:d,loop:u,count:a,style:f})),g}function Ii(t,e){const i=[],s=t.segments;for(let n=0;nn&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Fi(t,[{start:a,end:r,loop:o}],i,e);return Fi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r!s(t[e.axis])));n.lo-=Math.max(0,a);const r=i.slice(n.hi).findIndex((t=>!s(t[e.axis])));n.hi+=Math.max(0,r)}return n}if(o._sharedOptions){const t=a[0],s="function"==typeof t.getRange&&t.getRange(e);if(s){const t=r(a,e,i-s),n=r(a,e,i+s);return{lo:t.lo,hi:n.hi}}}}return{lo:0,hi:a.length-1}}function $i(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t{t[a]&&t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Ki={evaluateInteractionItems:$i,modes:{index(t,e,i,s){const n=ve(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;tYi(t,ve(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return Xi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>qi(t,ve(e,t),"x",i.intersect,s),y:(t,e,i,s)=>qi(t,ve(e,t),"y",i.intersect,s)}};const Gi=["left","top","right","bottom"];function Zi(t,e){return t.filter((t=>t.pos===e))}function Ji(t,e){return t.filter((t=>-1===Gi.indexOf(t.pos)&&t.box.axis===e))}function Qi(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function ts(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!Gi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function os(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;ot.box.fullSize)),!0),s=Qi(Zi(e,"left"),!0),n=Qi(Zi(e,"right")),o=Qi(Zi(e,"top"),!0),a=Qi(Zi(e,"bottom")),r=Ji(e,"x"),l=Ji(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Zi(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;u(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);is(f,ki(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=ts(l.concat(h),d);os(r.fullSize,g,d,p),os(l,g,d,p),os(h,g,d,p)&&os(l,g,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),rs(r.leftAndTop,g,d,p),g.x+=g.w,g.y+=g.h,rs(r.rightAndBottom,g,d,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},u(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class hs{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class cs extends hs{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ds="$chartjs",us={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},fs=t=>null===t||""===t;const gs=!!Se&&{passive:!0};function ps(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,gs)}function ms(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function xs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.addedNodes,s),e=e&&!ms(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function bs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.removedNodes,s),e=e&&!ms(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const _s=new Map;let ys=0;function vs(){const t=window.devicePixelRatio;t!==ys&&(ys=t,_s.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function Ms(t,e,i){const s=t.canvas,n=s&&ge(s);if(!n)return;const o=ct(((t,e)=>{const s=n.clientWidth;i(t,e),s{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){_s.size||window.addEventListener("resize",vs),_s.set(t,e)}(t,o),a}function ws(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){_s.delete(t),_s.size||window.removeEventListener("resize",vs)}(t)}function ks(t,e,i){const s=t.canvas,n=ct((e=>{null!==t.ctx&&i(function(t,e){const i=us[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,gs)}(s,e,n),n}class Ss extends hs{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[ds]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",fs(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(fs(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[ds])return!1;const i=e[ds].initial;["height","width"].forEach((t=>{const n=i[t];s(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=i.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e[ds],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:xs,detach:bs,resize:Ms}[e]||ks;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:ws,detach:ws,resize:ws}[e]||ps)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return we(t,e,i,s)}isAttached(t){const e=t&&ge(t);return!(!e||!e.isConnected)}}function Ps(t){return!fe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?cs:Ss}var Ds=Object.freeze({__proto__:null,BasePlatform:hs,BasicPlatform:cs,DomPlatform:Ss,_detectPlatform:Ps});const Cs="transparent",Os={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Qt(t||Cs),n=s.valid&&Qt(e||Cs);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class As{constructor(t,e,i,s){const n=e[i];s=Pi([t.to,s,n,t.from]);const o=Pi([t.from,n,s]);this._active=!0,this._fn=t.fn||Os[t.type||typeof o],this._easing=fi[t.easing]||fi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Pi([t.to,e,s,t.from]),this._from=Pi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t{const a=t[s];if(!o(a))return;const r={};for(const t of e)r[t]=a[t];(n(a.properties)&&a.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,r)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new As(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(bt.add(this._chart,i),!0):void 0}}function Ls(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Es(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n0||!i&&e<0)return n.index}return null}function Vs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;ti[t].axis===e)).shift()}function Ws(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Ns=t=>"reset"===t||"none"===t,Hs=(t,e)=>e?t:Object.assign({},t);class js{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Is(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Ws(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=l(i.xAxisID,Bs(t,"x")),o=e.yAxisID=l(i.yAxisID,Bs(t,"y")),a=e.rAxisID=l(i.rAxisID,Bs(t,"r")),r=e.indexAxis,h=e.iAxisID=s(r,n,o,a),c=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&rt(this._data,this),t._stacked&&Ws(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(o(e)){const t=this._cachedMeta;this._data=function(t,e){const{iScale:i,vScale:s}=e,n="x"===i.axis?"x":"y",o="x"===s.axis?"x":"y",a=Object.keys(t),r=new Array(a.length);let l,h,c;for(l=0,h=a.length;l0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,d=s;else{d=n(s[t])?this.parseArrayData(i,s,t,e):o(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const a=()=>null===c[l]||f&&c[l]t&&!e.hidden&&e._stacked&&{keys:Es(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!a(f[t.axis])||c>e||d=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s=0&&tthis.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Hs(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Ts(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ns(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Ns(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Ns(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function Ys(t,e){const i=t.options.ticks,n=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=Math.min(i.maxTicksLimit||n,n),a=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;io)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;nn)return e}return Math.max(n,1)}(a,e,o);if(r>0){let t,i;const n=r>1?Math.round((h-l)/(r-1)):null;for(Us(e,c,d,s(n)?0:l-n,l),t=0,i=r-1;t"top"===e||"left"===e?t[e]+i:t[e]-i,qs=(t,e)=>Math.min(e||t,t);function Ks(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;oa+r)))return h}function Zs(t){return t.drawTicks?t.tickLength:0}function Js(t,e){if(!t.display)return 0;const i=Si(t.font,e),s=ki(t.padding);return(n(t.text)?t.text.length:1)*i.lineHeight+s.height}function Qs(t,e,i){let s=ut(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class tn extends $s{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=r(t,Number.POSITIVE_INFINITY),e=r(e,Number.NEGATIVE_INFINITY),i=r(i,Number.POSITIVE_INFINITY),s=r(s,Number.NEGATIVE_INFINITY),{min:r(t,i),max:r(e,s),minDefined:a(t),maxDefined:a(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;rs?s:i,s=n&&i>s?i:s,{min:r(i,r(s,i)),max:r(s,r(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Di(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=J(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Zs(t.grid)-e.padding-Js(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=Y(Math.min(Math.asin(J((h.highest.height+6)/o,-1,1)),Math.asin(J(a/r,-1,1))-Math.asin(J(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Js(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Zs(n)+o):(t.height=this.maxHeight,t.width=Zs(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=$(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n({width:r[t]||0,height:l[t]||0});return{first:P(0),last:P(e-1),widest:P(k),highest:P(S),widths:r,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Q(this._alignToPixels?Ae(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&ta*s?a/i:r/s:r*s0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:a,border:r}=s,h=n.offset,c=this.isHorizontal(),d=this.ticks.length+(h?1:0),u=Zs(n),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,x=function(t){return Ae(i,t,p)};let b,_,y,v,M,w,k,S,P,D,C,O;if("top"===a)b=x(this.bottom),w=this.bottom-u,S=b-m,D=x(t.top)+m,O=t.bottom;else if("bottom"===a)b=x(this.top),D=t.top,O=x(t.bottom)-m,w=b+m,S=this.top+u;else if("left"===a)b=x(this.right),M=this.right-u,k=b-m,P=x(t.left)+m,C=t.right;else if("right"===a)b=x(this.left),P=t.left,C=x(t.right)-m,M=b+m,k=this.left+u;else if("x"===e){if("center"===a)b=x((t.top+t.bottom)/2+.5);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}D=t.top,O=t.bottom,w=b+m,S=w+u}else if("y"===e){if("center"===a)b=x((t.left+t.right)/2);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}M=b-m,k=M-u,P=t.left,C=t.right}const A=l(s.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/A));for(_=0;_0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}x.push({label:v,font:P,textOffset:O,options:{rotation:m,color:i,strokeColor:o,strokeWidth:h,textAlign:f,textBaseline:A,translation:[M,w],backdrop:d}})}return x}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-$(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ue.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ue.describe(e,t.descriptors)}(t,o,i),this.override&&ue.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ue[s]&&(delete ue[s][i],this.override&&delete re[i])}}class sn{constructor(){this.controllers=new en(js,"datasets",!0),this.elements=new en($s,"elements"),this.plugins=new en(Object,"plugins"),this.scales=new en(tn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):u(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);d(i["before"+s],[],i),e[t](i),d(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;et.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function an(t,e){return e||!1!==t?!0===t?{}:t:null}function rn(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function ln(t,e){const i=ue.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function hn(t){if("x"===t||"y"===t||"r"===t)return t}function cn(t,...e){if(hn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&hn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function dn(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function un(t,e){const i=re[t.type]||{scales:{}},s=e.scales||{},n=ln(t.type,e),a=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!o(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const l=cn(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return dn(t,"x",i[0])||dn(t,"y",i[0])}return{}}(e,t),ue.scales[r.type]),h=function(t,e){return t===e?"_index_":"_value_"}(l,n),c=i.scales||{};a[e]=b(Object.create(null),[{axis:l},r,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||ln(n,e),r=(re[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||e;a[n]=a[n]||Object.create(null),b(a[n],[{axis:e},s[n],r[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];b(e,[ue.scales[e.type],ue.scale])})),a}function fn(t){const e=t.options||(t.options={});e.plugins=l(e.plugins,{}),e.scales=un(t,e)}function gn(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const pn=new Map,mn=new Set;function xn(t,e){let i=pn.get(t);return i||(i=e(),pn.set(t,i),mn.add(i)),i}const bn=(t,e,i)=>{const s=M(e,i);void 0!==s&&t.add(s)};class _n{constructor(t){this._config=function(t){return(t=t||{}).data=gn(t.data),fn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=gn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),fn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return xn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return xn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return xn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>bn(r,t,e)))),e.forEach((t=>bn(r,s,t))),e.forEach((t=>bn(r,re[n]||{},t))),e.forEach((t=>bn(r,ue,t))),e.forEach((t=>bn(r,le,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),mn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,re[e]||{},ue.datasets[e]||{},{type:e},ue,le]}resolveNamedOptions(t,e,i,s=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=yn(this._resolverCache,t,s);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:s}=Ye(t);for(const o of e){const e=i(o),a=s(o),r=(a||e)&&t[o];if(e&&(S(r)||vn(r))||a&&n(r))return!0}return!1}(a,e)){o.$shared=!1;l=$e(a,i=S(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:n}=yn(this._resolverCache,t,i);return o(e)?$e(n,e,void 0,s):n}}function yn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:je(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const vn=t=>o(t)&&Object.getOwnPropertyNames(t).some((e=>S(t[e])));const Mn=["top","bottom","left","right","chartArea"];function wn(t,e){return"top"===t||"bottom"===t||-1===Mn.indexOf(t)&&"x"===e}function kn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function Sn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),d(i&&i.onComplete,[t],e)}function Pn(t){const e=t.chart,i=e.options.animation;d(i&&i.onProgress,[t],e)}function Dn(t){return fe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Cn={},On=t=>{const e=Dn(t);return Object.values(Cn).filter((t=>t.canvas===e)).pop()};function An(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}class Tn{static defaults=ue;static instances=Cn;static overrides=re;static registry=nn;static version="4.4.9";static getChart=On;static register(...t){nn.add(...t),Ln()}static unregister(...t){nn.remove(...t),Ln()}constructor(t,e){const s=this.config=new _n(e),n=Dn(t),o=On(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ps(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=i(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new on,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dt((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],Cn[this.id]=this,r&&l?(bt.listen(this,"complete",Sn),bt.listen(this,"progress",Pn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return s(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return nn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Te(this.canvas,this.ctx),this}stop(){return bt.stop(this),this}resize(t,e){bt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),d(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){u(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=cn(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),u(n,(e=>{const n=e.options,o=n.id,a=cn(o,n),r=l(n.type,e.dtype);void 0!==n.position&&wn(n.position,a)===wn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===r)h=i[o];else{h=new(nn.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),u(s,((t,e)=>{t||delete i[e]})),u(i,(t=>{ls.configure(this,t,t.options),ls.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;te.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(kn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){u(this.scales,(t=>{ls.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);P(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){An(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ls.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],u(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},s=Ni(this,t);!1!==this.notifyPlugins("beforeDatasetDraw",i)&&(s&&Ie(e,s),t.controller.draw(),s&&ze(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return Re(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Ki.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ci(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);k(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),bt.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};u(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){u(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},u(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!f(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=D(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,d(n.onHover,[t,a,this],this),r&&d(n.onClick,[t,a,this],this));const h=!f(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Ln(){return u(Tn.instances,(t=>t._plugins.invalidate()))}function En(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Rn{static override(t){Object.assign(Rn.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return En()}parse(){return En()}format(){return En()}add(){return En()}diff(){return En()}startOf(){return En()}endOf(){return En()}}var In={_date:Rn};function zn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;et-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(k(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;sMath.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function Vn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;ht.x,i="left",s="right"):(e=t.base"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,a,r=t=>+i[t];if(o(i[t])){const{key:t="value"}=this._parsing;r=e=>+M(i[e],t)}for(n=t,a=t+e;nZ(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>Z(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(E,c,u),x=g(C,h,d),b=g(C+E,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),x=(i.width-o)/f,b=(i.height-o)/g,_=Math.max(Math.min(x,b)/2,0),y=c(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(se.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*C;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?$(this.resolveDataElementOptions(t,e).angle||i):0}}var Un=Object.freeze({__proto__:null,BarController:class extends js{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return Vn(t,e,i,s)}parseArrayData(t,e,i,s){return Vn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;dt.controller.options.grouped)),o=i.options.stacked,a=[],r=this._cachedMeta.controller.getParsed(e),l=r&&r[i.axis],h=t=>{const e=t._parsed.find((t=>t[i.axis]===l)),n=e&&e[t.vScale.axis];if(s(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!h(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n=i?1:-1)}(u,e,r)*a,f===r&&(x-=u/2);const t=e.getPixelForDecimal(0),s=e.getPixelForDecimal(1),o=Math.min(t,s),h=Math.max(t,s);x=Math.max(Math.min(x,h),o),d=x+u,i&&!c&&(l._stacks[e.axis]._visualValues[n]=e.getValueForPixel(d)-e.getValueForPixel(x))}if(x===e.getPixelForValue(r)){const t=F(u)*e.getLineWidthForValue(r)/2;x+=t,u-=t}return{size:u,base:x,head:d,center:d+u/2}}_calculateBarIndexPixels(t,e){const i=e.scale,n=this.options,o=n.skipNull,a=l(n.maxBarThickness,1/0);let r,h;if(e.grouped){const i=o?this._getStackCount(t):e.stackCount,l="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d0&&this.getParsed(e-1);for(let i=0;i<_;++i){const g=t[i],_=x?g:{};if(i=b){_.skip=!0;continue}const v=this.getParsed(i),M=s(v[f]),w=_[u]=a.getPixelForValue(v[u],i),k=_[f]=o||M?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,v,l):v[f],i);_.skip=isNaN(w)||isNaN(k)||M,_.stop=i>0&&Math.abs(v[u]-y[u])>m,p&&(_.parsed=v,_.raw=h.data[i]),d&&(_.options=c||this.resolveDataElementOptions(i,g.active?"active":n)),x||this.updateElement(g,i,_,n),y=v}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}},PieController:class extends $n{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:Yn,RadarController:class extends js{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a0&&this.getParsed(e-1);for(let c=e;c0&&Math.abs(i[f]-_[f])>x,m&&(p.parsed=i,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),b||this.updateElement(e,c,p,n),_=i}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}});function Xn(t,e,i,s){const n=vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return J(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:J(n.innerStart,0,a),innerEnd:J(n.innerEnd,0,a)}}function qn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Kn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/C)/d)/2,m=l+p+f,x=n-p-f,{outerStart:b,outerEnd:_,innerStart:y,innerEnd:v}=Xn(e,u,d,x-m),M=d-b,w=d-_,k=m+b/M,S=x-_/w,P=u+y,D=u+v,O=m+y/P,A=x-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=qn(w,S,a,r);t.arc(e.x,e.y,_,S,x+E)}const i=qn(D,x,a,r);if(t.lineTo(i.x,i.y),v>0){const e=qn(D,A,a,r);t.arc(e.x,e.y,v,x+E,A+Math.PI)}const s=(x-v/u+(m+y/u))/2;if(t.arc(a,r,u,x-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=qn(P,O,a,r);t.arc(e.x,e.y,y,O+Math.PI,m-E)}const n=qn(M,m,a,r);if(t.lineTo(n.x,n.y),b>0){const e=qn(M,k,a,r);t.arc(e.x,e.y,b,m-E,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Gn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u}=l,f="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,f?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let g=e.endAngle;if(o){Kn(t,e,i,s,g,n);for(let e=0;en?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+E,s-E),t.closePath(),t.clip()}(t,e,g),o||(Kn(t,e,i,s,g,n),t.stroke())}function Zn(t,e,i=e){t.lineCap=l(i.borderCapStyle,e.borderCapStyle),t.setLineDash(l(i.borderDash,e.borderDash)),t.lineDashOffset=l(i.borderDashOffset,e.borderDashOffset),t.lineJoin=l(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=l(i.borderWidth,e.borderWidth),t.strokeStyle=l(i.borderColor,e.borderColor)}function Jn(t,e,i){t.lineTo(i.x,i.y)}function Qn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=nr&&o>r;return{count:s,start:l,loop:e.loop,ilen:h(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(ig&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function io(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?eo:to}const so="function"==typeof Path2D;function no(t,e,i,s){so&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Zn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=io(e);for(const r of n)Zn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class oo extends $s{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;hi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=zi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Ii(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?pi:t.tension||"monotone"===t.cubicInterpolationMode?mi:gi}(i);let l,h;for(l=0,h=o.length;l"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=X(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:h,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,f=l(d,r-a),g=Z(n,a,r)&&a!==r,p=f>=O||g,m=tt(o,h+u,c+u);return p&&m}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(C,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){Kn(t,e,i,s,l,n);for(let e=0;e("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function mo(t){const e=this.getLabels();return t>=0&&ts=e?s:t,a=t=>n=i?n:t;if(t){const t=F(s),e=F(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n=function(t,e){const i=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,x=!s(a),b=!s(r),_=!s(h),y=(m-p)/(d+1);let v,M,w,k,S=B((m-p)/g/f)*f;if(S<1e-14&&!x&&!b)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=B(k*S/g/f)*f),s(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(M=Math.floor(p/S)*S,w=Math.ceil(m/S)*S):(M=p,w=m),x&&b&&o&&H((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,M=a,w=r):_?(M=x?a:M,w=b?r:w,k=h-1,S=(w-M)/k):(k=(w-M)/S,k=V(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(U(S),U(M));v=Math.pow(10,s(l)?P:l),M=Math.round(M*v)/v,w=Math.round(w*v)/v;let D=0;for(x&&(u&&M!==a?(i.push({value:a}),Mr)break;i.push({value:t})}return b&&u&&w!==r?i.length&&V(i[i.length-1].value,r,xo(r,y,t))?i[i.length-1].value=r:i.push({value:r}):b&&w!==r||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&j(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}}class _o extends bo{static id="linear";static defaults={ticks:{callback:ae.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?t:0,this.max=a(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=$(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const yo=t=>Math.floor(z(t)),vo=(t,e)=>Math.pow(10,yo(t)+e);function Mo(t){return 1===t/Math.pow(10,yo(t))}function wo(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function ko(t,{min:e,max:i}){e=r(t.min,e);const s=[],n=yo(e);let o=function(t,e){let i=yo(e-t);for(;wo(t,e,i)>10;)i++;for(;wo(t,e,i)<10;)i--;return Math.min(i,yo(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,c=Math.round((e-h)*a)/a,d=Math.floor((e-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=r(t.min,Math.round((h+d+u*Math.pow(10,o))*a)/a);for(;f=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,a=o>=0?1:a),f=Math.round((h+d+u*Math.pow(10,o))*a)/a;const g=r(t.max,f);return s.push({value:g,major:Mo(g),significand:u}),s}class So extends tn{static id="logarithmic";static defaults={ticks:{callback:ae.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=bo.prototype.parse.apply(this,[t,e]);if(0!==i)return a(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?Math.max(0,t):null,this.max=a(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!a(this._userMin)&&(this.min=t===vo(this.min,0)?vo(this.min,-1):vo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(vo(i,-1)),o(vo(s,1)))),i<=0&&n(vo(s,-1)),s<=0&&o(vo(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=ko({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&j(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=z(t),this._valueRange=z(this.max)-z(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(z(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Po(t){const e=t.ticks;if(e.display&&t.display){const t=ki(e.backdropPadding);return l(e.font&&e.font.size,ue.font.size)+t.height}return 0}function Do(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:tn?{start:e-i,end:e}:{start:e,end:e+i}}function Co(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?C/a:0;for(let u=0;ue.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.starte.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function Ao(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(Y(G(l.angle+E))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function To(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Re({x:i,y:s},e)||Re({x:i,y:o},e)||Re({x:n,y:s},e)||Re({x:n,y:o},e))}function Lo(t,e,i){const{left:n,top:o,right:a,bottom:r}=i,{backdropColor:l}=e;if(!s(l)){const i=wi(e.borderRadius),s=ki(e.backdropPadding);t.fillStyle=l;const h=n-s.left,c=o-s.top,d=a-n+s.width,u=r-o+s.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),He(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Eo(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;ot,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ki(Po(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=a(t)&&!isNaN(t)?t:0,this.max=a(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Po(this.options))}generateTickLabels(t){bo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=d(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Co(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return G(t*(O/(this._pointLabels.length||1))+$(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(s(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(s(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));Lo(i,o,e);const a=Si(o.font),{x:r,y:l,textAlign:h}=e;Ne(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash||[]),o.lineDashOffset=n.dashOffset,o.beginPath(),Eo(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Si(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=ki(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ne(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Io={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},zo=Object.keys(Io);function Fo(t,e){return t-e}function Vo(t,e){if(s(e))return null;const i=t._adapter,{parser:n,round:o,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),a(l)||(l="string"==typeof n?i.parse(l,n):i.parse(l)),null===l?null:(o&&(l="week"!==o||!N(r)&&!0!==r?i.startOf(l,o):i.startOf(l,"isoWeek",r)),+l)}function Bo(t,e,i,s){const n=zo.length;for(let o=zo.indexOf(t);o=e?i[s]:i[n]]=!0}}else t[e]=!0}function No(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a=0&&(e[l].major=!0);return e}(t,s,n,i):s}class Ho extends tn{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new In._date(t.adapters.date);s.init(e),b(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Vo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function l(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=a(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=a(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=nt(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Bo(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=zo.length-1;o>=zo.indexOf(i);o--){const i=zo[o];if(Io[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return zo[i?zo.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=zo.indexOf(t)+1,i=zo.length;e+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=J(s,0,o),n=J(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Bo(n.minUnit,e,i,this._getLabelCapacity(e)),a=l(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,h=N(r)||!0===r,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",r)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;d+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return d(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],u=i[e],f=l&&c&&u&&u.major;return this._adapter.format(t,s||(f?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=it(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=it(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}var $o=Object.freeze({__proto__:null,CategoryScale:class extends tn{static id="category";static defaults={ticks:{callback:mo}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(s(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:J(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:po(i,t,l(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return mo.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:_o,LogarithmicScale:So,RadialLinearScale:Ro,TimeScale:Ho,TimeSeriesScale:class extends Ho{static id="timeseries";static defaults=Ho.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=jo(e,this.min),this._tableRange=jo(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;ot-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(jo(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return jo(this._table,i*this._tableRange+this._minPos,!0)}}});const Yo=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Uo=Yo.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Xo(t){return Yo[t%Yo.length]}function qo(t){return Uo[t%Uo.length]}function Ko(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof $n?e=function(t,e){return t.backgroundColor=t.data.map((()=>Xo(e++))),e}(i,e):n instanceof Yn?e=function(t,e){return t.backgroundColor=t.data.map((()=>qo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Xo(e),t.backgroundColor=qo(e),++e}(i,e))}}function Go(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Zo={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n,a=Go(s)||(r=n)&&(r.borderColor||r.backgroundColor)||o&&Go(o)||"rgba(0,0,0,0.1)"!==ue.borderColor||"rgba(0,0,0,0.1)"!==ue.backgroundColor;var r;if(!i.forceOverride&&a)return;const l=Ko(t);s.forEach(l)}};function Jo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Qo(t){t.data.datasets.forEach((t=>{Jo(t)}))}var ta={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Qo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===Pi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=J(it(e,o.axis,a).lo,0,i-1)),s=h?J(it(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(i.threshold||4*n))return void Jo(e);let f;switch(s(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;cu&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,i);break;case"min-max":f=function(t,e,i,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const x=[],b=e+i-1,_=t[e].x,y=t[b].x-_;for(o=e;og&&(g=l,d=o),p=(m*p+a.x)/++m;else{const i=o-1;if(!s(c)&&!s(d)){const e=Math.min(c,d),s=Math.max(c,d);e!==u&&e!==i&&x.push({...t[e],x:p}),s!==u&&s!==i&&x.push({...t[s],x:p})}o>0&&i!==u&&x.push(t[i]),x.push(a),h=e,m=0,f=g=l,c=d=u=o}}return x}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=f}))},destroy(t){Qo(t)}};function ea(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=G(n),o=G(o)),{property:t,start:n,end:o}}function ia(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function sa(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function na(t,e){let i=[],s=!1;return n(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ia(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new oo({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function oa(t){return t&&!1!==t.fill}function aa(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!a(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function ra(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=l(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(o(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return a(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function la(t,e,i){const s=[];for(let n=0;n=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&ua(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;oa(i)&&ua(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;oa(s)&&"beforeDatasetDraw"===i.drawTime&&ua(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const ba=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class _a extends $s{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=d(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Si(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=ba(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=ya(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Oi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ft(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ft(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),ze(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ue.color,r=Oi(t.rtl,this.left,this.width),h=Si(o.font),{padding:c}=o,d=h.size,u=d/2;let f;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:g,boxHeight:p,itemHeight:m}=ba(o,d),x=this.isHorizontal(),b=this._computeTitleHeight();f=x?{x:ft(n,this.left+c,this.right-i[0]),y:this.top+c+b,line:0}:{x:this.left+c,y:ft(n,this.top+b+c,this.bottom-e[0].height),line:0},Ai(this.ctx,t.textDirection);const _=m+c;this.legendItems.forEach(((y,v)=>{s.strokeStyle=y.fontColor,s.fillStyle=y.fontColor;const M=s.measureText(y.text).width,w=r.textAlign(y.textAlign||(y.textAlign=o.textAlign)),k=g+u+M;let S=f.x,P=f.y;r.setWidth(this.width),x?v>0&&S+k+c>this.right&&(P=f.y+=_,f.line++,S=f.x=ft(n,this.left+c,this.right-i[f.line])):v>0&&P+_>this.bottom&&(S=f.x=S+e[f.line].width+c,f.line++,P=f.y=ft(n,this.top+b+c,this.bottom-e[f.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;s.save();const n=l(i.lineWidth,1);if(s.fillStyle=l(i.fillStyle,a),s.lineCap=l(i.lineCap,"butt"),s.lineDashOffset=l(i.lineDashOffset,0),s.lineJoin=l(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=l(i.strokeStyle,a),s.setLineDash(l(i.lineDash,[])),o.usePointStyle){const a={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);Ee(s,a,l,e+u,o.pointStyleWidth&&g)}else{const o=e+Math.max((d-p)/2,0),a=r.leftForLtr(t,g),l=wi(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?He(s,{x:a,y:o,w:g,h:p,radius:l}):s.rect(a,o,g,p),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(S),P,y),S=gt(w,S+g+u,x?S+k:this.right,t.rtl),function(t,e,i){Ne(s,i.text,t,e+m/2,h,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(S),P,y),x)f.x+=k+c;else if("string"!=typeof y.text){const t=h.lineHeight;f.y+=ya(y,t)+c}else f.y+=_})),Ti(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Si(e.font),s=ki(e.padding);if(!e.display)return;const n=Oi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ft(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ft(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ft(a,c,c+d);o.textAlign=n.textAlign(ut(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ne(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Si(t.font),i=ki(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(tt(t,this.left,this.right)&&tt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;it.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=ki(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class Ma extends $s{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=n(i.text)?i.text.length:1;this._padding=ki(i.padding);const o=s*Si(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ft(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ft(a,s,e),c=-.5*C):(l=n-t,h=ft(a,e,s),c=.5*C),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Si(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ne(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:ut(e.align),textBaseline:"middle",translation:[n,o]})}}var wa={id:"title",_element:Ma,start(t,e,i){!function(t,e){const i=new Ma({ctx:t.ctx,options:e,chart:t});ls.configure(t,i,e),ls.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;ls.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ka=new WeakMap;var Sa={id:"subtitle",start(t,e,i){const s=new Ma({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s),ka.set(t,s)},stop(t){ls.removeBox(t,ka.get(t)),ka.delete(t)},beforeUpdate(t,e,i){const s=ka.get(t);ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Pa={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;et+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i-1?t.split("\n"):t}function Oa(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Aa(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Si(e.bodyFont),h=Si(e.titleFont),c=Si(e.footerFont),d=o.length,f=n.length,g=s.length,p=ki(e.padding);let m=p.height,x=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(b-g)*l.lineHeight+(b-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){x=Math.max(x,i.measureText(t).width+_)};return i.save(),i.font=h.string,u(t.title,y),i.font=l.string,u(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,u(s,(t=>{u(t.before,y),u(t.lines,y),u(t.after,y)})),_=0,i.font=c.string,u(t.footer,y),i.restore(),x+=p.width,{width:x,height:m}}function Ta(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function La(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return it.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||Ta(t,e,i,s),yAlign:s}}function Ea(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:J(g,0,s.width-e.width),y:J(p,0,s.height-e.height)}}function Ra(t,e,i){const s=ki(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function Ia(t){return Da([],Ca(t))}function za(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const Fa={beforeTitle:e,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex{const e={before:[],lines:[],after:[]},n=za(i,t);Da(e.before,Ca(Va(n,"beforeLabel",this,t))),Da(e.lines,Va(n,"label",this,t)),Da(e.after,Ca(Va(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return Ia(Va(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Va(i,"beforeFooter",this,t),n=Va(i,"footer",this,t),o=Va(i,"afterFooter",this,t);let a=[];return a=Da(a,Ca(s)),a=Da(a,Ca(n)),a=Da(a,Ca(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;at.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),u(l,(e=>{const i=za(t.callbacks,e);s.push(Va(i,"labelColor",this,e)),n.push(Va(i,"labelPointStyle",this,e)),o.push(Va(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Pa[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Aa(this,i),a=Object.assign({},t,e),r=La(this.chart,i,a),l=Ea(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=wi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Oi(i.rtl,this.x,this.width);for(t.x=Ra(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Si(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,He(t,{x:e,y:g,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),He(t,{x:i,y:g+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,h,l),t.strokeRect(e,g,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,g+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Si(i.bodyFont);let d=c.lineHeight,f=0;const g=Oi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+d/2),t.y+=d+n},m=g.textAlign(o);let x,b,_,y,v,M,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ra(this,m,i),e.fillStyle=i.bodyColor,u(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,M=s.length;y0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Pa[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Aa(this,t),a=Object.assign({},i,this._size),r=La(e,t,a),l=Ea(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=ki(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ai(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ti(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!f(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!f(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Pa[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var Wa={id:"tooltip",_element:Ba,positioners:Pa,afterInit(t,e,i){i&&(t.tooltip=new Ba({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Fa},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return Tn.register(Un,$o,go,t),Tn.helpers={...Hi},Tn._adapters=In,Tn.Animation=As,Tn.Animations=Ts,Tn.animator=bt,Tn.controllers=nn.controllers.items,Tn.DatasetController=js,Tn.Element=$s,Tn.elements=go,Tn.Interaction=Ki,Tn.layouts=ls,Tn.platforms=Ds,Tn.Scale=tn,Tn.Ticks=ae,Object.assign(Tn,Un,$o,go,t,Ds),Tn.Chart=Tn,"undefined"!=typeof window&&(window.Chart=Tn),Tn})); +//# sourceMappingURL=chart.umd.js.map diff --git a/webassets/vendor/js/jquery-3.7.1.min.js b/webassets/vendor/js/jquery-3.7.1.min.js new file mode 100644 index 0000000..7f37b5d --- /dev/null +++ b/webassets/vendor/js/jquery-3.7.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="
",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>=e.x&&n.x<=i.x,t=t.y>=e.y&&n.y<=i.y;return o&&t},overlaps:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>=e.lat&&n.lat<=i.lat,t=t.lng>=e.lng&&n.lng<=i.lng;return o&&t},overlaps:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>e.lat&&n.late.lng&&n.lng","http://www.w3.org/2000/svg"===(Wt.firstChild&&Wt.firstChild.namespaceURI));function y(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var b={ie:pt,ielt9:mt,edge:n,webkit:ft,android:gt,android23:vt,androidStock:yt,opera:xt,chrome:wt,gecko:bt,safari:Pt,phantom:Lt,opera12:o,win:Tt,ie3d:Mt,webkit3d:zt,gecko3d:_t,any3d:Ct,mobile:Zt,mobileWebkit:St,mobileWebkit3d:Et,msPointer:kt,pointer:Ot,touch:Bt,touchNative:At,mobileOpera:It,mobileGecko:Rt,retina:Nt,passiveEvents:Dt,canvas:jt,svg:Ht,vml:!Ht&&function(){try{var t=document.createElement("div"),e=(t.innerHTML='',t.firstChild);return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),inlineSvg:Wt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},Ft=b.msPointer?"MSPointerDown":"pointerdown",Ut=b.msPointer?"MSPointerMove":"pointermove",Vt=b.msPointer?"MSPointerUp":"pointerup",qt=b.msPointer?"MSPointerCancel":"pointercancel",Gt={touchstart:Ft,touchmove:Ut,touchend:Vt,touchcancel:qt},Kt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&O(e);ee(t,e)},touchmove:ee,touchend:ee,touchcancel:ee},Yt={},Xt=!1;function Jt(t,e,i){return"touchstart"!==e||Xt||(document.addEventListener(Ft,$t,!0),document.addEventListener(Ut,Qt,!0),document.addEventListener(Vt,te,!0),document.addEventListener(qt,te,!0),Xt=!0),Kt[e]?(i=Kt[e].bind(this,i),t.addEventListener(Gt[e],i,!1),i):(console.warn("wrong event specified:",e),u)}function $t(t){Yt[t.pointerId]=t}function Qt(t){Yt[t.pointerId]&&(Yt[t.pointerId]=t)}function te(t){delete Yt[t.pointerId]}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Yt)e.touches.push(Yt[i]);e.changedTouches=[e],t(e)}}var ie=200;function ne(t,i){t.addEventListener("dblclick",i);var n,o=0;function e(t){var e;1!==t.detail?n=t.detail:"mouse"===t.pointerType||t.sourceCapabilities&&!t.sourceCapabilities.firesTouchEvents||((e=Ne(t)).some(function(t){return t instanceof HTMLLabelElement&&t.attributes.for})&&!e.some(function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement})||((e=Date.now())-o<=ie?2===++n&&i(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return(t=n).type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):n=1,o=e))}return t.addEventListener("click",e),{dblclick:i,simDblclick:e}}var oe,se,re,ae,he,le,ue=we(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ce=we(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ce||"OTransition"===ce?ce+"End":"transitionend";function _e(t){return"string"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];return"auto"===(i=i&&"auto"!==i||!document.defaultView?i:(t=document.defaultView.getComputedStyle(t,null))?t[e]:null)?null:i}function P(t,e,i){t=document.createElement(t);return t.className=e||"",i&&i.appendChild(t),t}function T(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function fe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){return void 0!==t.classList?t.classList.contains(e):0<(t=xe(t)).length&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(t)}function M(t,e){var i;if(void 0!==t.classList)for(var n=F(e),o=0,s=n.length;othis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),t=this._limitCenter(i,this._zoom,g(t));return i.equals(t)||this.panTo(t,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=m((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),t=this.project(t),s=this.getPixelBounds(),i=_([s.min.add(i),s.max.subtract(n)]),s=i.getSize();return i.contains(t)||(this._enforcingBounds=!0,n=t.subtract(i.getCenter()),i=i.extend(t).getSize().subtract(s),o.x+=n.x<0?-i.x:i.x,o.y+=n.y<0?-i.y:i.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=l({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize(),i=(this._sizeChanged=!0,this._lastCenter=null,this.getSize()),n=e.divideBy(2).round(),o=i.divideBy(2).round(),n=n.subtract(o);return n.x||n.y?(t.animate&&t.pan?this.panBy(n):(t.pan&&this._rawPanBy(n),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){var e,i;return t=this._locateOptions=l({timeout:1e4,watch:!1},t),"geolocation"in navigator?(e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this),t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t)):this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e;this._container._leaflet_id&&(e=t.code,t=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout"),this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+t+"."}))},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e,i,n=new v(t.coords.latitude,t.coords.longitude),o=n.toBounds(2*t.coords.accuracy),s=this._locateOptions,r=(s.setView&&(e=this.getBoundsZoom(o),this.setView(n,s.maxZoom?Math.min(e,s.maxZoom):e)),{latlng:n,bounds:o,timestamp:t.timestamp});for(i in t.coords)"number"==typeof t.coords[i]&&(r[i]=t.coords[i]);this.fire("locationfound",r)}},addHandler:function(t,e){return e&&(e=this[t]=new e(this),this._handlers.push(e),this.options[t]&&e.enable()),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(var t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),T(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(r(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)T(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){e=P("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new s(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=g(t),i=m(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),t=t.getSouthEast(),i=this.getSize().subtract(i),t=_(this.project(t,n),this.project(r,n)).getSize(),r=b.any3d?this.options.zoomSnap:1,a=i.x/t.x,i=i.y/t.y,t=e?Math.max(a,i):Math.min(a,i),n=this.getScaleZoom(t,n);return r&&(n=Math.round(n/(r/100))*(r/100),n=e?Math.ceil(n/r)*r:Math.floor(n/r)*r),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){t=this._getTopLeftPoint(t,e);return new f(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,t=(e=void 0===e?this._zoom:e,i.zoom(t*i.scale(e)));return isNaN(t)?1/0:t},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(w(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(m(t),e)},layerPointToLatLng:function(t){t=m(t).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(t){return this.project(w(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(w(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(g(t))},distance:function(t,e){return this.options.crs.distance(w(t),w(e))},containerPointToLayerPoint:function(t){return m(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return m(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){t=this.containerPointToLayerPoint(m(t));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(w(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){t=this._container=_e(t);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");S(t,"scroll",this._onScroll,this),this._containerId=h(t)},_initLayout:function(){var t=this._container,e=(this._fadeAnimated=this.options.fadeAnimation&&b.any3d,M(t,"leaflet-container"+(b.touch?" leaflet-touch":"")+(b.retina?" leaflet-retina":"")+(b.ielt9?" leaflet-oldie":"")+(b.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":"")),pe(t,"position"));"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Z(this._mapPane,new p(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(M(t.markerPane,"leaflet-zoom-hide"),M(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Z(this._mapPane,new p(0,0));var n=!this._loaded,o=(this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset"),this._zoom!==e);this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return r(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Z(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var e=t?k:S;e((this._targets[h(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),b.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){r(this._resizeRequest),this._resizeRequest=x(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[h(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!We(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n=n.length||r||o||!this.listens(e,!0)?n:[this]},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e,i=t.target||t.srcElement;!this._loaded||i._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(i)||("mousedown"===(e=t.type)&&Me(i),this._fireDOMEvent(t,e))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){"click"===t.type&&((a=l({},t)).type="preclick",this._fireDOMEvent(a,a.type,i));var n=this._findEventTargets(t,e);if(i){for(var o=[],s=0;sthis.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/n);if(!0!==i.animate&&!this.getSize().contains(n))return!1;x(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this)}return!0},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&z(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ue(t){return new B(t)}var B=et.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),t=t._controlCorners[i];return M(e,"leaflet-control"),-1!==i.indexOf("bottom")?t.insertBefore(e,t.firstChild):t.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(T(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0",e=document.createElement("div");return e.innerHTML=t,e.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer),n=(t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+h(this),n),this._layerControlInputs.push(e),e.layerId=h(t.layer),S(e,"click",this._onInputClick,this),document.createElement("span")),o=(n.innerHTML=" "+t.name,document.createElement("span"));return i.appendChild(o),o.appendChild(e),o.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;0<=s;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;se.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section,e=(this._preventClick=!0,S(t,"click",O),this.expand(),this);setTimeout(function(){k(t,"click",O),e._preventClick=!1})}})),qe=B.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=P("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){i=P("a",i,n);return i.innerHTML=t,i.href="#",i.title=e,i.setAttribute("role","button"),i.setAttribute("aria-label",e),Ie(i),S(i,"click",Re),S(i,"click",o,this),S(i,"click",this._refocusOnMap,this),i},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";z(this._zoomInButton,e),z(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),!this._disabled&&t._zoom!==t.getMinZoom()||(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),!this._disabled&&t._zoom!==t.getMaxZoom()||(M(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}}),Ge=(A.mergeOptions({zoomControl:!0}),A.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new qe,this.addControl(this.zoomControl))}),B.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=P("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P("div",e,i)),t.imperial&&(this._iScale=P("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,t=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(t)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,i,t=3.2808399*t;5280'+(b.inlineSvg?' ':"")+"Leaflet"},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var e in(t.attributionControl=this)._container=P("div","leaflet-control-attribution"),Ie(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t,e=[];for(t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(", ")),this._container.innerHTML=i.join(' ')}}}),n=(A.mergeOptions({attributionControl:!0}),A.addInitHook(function(){this.options.attributionControl&&(new Ke).addTo(this)}),B.Layers=Ve,B.Zoom=qe,B.Scale=Ge,B.Attribution=Ke,Ue.layers=function(t,e,i){return new Ve(t,e,i)},Ue.zoom=function(t){return new qe(t)},Ue.scale=function(t){return new Ge(t)},Ue.attribution=function(t){return new Ke(t)},et.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}})),ft=(n.addTo=function(t,e){return t.addHandler(e,this),this},{Events:e}),Ye=b.touch?"touchstart mousedown":"mousedown",Xe=it.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){c(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(S(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Xe._dragging===this&&this.finishDrag(!0),k(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var e,i;this._enabled&&(this._moved=!1,ve(this._element,"leaflet-zoom-anim")||(t.touches&&1!==t.touches.length?Xe._dragging===this&&this.finishDrag():Xe._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((Xe._dragging=this)._preventOutline&&Me(this._element),Le(),re(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=Ce(this._element),this._startPoint=new p(i.clientX,i.clientY),this._startPos=Pe(this._element),this._parentScale=Ze(e),i="mousedown"===t.type,S(document,i?"mousemove":"touchmove",this._onMove,this),S(document,i?"mouseup":"touchend touchcancel",this._onUp,this)))))},_onMove:function(t){var e;this._enabled&&(t.touches&&1e&&(i.push(t[n]),o=n);oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function ri(t,e,i,n){var o=e.x,e=e.y,s=i.x-o,r=i.y-e,a=s*s+r*r;return 0this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||yi.prototype._containsPoint.call(this,t,!0)}});var wi=ci.extend({initialize:function(t,e){c(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=d(t)?t:t.features;if(o){for(e=0,i=o.length;es.x&&(r=i.x+a-s.x+o.x),i.x-r-n.x<(a=0)&&(r=i.x-n.x),i.y+e+o.y>s.y&&(a=i.y+e-s.y+o.y),i.y-a-n.y<0&&(a=i.y-n.y),(r||a)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([r,a]))))},_getAnchor:function(){return m(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}})),Ii=(A.mergeOptions({closePopupOnClick:!0}),A.include({openPopup:function(t,e,i){return this._initOverlay(Bi,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),o.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Bi,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof ci||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e;this._popup&&this._map&&(Re(t),e=t.layer||t.target,this._popup._source!==e||e instanceof fi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}}),Ai.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Ai.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=P("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+h(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i=this._map,n=this._container,o=i.latLngToContainerPoint(i.getCenter()),i=i.layerPointToContainerPoint(t),s=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,h=m(this.options.offset),l=this._getAnchor(),i="top"===s?(e=r/2,a):"bottom"===s?(e=r/2,0):(e="center"===s?r/2:"right"===s?0:"left"===s?r:i.xthis.options.maxZoom||nthis.options.maxZoom||void 0!==this.options.minZoom&&oi.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}return!this.options.bounds||(e=this._tileCoordsToBounds(t),g(this.options.bounds).overlaps(e))},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),i=n.add(i);return[e.unproject(n,t.z),e.unproject(i,t.z)]},_tileCoordsToBounds:function(t){t=this._tileCoordsToNwSe(t),t=new s(t[0],t[1]);return t=this.options.noWrap?t:this._map.wrapLatLngBounds(t)},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var t=t.split(":"),e=new p(+t[0],+t[1]);return e.z=+t[2],e},_removeTile:function(t){var e=this._tiles[t];e&&(T(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,b.ielt9&&this.options.opacity<1&&C(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&x(a(this._tileReady,this,t,null,o)),Z(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(C(i.el,0),r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),b.ielt9||!this._map._fadeAnimated?x(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new f(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Di=Ni.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=c(this,e)).detectRetina&&b.retina&&0')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),zt={_initContainer:function(){this._container=P("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Wi.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Vi("shape");M(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Vi("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;T(e),t.removeInteractiveTarget(e),delete this._layers[h(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e=e||(t._stroke=Vi("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=d(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i=i||(t._fill=Vi("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){fe(t._container)},_bringToBack:function(t){ge(t._container)}},qi=b.vml?Vi:ct,Gi=Wi.extend({_initContainer:function(){this._container=qi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=qi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){T(this._container),k(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){var t,e,i;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),e=(t=this._bounds).getSize(),i=this._container,this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Z(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update"))},_initPath:function(t){var e=t._path=qi("path");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,"leaflet-interactive"),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){T(t._path),t.removeInteractiveTarget(t._path),delete this._layers[h(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,t=t.options;e&&(t.stroke?(e.setAttribute("stroke",t.color),e.setAttribute("stroke-opacity",t.opacity),e.setAttribute("stroke-width",t.weight),e.setAttribute("stroke-linecap",t.lineCap),e.setAttribute("stroke-linejoin",t.lineJoin),t.dashArray?e.setAttribute("stroke-dasharray",t.dashArray):e.removeAttribute("stroke-dasharray"),t.dashOffset?e.setAttribute("stroke-dashoffset",t.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),t.fill?(e.setAttribute("fill",t.fillColor||t.color),e.setAttribute("fill-opacity",t.fillOpacity),e.setAttribute("fill-rule",t.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,dt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",e=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,e)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){fe(t._path)},_bringToBack:function(t){ge(t._path)}});function Ki(t){return b.svg||b.vml?new Gi(t):null}b.vml&&Gi.include(zt),A.include({getRenderer:function(t){t=(t=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(t){var e;return"overlayPane"!==t&&void 0!==t&&(void 0===(e=this._paneRenderers[t])&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e)},_createRenderer:function(t){return this.options.preferCanvas&&Ui(t)||Ki(t)}});var Yi=xi.extend({initialize:function(t,e){xi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=g(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});Gi.create=qi,Gi.pointsToPath=dt,wi.geometryToLayer=bi,wi.coordsToLatLng=Li,wi.coordsToLatLngs=Ti,wi.latLngToCoords=Mi,wi.latLngsToCoords=zi,wi.getFeature=Ci,wi.asFeature=Zi,A.mergeOptions({boxZoom:!0});var _t=n.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){S(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){k(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){T(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),re(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(t),S(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P("div","leaflet-zoom-box",this._container),M(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var t=new f(this._point,this._startPoint),e=t.getSize();Z(this._box,t.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(T(this._box),z(this._container,"leaflet-crosshair")),ae(),Te(),k(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0),t=new s(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})))},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}}),Ct=(A.addInitHook("addHandler","boxZoom",_t),A.mergeOptions({doubleClickZoom:!0}),n.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,i=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}})),Zt=(A.addInitHook("addHandler","doubleClickZoom",Ct),A.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),n.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new Xe(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),M(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,e=this._map;e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=g(this._map.options.maxBounds),this._offsetLimit=_(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,e.fire("movestart").fire("dragstart"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var e,i;this._map.options.inertia&&(e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(i),this._times.push(e),this._prunePositions(e)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,n=(n+e+i)%t-e-i,t=Math.abs(o+i)e.getMaxZoom()&&1 + * @version 1.2.1 + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e.leaflet=e.leaflet||{},e.leaflet["extra-markers"]={}))}(this,function(e){"use strict";var t=L.ExtraMarkers={};t.version=L.ExtraMarkers.version="1.2.1",t.Icon=L.ExtraMarkers.Icon=L.Icon.extend({options:{iconSize:[35,45],iconAnchor:[17,42],popupAnchor:[1,-32],shadowAnchor:[10,12],shadowSize:[36,16],className:"",prefix:"",extraClasses:"",shape:"circle",icon:"",innerHTML:"",markerColor:"red",svgBorderColor:"#fff",svgOpacity:1,iconColor:"#fff",iconRotate:0,number:"",svg:!1,name:""},initialize:function(e){e=L.Util.setOptions(this,e)},createIcon:function(){var e=document.createElement("div"),t=this.options;return t.icon&&(e.innerHTML=this._createInner()),t.innerHTML&&(e.innerHTML=t.innerHTML),t.bgPos&&(e.style.backgroundPosition=-t.bgPos.x+"px "+-t.bgPos.y+"px"),t.svg?this._setIconStyles(e,"svg"):this._setIconStyles(e,t.shape+"-"+t.markerColor),e},_getColorHex:function(e){return{red:"#a23337","orange-dark":"#d73e29",orange:"#ef9227",yellow:"#f5bb39","blue-dark":"#276273",cyan:"#32a9dd",purple:"#440444",violet:"#90278d",pink:"#c057a0",green:"#006838",white:"#e8e8e8",black:"#211c1d"}[e]||e},_createSvg:function(e,t){return{circle:'',square:'',star:'',penta:''}[e]},_createInner:function(){var e="",t="",o="",a="",r=this.options;return r.iconColor&&(e="color: "+r.iconColor+";"),0!==r.iconRotate&&(e+="-webkit-transform: rotate("+r.iconRotate+"deg);",e+="-moz-transform: rotate("+r.iconRotate+"deg);",e+="-o-transform: rotate("+r.iconRotate+"deg);",e+="-ms-transform: rotate("+r.iconRotate+"deg);",e+="transform: rotate("+r.iconRotate+"deg);"),r.number&&(t='number="'+r.number+'" '),r.extraClasses.length&&(o+=r.extraClasses+" "),r.prefix.length&&(o+=r.prefix+" "),r.icon.length&&(o+=r.icon+" "),r.svg&&(a+=this._createSvg(r.shape,this._getColorHex(r.markerColor))),a+="',r.name.length&&(a+='
'+r.name+"
"),a},_setIconStyles:function(e,t){var o,a,r=this.options,n=L.point(r["shadow"===t?"shadowSize":"iconSize"]);a="shadow"===t?(o=L.point(r.shadowAnchor||r.iconAnchor),"shadow"):(o=L.point(r.iconAnchor),"icon"),!o&&n&&(o=n.divideBy(2,!0)),e.className="leaflet-marker-"+a+" extra-marker extra-marker-"+t+" "+r.className,o&&(e.style.marginLeft=-o.x+"px",e.style.marginTop=-o.y+"px"),n&&(e.style.width=n.x+"px",e.style.height=n.y+"px")},createShadow:function(){var e=document.createElement("div");return this._setIconStyles(e,"shadow"),e}}),t.icon=L.ExtraMarkers.icon=function(e){return new L.ExtraMarkers.Icon(e)},e.ExtraMarkers=t,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file diff --git a/webassets/vendor/js/leaflet-geodesic-2.7.2.umd.min.js b/webassets/vendor/js/leaflet-geodesic-2.7.2.umd.min.js new file mode 100644 index 0000000..4939677 --- /dev/null +++ b/webassets/vendor/js/leaflet-geodesic-2.7.2.umd.min.js @@ -0,0 +1,2 @@ +/*! leaflet.geodesic 2.7.2 - (c) Henry Thasler - https://github.com/henrythasler/Leaflet.Geodesic#readme */ +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("leaflet")):"function"==typeof define&&define.amd?define(["exports","leaflet"],n):n(((t="undefined"!=typeof globalThis?globalThis:t||self).L=t.L||{},t.L.geodesic={}),t.L)}(this,(function(t,n){"use strict";function e(t){var n=Object.create(null);return t&&Object.keys(t).forEach((function(e){if("default"!==e){var i=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,i.get?i:{enumerable:!0,get:function(){return t[e]}})}})),n.default=t,Object.freeze(n)}var i=e(n),a=function(t,n){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])},a(t,n)};function o(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function e(){this.constructor=t}a(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}var s=function(){return s=Object.assign||function(t){for(var n,e=1,i=arguments.length;el&&++x=i)throw new EvalError("Direct vincenty formula failed to converge after ".concat(i," iterations \n (start=").concat(t.lat,"/").concat(t.lng,"; bearing=").concat(n,"; distance=").concat(e,")"));var G=M*D-L*E*f,j=Math.atan2(M*E+L*D*f,(1-u)*Math.sqrt(v*v+G*G)),N=u/16*w*(4+u*(4-3*w)),A=o+(Math.atan2(D*g,L*E-M*D*f)-(1-N)*u*v*(S+N*D*(P+N*E*(2*P*P-1)))),T=Math.atan2(v,-G);return{lat:this.toDegrees(j),lng:this.toDegrees(A),bearing:this.wrap360(this.toDegrees(T))}},t.prototype.inverse=function(t,n,e,a){void 0===e&&(e=100),void 0===a&&(a=!0);var o=t,s=n,r=this.toRadians(o.lat),l=this.toRadians(o.lng),c=this.toRadians(s.lat),h=this.toRadians(s.lng),p=Math.PI,u=Number.EPSILON,g=this.ellipsoid,f=g.a,d=g.b,L=g.f,M=h-l,y=(1-L)*Math.tan(r),v=1/Math.sqrt(1+y*y),w=y*v,m=(1-L)*Math.tan(c),b=1/Math.sqrt(1+m*m),O=m*b,S=Math.abs(M)>p/2||Math.abs(c-r)>p/2,D=M,E=null,P=null,R=S?p:0,x=0,G=S?-1:1,j=null,N=1,A=null,T=1,q=null,C=null,I=0;do{if(j=b*(E=Math.sin(D))*(b*E)+(v*O-w*b*(P=Math.cos(D)))*(v*O-w*b*P),Math.abs(j)p)throw new EvalError("λ > π")}while(Math.abs(D-C)>1e-12&&++I=e){if(a)return this.inverse(t,new i.LatLng(n.lat,n.lng-.01),e,a);throw new EvalError("Inverse vincenty formula failed to converge after ".concat(e," iterations \n (start=").concat(t.lat,"/").concat(t.lng,"; dest=").concat(n.lat,"/").concat(n.lng,")"))}var _=T*(f*f-d*d)/(d*d),k=_/1024*(256+_*(_*(74-47*_)-128)),B=d*(1+_/16384*(4096+_*(_*(320-175*_)-768)))*(R-k*x*(N+k/4*(G*(2*N*N-1)-k/6*N*(4*x*x-3)*(4*N*N-3)))),J=Math.abs(j)0?y:2*g-y),m=(Math.sin(l-s)>0?2*g-v:v)-h;if(0===Math.sin(w)&&0===Math.sin(m))return null;if(Math.sin(w)*Math.sin(m)<0)return null;var b=-Math.cos(w)*Math.cos(m)+Math.sin(w)*Math.sin(m)*Math.cos(d),O=Math.atan2(Math.sin(d)*Math.sin(w)*Math.sin(m),Math.cos(m)+Math.cos(w)*b),S=Math.asin(Math.min(Math.max(Math.sin(o)*Math.cos(O)+Math.cos(o)*Math.sin(O)*Math.cos(c),-1),1)),D=s+Math.atan2(Math.sin(c)*Math.sin(O)*Math.cos(o),Math.cos(O)-Math.sin(o)*Math.sin(S));return new i.LatLng(this.toDegrees(S),this.toDegrees(D))},t.prototype.midpoint=function(t,n){var e=this.toRadians(t.lat),a=this.toRadians(t.lng),o=this.toRadians(n.lat),s=this.toRadians(n.lng-t.lng),r=Math.cos(e),l=0,c=Math.sin(e),h={x:r+Math.cos(o)*Math.cos(s),y:l+Math.cos(o)*Math.sin(s),z:c+Math.sin(o)},p=Math.atan2(h.z,Math.sqrt(h.x*h.x+h.y*h.y)),u=a+Math.atan2(h.y,h.x);return new i.LatLng(this.toDegrees(p),this.toDegrees(u))},t}(),c=function(){function t(t){var n;this.geodesic=new l,this.steps=null!==(n=null==t?void 0:t.steps)&&void 0!==n?n:3}return t.prototype.recursiveMidpoint=function(t,n,e){var i=[t,n],a=this.geodesic.midpoint(t,n);return e>0?(i.splice.apply(i,r([0,1],this.recursiveMidpoint(t,a,e-1),!1)),i.splice.apply(i,r([i.length-2,2],this.recursiveMidpoint(a,n,e-1),!1))):i.splice(1,0,a),i},t.prototype.line=function(t,n){return this.recursiveMidpoint(t,n,Math.min(8,this.steps))},t.prototype.multiLineString=function(t){for(var n=[],e=0,i=t;e180?s.lng=s.lng-360:s.lng-o.lng<-180&&(s.lng=s.lng+360);var r=[[new i.LatLng(o.lat,this.geodesic.wrap(o.lng,180),o.alt),new i.LatLng(s.lat,this.geodesic.wrap(s.lng,180),s.alt)]];if(o.lng>=-180&&o.lng<=180){if(s.lng<-180){var l=this.geodesic.inverse(o,s).initialBearing;(c=this.geodesic.intersection(o,l,e.point,e.bearing))&&(r=[[o,c],[new i.LatLng(c.lat,c.lng+360),new i.LatLng(s.lat,s.lng+360,s.alt)]])}else if(s.lng>180){l=this.geodesic.inverse(o,s).initialBearing;(c=this.geodesic.intersection(o,l,a.point,a.bearing))&&(r=[[o,c],[new i.LatLng(c.lat,c.lng-360),new i.LatLng(s.lat,s.lng-360,s.alt)]])}}else if(s.lng>=-180&&s.lng<=180)if(o.lng<-180){l=this.geodesic.inverse(o,s).initialBearing;(c=this.geodesic.intersection(o,l,e.point,e.bearing))&&(r=[[new i.LatLng(o.lat,o.lng+360,o.alt),new i.LatLng(c.lat,c.lng+360)],[c,s]])}else if(o.lng>180){var c;l=this.geodesic.inverse(o,s).initialBearing;(c=this.geodesic.intersection(o,l,e.point,e.bearing))&&(r=[[new i.LatLng(o.lat,o.lng-360,o.alt),new i.LatLng(c.lat,c.lng-360)],[c,s]])}return r},t.prototype.splitMultiLineString=function(t){for(var n=[],e=0,i=t;e1&&(n.push(o),o=r[1])}n.push(o)}else n.push(a)}return n},t.prototype.wrapMultiLineString=function(t){for(var n=[],e=0,a=t;e 85) n = 85; + if (s < -85) s = -85; + var left = Math.floor(w/(unit*2))*(unit*2); + var right = Math.ceil(e/(unit*2))*(unit*2); + var top = Math.ceil(n/unit)*unit; + var bottom = Math.floor(s/unit)*unit; + this.eachLayer(this.removeLayer, this); + for (var lon = left; lon < right; lon += (unit*2)) { + for (var lat = bottom; lat < top; lat += unit) { + var bounds = [[lat,lon],[lat+unit,lon+(unit*2)]]; + this.addLayer(L.rectangle(bounds, {color: this.options.color, weight: 1, fill:false, interactive: false})); + //var pont = map.latLngToLayerPoint([lat,lon]); + //console.log(pont.x); + this.addLayer(this._getLabel(lon+unit-(unit/lcor),lat+(unit/2)+(unit/lcor*c))); + } + } + return this; + }, + + _getLabel: function(lon,lat) { + var title_size = new Array(0 ,10,12,16,20,26,12,16,24,36,12 ,14 ,20 ,36 ,60 ,12 ,20 ,36 ,8 ,12 ,24 ); + var zoom = map.getZoom(); + var size = title_size[Math.round(zoom)]+'px'; + var title = '' + this._getLocator(lon,lat) + ''; + var myIcon = L.divIcon({className: 'my-div-icon', html: title}); + var marker = L.marker([lat,lon], {icon: myIcon}, clickable=false); + return marker; + }, + + _getLocator: function(lon,lat) { + var ydiv_arr=new Array(10, 1, 1/24, 1/240, 1/240/24); + var d1 = "ABCDEFGHIJKLMNOPQR".split(""); + var d2 = "ABCDEFGHIJKLMNOPQRSTUVWX".split(""); + var d4 = new Array(0 ,1 ,1 ,1 ,1 ,1 ,2 ,2 ,2 ,2 ,3 ,3 ,3 ,3 ,3 ,4 ,4 ,4 ,5 ,5 ,5 ); + var locator = ""; + var x = lon; + var y = lat; + var precision = d4[Math.round(map.getZoom())]; + while (x < -180) {x += 360;} + while (x > 180) {x -=360;} + x = x + 180; + y = y + 90; + locator = locator + d1[Math.floor(x/20)] + d1[Math.floor(y/10)]; + for (var i=0; i<4; i=i+1) { + if (precision > i+1) { + rlon = x%(ydiv_arr[i]*2); + rlat = y%(ydiv_arr[i]); + if ((i%2)==0) { + locator += Math.floor(rlon/(ydiv_arr[i+1]*2)) +""+ Math.floor(rlat/(ydiv_arr[i+1])); + } else { + locator += d2[Math.floor(rlon/(ydiv_arr[i+1]*2))] +""+ d2[Math.floor(rlat/(ydiv_arr[i+1]))]; + } + } + } + return locator; + }, + + + + +}); + +L.maidenhead = function (options) { + return new L.Maidenhead(options); +}; diff --git a/webassets/vendor/js/leaflet-providers-2.0.0.js b/webassets/vendor/js/leaflet-providers-2.0.0.js new file mode 100644 index 0000000..bcde1ed --- /dev/null +++ b/webassets/vendor/js/leaflet-providers-2.0.0.js @@ -0,0 +1,1178 @@ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['leaflet'], factory); + } else if (typeof modules === 'object' && module.exports) { + // define a Common JS module that relies on 'leaflet' + module.exports = factory(require('leaflet')); + } else { + // Assume Leaflet is loaded into global object L already + factory(L); + } +}(this, function (L) { + 'use strict'; + + L.TileLayer.Provider = L.TileLayer.extend({ + initialize: function (arg, options) { + var providers = L.TileLayer.Provider.providers; + + var parts = arg.split('.'); + + var providerName = parts[0]; + var variantName = parts[1]; + + if (!providers[providerName]) { + throw 'No such provider (' + providerName + ')'; + } + + var provider = { + url: providers[providerName].url, + options: providers[providerName].options + }; + + // overwrite values in provider from variant. + if (variantName && 'variants' in providers[providerName]) { + if (!(variantName in providers[providerName].variants)) { + throw 'No such variant of ' + providerName + ' (' + variantName + ')'; + } + var variant = providers[providerName].variants[variantName]; + var variantOptions; + if (typeof variant === 'string') { + variantOptions = { + variant: variant + }; + } else { + variantOptions = variant.options; + } + provider = { + url: variant.url || provider.url, + options: L.Util.extend({}, provider.options, variantOptions) + }; + } + + // replace attribution placeholders with their values from toplevel provider attribution, + // recursively + var attributionReplacer = function (attr) { + if (attr.indexOf('{attribution.') === -1) { + return attr; + } + return attr.replace(/\{attribution.(\w*)\}/g, + function (match, attributionName) { + return attributionReplacer(providers[attributionName].options.attribution); + } + ); + }; + provider.options.attribution = attributionReplacer(provider.options.attribution); + + // Compute final options combining provider options with any user overrides + var layerOpts = L.Util.extend({}, provider.options, options); + L.TileLayer.prototype.initialize.call(this, provider.url, layerOpts); + } + }); + + /** + * Definition of providers. + * see http://leafletjs.com/reference.html#tilelayer for options in the options map. + */ + + L.TileLayer.Provider.providers = { + OpenStreetMap: { + url: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', + options: { + maxZoom: 19, + attribution: + '© OpenStreetMap contributors' + }, + variants: { + Mapnik: {}, + DE: { + url: 'https://tile.openstreetmap.de/{z}/{x}/{y}.png', + options: { + maxZoom: 18 + } + }, + CH: { + url: 'https://tile.osm.ch/switzerland/{z}/{x}/{y}.png', + options: { + maxZoom: 18, + bounds: [[45, 5], [48, 11]] + } + }, + France: { + url: 'https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', + options: { + maxZoom: 20, + attribution: '© OpenStreetMap France | {attribution.OpenStreetMap}' + } + }, + HOT: { + url: 'https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png', + options: { + attribution: + '{attribution.OpenStreetMap}, ' + + 'Tiles style by Humanitarian OpenStreetMap Team ' + + 'hosted by OpenStreetMap France' + } + }, + BZH: { + url: 'https://tile.openstreetmap.bzh/br/{z}/{x}/{y}.png', + options: { + attribution: '{attribution.OpenStreetMap}, Tiles courtesy of Breton OpenStreetMap Team', + bounds: [[46.2, -5.5], [50, 0.7]] + } + } + } + }, + MapTilesAPI: { + url: 'https://maptiles.p.rapidapi.com/{variant}/{z}/{x}/{y}.png?rapidapi-key={apikey}', + options: { + attribution: + '© MapTiles API, {attribution.OpenStreetMap}', + variant: 'en/map/v1', + // Get your own MapTiles API access token here : https://www.maptilesapi.com/ + // NB : this is a demonstration key that comes with no guarantee and not to be used in production + apikey: '', + maxZoom: 19 + }, + variants: { + OSMEnglish: { + options: { + variant: 'en/map/v1' + } + }, + OSMFrancais: { + options: { + variant: 'fr/map/v1' + } + }, + OSMEspagnol: { + options: { + variant: 'es/map/v1' + } + } + } + }, + OpenSeaMap: { + url: 'https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', + options: { + attribution: 'Map data: © OpenSeaMap contributors' + } + }, + OPNVKarte: { + url: 'https://tileserver.memomaps.de/tilegen/{z}/{x}/{y}.png', + options: { + maxZoom: 18, + attribution: 'Map memomaps.de CC-BY-SA, map data {attribution.OpenStreetMap}' + } + }, + OpenTopoMap: { + url: 'https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png', + options: { + maxZoom: 17, + attribution: 'Map data: {attribution.OpenStreetMap}, SRTM | Map style: © OpenTopoMap (CC-BY-SA)' + } + }, + OpenRailwayMap: { + url: 'https://{s}.tiles.openrailwaymap.org/standard/{z}/{x}/{y}.png', + options: { + maxZoom: 19, + attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © OpenRailwayMap (CC-BY-SA)' + } + }, + OpenFireMap: { + url: 'http://openfiremap.org/hytiles/{z}/{x}/{y}.png', + options: { + maxZoom: 19, + attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © OpenFireMap (CC-BY-SA)' + } + }, + SafeCast: { + url: 'https://s3.amazonaws.com/te512.safecast.org/{z}/{x}/{y}.png', + options: { + maxZoom: 16, + attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © SafeCast (CC-BY-SA)' + } + }, + Stadia: { + url: 'https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}{r}.{ext}', + options: { + minZoom: 0, + maxZoom: 20, + attribution: + '© Stadia Maps ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'alidade_smooth', + ext: 'png' + }, + variants: { + AlidadeSmooth: 'alidade_smooth', + AlidadeSmoothDark: 'alidade_smooth_dark', + OSMBright: 'osm_bright', + Outdoors: 'outdoors', + StamenToner: { + options: { + attribution: + '© Stadia Maps ' + + '© Stamen Design ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'stamen_toner' + } + }, + StamenTonerBackground: { + options: { + attribution: + '© Stadia Maps ' + + '© Stamen Design ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'stamen_toner_background' + } + }, + StamenTonerLines: { + options: { + attribution: + '© Stadia Maps ' + + '© Stamen Design ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'stamen_toner_lines' + } + }, + StamenTonerLabels: { + options: { + attribution: + '© Stadia Maps ' + + '© Stamen Design ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'stamen_toner_labels' + } + }, + StamenTonerLite: { + options: { + attribution: + '© Stadia Maps ' + + '© Stamen Design ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'stamen_toner_lite' + } + }, + StamenWatercolor: { + url: 'https://tiles.stadiamaps.com/tiles/{variant}/{z}/{x}/{y}.{ext}', + options: { + attribution: + '© Stadia Maps ' + + '© Stamen Design ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'stamen_watercolor', + ext: 'jpg', + minZoom: 1, + maxZoom: 16 + } + }, + StamenTerrain: { + options: { + attribution: + '© Stadia Maps ' + + '© Stamen Design ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'stamen_terrain', + minZoom: 0, + maxZoom: 18 + } + }, + StamenTerrainBackground: { + options: { + attribution: + '© Stadia Maps ' + + '© Stamen Design ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'stamen_terrain_background', + minZoom: 0, + maxZoom: 18 + } + }, + StamenTerrainLabels: { + options: { + attribution: + '© Stadia Maps ' + + '© Stamen Design ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'stamen_terrain_labels', + minZoom: 0, + maxZoom: 18 + } + }, + StamenTerrainLines: { + options: { + attribution: + '© Stadia Maps ' + + '© Stamen Design ' + + '© OpenMapTiles ' + + '{attribution.OpenStreetMap}', + variant: 'stamen_terrain_lines', + minZoom: 0, + maxZoom: 18 + } + } + } + }, + Thunderforest: { + url: 'https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png?apikey={apikey}', + options: { + attribution: + '© Thunderforest, {attribution.OpenStreetMap}', + variant: 'cycle', + apikey: '', + maxZoom: 22 + }, + variants: { + OpenCycleMap: 'cycle', + Transport: { + options: { + variant: 'transport' + } + }, + TransportDark: { + options: { + variant: 'transport-dark' + } + }, + SpinalMap: { + options: { + variant: 'spinal-map' + } + }, + Landscape: 'landscape', + Outdoors: 'outdoors', + Pioneer: 'pioneer', + MobileAtlas: 'mobile-atlas', + Neighbourhood: 'neighbourhood' + } + }, + CyclOSM: { + url: 'https://{s}.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png', + options: { + maxZoom: 20, + attribution: 'CyclOSM | Map data: {attribution.OpenStreetMap}' + } + }, + Jawg: { + url: 'https://{s}.tile.jawg.io/{variant}/{z}/{x}/{y}{r}.png?access-token={accessToken}', + options: { + attribution: + '© JawgMaps ' + + '{attribution.OpenStreetMap}', + minZoom: 0, + maxZoom: 22, + subdomains: 'abcd', + variant: 'jawg-terrain', + // Get your own Jawg access token here : https://www.jawg.io/lab/ + // NB : this is a demonstration key that comes with no guarantee + accessToken: '', + }, + variants: { + Streets: 'jawg-streets', + Terrain: 'jawg-terrain', + Sunny: 'jawg-sunny', + Dark: 'jawg-dark', + Light: 'jawg-light', + Matrix: 'jawg-matrix' + } + }, + MapBox: { + url: 'https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}{r}?access_token={accessToken}', + options: { + attribution: + '© Mapbox ' + + '{attribution.OpenStreetMap} ' + + 'Improve this map', + tileSize: 512, + maxZoom: 18, + zoomOffset: -1, + id: 'mapbox/streets-v11', + accessToken: '', + } + }, + MapTiler: { + url: 'https://api.maptiler.com/maps/{variant}/{z}/{x}/{y}{r}.{ext}?key={key}', + options: { + attribution: + '© MapTiler © OpenStreetMap contributors', + variant: 'streets', + ext: 'png', + key: '', + tileSize: 512, + zoomOffset: -1, + minZoom: 0, + maxZoom: 21 + }, + variants: { + Streets: 'streets', + Basic: 'basic', + Bright: 'bright', + Pastel: 'pastel', + Positron: 'positron', + Hybrid: { + options: { + variant: 'hybrid', + ext: 'jpg' + } + }, + Toner: 'toner', + Topo: 'topo', + Voyager: 'voyager' + } + }, + TomTom: { + url: 'https://{s}.api.tomtom.com/map/1/tile/{variant}/{style}/{z}/{x}/{y}.{ext}?key={apikey}', + options: { + variant: 'basic', + maxZoom: 22, + attribution: + '© 1992 - ' + new Date().getFullYear() + ' TomTom. ', + subdomains: 'abcd', + style: 'main', + ext: 'png', + apikey: '', + }, + variants: { + Basic: 'basic', + Hybrid: 'hybrid', + Labels: 'labels' + } + }, + Esri: { + url: 'https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}', + options: { + variant: 'World_Street_Map', + attribution: 'Tiles © Esri' + }, + variants: { + WorldStreetMap: { + options: { + attribution: + '{attribution.Esri} — ' + + 'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012' + } + }, + DeLorme: { + options: { + variant: 'Specialty/DeLorme_World_Base_Map', + minZoom: 1, + maxZoom: 11, + attribution: '{attribution.Esri} — Copyright: ©2012 DeLorme' + } + }, + WorldTopoMap: { + options: { + variant: 'World_Topo_Map', + attribution: + '{attribution.Esri} — ' + + 'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community' + } + }, + WorldImagery: { + options: { + variant: 'World_Imagery', + attribution: + '{attribution.Esri} — ' + + 'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community' + } + }, + WorldTerrain: { + options: { + variant: 'World_Terrain_Base', + maxZoom: 13, + attribution: + '{attribution.Esri} — ' + + 'Source: USGS, Esri, TANA, DeLorme, and NPS' + } + }, + WorldShadedRelief: { + options: { + variant: 'World_Shaded_Relief', + maxZoom: 13, + attribution: '{attribution.Esri} — Source: Esri' + } + }, + WorldPhysical: { + options: { + variant: 'World_Physical_Map', + maxZoom: 8, + attribution: '{attribution.Esri} — Source: US National Park Service' + } + }, + OceanBasemap: { + options: { + variant: 'Ocean/World_Ocean_Base', + maxZoom: 13, + attribution: '{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri' + } + }, + NatGeoWorldMap: { + options: { + variant: 'NatGeo_World_Map', + maxZoom: 16, + attribution: '{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC' + } + }, + WorldGrayCanvas: { + options: { + variant: 'Canvas/World_Light_Gray_Base', + maxZoom: 16, + attribution: '{attribution.Esri} — Esri, DeLorme, NAVTEQ' + } + } + } + }, + OpenWeatherMap: { + url: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}', + options: { + maxZoom: 19, + attribution: 'Map data © OpenWeatherMap', + apiKey: '', + opacity: 0.5 + }, + variants: { + Clouds: 'clouds', + CloudsClassic: 'clouds_cls', + Precipitation: 'precipitation', + PrecipitationClassic: 'precipitation_cls', + Rain: 'rain', + RainClassic: 'rain_cls', + Pressure: 'pressure', + PressureContour: 'pressure_cntr', + Wind: 'wind', + Temperature: 'temp', + Snow: 'snow' + } + }, + HERE: { + /* + * HERE maps, formerly Nokia maps. + * These basemaps are free, but you need an api id and app key. Please sign up at + * https://developer.here.com/plans + */ + url: + 'https://{s}.{base}.maps.api.here.com/maptile/2.1/' + + '{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?' + + 'app_id={app_id}&app_code={app_code}&lg={language}', + options: { + attribution: + 'Map © 1987-' + new Date().getFullYear() + ' HERE', + subdomains: '1234', + mapID: 'newest', + 'app_id': '', + 'app_code': '', + base: 'base', + variant: 'normal.day', + maxZoom: 20, + type: 'maptile', + language: 'eng', + format: 'png8', + size: '256' + }, + variants: { + normalDay: 'normal.day', + normalDayCustom: 'normal.day.custom', + normalDayGrey: 'normal.day.grey', + normalDayMobile: 'normal.day.mobile', + normalDayGreyMobile: 'normal.day.grey.mobile', + normalDayTransit: 'normal.day.transit', + normalDayTransitMobile: 'normal.day.transit.mobile', + normalDayTraffic: { + options: { + variant: 'normal.traffic.day', + base: 'traffic', + type: 'traffictile' + } + }, + normalNight: 'normal.night', + normalNightMobile: 'normal.night.mobile', + normalNightGrey: 'normal.night.grey', + normalNightGreyMobile: 'normal.night.grey.mobile', + normalNightTransit: 'normal.night.transit', + normalNightTransitMobile: 'normal.night.transit.mobile', + reducedDay: 'reduced.day', + reducedNight: 'reduced.night', + basicMap: { + options: { + type: 'basetile' + } + }, + mapLabels: { + options: { + type: 'labeltile', + format: 'png' + } + }, + trafficFlow: { + options: { + base: 'traffic', + type: 'flowtile' + } + }, + carnavDayGrey: 'carnav.day.grey', + hybridDay: { + options: { + base: 'aerial', + variant: 'hybrid.day' + } + }, + hybridDayMobile: { + options: { + base: 'aerial', + variant: 'hybrid.day.mobile' + } + }, + hybridDayTransit: { + options: { + base: 'aerial', + variant: 'hybrid.day.transit' + } + }, + hybridDayGrey: { + options: { + base: 'aerial', + variant: 'hybrid.grey.day' + } + }, + hybridDayTraffic: { + options: { + variant: 'hybrid.traffic.day', + base: 'traffic', + type: 'traffictile' + } + }, + pedestrianDay: 'pedestrian.day', + pedestrianNight: 'pedestrian.night', + satelliteDay: { + options: { + base: 'aerial', + variant: 'satellite.day' + } + }, + terrainDay: { + options: { + base: 'aerial', + variant: 'terrain.day' + } + }, + terrainDayMobile: { + options: { + base: 'aerial', + variant: 'terrain.day.mobile' + } + } + } + }, + HEREv3: { + /* + * HERE maps API Version 3. + * These basemaps are free, but you need an API key. Please sign up at + * https://developer.here.com/plans + * Version 3 deprecates the app_id and app_code access in favor of apiKey + * + * Supported access methods as of 2019/12/21: + * @see https://developer.here.com/faqs#access-control-1--how-do-you-control-access-to-here-location-services + */ + url: + 'https://{s}.{base}.maps.ls.hereapi.com/maptile/2.1/' + + '{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?' + + 'apiKey={apiKey}&lg={language}', + options: { + attribution: + 'Map © 1987-' + new Date().getFullYear() + ' HERE', + subdomains: '1234', + mapID: 'newest', + apiKey: '', + base: 'base', + variant: 'normal.day', + maxZoom: 20, + type: 'maptile', + language: 'eng', + format: 'png8', + size: '256' + }, + variants: { + normalDay: 'normal.day', + normalDayCustom: 'normal.day.custom', + normalDayGrey: 'normal.day.grey', + normalDayMobile: 'normal.day.mobile', + normalDayGreyMobile: 'normal.day.grey.mobile', + normalDayTransit: 'normal.day.transit', + normalDayTransitMobile: 'normal.day.transit.mobile', + normalNight: 'normal.night', + normalNightMobile: 'normal.night.mobile', + normalNightGrey: 'normal.night.grey', + normalNightGreyMobile: 'normal.night.grey.mobile', + normalNightTransit: 'normal.night.transit', + normalNightTransitMobile: 'normal.night.transit.mobile', + reducedDay: 'reduced.day', + reducedNight: 'reduced.night', + basicMap: { + options: { + type: 'basetile' + } + }, + mapLabels: { + options: { + type: 'labeltile', + format: 'png' + } + }, + trafficFlow: { + options: { + base: 'traffic', + type: 'flowtile' + } + }, + carnavDayGrey: 'carnav.day.grey', + hybridDay: { + options: { + base: 'aerial', + variant: 'hybrid.day' + } + }, + hybridDayMobile: { + options: { + base: 'aerial', + variant: 'hybrid.day.mobile' + } + }, + hybridDayTransit: { + options: { + base: 'aerial', + variant: 'hybrid.day.transit' + } + }, + hybridDayGrey: { + options: { + base: 'aerial', + variant: 'hybrid.grey.day' + } + }, + pedestrianDay: 'pedestrian.day', + pedestrianNight: 'pedestrian.night', + satelliteDay: { + options: { + base: 'aerial', + variant: 'satellite.day' + } + }, + terrainDay: { + options: { + base: 'aerial', + variant: 'terrain.day' + } + }, + terrainDayMobile: { + options: { + base: 'aerial', + variant: 'terrain.day.mobile' + } + } + } + }, + FreeMapSK: { + url: 'https://{s}.freemap.sk/T/{z}/{x}/{y}.jpeg', + options: { + minZoom: 8, + maxZoom: 16, + subdomains: 'abcd', + bounds: [[47.204642, 15.996093], [49.830896, 22.576904]], + attribution: + '{attribution.OpenStreetMap}, visualization CC-By-SA 2.0 Freemap.sk' + } + }, + MtbMap: { + url: 'http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png', + options: { + attribution: + '{attribution.OpenStreetMap} & USGS' + } + }, + CartoDB: { + url: 'https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png', + options: { + attribution: '{attribution.OpenStreetMap} © CARTO', + subdomains: 'abcd', + maxZoom: 20, + variant: 'light_all' + }, + variants: { + Positron: 'light_all', + PositronNoLabels: 'light_nolabels', + PositronOnlyLabels: 'light_only_labels', + DarkMatter: 'dark_all', + DarkMatterNoLabels: 'dark_nolabels', + DarkMatterOnlyLabels: 'dark_only_labels', + Voyager: 'rastertiles/voyager', + VoyagerNoLabels: 'rastertiles/voyager_nolabels', + VoyagerOnlyLabels: 'rastertiles/voyager_only_labels', + VoyagerLabelsUnder: 'rastertiles/voyager_labels_under' + } + }, + HikeBike: { + url: 'https://tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png', + options: { + maxZoom: 19, + attribution: '{attribution.OpenStreetMap}', + variant: 'hikebike' + }, + variants: { + HikeBike: {}, + HillShading: { + options: { + maxZoom: 15, + variant: 'hillshading' + } + } + } + }, + BasemapAT: { + url: 'https://mapsneu.wien.gv.at/basemap/{variant}/{type}/google3857/{z}/{y}/{x}.{format}', + options: { + maxZoom: 19, + attribution: 'Datenquelle: basemap.at', + type: 'normal', + format: 'png', + bounds: [[46.358770, 8.782379], [49.037872, 17.189532]], + variant: 'geolandbasemap' + }, + variants: { + basemap: { + options: { + maxZoom: 20, // currently only in Vienna + variant: 'geolandbasemap' + } + }, + grau: 'bmapgrau', + overlay: 'bmapoverlay', + terrain: { + options: { + variant: 'bmapgelaende', + type: 'grau', + format: 'jpeg' + } + }, + surface: { + options: { + variant: 'bmapoberflaeche', + type: 'grau', + format: 'jpeg' + } + }, + highdpi: { + options: { + variant: 'bmaphidpi', + format: 'jpeg' + } + }, + orthofoto: { + options: { + maxZoom: 20, // currently only in Vienna + variant: 'bmaporthofoto30cm', + format: 'jpeg' + } + } + } + }, + nlmaps: { + url: 'https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/{variant}/EPSG:3857/{z}/{x}/{y}.png', + options: { + minZoom: 6, + maxZoom: 19, + bounds: [[50.5, 3.25], [54, 7.6]], + attribution: 'Kaartgegevens © Kadaster' + }, + variants: { + 'standaard': 'standaard', + 'pastel': 'pastel', + 'grijs': 'grijs', + 'water': 'water', + 'luchtfoto': { + 'url': 'https://service.pdok.nl/hwh/luchtfotorgb/wmts/v1_0/Actueel_ortho25/EPSG:3857/{z}/{x}/{y}.jpeg', + } + } + }, + NASAGIBS: { + url: 'https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}', + options: { + attribution: + 'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System ' + + '(ESDIS) with funding provided by NASA/HQ.', + bounds: [[-85.0511287776, -179.999999975], [85.0511287776, 179.999999975]], + minZoom: 1, + maxZoom: 9, + format: 'jpg', + time: '', + tilematrixset: 'GoogleMapsCompatible_Level' + }, + variants: { + ModisTerraTrueColorCR: 'MODIS_Terra_CorrectedReflectance_TrueColor', + ModisTerraBands367CR: 'MODIS_Terra_CorrectedReflectance_Bands367', + ViirsEarthAtNight2012: { + options: { + variant: 'VIIRS_CityLights_2012', + maxZoom: 8 + } + }, + ModisTerraLSTDay: { + options: { + variant: 'MODIS_Terra_Land_Surface_Temp_Day', + format: 'png', + maxZoom: 7, + opacity: 0.75 + } + }, + ModisTerraSnowCover: { + options: { + variant: 'MODIS_Terra_NDSI_Snow_Cover', + format: 'png', + maxZoom: 8, + opacity: 0.75 + } + }, + ModisTerraAOD: { + options: { + variant: 'MODIS_Terra_Aerosol', + format: 'png', + maxZoom: 6, + opacity: 0.75 + } + }, + ModisTerraChlorophyll: { + options: { + variant: 'MODIS_Terra_Chlorophyll_A', + format: 'png', + maxZoom: 7, + opacity: 0.75 + } + } + } + }, + NLS: { + // NLS maps are copyright National library of Scotland. + // http://maps.nls.uk/projects/api/index.html + // Please contact NLS for anything other than non-commercial low volume usage + // + // Map sources: Ordnance Survey 1:1m to 1:63K, 1920s-1940s + // z0-9 - 1:1m + // z10-11 - quarter inch (1:253440) + // z12-18 - one inch (1:63360) + url: 'https://nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg', + options: { + attribution: 'National Library of Scotland Historic Maps', + bounds: [[49.6, -12], [61.7, 3]], + minZoom: 1, + maxZoom: 18, + subdomains: '0123', + } + }, + JusticeMap: { + // Justice Map (http://www.justicemap.org/) + // Visualize race and income data for your community, county and country. + // Includes tools for data journalists, bloggers and community activists. + url: 'https://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png', + options: { + attribution: 'Justice Map', + // one of 'county', 'tract', 'block' + size: 'county', + // Bounds for USA, including Alaska and Hawaii + bounds: [[14, -180], [72, -56]] + }, + variants: { + income: 'income', + americanIndian: 'indian', + asian: 'asian', + black: 'black', + hispanic: 'hispanic', + multi: 'multi', + nonWhite: 'nonwhite', + white: 'white', + plurality: 'plural' + } + }, + GeoportailFrance: { + url: 'https://wxs.ign.fr/{apikey}/geoportail/wmts?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE={style}&TILEMATRIXSET=PM&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}', + options: { + attribution: 'Geoportail France', + bounds: [[-75, -180], [81, 180]], + minZoom: 2, + maxZoom: 18, + // Get your own geoportail apikey here : http://professionnels.ign.fr/ign/contrats/ + // NB : 'choisirgeoportail' is a demonstration key that comes with no guarantee + apikey: 'choisirgeoportail', + format: 'image/png', + style: 'normal', + variant: 'GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2' + }, + variants: { + plan: 'GEOGRAPHICALGRIDSYSTEMS.PLANIGNV2', + parcels: { + options: { + variant: 'CADASTRALPARCELS.PARCELLAIRE_EXPRESS', + style: 'PCI vecteur', + maxZoom: 20 + } + }, + orthos: { + options: { + maxZoom: 19, + format: 'image/jpeg', + variant: 'ORTHOIMAGERY.ORTHOPHOTOS' + } + } + } + }, + OneMapSG: { + url: 'https://maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png', + options: { + variant: 'Default', + minZoom: 11, + maxZoom: 18, + bounds: [[1.56073, 104.11475], [1.16, 103.502]], + attribution: ' New OneMap | Map data © contributors, Singapore Land Authority' + }, + variants: { + Default: 'Default', + Night: 'Night', + Original: 'Original', + Grey: 'Grey', + LandLot: 'LandLot' + } + }, + USGS: { + url: 'https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/tile/{z}/{y}/{x}', + options: { + maxZoom: 20, + attribution: 'Tiles courtesy of the U.S. Geological Survey' + }, + variants: { + USTopo: {}, + USImagery: { + url: 'https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/{z}/{y}/{x}' + }, + USImageryTopo: { + url: 'https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryTopo/MapServer/tile/{z}/{y}/{x}' + } + } + }, + WaymarkedTrails: { + url: 'https://tile.waymarkedtrails.org/{variant}/{z}/{x}/{y}.png', + options: { + maxZoom: 18, + attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © waymarkedtrails.org (CC-BY-SA)' + }, + variants: { + hiking: 'hiking', + cycling: 'cycling', + mtb: 'mtb', + slopes: 'slopes', + riding: 'riding', + skating: 'skating' + } + }, + OpenAIP: { + url: 'https://{s}.tile.maps.openaip.net/geowebcache/service/tms/1.0.0/openaip_basemap@EPSG%3A900913@png/{z}/{x}/{y}.{ext}', + options: { + attribution: 'openAIP Data (CC-BY-NC-SA)', + ext: 'png', + minZoom: 4, + maxZoom: 14, + tms: true, + detectRetina: true, + subdomains: '12' + } + }, + OpenSnowMap: { + url: 'https://tiles.opensnowmap.org/{variant}/{z}/{x}/{y}.png', + options: { + minZoom: 9, + maxZoom: 18, + attribution: 'Map data: {attribution.OpenStreetMap} & ODbL, © www.opensnowmap.org CC-BY-SA' + }, + variants: { + pistes: 'pistes', + } + }, + AzureMaps: { + url: + 'https://atlas.microsoft.com/map/tile?api-version={apiVersion}'+ + '&tilesetId={variant}&x={x}&y={y}&zoom={z}&language={language}'+ + '&subscription-key={subscriptionKey}', + options: { + attribution: 'See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile for details.', + apiVersion: '2.0', + variant: 'microsoft.imagery', + subscriptionKey: '', + language: 'en-US', + }, + variants: { + MicrosoftImagery: 'microsoft.imagery', + MicrosoftBaseDarkGrey: 'microsoft.base.darkgrey', + MicrosoftBaseRoad: 'microsoft.base.road', + MicrosoftBaseHybridRoad: 'microsoft.base.hybrid.road', + MicrosoftTerraMain: 'microsoft.terra.main', + MicrosoftWeatherInfraredMain: { + url: + 'https://atlas.microsoft.com/map/tile?api-version={apiVersion}'+ + '&tilesetId={variant}&x={x}&y={y}&zoom={z}'+ + '&timeStamp={timeStamp}&language={language}' + + '&subscription-key={subscriptionKey}', + options: { + timeStamp: '2021-05-08T09:03:00Z', + attribution: 'See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.', + variant: 'microsoft.weather.infrared.main', + }, + }, + MicrosoftWeatherRadarMain: { + url: + 'https://atlas.microsoft.com/map/tile?api-version={apiVersion}'+ + '&tilesetId={variant}&x={x}&y={y}&zoom={z}'+ + '&timeStamp={timeStamp}&language={language}' + + '&subscription-key={subscriptionKey}', + options: { + timeStamp: '2021-05-08T09:03:00Z', + attribution: 'See https://docs.microsoft.com/en-us/rest/api/maps/render-v2/get-map-tile#uri-parameters for details.', + variant: 'microsoft.weather.radar.main', + }, + } + }, + }, + SwissFederalGeoportal: { + url: 'https://wmts.geo.admin.ch/1.0.0/{variant}/default/current/3857/{z}/{x}/{y}.jpeg', + options: { + attribution: '© swisstopo', + minZoom: 2, + maxZoom: 18, + bounds: [[45.398181, 5.140242], [48.230651, 11.47757]] + }, + variants: { + NationalMapColor: 'ch.swisstopo.pixelkarte-farbe', + NationalMapGrey: 'ch.swisstopo.pixelkarte-grau', + SWISSIMAGE: { + options: { + variant: 'ch.swisstopo.swissimage', + maxZoom: 19 + } + } + } + } + }; + + L.tileLayer.provider = function (provider, options) { + return new L.TileLayer.Provider(provider, options); + }; + + return L; +})); diff --git a/webassets/vendor/js/leaflet-terminator-1.1.0.min.js b/webassets/vendor/js/leaflet-terminator-1.1.0.min.js new file mode 100644 index 0000000..ce5801f --- /dev/null +++ b/webassets/vendor/js/leaflet-terminator-1.1.0.min.js @@ -0,0 +1,8 @@ +/** + * Minified by jsDelivr using Terser v5.37.0. + * Original file: /npm/@joergdietrich/leaflet.terminator@1.1.0/L.Terminator.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i(require("leaflet")):"function"==typeof define&&define.amd?define(["leaflet"],i):(t.L=t.L||{},t.L.terminator=i(t.L))}(this,(function(t){"use strict";var i=(t=t&&t.hasOwnProperty("default")?t.default:t).Polygon.extend({options:{color:"#00",opacity:.5,fillColor:"#00",fillOpacity:.5,resolution:2},initialize:function(i){this.version="0.1.0",this._R2D=180/Math.PI,this._D2R=Math.PI/180,t.Util.setOptions(this,i);var n=this._compute(this.options.time);this.setLatLngs(n)},setTime:function(t){this.options.time=t;var i=this._compute(t);this.setLatLngs(i)},_sunEclipticPosition:function(t){var i=t-2451545,n=280.46+.9856474*i,e=357.528+.9856003*i;return e%=360,{lambda:(n%=360)+1.915*Math.sin(e*this._D2R)+.02*Math.sin(2*e*this._D2R),R:1.00014-.01671*Math.cos(e*this._D2R)-.0014*Math.cos(2*e*this._D2R)}},_eclipticObliquity:function(t){var i=(t-2451545)/36525;return 23.43929111-i*(46.836769/3600-i*(1831e-7/3600+i*(5.565e-7-i*(1.6e-10-4.34e-8*i/3600))))},_sunEquatorialPosition:function(t,i){var n=Math.atan(Math.cos(i*this._D2R)*Math.tan(t*this._D2R))*this._R2D,e=Math.asin(Math.sin(i*this._D2R)*Math.sin(t*this._D2R))*this._R2D;return{alpha:n+=90*Math.floor(t/90)-90*Math.floor(n/90),delta:e}},_hourAngle:function(t,i,n){return 15*(n+t/15)-i.alpha},_latitude:function(t,i){return Math.atan(-Math.cos(t*this._D2R)/Math.tan(i.delta*this._D2R))*this._R2D},_compute:function(t){for(var i=t?new Date(t):new Date,n=i/864e5+2440587.5,e=function(t){return(18.697374558+24.06570982441908*(t-2451545))%24}(n),o=[],s=this._sunEclipticPosition(n),a=this._eclipticObliquity(n),h=this._sunEquatorialPosition(s.lambda,a),r=0;r<=720*this.options.resolution;r++){var u=r/this.options.resolution-360,l=this._hourAngle(u,h,e);o[r+1]=[this._latitude(l,h),u]}return h.delta<0?(o[0]=[90,-360],o[o.length]=[90,360]):(o[0]=[-90,-360],o[o.length]=[-90,360]),o}});return function(t){return new i(t)}})); +//# sourceMappingURL=/sm/0ad6cc527a0e7748dc9ea3acda4c2088f86401baae9f9dddc41fc73f9afa2de2.map \ No newline at end of file diff --git a/webassets/vendor/js/leaflet-vectorgrid-1.3.0.js b/webassets/vendor/js/leaflet-vectorgrid-1.3.0.js new file mode 100644 index 0000000..efa6938 --- /dev/null +++ b/webassets/vendor/js/leaflet-vectorgrid-1.3.0.js @@ -0,0 +1,2062 @@ +'use strict'; + +function __$strToBlobUri(str, mime, isBinary) {try {return window.URL.createObjectURL(new Blob([Uint8Array.from(str.split('').map(function(c) {return c.charCodeAt(0)}))], {type: mime}));} catch (e) {return "data:" + mime + (isBinary ? ";base64," : ",") + str;}} +L.SVG.Tile = L.SVG.extend({ + + initialize: function (tileCoord, tileSize, options) { + L.SVG.prototype.initialize.call(this, options); + this._tileCoord = tileCoord; + this._size = tileSize; + + this._initContainer(); + this._container.setAttribute('width', this._size.x); + this._container.setAttribute('height', this._size.y); + this._container.setAttribute('viewBox', [0, 0, this._size.x, this._size.y].join(' ')); + + this._layers = {}; + }, + + getCoord: function() { + return this._tileCoord; + }, + + getContainer: function() { + return this._container; + }, + + onAdd: L.Util.falseFn, + + addTo: function(map) { + this._map = map; + if (this.options.interactive) { + for (var i in this._layers) { + var layer = this._layers[i]; + // By default, Leaflet tiles do not have pointer events. + layer._path.style.pointerEvents = 'auto'; + this._map._targets[L.stamp(layer._path)] = layer; + } + } + }, + + removeFrom: function (map) { + if (this.options.interactive) { + for (var i in this._layers) { + var layer = this._layers[i]; + delete this._map._targets[L.stamp(layer._path)]; + } + } + delete this._map; + }, + + _initContainer: function() { + L.SVG.prototype._initContainer.call(this); + var rect = L.SVG.create('rect'); + }, + + /// TODO: Modify _initPath to include an extra parameter, a group name + /// to order symbolizers by z-index + + _addPath: function (layer) { + this._rootGroup.appendChild(layer._path); + this._layers[L.stamp(layer)] = layer; + }, + + _updateIcon: function (layer) { + var path = layer._path = L.SVG.create('image'), + icon = layer.options.icon, + options = icon.options, + size = L.point(options.iconSize), + anchor = options.iconAnchor || + size && size.divideBy(2, true), + p = layer._point.subtract(anchor); + path.setAttribute('x', p.x); + path.setAttribute('y', p.y); + path.setAttribute('width', size.x + 'px'); + path.setAttribute('height', size.y + 'px'); + path.setAttribute('href', options.iconUrl); + } +}); + + +L.svg.tile = function(tileCoord, tileSize, opts){ + return new L.SVG.Tile(tileCoord, tileSize, opts); +}; + +// 🍂class Symbolizer +// 🍂inherits Class +// The abstract Symbolizer class is mostly equivalent in concept to a `L.Path` - it's an interface for +// polylines, polygons and circles. But instead of representing leaflet Layers, +// it represents things that have to be drawn inside a vector tile. + +// A vector tile *data layer* might have zero, one, or more *symbolizer definitions* +// A vector tile *feature* might have zero, one, or more *symbolizers*. +// The actual symbolizers applied will depend on filters and the symbolizer functions. + +var Symbolizer = L.Class.extend({ + // 🍂method initialize(feature: GeoJSON, pxPerExtent: Number) + // Initializes a new Line Symbolizer given a GeoJSON feature and the + // pixel-to-coordinate-units ratio. Internal use only. + + // 🍂method render(renderer, style) + // Renders this symbolizer in the given tiled renderer, with the given + // `L.Path` options. Internal use only. + render: function(renderer, style) { + this._renderer = renderer; + this.options = style; + renderer._initPath(this); + renderer._updateStyle(this); + }, + + // 🍂method render(renderer, style) + // Updates the `L.Path` options used to style this symbolizer, and re-renders it. + // Internal use only. + updateStyle: function(renderer, style) { + this.options = style; + renderer._updateStyle(this); + }, + + _getPixelBounds: function() { + var parts = this._parts; + var bounds = L.bounds([]); + for (var i = 0; i < parts.length; i++) { + var part = parts[i]; + for (var j = 0; j < part.length; j++) { + bounds.extend(part[j]); + } + } + + var w = this._clickTolerance(), + p = new L.Point(w, w); + + bounds.min._subtract(p); + bounds.max._add(p); + + return bounds; + }, + _clickTolerance: L.Path.prototype._clickTolerance, +}); + +// Contains mixins which are common to the Line Symbolizer and the Fill Symbolizer. + +var PolyBase = { + _makeFeatureParts: function(feat, pxPerExtent) { + var rings = feat.geometry; + var coord; + + this._parts = []; + for (var i = 0; i < rings.length; i++) { + var ring = rings[i]; + var part = []; + for (var j = 0; j < ring.length; j++) { + coord = ring[j]; + // Protobuf vector tiles return {x: , y:} + // Geojson-vt returns [,] + part.push(L.point(coord).scaleBy(pxPerExtent)); + } + this._parts.push(part); + } + }, + + makeInteractive: function() { + this._pxBounds = this._getPixelBounds(); + } +}; + +// 🍂class PointSymbolizer +// 🍂inherits CircleMarker +// A symbolizer for points. + +var PointSymbolizer = L.CircleMarker.extend({ + includes: Symbolizer.prototype, + + statics: { + iconCache: {} + }, + + initialize: function(feature, pxPerExtent) { + this.properties = feature.properties; + this._makeFeatureParts(feature, pxPerExtent); + }, + + render: function(renderer, style) { + Symbolizer.prototype.render.call(this, renderer, style); + this._radius = style.radius || L.CircleMarker.prototype.options.radius; + this._updatePath(); + }, + + _makeFeatureParts: function(feat, pxPerExtent) { + var coord = feat.geometry[0]; + if (typeof coord[0] === 'object' && 'x' in coord[0]) { + // Protobuf vector tiles return [{x: , y:}] + this._point = L.point(coord[0]).scaleBy(pxPerExtent); + this._empty = L.Util.falseFn; + } else { + // Geojson-vt returns [,] + this._point = L.point(coord).scaleBy(pxPerExtent); + this._empty = L.Util.falseFn; + } + }, + + makeInteractive: function() { + this._updateBounds(); + }, + + updateStyle: function(renderer, style) { + this._radius = style.radius || this._radius; + this._updateBounds(); + return Symbolizer.prototype.updateStyle.call(this, renderer, style); + }, + + _updateBounds: function() { + var icon = this.options.icon; + if (icon) { + var size = L.point(icon.options.iconSize), + anchor = icon.options.iconAnchor || + size && size.divideBy(2, true), + p = this._point.subtract(anchor); + this._pxBounds = new L.Bounds(p, p.add(icon.options.iconSize)); + } else { + L.CircleMarker.prototype._updateBounds.call(this); + } + }, + + _updatePath: function() { + if (this.options.icon) { + this._renderer._updateIcon(this); + } else { + L.CircleMarker.prototype._updatePath.call(this); + } + }, + + _getImage: function () { + if (this.options.icon) { + var url = this.options.icon.options.iconUrl, + img = PointSymbolizer.iconCache[url]; + if (!img) { + var icon = this.options.icon; + img = PointSymbolizer.iconCache[url] = icon.createIcon(); + } + return img; + } else { + return null; + } + + }, + + _containsPoint: function(p) { + var icon = this.options.icon; + if (icon) { + return this._pxBounds.contains(p); + } else { + return L.CircleMarker.prototype._containsPoint.call(this, p); + } + } +}); + +// 🍂class LineSymbolizer +// 🍂inherits Polyline +// A symbolizer for lines. Can be applied to line and polygon features. + +var LineSymbolizer = L.Polyline.extend({ + includes: [Symbolizer.prototype, PolyBase], + + initialize: function(feature, pxPerExtent) { + this.properties = feature.properties; + this._makeFeatureParts(feature, pxPerExtent); + }, + + render: function(renderer, style) { + style.fill = false; + Symbolizer.prototype.render.call(this, renderer, style); + this._updatePath(); + }, + + updateStyle: function(renderer, style) { + style.fill = false; + Symbolizer.prototype.updateStyle.call(this, renderer, style); + }, +}); + +// 🍂class FillSymbolizer +// 🍂inherits Polyline +// A symbolizer for filled areas. Applies only to polygon features. + +var FillSymbolizer = L.Polygon.extend({ + includes: [Symbolizer.prototype, PolyBase], + + initialize: function(feature, pxPerExtent) { + this.properties = feature.properties; + this._makeFeatureParts(feature, pxPerExtent); + }, + + render: function(renderer, style) { + Symbolizer.prototype.render.call(this, renderer, style); + this._updatePath(); + } +}); + +/* 🍂class VectorGrid + * 🍂inherits GridLayer + * + * A `VectorGrid` is a generic, abstract class for displaying tiled vector data. + * it provides facilities for symbolizing and rendering the data in the vector + * tiles, but lacks the functionality to fetch the vector tiles from wherever + * they are. + * + * Extends Leaflet's `L.GridLayer`. + */ + +L.VectorGrid = L.GridLayer.extend({ + + options: { + // 🍂option rendererFactory = L.svg.tile + // A factory method which will be used to instantiate the per-tile renderers. + rendererFactory: L.svg.tile, + + // 🍂option vectorTileLayerStyles: Object = {} + // A data structure holding initial symbolizer definitions for the vector features. + vectorTileLayerStyles: {}, + + // 🍂option interactive: Boolean = false + // Whether this `VectorGrid` fires `Interactive Layer` events. + interactive: false, + + // 🍂option getFeatureId: Function = undefined + // A function that, given a vector feature, returns an unique identifier for it, e.g. + // `function(feat) { return feat.properties.uniqueIdField; }`. + // Must be defined for `setFeatureStyle` to work. + }, + + initialize: function(options) { + L.setOptions(this, options); + L.GridLayer.prototype.initialize.apply(this, arguments); + if (this.options.getFeatureId) { + this._vectorTiles = {}; + this._overriddenStyles = {}; + this.on('tileunload', function(e) { + var key = this._tileCoordsToKey(e.coords), + tile = this._vectorTiles[key]; + + if (tile && this._map) { + tile.removeFrom(this._map); + } + delete this._vectorTiles[key]; + }, this); + } + this._dataLayerNames = {}; + }, + + createTile: function(coords, done) { + var storeFeatures = this.options.getFeatureId; + + var tileSize = this.getTileSize(); + var renderer = this.options.rendererFactory(coords, tileSize, this.options); + + var vectorTilePromise = this._getVectorTilePromise(coords); + + if (storeFeatures) { + this._vectorTiles[this._tileCoordsToKey(coords)] = renderer; + renderer._features = {}; + } + + vectorTilePromise.then( function renderTile(vectorTile) { + for (var layerName in vectorTile.layers) { + this._dataLayerNames[layerName] = true; + var layer = vectorTile.layers[layerName]; + + var pxPerExtent = this.getTileSize().divideBy(layer.extent); + + var layerStyle = this.options.vectorTileLayerStyles[ layerName ] || + L.Path.prototype.options; + + for (var i = 0; i < layer.features.length; i++) { + var feat = layer.features[i]; + var id; + + var styleOptions = layerStyle; + if (storeFeatures) { + id = this.options.getFeatureId(feat); + var styleOverride = this._overriddenStyles[id]; + if (styleOverride) { + if (styleOverride[layerName]) { + styleOptions = styleOverride[layerName]; + } else { + styleOptions = styleOverride; + } + } + } + + if (styleOptions instanceof Function) { + styleOptions = styleOptions(feat.properties, coords.z); + } + + if (!(styleOptions instanceof Array)) { + styleOptions = [styleOptions]; + } + + if (!styleOptions.length) { + continue; + } + + var featureLayer = this._createLayer(feat, pxPerExtent); + + for (var j = 0; j < styleOptions.length; j++) { + var style = L.extend({}, L.Path.prototype.options, styleOptions[j]); + featureLayer.render(renderer, style); + renderer._addPath(featureLayer); + } + + if (this.options.interactive) { + featureLayer.makeInteractive(); + } + + if (storeFeatures) { + renderer._features[id] = { + layerName: layerName, + feature: featureLayer + }; + } + } + + } + if (this._map != null) { + renderer.addTo(this._map); + } + L.Util.requestAnimFrame(done.bind(coords, null, null)); + }.bind(this)); + + return renderer.getContainer(); + }, + + // 🍂method setFeatureStyle(id: Number, layerStyle: L.Path Options): this + // Given the unique ID for a vector features (as per the `getFeatureId` option), + // re-symbolizes that feature across all tiles it appears in. + setFeatureStyle: function(id, layerStyle) { + this._overriddenStyles[id] = layerStyle; + + for (var tileKey in this._vectorTiles) { + var tile = this._vectorTiles[tileKey]; + var features = tile._features; + var data = features[id]; + if (data) { + var feat = data.feature; + + var styleOptions = layerStyle; + if (layerStyle[data.layerName]) { + styleOptions = layerStyle[data.layerName]; + } + + this._updateStyles(feat, tile, styleOptions); + } + } + return this; + }, + + // 🍂method setFeatureStyle(id: Number): this + // Reverts the effects of a previous `setFeatureStyle` call. + resetFeatureStyle: function(id) { + delete this._overriddenStyles[id]; + + for (var tileKey in this._vectorTiles) { + var tile = this._vectorTiles[tileKey]; + var features = tile._features; + var data = features[id]; + if (data) { + var feat = data.feature; + var styleOptions = this.options.vectorTileLayerStyles[ data.layerName ] || + L.Path.prototype.options; + this._updateStyles(feat, tile, styleOptions); + } + } + return this; + }, + + // 🍂method getDataLayerNames(): Array + // Returns an array of strings, with all the known names of data layers in + // the vector tiles displayed. Useful for introspection. + getDataLayerNames: function() { + return Object.keys(this._dataLayerNames); + }, + + _updateStyles: function(feat, renderer, styleOptions) { + styleOptions = (styleOptions instanceof Function) ? + styleOptions(feat.properties, renderer.getCoord().z) : + styleOptions; + + if (!(styleOptions instanceof Array)) { + styleOptions = [styleOptions]; + } + + for (var j = 0; j < styleOptions.length; j++) { + var style = L.extend({}, L.Path.prototype.options, styleOptions[j]); + feat.updateStyle(renderer, style); + } + }, + + _createLayer: function(feat, pxPerExtent, layerStyle) { + var layer; + switch (feat.type) { + case 1: + layer = new PointSymbolizer(feat, pxPerExtent); + break; + case 2: + layer = new LineSymbolizer(feat, pxPerExtent); + break; + case 3: + layer = new FillSymbolizer(feat, pxPerExtent); + break; + } + + if (this.options.interactive) { + layer.addEventParent(this); + } + + return layer; + }, +}); + +/* + * 🍂section Extension methods + * + * Classes inheriting from `VectorGrid` **must** define the `_getVectorTilePromise` private method. + * + * 🍂method getVectorTilePromise(coords: Object): Promise + * Given a `coords` object in the form of `{x: Number, y: Number, z: Number}`, + * this function must return a `Promise` for a vector tile. + * + */ +L.vectorGrid = function (options) { + return new L.VectorGrid(options); +}; + +var read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? (nBytes - 1) : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + + i += d; + + e = s & ((1 << (-nBits)) - 1); + s >>= (-nBits); + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1); + e >>= (-nBits); + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity) + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +}; + +var write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0); + var i = isLE ? 0 : (nBytes - 1); + var d = isLE ? 1 : -1; + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; + + value = Math.abs(value); + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128; +}; + +var index$1 = { + read: read, + write: write +}; + +var index = Pbf; + +var ieee754 = index$1; + +function Pbf(buf) { + this.buf = ArrayBuffer.isView && ArrayBuffer.isView(buf) ? buf : new Uint8Array(buf || 0); + this.pos = 0; + this.type = 0; + this.length = this.buf.length; +} + +Pbf.Varint = 0; // varint: int32, int64, uint32, uint64, sint32, sint64, bool, enum +Pbf.Fixed64 = 1; // 64-bit: double, fixed64, sfixed64 +Pbf.Bytes = 2; // length-delimited: string, bytes, embedded messages, packed repeated fields +Pbf.Fixed32 = 5; // 32-bit: float, fixed32, sfixed32 + +var SHIFT_LEFT_32 = (1 << 16) * (1 << 16); +var SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32; + +Pbf.prototype = { + + destroy: function() { + this.buf = null; + }, + + // === READING ================================================================= + + readFields: function(readField, result, end) { + var this$1 = this; + + end = end || this.length; + + while (this.pos < end) { + var val = this$1.readVarint(), + tag = val >> 3, + startPos = this$1.pos; + + this$1.type = val & 0x7; + readField(tag, result, this$1); + + if (this$1.pos === startPos) { this$1.skip(val); } + } + return result; + }, + + readMessage: function(readField, result) { + return this.readFields(readField, result, this.readVarint() + this.pos); + }, + + readFixed32: function() { + var val = readUInt32(this.buf, this.pos); + this.pos += 4; + return val; + }, + + readSFixed32: function() { + var val = readInt32(this.buf, this.pos); + this.pos += 4; + return val; + }, + + // 64-bit int handling is based on github.com/dpw/node-buffer-more-ints (MIT-licensed) + + readFixed64: function() { + var val = readUInt32(this.buf, this.pos) + readUInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32; + this.pos += 8; + return val; + }, + + readSFixed64: function() { + var val = readUInt32(this.buf, this.pos) + readInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32; + this.pos += 8; + return val; + }, + + readFloat: function() { + var val = ieee754.read(this.buf, this.pos, true, 23, 4); + this.pos += 4; + return val; + }, + + readDouble: function() { + var val = ieee754.read(this.buf, this.pos, true, 52, 8); + this.pos += 8; + return val; + }, + + readVarint: function(isSigned) { + var buf = this.buf, + val, b; + + b = buf[this.pos++]; val = b & 0x7f; if (b < 0x80) { return val; } + b = buf[this.pos++]; val |= (b & 0x7f) << 7; if (b < 0x80) { return val; } + b = buf[this.pos++]; val |= (b & 0x7f) << 14; if (b < 0x80) { return val; } + b = buf[this.pos++]; val |= (b & 0x7f) << 21; if (b < 0x80) { return val; } + b = buf[this.pos]; val |= (b & 0x0f) << 28; + + return readVarintRemainder(val, isSigned, this); + }, + + readVarint64: function() { // for compatibility with v2.0.1 + return this.readVarint(true); + }, + + readSVarint: function() { + var num = this.readVarint(); + return num % 2 === 1 ? (num + 1) / -2 : num / 2; // zigzag encoding + }, + + readBoolean: function() { + return Boolean(this.readVarint()); + }, + + readString: function() { + var end = this.readVarint() + this.pos, + str = readUtf8(this.buf, this.pos, end); + this.pos = end; + return str; + }, + + readBytes: function() { + var end = this.readVarint() + this.pos, + buffer = this.buf.subarray(this.pos, end); + this.pos = end; + return buffer; + }, + + // verbose for performance reasons; doesn't affect gzipped size + + readPackedVarint: function(arr, isSigned) { + var this$1 = this; + + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) { arr.push(this$1.readVarint(isSigned)); } + return arr; + }, + readPackedSVarint: function(arr) { + var this$1 = this; + + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) { arr.push(this$1.readSVarint()); } + return arr; + }, + readPackedBoolean: function(arr) { + var this$1 = this; + + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) { arr.push(this$1.readBoolean()); } + return arr; + }, + readPackedFloat: function(arr) { + var this$1 = this; + + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) { arr.push(this$1.readFloat()); } + return arr; + }, + readPackedDouble: function(arr) { + var this$1 = this; + + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) { arr.push(this$1.readDouble()); } + return arr; + }, + readPackedFixed32: function(arr) { + var this$1 = this; + + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) { arr.push(this$1.readFixed32()); } + return arr; + }, + readPackedSFixed32: function(arr) { + var this$1 = this; + + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) { arr.push(this$1.readSFixed32()); } + return arr; + }, + readPackedFixed64: function(arr) { + var this$1 = this; + + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) { arr.push(this$1.readFixed64()); } + return arr; + }, + readPackedSFixed64: function(arr) { + var this$1 = this; + + var end = readPackedEnd(this); + arr = arr || []; + while (this.pos < end) { arr.push(this$1.readSFixed64()); } + return arr; + }, + + skip: function(val) { + var type = val & 0x7; + if (type === Pbf.Varint) { while (this.buf[this.pos++] > 0x7f) {} } + else if (type === Pbf.Bytes) { this.pos = this.readVarint() + this.pos; } + else if (type === Pbf.Fixed32) { this.pos += 4; } + else if (type === Pbf.Fixed64) { this.pos += 8; } + else { throw new Error('Unimplemented type: ' + type); } + }, + + // === WRITING ================================================================= + + writeTag: function(tag, type) { + this.writeVarint((tag << 3) | type); + }, + + realloc: function(min) { + var length = this.length || 16; + + while (length < this.pos + min) { length *= 2; } + + if (length !== this.length) { + var buf = new Uint8Array(length); + buf.set(this.buf); + this.buf = buf; + this.length = length; + } + }, + + finish: function() { + this.length = this.pos; + this.pos = 0; + return this.buf.subarray(0, this.length); + }, + + writeFixed32: function(val) { + this.realloc(4); + writeInt32(this.buf, val, this.pos); + this.pos += 4; + }, + + writeSFixed32: function(val) { + this.realloc(4); + writeInt32(this.buf, val, this.pos); + this.pos += 4; + }, + + writeFixed64: function(val) { + this.realloc(8); + writeInt32(this.buf, val & -1, this.pos); + writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4); + this.pos += 8; + }, + + writeSFixed64: function(val) { + this.realloc(8); + writeInt32(this.buf, val & -1, this.pos); + writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4); + this.pos += 8; + }, + + writeVarint: function(val) { + val = +val || 0; + + if (val > 0xfffffff || val < 0) { + writeBigVarint(val, this); + return; + } + + this.realloc(4); + + this.buf[this.pos++] = val & 0x7f | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) { return; } + this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) { return; } + this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) { return; } + this.buf[this.pos++] = (val >>> 7) & 0x7f; + }, + + writeSVarint: function(val) { + this.writeVarint(val < 0 ? -val * 2 - 1 : val * 2); + }, + + writeBoolean: function(val) { + this.writeVarint(Boolean(val)); + }, + + writeString: function(str) { + str = String(str); + this.realloc(str.length * 4); + + this.pos++; // reserve 1 byte for short string length + + var startPos = this.pos; + // write the string directly to the buffer and see how much was written + this.pos = writeUtf8(this.buf, str, this.pos); + var len = this.pos - startPos; + + if (len >= 0x80) { makeRoomForExtraLength(startPos, len, this); } + + // finally, write the message length in the reserved place and restore the position + this.pos = startPos - 1; + this.writeVarint(len); + this.pos += len; + }, + + writeFloat: function(val) { + this.realloc(4); + ieee754.write(this.buf, val, this.pos, true, 23, 4); + this.pos += 4; + }, + + writeDouble: function(val) { + this.realloc(8); + ieee754.write(this.buf, val, this.pos, true, 52, 8); + this.pos += 8; + }, + + writeBytes: function(buffer) { + var this$1 = this; + + var len = buffer.length; + this.writeVarint(len); + this.realloc(len); + for (var i = 0; i < len; i++) { this$1.buf[this$1.pos++] = buffer[i]; } + }, + + writeRawMessage: function(fn, obj) { + this.pos++; // reserve 1 byte for short message length + + // write the message directly to the buffer and see how much was written + var startPos = this.pos; + fn(obj, this); + var len = this.pos - startPos; + + if (len >= 0x80) { makeRoomForExtraLength(startPos, len, this); } + + // finally, write the message length in the reserved place and restore the position + this.pos = startPos - 1; + this.writeVarint(len); + this.pos += len; + }, + + writeMessage: function(tag, fn, obj) { + this.writeTag(tag, Pbf.Bytes); + this.writeRawMessage(fn, obj); + }, + + writePackedVarint: function(tag, arr) { this.writeMessage(tag, writePackedVarint, arr); }, + writePackedSVarint: function(tag, arr) { this.writeMessage(tag, writePackedSVarint, arr); }, + writePackedBoolean: function(tag, arr) { this.writeMessage(tag, writePackedBoolean, arr); }, + writePackedFloat: function(tag, arr) { this.writeMessage(tag, writePackedFloat, arr); }, + writePackedDouble: function(tag, arr) { this.writeMessage(tag, writePackedDouble, arr); }, + writePackedFixed32: function(tag, arr) { this.writeMessage(tag, writePackedFixed32, arr); }, + writePackedSFixed32: function(tag, arr) { this.writeMessage(tag, writePackedSFixed32, arr); }, + writePackedFixed64: function(tag, arr) { this.writeMessage(tag, writePackedFixed64, arr); }, + writePackedSFixed64: function(tag, arr) { this.writeMessage(tag, writePackedSFixed64, arr); }, + + writeBytesField: function(tag, buffer) { + this.writeTag(tag, Pbf.Bytes); + this.writeBytes(buffer); + }, + writeFixed32Field: function(tag, val) { + this.writeTag(tag, Pbf.Fixed32); + this.writeFixed32(val); + }, + writeSFixed32Field: function(tag, val) { + this.writeTag(tag, Pbf.Fixed32); + this.writeSFixed32(val); + }, + writeFixed64Field: function(tag, val) { + this.writeTag(tag, Pbf.Fixed64); + this.writeFixed64(val); + }, + writeSFixed64Field: function(tag, val) { + this.writeTag(tag, Pbf.Fixed64); + this.writeSFixed64(val); + }, + writeVarintField: function(tag, val) { + this.writeTag(tag, Pbf.Varint); + this.writeVarint(val); + }, + writeSVarintField: function(tag, val) { + this.writeTag(tag, Pbf.Varint); + this.writeSVarint(val); + }, + writeStringField: function(tag, str) { + this.writeTag(tag, Pbf.Bytes); + this.writeString(str); + }, + writeFloatField: function(tag, val) { + this.writeTag(tag, Pbf.Fixed32); + this.writeFloat(val); + }, + writeDoubleField: function(tag, val) { + this.writeTag(tag, Pbf.Fixed64); + this.writeDouble(val); + }, + writeBooleanField: function(tag, val) { + this.writeVarintField(tag, Boolean(val)); + } +}; + +function readVarintRemainder(l, s, p) { + var buf = p.buf, + h, b; + + b = buf[p.pos++]; h = (b & 0x70) >> 4; if (b < 0x80) { return toNum(l, h, s); } + b = buf[p.pos++]; h |= (b & 0x7f) << 3; if (b < 0x80) { return toNum(l, h, s); } + b = buf[p.pos++]; h |= (b & 0x7f) << 10; if (b < 0x80) { return toNum(l, h, s); } + b = buf[p.pos++]; h |= (b & 0x7f) << 17; if (b < 0x80) { return toNum(l, h, s); } + b = buf[p.pos++]; h |= (b & 0x7f) << 24; if (b < 0x80) { return toNum(l, h, s); } + b = buf[p.pos++]; h |= (b & 0x01) << 31; if (b < 0x80) { return toNum(l, h, s); } + + throw new Error('Expected varint not more than 10 bytes'); +} + +function readPackedEnd(pbf) { + return pbf.type === Pbf.Bytes ? + pbf.readVarint() + pbf.pos : pbf.pos + 1; +} + +function toNum(low, high, isSigned) { + if (isSigned) { + return high * 0x100000000 + (low >>> 0); + } + + return ((high >>> 0) * 0x100000000) + (low >>> 0); +} + +function writeBigVarint(val, pbf) { + var low, high; + + if (val >= 0) { + low = (val % 0x100000000) | 0; + high = (val / 0x100000000) | 0; + } else { + low = ~(-val % 0x100000000); + high = ~(-val / 0x100000000); + + if (low ^ 0xffffffff) { + low = (low + 1) | 0; + } else { + low = 0; + high = (high + 1) | 0; + } + } + + if (val >= 0x10000000000000000 || val < -0x10000000000000000) { + throw new Error('Given varint doesn\'t fit into 10 bytes'); + } + + pbf.realloc(10); + + writeBigVarintLow(low, high, pbf); + writeBigVarintHigh(high, pbf); +} + +function writeBigVarintLow(low, high, pbf) { + pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7; + pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7; + pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7; + pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7; + pbf.buf[pbf.pos] = low & 0x7f; +} + +function writeBigVarintHigh(high, pbf) { + var lsb = (high & 0x07) << 4; + + pbf.buf[pbf.pos++] |= lsb | ((high >>>= 3) ? 0x80 : 0); if (!high) { return; } + pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) { return; } + pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) { return; } + pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) { return; } + pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) { return; } + pbf.buf[pbf.pos++] = high & 0x7f; +} + +function makeRoomForExtraLength(startPos, len, pbf) { + var extraLen = + len <= 0x3fff ? 1 : + len <= 0x1fffff ? 2 : + len <= 0xfffffff ? 3 : Math.ceil(Math.log(len) / (Math.LN2 * 7)); + + // if 1 byte isn't enough for encoding message length, shift the data to the right + pbf.realloc(extraLen); + for (var i = pbf.pos - 1; i >= startPos; i--) { pbf.buf[i + extraLen] = pbf.buf[i]; } +} + +function writePackedVarint(arr, pbf) { for (var i = 0; i < arr.length; i++) { pbf.writeVarint(arr[i]); } } +function writePackedSVarint(arr, pbf) { for (var i = 0; i < arr.length; i++) { pbf.writeSVarint(arr[i]); } } +function writePackedFloat(arr, pbf) { for (var i = 0; i < arr.length; i++) { pbf.writeFloat(arr[i]); } } +function writePackedDouble(arr, pbf) { for (var i = 0; i < arr.length; i++) { pbf.writeDouble(arr[i]); } } +function writePackedBoolean(arr, pbf) { for (var i = 0; i < arr.length; i++) { pbf.writeBoolean(arr[i]); } } +function writePackedFixed32(arr, pbf) { for (var i = 0; i < arr.length; i++) { pbf.writeFixed32(arr[i]); } } +function writePackedSFixed32(arr, pbf) { for (var i = 0; i < arr.length; i++) { pbf.writeSFixed32(arr[i]); } } +function writePackedFixed64(arr, pbf) { for (var i = 0; i < arr.length; i++) { pbf.writeFixed64(arr[i]); } } +function writePackedSFixed64(arr, pbf) { for (var i = 0; i < arr.length; i++) { pbf.writeSFixed64(arr[i]); } } + +// Buffer code below from https://github.com/feross/buffer, MIT-licensed + +function readUInt32(buf, pos) { + return ((buf[pos]) | + (buf[pos + 1] << 8) | + (buf[pos + 2] << 16)) + + (buf[pos + 3] * 0x1000000); +} + +function writeInt32(buf, val, pos) { + buf[pos] = val; + buf[pos + 1] = (val >>> 8); + buf[pos + 2] = (val >>> 16); + buf[pos + 3] = (val >>> 24); +} + +function readInt32(buf, pos) { + return ((buf[pos]) | + (buf[pos + 1] << 8) | + (buf[pos + 2] << 16)) + + (buf[pos + 3] << 24); +} + +function readUtf8(buf, pos, end) { + var str = ''; + var i = pos; + + while (i < end) { + var b0 = buf[i]; + var c = null; // codepoint + var bytesPerSequence = + b0 > 0xEF ? 4 : + b0 > 0xDF ? 3 : + b0 > 0xBF ? 2 : 1; + + if (i + bytesPerSequence > end) { break; } + + var b1, b2, b3; + + if (bytesPerSequence === 1) { + if (b0 < 0x80) { + c = b0; + } + } else if (bytesPerSequence === 2) { + b1 = buf[i + 1]; + if ((b1 & 0xC0) === 0x80) { + c = (b0 & 0x1F) << 0x6 | (b1 & 0x3F); + if (c <= 0x7F) { + c = null; + } + } + } else if (bytesPerSequence === 3) { + b1 = buf[i + 1]; + b2 = buf[i + 2]; + if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80) { + c = (b0 & 0xF) << 0xC | (b1 & 0x3F) << 0x6 | (b2 & 0x3F); + if (c <= 0x7FF || (c >= 0xD800 && c <= 0xDFFF)) { + c = null; + } + } + } else if (bytesPerSequence === 4) { + b1 = buf[i + 1]; + b2 = buf[i + 2]; + b3 = buf[i + 3]; + if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) { + c = (b0 & 0xF) << 0x12 | (b1 & 0x3F) << 0xC | (b2 & 0x3F) << 0x6 | (b3 & 0x3F); + if (c <= 0xFFFF || c >= 0x110000) { + c = null; + } + } + } + + if (c === null) { + c = 0xFFFD; + bytesPerSequence = 1; + + } else if (c > 0xFFFF) { + c -= 0x10000; + str += String.fromCharCode(c >>> 10 & 0x3FF | 0xD800); + c = 0xDC00 | c & 0x3FF; + } + + str += String.fromCharCode(c); + i += bytesPerSequence; + } + + return str; +} + +function writeUtf8(buf, str, pos) { + for (var i = 0, c, lead; i < str.length; i++) { + c = str.charCodeAt(i); // code point + + if (c > 0xD7FF && c < 0xE000) { + if (lead) { + if (c < 0xDC00) { + buf[pos++] = 0xEF; + buf[pos++] = 0xBF; + buf[pos++] = 0xBD; + lead = c; + continue; + } else { + c = lead - 0xD800 << 10 | c - 0xDC00 | 0x10000; + lead = null; + } + } else { + if (c > 0xDBFF || (i + 1 === str.length)) { + buf[pos++] = 0xEF; + buf[pos++] = 0xBF; + buf[pos++] = 0xBD; + } else { + lead = c; + } + continue; + } + } else if (lead) { + buf[pos++] = 0xEF; + buf[pos++] = 0xBF; + buf[pos++] = 0xBD; + lead = null; + } + + if (c < 0x80) { + buf[pos++] = c; + } else { + if (c < 0x800) { + buf[pos++] = c >> 0x6 | 0xC0; + } else { + if (c < 0x10000) { + buf[pos++] = c >> 0xC | 0xE0; + } else { + buf[pos++] = c >> 0x12 | 0xF0; + buf[pos++] = c >> 0xC & 0x3F | 0x80; + } + buf[pos++] = c >> 0x6 & 0x3F | 0x80; + } + buf[pos++] = c & 0x3F | 0x80; + } + } + return pos; +} + +var index$5 = Point$1; + +function Point$1(x, y) { + this.x = x; + this.y = y; +} + +Point$1.prototype = { + clone: function() { return new Point$1(this.x, this.y); }, + + add: function(p) { return this.clone()._add(p); }, + sub: function(p) { return this.clone()._sub(p); }, + mult: function(k) { return this.clone()._mult(k); }, + div: function(k) { return this.clone()._div(k); }, + rotate: function(a) { return this.clone()._rotate(a); }, + matMult: function(m) { return this.clone()._matMult(m); }, + unit: function() { return this.clone()._unit(); }, + perp: function() { return this.clone()._perp(); }, + round: function() { return this.clone()._round(); }, + + mag: function() { + return Math.sqrt(this.x * this.x + this.y * this.y); + }, + + equals: function(p) { + return this.x === p.x && + this.y === p.y; + }, + + dist: function(p) { + return Math.sqrt(this.distSqr(p)); + }, + + distSqr: function(p) { + var dx = p.x - this.x, + dy = p.y - this.y; + return dx * dx + dy * dy; + }, + + angle: function() { + return Math.atan2(this.y, this.x); + }, + + angleTo: function(b) { + return Math.atan2(this.y - b.y, this.x - b.x); + }, + + angleWith: function(b) { + return this.angleWithSep(b.x, b.y); + }, + + // Find the angle of the two vectors, solving the formula for the cross product a x b = |a||b|sin(θ) for θ. + angleWithSep: function(x, y) { + return Math.atan2( + this.x * y - this.y * x, + this.x * x + this.y * y); + }, + + _matMult: function(m) { + var x = m[0] * this.x + m[1] * this.y, + y = m[2] * this.x + m[3] * this.y; + this.x = x; + this.y = y; + return this; + }, + + _add: function(p) { + this.x += p.x; + this.y += p.y; + return this; + }, + + _sub: function(p) { + this.x -= p.x; + this.y -= p.y; + return this; + }, + + _mult: function(k) { + this.x *= k; + this.y *= k; + return this; + }, + + _div: function(k) { + this.x /= k; + this.y /= k; + return this; + }, + + _unit: function() { + this._div(this.mag()); + return this; + }, + + _perp: function() { + var y = this.y; + this.y = this.x; + this.x = -y; + return this; + }, + + _rotate: function(angle) { + var cos = Math.cos(angle), + sin = Math.sin(angle), + x = cos * this.x - sin * this.y, + y = sin * this.x + cos * this.y; + this.x = x; + this.y = y; + return this; + }, + + _round: function() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + return this; + } +}; + +// constructs Point from an array if necessary +Point$1.convert = function (a) { + if (a instanceof Point$1) { + return a; + } + if (Array.isArray(a)) { + return new Point$1(a[0], a[1]); + } + return a; +}; + +var Point = index$5; + +var vectortilefeature = VectorTileFeature$2; + +function VectorTileFeature$2(pbf, end, extent, keys, values) { + // Public + this.properties = {}; + this.extent = extent; + this.type = 0; + + // Private + this._pbf = pbf; + this._geometry = -1; + this._keys = keys; + this._values = values; + + pbf.readFields(readFeature, this, end); +} + +function readFeature(tag, feature, pbf) { + if (tag == 1) { feature.id = pbf.readVarint(); } + else if (tag == 2) { readTag(pbf, feature); } + else if (tag == 3) { feature.type = pbf.readVarint(); } + else if (tag == 4) { feature._geometry = pbf.pos; } +} + +function readTag(pbf, feature) { + var end = pbf.readVarint() + pbf.pos; + + while (pbf.pos < end) { + var key = feature._keys[pbf.readVarint()], + value = feature._values[pbf.readVarint()]; + feature.properties[key] = value; + } +} + +VectorTileFeature$2.types = ['Unknown', 'Point', 'LineString', 'Polygon']; + +VectorTileFeature$2.prototype.loadGeometry = function() { + var pbf = this._pbf; + pbf.pos = this._geometry; + + var end = pbf.readVarint() + pbf.pos, + cmd = 1, + length = 0, + x = 0, + y = 0, + lines = [], + line; + + while (pbf.pos < end) { + if (!length) { + var cmdLen = pbf.readVarint(); + cmd = cmdLen & 0x7; + length = cmdLen >> 3; + } + + length--; + + if (cmd === 1 || cmd === 2) { + x += pbf.readSVarint(); + y += pbf.readSVarint(); + + if (cmd === 1) { // moveTo + if (line) { lines.push(line); } + line = []; + } + + line.push(new Point(x, y)); + + } else if (cmd === 7) { + + // Workaround for https://github.com/mapbox/mapnik-vector-tile/issues/90 + if (line) { + line.push(line[0].clone()); // closePolygon + } + + } else { + throw new Error('unknown command ' + cmd); + } + } + + if (line) { lines.push(line); } + + return lines; +}; + +VectorTileFeature$2.prototype.bbox = function() { + var pbf = this._pbf; + pbf.pos = this._geometry; + + var end = pbf.readVarint() + pbf.pos, + cmd = 1, + length = 0, + x = 0, + y = 0, + x1 = Infinity, + x2 = -Infinity, + y1 = Infinity, + y2 = -Infinity; + + while (pbf.pos < end) { + if (!length) { + var cmdLen = pbf.readVarint(); + cmd = cmdLen & 0x7; + length = cmdLen >> 3; + } + + length--; + + if (cmd === 1 || cmd === 2) { + x += pbf.readSVarint(); + y += pbf.readSVarint(); + if (x < x1) { x1 = x; } + if (x > x2) { x2 = x; } + if (y < y1) { y1 = y; } + if (y > y2) { y2 = y; } + + } else if (cmd !== 7) { + throw new Error('unknown command ' + cmd); + } + } + + return [x1, y1, x2, y2]; +}; + +VectorTileFeature$2.prototype.toGeoJSON = function(x, y, z) { + var size = this.extent * Math.pow(2, z), + x0 = this.extent * x, + y0 = this.extent * y, + coords = this.loadGeometry(), + type = VectorTileFeature$2.types[this.type], + i, j; + + function project(line) { + for (var j = 0; j < line.length; j++) { + var p = line[j], y2 = 180 - (p.y + y0) * 360 / size; + line[j] = [ + (p.x + x0) * 360 / size - 180, + 360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90 + ]; + } + } + + switch (this.type) { + case 1: + var points = []; + for (i = 0; i < coords.length; i++) { + points[i] = coords[i][0]; + } + coords = points; + project(coords); + break; + + case 2: + for (i = 0; i < coords.length; i++) { + project(coords[i]); + } + break; + + case 3: + coords = classifyRings(coords); + for (i = 0; i < coords.length; i++) { + for (j = 0; j < coords[i].length; j++) { + project(coords[i][j]); + } + } + break; + } + + if (coords.length === 1) { + coords = coords[0]; + } else { + type = 'Multi' + type; + } + + var result = { + type: "Feature", + geometry: { + type: type, + coordinates: coords + }, + properties: this.properties + }; + + if ('id' in this) { + result.id = this.id; + } + + return result; +}; + +// classifies an array of rings into polygons with outer rings and holes + +function classifyRings(rings) { + var len = rings.length; + + if (len <= 1) { return [rings]; } + + var polygons = [], + polygon, + ccw; + + for (var i = 0; i < len; i++) { + var area = signedArea(rings[i]); + if (area === 0) { continue; } + + if (ccw === undefined) { ccw = area < 0; } + + if (ccw === area < 0) { + if (polygon) { polygons.push(polygon); } + polygon = [rings[i]]; + + } else { + polygon.push(rings[i]); + } + } + if (polygon) { polygons.push(polygon); } + + return polygons; +} + +function signedArea(ring) { + var sum = 0; + for (var i = 0, len = ring.length, j = len - 1, p1, p2; i < len; j = i++) { + p1 = ring[i]; + p2 = ring[j]; + sum += (p2.x - p1.x) * (p1.y + p2.y); + } + return sum; +} + +var VectorTileFeature$1 = vectortilefeature; + +var vectortilelayer = VectorTileLayer$2; + +function VectorTileLayer$2(pbf, end) { + // Public + this.version = 1; + this.name = null; + this.extent = 4096; + this.length = 0; + + // Private + this._pbf = pbf; + this._keys = []; + this._values = []; + this._features = []; + + pbf.readFields(readLayer, this, end); + + this.length = this._features.length; +} + +function readLayer(tag, layer, pbf) { + if (tag === 15) { layer.version = pbf.readVarint(); } + else if (tag === 1) { layer.name = pbf.readString(); } + else if (tag === 5) { layer.extent = pbf.readVarint(); } + else if (tag === 2) { layer._features.push(pbf.pos); } + else if (tag === 3) { layer._keys.push(pbf.readString()); } + else if (tag === 4) { layer._values.push(readValueMessage(pbf)); } +} + +function readValueMessage(pbf) { + var value = null, + end = pbf.readVarint() + pbf.pos; + + while (pbf.pos < end) { + var tag = pbf.readVarint() >> 3; + + value = tag === 1 ? pbf.readString() : + tag === 2 ? pbf.readFloat() : + tag === 3 ? pbf.readDouble() : + tag === 4 ? pbf.readVarint64() : + tag === 5 ? pbf.readVarint() : + tag === 6 ? pbf.readSVarint() : + tag === 7 ? pbf.readBoolean() : null; + } + + return value; +} + +// return feature `i` from this layer as a `VectorTileFeature` +VectorTileLayer$2.prototype.feature = function(i) { + if (i < 0 || i >= this._features.length) { throw new Error('feature index out of bounds'); } + + this._pbf.pos = this._features[i]; + + var end = this._pbf.readVarint() + this._pbf.pos; + return new VectorTileFeature$1(this._pbf, end, this.extent, this._keys, this._values); +}; + +var VectorTileLayer$1 = vectortilelayer; + +var vectortile = VectorTile$1; + +function VectorTile$1(pbf, end) { + this.layers = pbf.readFields(readTile, {}, end); +} + +function readTile(tag, layers, pbf) { + if (tag === 3) { + var layer = new VectorTileLayer$1(pbf, pbf.readVarint() + pbf.pos); + if (layer.length) { layers[layer.name] = layer; } + } +} + +var VectorTile = vectortile; + +/* + * 🍂class VectorGrid.Protobuf + * 🍂extends VectorGrid + * + * A `VectorGrid` for vector tiles fetched from the internet. + * Tiles are supposed to be protobufs (AKA "protobuffer" or "Protocol Buffers"), + * containing data which complies with the + * [MapBox Vector Tile Specification](https://github.com/mapbox/vector-tile-spec/tree/master/2.1). + * + * This is the format used by: + * - Mapbox Vector Tiles + * - Mapzen Vector Tiles + * - ESRI Vector Tiles + * - [OpenMapTiles hosted Vector Tiles](https://openmaptiles.com/hosting/) + * + * 🍂example + * + * You must initialize a `VectorGrid.Protobuf` with a URL template, just like in + * `L.TileLayer`s. The difference is that the template must point to vector tiles + * (usually `.pbf` or `.mvt`) instead of raster (`.png` or `.jpg`) tiles, and that + * you should define the styling for all the features. + * + *

+ * + * For OpenMapTiles, with a key from [https://openmaptiles.org/docs/host/use-cdn/](https://openmaptiles.org/docs/host/use-cdn/), + * initialization looks like this: + * + * ``` + * L.vectorGrid.protobuf("https://free-{s}.tilehosting.com/data/v3/{z}/{x}/{y}.pbf.pict?key={key}", { + * vectorTileLayerStyles: { ... }, + * subdomains: "0123", + * key: 'abcdefghi01234567890', + * maxNativeZoom: 14 + * }).addTo(map); + * ``` + * + * And for Mapbox vector tiles, it looks like this: + * + * ``` + * L.vectorGrid.protobuf("https://{s}.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf?access_token={token}", { + * vectorTileLayerStyles: { ... }, + * subdomains: "abcd", + * token: "pk.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRTS.TUVWXTZ0123456789abcde" + * }).addTo(map); + * ``` + */ +L.VectorGrid.Protobuf = L.VectorGrid.extend({ + + options: { + // 🍂section + // As with `L.TileLayer`, the URL template might contain a reference to + // any option (see the example above and note the `{key}` or `token` in the URL + // template, and the corresponding option). + // + // 🍂option subdomains: String = 'abc' + // Akin to the `subdomains` option for `L.TileLayer`. + subdomains: 'abc', // Like L.TileLayer + // + // 🍂option fetchOptions: Object = {} + // options passed to `fetch`, e.g. {credentials: 'same-origin'} to send cookie for the current domain + fetchOptions: {} + }, + + initialize: function(url, options) { + // Inherits options from geojson-vt! +// this._slicer = geojsonvt(geojson, options); + this._url = url; + L.VectorGrid.prototype.initialize.call(this, options); + }, + + // 🍂method setUrl(url: String, noRedraw?: Boolean): this + // Updates the layer's URL template and redraws it (unless `noRedraw` is set to `true`). + setUrl: function(url, noRedraw) { + this._url = url; + + if (!noRedraw) { + this.redraw(); + } + + return this; + }, + + _getSubdomain: L.TileLayer.prototype._getSubdomain, + + _getVectorTilePromise: function(coords) { + var data = { + s: this._getSubdomain(coords), + x: coords.x, + y: coords.y, + z: coords.z +// z: this._getZoomForUrl() /// TODO: Maybe replicate TileLayer's maxNativeZoom + }; + if (this._map && !this._map.options.crs.infinite) { + var invertedY = this._globalTileRange.max.y - coords.y; + if (this.options.tms) { // Should this option be available in Leaflet.VectorGrid? + data['y'] = invertedY; + } + data['-y'] = invertedY; + } + + var tileUrl = L.Util.template(this._url, L.extend(data, this.options)); + + return fetch(tileUrl, this.options.fetchOptions).then(function(response){ + + if (!response.ok) { + return {layers:[]}; + } + + return response.blob().then( function (blob) { +// console.log(blob); + + var reader = new FileReader(); + return new Promise(function(resolve){ + reader.addEventListener("loadend", function() { + // reader.result contains the contents of blob as a typed array + + // blob.type === 'application/x-protobuf' + var pbf = new index( reader.result ); +// console.log(pbf); + return resolve(new VectorTile( pbf )); + + }); + reader.readAsArrayBuffer(blob); + }); + }); + }).then(function(json){ + +// console.log('Vector tile:', json.layers); +// console.log('Vector tile water:', json.layers.water); // Instance of VectorTileLayer + + // Normalize feature getters into actual instanced features + for (var layerName in json.layers) { + var feats = []; + + for (var i=0; i maxSqDist) {\n index = i;\n maxSqDist = sqDist;\n }\n }\n\n if (maxSqDist > sqTolerance) {\n points[index][2] = maxSqDist; // save the point importance in squared pixels as a z coordinate\n stack.push(first);\n stack.push(index);\n first = index;\n\n } else {\n last = stack.pop();\n first = stack.pop();\n }\n }\n}\n\n// square distance from a point to a segment\nfunction getSqSegDist(p, a, b) {\n\n var x = a[0], y = a[1],\n bx = b[0], by = b[1],\n px = p[0], py = p[1],\n dx = bx - x,\n dy = by - y;\n\n if (dx !== 0 || dy !== 0) {\n\n var t = ((px - x) * dx + (py - y) * dy) / (dx * dx + dy * dy);\n\n if (t > 1) {\n x = bx;\n y = by;\n\n } else if (t > 0) {\n x += dx * t;\n y += dy * t;\n }\n }\n\n dx = px - x;\n dy = py - y;\n\n return dx * dx + dy * dy;\n}\n\nvar convert_1 = convert$1;\n\nvar simplify = simplify_1;\n\n// converts GeoJSON feature into an intermediate projected JSON vector format with simplification data\n\nfunction convert$1(data, tolerance) {\n var features = [];\n\n if (data.type === 'FeatureCollection') {\n for (var i = 0; i < data.features.length; i++) {\n convertFeature(features, data.features[i], tolerance);\n }\n } else if (data.type === 'Feature') {\n convertFeature(features, data, tolerance);\n\n } else {\n // single geometry or a geometry collection\n convertFeature(features, {geometry: data}, tolerance);\n }\n return features;\n}\n\nfunction convertFeature(features, feature, tolerance) {\n if (feature.geometry === null) {\n // ignore features with null geometry\n return;\n }\n\n var geom = feature.geometry,\n type = geom.type,\n coords = geom.coordinates,\n tags = feature.properties,\n i, j, rings, projectedRing;\n\n if (type === 'Point') {\n features.push(create(tags, 1, [projectPoint(coords)]));\n\n } else if (type === 'MultiPoint') {\n features.push(create(tags, 1, project(coords)));\n\n } else if (type === 'LineString') {\n features.push(create(tags, 2, [project(coords, tolerance)]));\n\n } else if (type === 'MultiLineString' || type === 'Polygon') {\n rings = [];\n for (i = 0; i < coords.length; i++) {\n projectedRing = project(coords[i], tolerance);\n if (type === 'Polygon') { projectedRing.outer = (i === 0); }\n rings.push(projectedRing);\n }\n features.push(create(tags, type === 'Polygon' ? 3 : 2, rings));\n\n } else if (type === 'MultiPolygon') {\n rings = [];\n for (i = 0; i < coords.length; i++) {\n for (j = 0; j < coords[i].length; j++) {\n projectedRing = project(coords[i][j], tolerance);\n projectedRing.outer = (j === 0);\n rings.push(projectedRing);\n }\n }\n features.push(create(tags, 3, rings));\n\n } else if (type === 'GeometryCollection') {\n for (i = 0; i < geom.geometries.length; i++) {\n convertFeature(features, {\n geometry: geom.geometries[i],\n properties: tags\n }, tolerance);\n }\n\n } else {\n throw new Error('Input data is not a valid GeoJSON object.');\n }\n}\n\nfunction create(tags, type, geometry) {\n var feature = {\n geometry: geometry,\n type: type,\n tags: tags || null,\n min: [2, 1], // initial bbox values;\n max: [-1, 0] // note that coords are usually in [0..1] range\n };\n calcBBox(feature);\n return feature;\n}\n\nfunction project(lonlats, tolerance) {\n var projected = [];\n for (var i = 0; i < lonlats.length; i++) {\n projected.push(projectPoint(lonlats[i]));\n }\n if (tolerance) {\n simplify(projected, tolerance);\n calcSize(projected);\n }\n return projected;\n}\n\nfunction projectPoint(p) {\n var sin = Math.sin(p[1] * Math.PI / 180),\n x = (p[0] / 360 + 0.5),\n y = (0.5 - 0.25 * Math.log((1 + sin) / (1 - sin)) / Math.PI);\n\n y = y < 0 ? 0 :\n y > 1 ? 1 : y;\n\n return [x, y, 0];\n}\n\n// calculate area and length of the poly\nfunction calcSize(points) {\n var area = 0,\n dist = 0;\n\n for (var i = 0, a, b; i < points.length - 1; i++) {\n a = b || points[i];\n b = points[i + 1];\n\n area += a[0] * b[1] - b[0] * a[1];\n\n // use Manhattan distance instead of Euclidian one to avoid expensive square root computation\n dist += Math.abs(b[0] - a[0]) + Math.abs(b[1] - a[1]);\n }\n points.area = Math.abs(area / 2);\n points.dist = dist;\n}\n\n// calculate the feature bounding box for faster clipping later\nfunction calcBBox(feature) {\n var geometry = feature.geometry,\n min = feature.min,\n max = feature.max;\n\n if (feature.type === 1) { calcRingBBox(min, max, geometry); }\n else { for (var i = 0; i < geometry.length; i++) { calcRingBBox(min, max, geometry[i]); } }\n\n return feature;\n}\n\nfunction calcRingBBox(min, max, points) {\n for (var i = 0, p; i < points.length; i++) {\n p = points[i];\n min[0] = Math.min(p[0], min[0]);\n max[0] = Math.max(p[0], max[0]);\n min[1] = Math.min(p[1], min[1]);\n max[1] = Math.max(p[1], max[1]);\n }\n}\n\nvar tile = transformTile;\nvar point = transformPoint;\n\n// Transforms the coordinates of each feature in the given tile from\n// mercator-projected space into (extent x extent) tile space.\nfunction transformTile(tile, extent) {\n if (tile.transformed) { return tile; }\n\n var z2 = tile.z2,\n tx = tile.x,\n ty = tile.y,\n i, j, k;\n\n for (i = 0; i < tile.features.length; i++) {\n var feature = tile.features[i],\n geom = feature.geometry,\n type = feature.type;\n\n if (type === 1) {\n for (j = 0; j < geom.length; j++) { geom[j] = transformPoint(geom[j], extent, z2, tx, ty); }\n\n } else {\n for (j = 0; j < geom.length; j++) {\n var ring = geom[j];\n for (k = 0; k < ring.length; k++) { ring[k] = transformPoint(ring[k], extent, z2, tx, ty); }\n }\n }\n }\n\n tile.transformed = true;\n\n return tile;\n}\n\nfunction transformPoint(p, extent, z2, tx, ty) {\n var x = Math.round(extent * (p[0] * z2 - tx)),\n y = Math.round(extent * (p[1] * z2 - ty));\n return [x, y];\n}\n\nvar transform$1 = {\n tile: tile,\n point: point\n};\n\nvar clip_1 = clip$1;\n\n/* clip features between two axis-parallel lines:\n * | |\n * ___|___ | /\n * / | \____|____/\n * | |\n */\n\nfunction clip$1(features, scale, k1, k2, axis, intersect, minAll, maxAll) {\n\n k1 /= scale;\n k2 /= scale;\n\n if (minAll >= k1 && maxAll <= k2) { return features; } // trivial accept\n else if (minAll > k2 || maxAll < k1) { return null; } // trivial reject\n\n var clipped = [];\n\n for (var i = 0; i < features.length; i++) {\n\n var feature = features[i],\n geometry = feature.geometry,\n type = feature.type,\n min, max;\n\n min = feature.min[axis];\n max = feature.max[axis];\n\n if (min >= k1 && max <= k2) { // trivial accept\n clipped.push(feature);\n continue;\n } else if (min > k2 || max < k1) { continue; } // trivial reject\n\n var slices = type === 1 ?\n clipPoints(geometry, k1, k2, axis) :\n clipGeometry(geometry, k1, k2, axis, intersect, type === 3);\n\n if (slices.length) {\n // if a feature got clipped, it will likely get clipped on the next zoom level as well,\n // so there's no need to recalculate bboxes\n clipped.push({\n geometry: slices,\n type: type,\n tags: features[i].tags || null,\n min: feature.min,\n max: feature.max\n });\n }\n }\n\n return clipped.length ? clipped : null;\n}\n\nfunction clipPoints(geometry, k1, k2, axis) {\n var slice = [];\n\n for (var i = 0; i < geometry.length; i++) {\n var a = geometry[i],\n ak = a[axis];\n\n if (ak >= k1 && ak <= k2) { slice.push(a); }\n }\n return slice;\n}\n\nfunction clipGeometry(geometry, k1, k2, axis, intersect, closed) {\n\n var slices = [];\n\n for (var i = 0; i < geometry.length; i++) {\n\n var ak = 0,\n bk = 0,\n b = null,\n points = geometry[i],\n area = points.area,\n dist = points.dist,\n outer = points.outer,\n len = points.length,\n a, j, last;\n\n var slice = [];\n\n for (j = 0; j < len - 1; j++) {\n a = b || points[j];\n b = points[j + 1];\n ak = bk || a[axis];\n bk = b[axis];\n\n if (ak < k1) {\n\n if ((bk > k2)) { // ---|-----|-->\n slice.push(intersect(a, b, k1), intersect(a, b, k2));\n if (!closed) { slice = newSlice(slices, slice, area, dist, outer); }\n\n } else if (bk >= k1) { slice.push(intersect(a, b, k1)); } // ---|--> |\n\n } else if (ak > k2) {\n\n if ((bk < k1)) { // <--|-----|---\n slice.push(intersect(a, b, k2), intersect(a, b, k1));\n if (!closed) { slice = newSlice(slices, slice, area, dist, outer); }\n\n } else if (bk <= k2) { slice.push(intersect(a, b, k2)); } // | <--|---\n\n } else {\n\n slice.push(a);\n\n if (bk < k1) { // <--|--- |\n slice.push(intersect(a, b, k1));\n if (!closed) { slice = newSlice(slices, slice, area, dist, outer); }\n\n } else if (bk > k2) { // | ---|-->\n slice.push(intersect(a, b, k2));\n if (!closed) { slice = newSlice(slices, slice, area, dist, outer); }\n }\n // | --> |\n }\n }\n\n // add the last point\n a = points[len - 1];\n ak = a[axis];\n if (ak >= k1 && ak <= k2) { slice.push(a); }\n\n // close the polygon if its endpoints are not the same after clipping\n\n last = slice[slice.length - 1];\n if (closed && last && (slice[0][0] !== last[0] || slice[0][1] !== last[1])) { slice.push(slice[0]); }\n\n // add the final slice\n newSlice(slices, slice, area, dist, outer);\n }\n\n return slices;\n}\n\nfunction newSlice(slices, slice, area, dist, outer) {\n if (slice.length) {\n // we don't recalculate the area/length of the unclipped geometry because the case where it goes\n // below the visibility threshold as a result of clipping is rare, so we avoid doing unnecessary work\n slice.area = area;\n slice.dist = dist;\n if (outer !== undefined) { slice.outer = outer; }\n\n slices.push(slice);\n }\n return [];\n}\n\nvar clip$2 = clip_1;\n\nvar wrap_1 = wrap$1;\n\nfunction wrap$1(features, buffer, intersectX) {\n var merged = features,\n left = clip$2(features, 1, -1 - buffer, buffer, 0, intersectX, -1, 2), // left world copy\n right = clip$2(features, 1, 1 - buffer, 2 + buffer, 0, intersectX, -1, 2); // right world copy\n\n if (left || right) {\n merged = clip$2(features, 1, -buffer, 1 + buffer, 0, intersectX, -1, 2); // center world copy\n\n if (left) { merged = shiftFeatureCoords(left, 1).concat(merged); } // merge left into center\n if (right) { merged = merged.concat(shiftFeatureCoords(right, -1)); } // merge right into center\n }\n\n return merged;\n}\n\nfunction shiftFeatureCoords(features, offset) {\n var newFeatures = [];\n\n for (var i = 0; i < features.length; i++) {\n var feature = features[i],\n type = feature.type;\n\n var newGeometry;\n\n if (type === 1) {\n newGeometry = shiftCoords(feature.geometry, offset);\n } else {\n newGeometry = [];\n for (var j = 0; j < feature.geometry.length; j++) {\n newGeometry.push(shiftCoords(feature.geometry[j], offset));\n }\n }\n\n newFeatures.push({\n geometry: newGeometry,\n type: type,\n tags: feature.tags,\n min: [feature.min[0] + offset, feature.min[1]],\n max: [feature.max[0] + offset, feature.max[1]]\n });\n }\n\n return newFeatures;\n}\n\nfunction shiftCoords(points, offset) {\n var newPoints = [];\n newPoints.area = points.area;\n newPoints.dist = points.dist;\n\n for (var i = 0; i < points.length; i++) {\n newPoints.push([points[i][0] + offset, points[i][1], points[i][2]]);\n }\n return newPoints;\n}\n\nvar tile$1 = createTile$1;\n\nfunction createTile$1(features, z2, tx, ty, tolerance, noSimplify) {\n var tile = {\n features: [],\n numPoints: 0,\n numSimplified: 0,\n numFeatures: 0,\n source: null,\n x: tx,\n y: ty,\n z2: z2,\n transformed: false,\n min: [2, 1],\n max: [-1, 0]\n };\n for (var i = 0; i < features.length; i++) {\n tile.numFeatures++;\n addFeature(tile, features[i], tolerance, noSimplify);\n\n var min = features[i].min,\n max = features[i].max;\n\n if (min[0] < tile.min[0]) { tile.min[0] = min[0]; }\n if (min[1] < tile.min[1]) { tile.min[1] = min[1]; }\n if (max[0] > tile.max[0]) { tile.max[0] = max[0]; }\n if (max[1] > tile.max[1]) { tile.max[1] = max[1]; }\n }\n return tile;\n}\n\nfunction addFeature(tile, feature, tolerance, noSimplify) {\n\n var geom = feature.geometry,\n type = feature.type,\n simplified = [],\n sqTolerance = tolerance * tolerance,\n i, j, ring, p;\n\n if (type === 1) {\n for (i = 0; i < geom.length; i++) {\n simplified.push(geom[i]);\n tile.numPoints++;\n tile.numSimplified++;\n }\n\n } else {\n\n // simplify and transform projected coordinates for tile geometry\n for (i = 0; i < geom.length; i++) {\n ring = geom[i];\n\n // filter out tiny polylines & polygons\n if (!noSimplify && ((type === 2 && ring.dist < tolerance) ||\n (type === 3 && ring.area < sqTolerance))) {\n tile.numPoints += ring.length;\n continue;\n }\n\n var simplifiedRing = [];\n\n for (j = 0; j < ring.length; j++) {\n p = ring[j];\n // keep points with importance > tolerance\n if (noSimplify || p[2] > sqTolerance) {\n simplifiedRing.push(p);\n tile.numSimplified++;\n }\n tile.numPoints++;\n }\n\n if (type === 3) { rewind(simplifiedRing, ring.outer); }\n\n simplified.push(simplifiedRing);\n }\n }\n\n if (simplified.length) {\n tile.features.push({\n geometry: simplified,\n type: type,\n tags: feature.tags || null\n });\n }\n}\n\nfunction rewind(ring, clockwise) {\n var area = signedArea(ring);\n if (area < 0 === clockwise) { ring.reverse(); }\n}\n\nfunction signedArea(ring) {\n var sum = 0;\n for (var i = 0, len = ring.length, j = len - 1, p1, p2; i < len; j = i++) {\n p1 = ring[i];\n p2 = ring[j];\n sum += (p2[0] - p1[0]) * (p1[1] + p2[1]);\n }\n return sum;\n}\n\nvar index = geojsonvt;\n\nvar convert = convert_1;\nvar transform = transform$1;\nvar clip = clip_1;\nvar wrap = wrap_1;\nvar createTile = tile$1; // final simplified tile generation\n\n\nfunction geojsonvt(data, options) {\n return new GeoJSONVT(data, options);\n}\n\nfunction GeoJSONVT(data, options) {\n options = this.options = extend(Object.create(this.options), options);\n\n var debug = options.debug;\n\n if (debug) { console.time('preprocess data'); }\n\n var z2 = 1 << options.maxZoom, // 2^z\n features = convert(data, options.tolerance / (z2 * options.extent));\n\n this.tiles = {};\n this.tileCoords = [];\n\n if (debug) {\n console.timeEnd('preprocess data');\n console.log('index: maxZoom: %d, maxPoints: %d', options.indexMaxZoom, options.indexMaxPoints);\n console.time('generate tiles');\n this.stats = {};\n this.total = 0;\n }\n\n features = wrap(features, options.buffer / options.extent, intersectX);\n\n // start slicing from the top tile down\n if (features.length) { this.splitTile(features, 0, 0, 0); }\n\n if (debug) {\n if (features.length) { console.log('features: %d, points: %d', this.tiles[0].numFeatures, this.tiles[0].numPoints); }\n console.timeEnd('generate tiles');\n console.log('tiles generated:', this.total, JSON.stringify(this.stats));\n }\n}\n\nGeoJSONVT.prototype.options = {\n maxZoom: 14, // max zoom to preserve detail on\n indexMaxZoom: 5, // max zoom in the tile index\n indexMaxPoints: 100000, // max number of points per tile in the tile index\n solidChildren: false, // whether to tile solid square tiles further\n tolerance: 3, // simplification tolerance (higher means simpler)\n extent: 4096, // tile extent\n buffer: 64, // tile buffer on each side\n debug: 0 // logging level (0, 1 or 2)\n};\n\nGeoJSONVT.prototype.splitTile = function (features, z, x, y, cz, cx, cy) {\n var this$1 = this;\n\n\n var stack = [features, z, x, y],\n options = this.options,\n debug = options.debug,\n solid = null;\n\n // avoid recursion by using a processing queue\n while (stack.length) {\n y = stack.pop();\n x = stack.pop();\n z = stack.pop();\n features = stack.pop();\n\n var z2 = 1 << z,\n id = toID(z, x, y),\n tile = this$1.tiles[id],\n tileTolerance = z === options.maxZoom ? 0 : options.tolerance / (z2 * options.extent);\n\n if (!tile) {\n if (debug > 1) { console.time('creation'); }\n\n tile = this$1.tiles[id] = createTile(features, z2, x, y, tileTolerance, z === options.maxZoom);\n this$1.tileCoords.push({z: z, x: x, y: y});\n\n if (debug) {\n if (debug > 1) {\n console.log('tile z%d-%d-%d (features: %d, points: %d, simplified: %d)',\n z, x, y, tile.numFeatures, tile.numPoints, tile.numSimplified);\n console.timeEnd('creation');\n }\n var key = 'z' + z;\n this$1.stats[key] = (this$1.stats[key] || 0) + 1;\n this$1.total++;\n }\n }\n\n // save reference to original geometry in tile so that we can drill down later if we stop now\n tile.source = features;\n\n // if it's the first-pass tiling\n if (!cz) {\n // stop tiling if we reached max zoom, or if the tile is too simple\n if (z === options.indexMaxZoom || tile.numPoints <= options.indexMaxPoints) { continue; }\n\n // if a drilldown to a specific tile\n } else {\n // stop tiling if we reached base zoom or our target tile zoom\n if (z === options.maxZoom || z === cz) { continue; }\n\n // stop tiling if it's not an ancestor of the target tile\n var m = 1 << (cz - z);\n if (x !== Math.floor(cx / m) || y !== Math.floor(cy / m)) { continue; }\n }\n\n // stop tiling if the tile is solid clipped square\n if (!options.solidChildren && isClippedSquare(tile, options.extent, options.buffer)) {\n if (cz) { solid = z; } // and remember the zoom if we're drilling down\n continue;\n }\n\n // if we slice further down, no need to keep source geometry\n tile.source = null;\n\n if (debug > 1) { console.time('clipping'); }\n\n // values we'll use for clipping\n var k1 = 0.5 * options.buffer / options.extent,\n k2 = 0.5 - k1,\n k3 = 0.5 + k1,\n k4 = 1 + k1,\n tl, bl, tr, br, left, right;\n\n tl = bl = tr = br = null;\n\n left = clip(features, z2, x - k1, x + k3, 0, intersectX, tile.min[0], tile.max[0]);\n right = clip(features, z2, x + k2, x + k4, 0, intersectX, tile.min[0], tile.max[0]);\n\n if (left) {\n tl = clip(left, z2, y - k1, y + k3, 1, intersectY, tile.min[1], tile.max[1]);\n bl = clip(left, z2, y + k2, y + k4, 1, intersectY, tile.min[1], tile.max[1]);\n }\n\n if (right) {\n tr = clip(right, z2, y - k1, y + k3, 1, intersectY, tile.min[1], tile.max[1]);\n br = clip(right, z2, y + k2, y + k4, 1, intersectY, tile.min[1], tile.max[1]);\n }\n\n if (debug > 1) { console.timeEnd('clipping'); }\n\n if (tl) { stack.push(tl, z + 1, x * 2, y * 2); }\n if (bl) { stack.push(bl, z + 1, x * 2, y * 2 + 1); }\n if (tr) { stack.push(tr, z + 1, x * 2 + 1, y * 2); }\n if (br) { stack.push(br, z + 1, x * 2 + 1, y * 2 + 1); }\n }\n\n return solid;\n};\n\nGeoJSONVT.prototype.getTile = function (z, x, y) {\n var this$1 = this;\n\n var options = this.options,\n extent = options.extent,\n debug = options.debug;\n\n var z2 = 1 << z;\n x = ((x % z2) + z2) % z2; // wrap tile x coordinate\n\n var id = toID(z, x, y);\n if (this.tiles[id]) { return transform.tile(this.tiles[id], extent); }\n\n if (debug > 1) { console.log('drilling down to z%d-%d-%d', z, x, y); }\n\n var z0 = z,\n x0 = x,\n y0 = y,\n parent;\n\n while (!parent && z0 > 0) {\n z0--;\n x0 = Math.floor(x0 / 2);\n y0 = Math.floor(y0 / 2);\n parent = this$1.tiles[toID(z0, x0, y0)];\n }\n\n if (!parent || !parent.source) { return null; }\n\n // if we found a parent tile containing the original geometry, we can drill down from it\n if (debug > 1) { console.log('found parent tile z%d-%d-%d', z0, x0, y0); }\n\n // it parent tile is a solid clipped square, return it instead since it's identical\n if (isClippedSquare(parent, extent, options.buffer)) { return transform.tile(parent, extent); }\n\n if (debug > 1) { console.time('drilling down'); }\n var solid = this.splitTile(parent.source, z0, x0, y0, z, x, y);\n if (debug > 1) { console.timeEnd('drilling down'); }\n\n // one of the parent tiles was a solid clipped square\n if (solid !== null) {\n var m = 1 << (z - solid);\n id = toID(solid, Math.floor(x / m), Math.floor(y / m));\n }\n\n return this.tiles[id] ? transform.tile(this.tiles[id], extent) : null;\n};\n\nfunction toID(z, x, y) {\n return (((1 << z) * y + x) * 32) + z;\n}\n\nfunction intersectX(a, b, x) {\n return [x, (x - a[0]) * (b[1] - a[1]) / (b[0] - a[0]) + a[1], 1];\n}\nfunction intersectY(a, b, y) {\n return [(y - a[1]) * (b[0] - a[0]) / (b[1] - a[1]) + a[0], y, 1];\n}\n\nfunction extend(dest, src) {\n for (var i in src) { dest[i] = src[i]; }\n return dest;\n}\n\n// checks whether a tile is a whole-area fill after clipping; if it is, there's no sense slicing it further\nfunction isClippedSquare(tile, extent, buffer) {\n\n var features = tile.source;\n if (features.length !== 1) { return false; }\n\n var feature = features[0];\n if (feature.type !== 3 || feature.geometry.length > 1) { return false; }\n\n var len = feature.geometry[0].length;\n if (len !== 5) { return false; }\n\n for (var i = 0; i < len; i++) {\n var p = transform.point(feature.geometry[0][i], extent, tile.z2, tile.x, tile.y);\n if ((p[0] !== -buffer && p[0] !== extent + buffer) ||\n (p[1] !== -buffer && p[1] !== extent + buffer)) { return false; }\n }\n\n return true;\n}\n\nvar identity = function(x) {\n return x;\n};\n\nvar transform$3 = function(topology) {\n if ((transform = topology.transform) == null) { return identity; }\n var transform,\n x0,\n y0,\n kx = transform.scale[0],\n ky = transform.scale[1],\n dx = transform.translate[0],\n dy = transform.translate[1];\n return function(point, i) {\n if (!i) { x0 = y0 = 0; }\n point[0] = (x0 += point[0]) * kx + dx;\n point[1] = (y0 += point[1]) * ky + dy;\n return point;\n };\n};\n\nvar bbox = function(topology) {\n var bbox = topology.bbox;\n\n function bboxPoint(p0) {\n p1[0] = p0[0], p1[1] = p0[1], t(p1);\n if (p1[0] < x0) { x0 = p1[0]; }\n if (p1[0] > x1) { x1 = p1[0]; }\n if (p1[1] < y0) { y0 = p1[1]; }\n if (p1[1] > y1) { y1 = p1[1]; }\n }\n\n function bboxGeometry(o) {\n switch (o.type) {\n case \"GeometryCollection\": o.geometries.forEach(bboxGeometry); break;\n case \"Point\": bboxPoint(o.coordinates); break;\n case \"MultiPoint\": o.coordinates.forEach(bboxPoint); break;\n }\n }\n\n if (!bbox) {\n var t = transform$3(topology), p0, p1 = new Array(2), name,\n x0 = Infinity, y0 = x0, x1 = -x0, y1 = -x0;\n\n topology.arcs.forEach(function(arc) {\n var i = -1, n = arc.length;\n while (++i < n) {\n p0 = arc[i], p1[0] = p0[0], p1[1] = p0[1], t(p1, i);\n if (p1[0] < x0) { x0 = p1[0]; }\n if (p1[0] > x1) { x1 = p1[0]; }\n if (p1[1] < y0) { y0 = p1[1]; }\n if (p1[1] > y1) { y1 = p1[1]; }\n }\n });\n\n for (name in topology.objects) {\n bboxGeometry(topology.objects[name]);\n }\n\n bbox = topology.bbox = [x0, y0, x1, y1];\n }\n\n return bbox;\n};\n\nvar reverse = function(array, n) {\n var t, j = array.length, i = j - n;\n while (i < --j) { t = array[i], array[i++] = array[j], array[j] = t; }\n};\n\nvar feature = function(topology, o) {\n return o.type === \"GeometryCollection\"\n ? {type: \"FeatureCollection\", features: o.geometries.map(function(o) { return feature$1(topology, o); })}\n : feature$1(topology, o);\n};\n\nfunction feature$1(topology, o) {\n var id = o.id,\n bbox = o.bbox,\n properties = o.properties == null ? {} : o.properties,\n geometry = object(topology, o);\n return id == null && bbox == null ? {type: \"Feature\", properties: properties, geometry: geometry}\n : bbox == null ? {type: \"Feature\", id: id, properties: properties, geometry: geometry}\n : {type: \"Feature\", id: id, bbox: bbox, properties: properties, geometry: geometry};\n}\n\nfunction object(topology, o) {\n var transformPoint = transform$3(topology),\n arcs = topology.arcs;\n\n function arc(i, points) {\n if (points.length) { points.pop(); }\n for (var a = arcs[i < 0 ? ~i : i], k = 0, n = a.length; k < n; ++k) {\n points.push(transformPoint(a[k].slice(), k));\n }\n if (i < 0) { reverse(points, n); }\n }\n\n function point(p) {\n return transformPoint(p.slice());\n }\n\n function line(arcs) {\n var points = [];\n for (var i = 0, n = arcs.length; i < n; ++i) { arc(arcs[i], points); }\n if (points.length < 2) { points.push(points[0].slice()); }\n return points;\n }\n\n function ring(arcs) {\n var points = line(arcs);\n while (points.length < 4) { points.push(points[0].slice()); }\n return points;\n }\n\n function polygon(arcs) {\n return arcs.map(ring);\n }\n\n function geometry(o) {\n var type = o.type, coordinates;\n switch (type) {\n case \"GeometryCollection\": return {type: type, geometries: o.geometries.map(geometry)};\n case \"Point\": coordinates = point(o.coordinates); break;\n case \"MultiPoint\": coordinates = o.coordinates.map(point); break;\n case \"LineString\": coordinates = line(o.arcs); break;\n case \"MultiLineString\": coordinates = o.arcs.map(line); break;\n case \"Polygon\": coordinates = polygon(o.arcs); break;\n case \"MultiPolygon\": coordinates = o.arcs.map(polygon); break;\n default: return null;\n }\n return {type: type, coordinates: coordinates};\n }\n\n return geometry(o);\n}\n\nvar stitch = function(topology, arcs) {\n var stitchedArcs = {},\n fragmentByStart = {},\n fragmentByEnd = {},\n fragments = [],\n emptyIndex = -1;\n\n // Stitch empty arcs first, since they may be subsumed by other arcs.\n arcs.forEach(function(i, j) {\n var arc = topology.arcs[i < 0 ? ~i : i], t;\n if (arc.length < 3 && !arc[1][0] && !arc[1][1]) {\n t = arcs[++emptyIndex], arcs[emptyIndex] = i, arcs[j] = t;\n }\n });\n\n arcs.forEach(function(i) {\n var e = ends(i),\n start = e[0],\n end = e[1],\n f, g;\n\n if (f = fragmentByEnd[start]) {\n delete fragmentByEnd[f.end];\n f.push(i);\n f.end = end;\n if (g = fragmentByStart[end]) {\n delete fragmentByStart[g.start];\n var fg = g === f ? f : f.concat(g);\n fragmentByStart[fg.start = f.start] = fragmentByEnd[fg.end = g.end] = fg;\n } else {\n fragmentByStart[f.start] = fragmentByEnd[f.end] = f;\n }\n } else if (f = fragmentByStart[end]) {\n delete fragmentByStart[f.start];\n f.unshift(i);\n f.start = start;\n if (g = fragmentByEnd[start]) {\n delete fragmentByEnd[g.end];\n var gf = g === f ? f : g.concat(f);\n fragmentByStart[gf.start = g.start] = fragmentByEnd[gf.end = f.end] = gf;\n } else {\n fragmentByStart[f.start] = fragmentByEnd[f.end] = f;\n }\n } else {\n f = [i];\n fragmentByStart[f.start = start] = fragmentByEnd[f.end = end] = f;\n }\n });\n\n function ends(i) {\n var arc = topology.arcs[i < 0 ? ~i : i], p0 = arc[0], p1;\n if (topology.transform) { p1 = [0, 0], arc.forEach(function(dp) { p1[0] += dp[0], p1[1] += dp[1]; }); }\n else { p1 = arc[arc.length - 1]; }\n return i < 0 ? [p1, p0] : [p0, p1];\n }\n\n function flush(fragmentByEnd, fragmentByStart) {\n for (var k in fragmentByEnd) {\n var f = fragmentByEnd[k];\n delete fragmentByStart[f.start];\n delete f.start;\n delete f.end;\n f.forEach(function(i) { stitchedArcs[i < 0 ? ~i : i] = 1; });\n fragments.push(f);\n }\n }\n\n flush(fragmentByEnd, fragmentByStart);\n flush(fragmentByStart, fragmentByEnd);\n arcs.forEach(function(i) { if (!stitchedArcs[i < 0 ? ~i : i]) { fragments.push([i]); } });\n\n return fragments;\n};\n\nfunction extractArcs(topology, object$$1, filter) {\n var arcs = [],\n geomsByArc = [],\n geom;\n\n function extract0(i) {\n var j = i < 0 ? ~i : i;\n (geomsByArc[j] || (geomsByArc[j] = [])).push({i: i, g: geom});\n }\n\n function extract1(arcs) {\n arcs.forEach(extract0);\n }\n\n function extract2(arcs) {\n arcs.forEach(extract1);\n }\n\n function extract3(arcs) {\n arcs.forEach(extract2);\n }\n\n function geometry(o) {\n switch (geom = o, o.type) {\n case \"GeometryCollection\": o.geometries.forEach(geometry); break;\n case \"LineString\": extract1(o.arcs); break;\n case \"MultiLineString\": case \"Polygon\": extract2(o.arcs); break;\n case \"MultiPolygon\": extract3(o.arcs); break;\n }\n }\n\n geometry(object$$1);\n\n geomsByArc.forEach(filter == null\n ? function(geoms) { arcs.push(geoms[0].i); }\n : function(geoms) { if (filter(geoms[0].g, geoms[geoms.length - 1].g)) { arcs.push(geoms[0].i); } });\n\n return arcs;\n}\n\nfunction planarRingArea(ring) {\n var i = -1, n = ring.length, a, b = ring[n - 1], area = 0;\n while (++i < n) { a = b, b = ring[i], area += a[0] * b[1] - a[1] * b[0]; }\n return Math.abs(area); // Note: doubled area!\n}\n\nvar bisect = function(a, x) {\n var lo = 0, hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (a[mid] < x) { lo = mid + 1; }\n else { hi = mid; }\n }\n return lo;\n};\n\nvar slicers = {};\nvar options;\n\nonmessage = function (e) {\n if (e.data[0] === 'slice') {\n // Given a blob of GeoJSON and some topojson/geojson-vt options, do the slicing.\n var geojson = e.data[1];\n options = e.data[2];\n\n if (geojson.type && geojson.type === 'Topology') {\n for (var layerName in geojson.objects) {\n slicers[layerName] = index(\n feature(geojson, geojson.objects[layerName])\n , options);\n }\n } else {\n slicers[options.vectorTileLayerName] = index(geojson, options);\n }\n\n } else if (e.data[0] === 'get') {\n // Gets the vector tile for the given coordinates, sends it back as a message\n var coords = e.data[1];\n\n var tileLayers = {};\n for (var layerName in slicers) {\n var slicedTileLayer = slicers[layerName].getTile(coords.z, coords.x, coords.y);\n\n if (slicedTileLayer) {\n var vectorTileLayer = {\n features: [],\n extent: options.extent,\n name: options.vectorTileLayerName,\n length: slicedTileLayer.features.length\n };\n\n for (var i in slicedTileLayer.features) {\n var feat = {\n geometry: slicedTileLayer.features[i].geometry,\n properties: slicedTileLayer.features[i].tags,\n type: slicedTileLayer.features[i].type // 1 = point, 2 = line, 3 = polygon\n };\n vectorTileLayer.features.push(feat);\n }\n tileLayers[layerName] = vectorTileLayer;\n }\n }\n postMessage({ layers: tileLayers, coords: coords });\n }\n};\n//# sourceMap" + "pingURL=slicerWebWorker.js.worker.map\n", "text/plain; charset=us-ascii", false); + +// The geojson/topojson is sliced into tiles via a web worker. +// This import statement depends on rollup-file-as-blob, so that the +// variable 'workerCode' is a blob URL. + +/* + * 🍂class VectorGrid.Slicer + * 🍂extends VectorGrid + * + * A `VectorGrid` for slicing up big GeoJSON or TopoJSON documents in vector + * tiles, leveraging [`geojson-vt`](https://github.com/mapbox/geojson-vt). + * + * 🍂example + * + * ``` + * var geoJsonDocument = { + * type: 'FeatureCollection', + * features: [ ... ] + * }; + * + * L.vectorGrid.slicer(geoJsonDocument, { + * vectorTileLayerStyles: { + * sliced: { ... } + * } + * }).addTo(map); + * + * ``` + * + * `VectorGrid.Slicer` can also handle [TopoJSON](https://github.com/mbostock/topojson) transparently: + * ```js + * var layer = L.vectorGrid.slicer(topojson, options); + * ``` + * + * The TopoJSON format [implicitly groups features into "objects"](https://github.com/mbostock/topojson-specification/blob/master/README.md#215-objects). + * These will be transformed into vector tile layer names when styling (the + * `vectorTileLayerName` option is ignored when using TopoJSON). + * + */ + +L.VectorGrid.Slicer = L.VectorGrid.extend({ + + options: { + // 🍂section + // Additionally to these options, `VectorGrid.Slicer` can take in any + // of the [`geojson-vt` options](https://github.com/mapbox/geojson-vt#options). + + // 🍂option vectorTileLayerName: String = 'sliced' + // Vector tiles contain a set of *data layers*, and those data layers + // contain features. Thus, the slicer creates one data layer, with + // the name given in this option. This is important for symbolizing the data. + vectorTileLayerName: 'sliced', + + extent: 4096, // Default for geojson-vt + maxZoom: 14 // Default for geojson-vt + }, + + initialize: function(geojson, options) { + L.VectorGrid.prototype.initialize.call(this, options); + + // Create a shallow copy of this.options, excluding things that might + // be functions - we only care about topojson/geojsonvt options + var options = {}; + for (var i in this.options) { + if (i !== 'rendererFactory' && + i !== 'vectorTileLayerStyles' && + typeof (this.options[i]) !== 'function' + ) { + options[i] = this.options[i]; + } + } + +// this._worker = new Worker(window.URL.createObjectURL(new Blob([workerCode]))); + this._worker = new Worker(workerCode); + + // Send initial data to worker. + this._worker.postMessage(['slice', geojson, options]); + + }, + + + _getVectorTilePromise: function(coords) { + + var _this = this; + + var p = new Promise( function waitForWorker(res) { + _this._worker.addEventListener('message', function recv(m) { + if (m.data.coords && + m.data.coords.x === coords.x && + m.data.coords.y === coords.y && + m.data.coords.z === coords.z ) { + + res(m.data); + _this._worker.removeEventListener('message', recv); + } + }); + }); + + this._worker.postMessage(['get', coords]); + + return p; + }, + +}); + + +L.vectorGrid.slicer = function (geojson, options) { + return new L.VectorGrid.Slicer(geojson, options); +}; + +L.Canvas.Tile = L.Canvas.extend({ + + initialize: function (tileCoord, tileSize, options) { + L.Canvas.prototype.initialize.call(this, options); + this._tileCoord = tileCoord; + this._size = tileSize; + + this._initContainer(); + this._container.setAttribute('width', this._size.x); + this._container.setAttribute('height', this._size.y); + this._layers = {}; + this._drawnLayers = {}; + this._drawing = true; + + if (options.interactive) { + // By default, Leaflet tiles do not have pointer events + this._container.style.pointerEvents = 'auto'; + } + }, + + getCoord: function() { + return this._tileCoord; + }, + + getContainer: function() { + return this._container; + }, + + getOffset: function() { + return this._tileCoord.scaleBy(this._size).subtract(this._map.getPixelOrigin()); + }, + + onAdd: L.Util.falseFn, + + addTo: function(map) { + this._map = map; + }, + + removeFrom: function (map) { + delete this._map; + }, + + _onClick: function (e) { + var point = this._map.mouseEventToLayerPoint(e).subtract(this.getOffset()), layer, clickedLayer; + + for (var id in this._layers) { + layer = this._layers[id]; + if (layer.options.interactive && layer._containsPoint(point) && !this._map._draggableMoved(layer)) { + clickedLayer = layer; + } + } + if (clickedLayer) { + L.DomEvent.fakeStop(e); + this._fireEvent([clickedLayer], e); + } + }, + + _onMouseMove: function (e) { + if (!this._map || this._map.dragging.moving() || this._map._animatingZoom) { return; } + + var point = this._map.mouseEventToLayerPoint(e).subtract(this.getOffset()); + this._handleMouseHover(e, point); + }, + + /// TODO: Modify _initPath to include an extra parameter, a group name + /// to order symbolizers by z-index + + _updateIcon: function (layer) { + if (!this._drawing) { return; } + + var icon = layer.options.icon, + options = icon.options, + size = L.point(options.iconSize), + anchor = options.iconAnchor || + size && size.divideBy(2, true), + p = layer._point.subtract(anchor), + ctx = this._ctx, + img = layer._getImage(); + + if (img.complete) { + ctx.drawImage(img, p.x, p.y, size.x, size.y); + } else { + L.DomEvent.on(img, 'load', function() { + ctx.drawImage(img, p.x, p.y, size.x, size.y); + }); + } + + this._drawnLayers[layer._leaflet_id] = layer; + } +}); + + +L.canvas.tile = function(tileCoord, tileSize, opts){ + return new L.Canvas.Tile(tileCoord, tileSize, opts); +}; + +// Aux file to bundle everything together +//# sourceMappingURL=Leaflet.VectorGrid.js.map diff --git a/webassets/vendor/js/leaflet-workedallbritainireland.js b/webassets/vendor/js/leaflet-workedallbritainireland.js new file mode 100644 index 0000000..953d280 --- /dev/null +++ b/webassets/vendor/js/leaflet-workedallbritainireland.js @@ -0,0 +1,259 @@ +L.WorkedAllBritainIreland = L.LayerGroup.extend({ + + options: { + // Line and label color + color: 'rgba(80, 80, 80, 1)', + // Grid squares to draw + gbSquares: ["HP", "HT", "HU", "HW", "HX", "HY", "HZ", "NA", "NB", "NC", "ND", "NF", "NG", "NH", "NJ", "NK", "NL", "NM", "NN", "NO", "NR", "NS", "NT", "NU", "NW", "NX", "NY", "NZ", "OV", "SC", "SD", "SE", "SH", "SJ", "SK", "SM", "SN", "SO", "SP", "SR", "SS", "ST", "SU", "SV", "SW", "SX", "SY", "SZ", "TA", "TF", "TG", "TL", "TM", "TR", "TQ", "TV"], + ieSquares: ["B", "C", "D", "F", "G", "H", "J", "L", "M", "N", "O", "Q", "R", "S", "T", "V", "W", "X"], + ciSquares: ["WA", "WV"] + }, + + initialize: function (options) { + // Initialise the LayerGroup superclass and set the options for this class. + L.LayerGroup.prototype.initialize.call(this); + L.Util.setOptions(this, options); + + // Workaround to load the geodesy modules in non-modular code. Once we have loaded all three modules, trigger a + // first draw. + import("https://misc.ianrenton.com/Leaflet.WorkedAllBritainIreland/modules/geodesy/osgridref.js") + .then(module => { + this._osGridLibrary = module; + if (this._ieGridLibrary && this._utmLibrary) { + this.redraw(); + } + }) + .catch(error => { + console.log("Error loading OS Grid Ref library, GB WAB squares may not be available."); + console.log(error); + }); + import("https://misc.ianrenton.com/Leaflet.WorkedAllBritainIreland/modules/geodesy/iegridref.js") + .then(module => { + this._ieGridLibrary = module; + if (this._osGridLibrary && this._utmLibrary) { + this.redraw(); + } + }) + .catch(error => { + console.log("Error loading IE Grid Ref library, NI WAB squares may not be available."); + console.log(error); + }); + import("https://misc.ianrenton.com/Leaflet.WorkedAllBritainIreland/modules/geodesy/utm_ci.js") + .then(module => { + this._utmLibrary = module; + if (this._osGridLibrary && this._ieGridLibrary) { + this.redraw(); + } + }) + .catch(error => { + console.log("Error loading UTM library, Channel Islands WAB squares may not be available."); + console.log(error); + }); + }, + + onAdd: function (map) { + this._map = map; + var grid = this.redraw(); + map.on('moveend', function () { grid.redraw(); }); + map.on('zoomend', function () { grid.redraw(); }); + this.eachLayer(map.addLayer, map); + }, + + onRemove: function (map) { + map.off('moveend', this.map); + map.off('zoomend', this.map); + this.eachLayer(this.removeLayer, this); + }, + + redraw: function () { + // Don't proceed unless we have a map object and our libraries are loaded + if (this._map && this._osGridLibrary && this._ieGridLibrary && this._utmLibrary) { + // Remove existing content + this.eachLayer(this.removeLayer, this); + + // Determine detail level based on current map zoom. + const detailLevel = (map.getZoom() > 4) ? (map.getZoom() > 8) ? 2 : 1 : 0; + + // Generate new content for the three grid systems. + this.options.gbSquares.forEach(squareRef => { + this._addWABGraphicsForSquare(squareRef, "GB", detailLevel); + }); + this.options.ieSquares.forEach(squareRef => { + this._addWABGraphicsForSquare(squareRef, "IE", detailLevel); + }); + this.options.ciSquares.forEach(squareRef => { + this._addWABGraphicsForSquare(squareRef, "CI", detailLevel); + }); + } + return this; + }, + + + // Add WAB graphics to the layer for the given square, using the given grid system ("GB", "IE" or "CI") and the + // required level of detail. + _addWABGraphicsForSquare: function (squareRef, gridSystem, detailLevel) { + if (detailLevel === 0 || detailLevel === 1) { + // If detail level is 0 or 1, we want a single large square. + const swCorner = this._gridRefToLatLon(squareRef + " 00000 00000", gridSystem); + const nwCorner = this._gridRefToLatLon(squareRef + " 99999 00000", gridSystem); + const neCorner = this._gridRefToLatLon(squareRef + " 99999 99999", gridSystem); + const seCorner = this._gridRefToLatLon(squareRef + " 00000 99999", gridSystem); + const centre = this._gridRefToLatLon(squareRef + " 50000 50000", gridSystem); + + let square = L.polygon([swCorner, nwCorner, neCorner, seCorner], {color: this.options.color, interactive: false}); + this.addLayer(square); + + // Additionally if detail level is 1, we want to label it. + if (detailLevel === 1) { + let label = new L.marker(centre, { + icon: new L.DivIcon({ + html: '' + squareRef + '', + className: 'wabSquareLabel' // Prevent default background & border and provide ability to customise + }) + }, clickable=false); + this.addLayer(label); + } + + } else if (detailLevel === 2) { + // If detail level is 2, we want to generate all the inner squares (with labels) + // instead of just one square. But, doing this for every square will cause CPU issues, + // so we only want to generate graphics if they would actually end up on screen. + for (let i = 0; i < 10; i++) { + for (let j = 0; j < 10; j++) { + + // Bail out if we have a grid reference that doesn't apply. This is where GB grid overlaps with NI etc. + // are deconflicted. + if (this._validSmallSquare(squareRef, i, j)) { + + // If we get this far, now calculate the coordinates of the box. + const swCorner = this._gridRefToLatLon(squareRef + " " + i + "0000 " + j + "0000", gridSystem); + const nwCorner = this._gridRefToLatLon(squareRef + " " + i + "9999 " + j + "0000", gridSystem); + const neCorner = this._gridRefToLatLon(squareRef + " " + i + "9999 " + j + "9999", gridSystem); + const seCorner = this._gridRefToLatLon(squareRef + " " + i + "0000 " + j + "9999", gridSystem); + const centre = this._gridRefToLatLon(squareRef + " " + i + "5000 " + j + "5000", gridSystem); + + // Find out if this box is going to be on our screen. If not, don't draw anything. + if (map.getBounds().contains(swCorner) || map.getBounds().contains(nwCorner) + || map.getBounds().contains(neCorner) || map.getBounds().contains(seCorner)) { + let square = L.polygon([swCorner, nwCorner, neCorner, seCorner], {color: this.options.color, interactive: false}); + this.addLayer(square); + + let label = new L.marker(centre, { + icon: new L.DivIcon({ + html: '' + squareRef + i + j + '', + className: 'wabSquareLabelLong' // Prevent default background & border and provide ability to customise + }) + }, clickable=false); + this.addLayer(label); + } + } + } + } + } + }, + + // Determine if a given small square is OK to draw. This is where e.g. overlapping GB and IE squares are + // deconflicted in the Irish Sea. + _validSmallSquare: function (squareRef, i, j) { + let valid = true; + if (squareRef === "WA" && j > 1) { + valid = false; + } else if (squareRef === "TR" && i > 4 && j < 5) { + valid = false; + } else if (squareRef === "SM" && i < 4) { + valid = false; + } else if (squareRef === "SM" && i < 7 && j > 4) { + valid = false; + } else if (squareRef === "TV" && i === 9 && j === 0) { + valid = false; + } else if (squareRef === "NW" && i < 9) { + valid = false; + } else if (squareRef === "NR" && i < 5 && j < 3) { + valid = false; + } else if (squareRef === "C" && j > 6) { + valid = false; + } else if (squareRef === "D" && (i > 5 || j > 5 || (i > 2 && j > 3))) { + valid = false; + } else if (squareRef === "J" && i > 6) { + valid = false; + } else if (squareRef === "O" && i > 8) { + valid = false; + } else if (squareRef === "T" && i > 6 && j < 5) { + valid = false; + } + return valid; + }, + + // Convert the given grid reference to lat/lon, using the given grid system ("GB", "IE" or "CI") + _gridRefToLatLon: function (grid, gridSystem) { + if (gridSystem === "GB") { + return this._osgbGridRefToLatLon(grid); + } else if (gridSystem === "IE") { + return this._osieGridRefToLatLon(grid); + } else if (gridSystem === "CI") { + return this._ciGridRefToLatLon(grid); + } else { + return null; + } + }, + + // OSGB grid reference to lat/lon + _osgbGridRefToLatLon: function (grid) { + if (this._osGridLibrary) { + return this._osGridLibrary.default.parse(grid).toLatLon(); + } else { + return null; + } + }, + + // Lat/lon to OSGB grid reference + _latLonToOSGBGridRef: function (lat, lon) { + if (this._osGridLibrary) { + return new this._osGridLibrary.LatLon(lat, lon).toOsGrid(); + } else { + return null; + } + }, + + // OSIE grid reference to lat/lon + _osieGridRefToLatLon: function (grid) { + if (this._ieGridLibrary) { + return this._ieGridLibrary.default.parse(grid).toLatLon(); + } else { + return null; + } + }, + + // Lat/lon to OSIE grid reference + _latLonToOSIEGridRef: function (lat, lon) { + if (this._ieGridLibrary) { + return new this._ieGridLibrary.LatLon(lat, lon).toOsGrid(); + } else { + return null; + } + }, + + // CI grid reference to lat/lon + _ciGridRefToLatLon: function (grid) { + if (this._utmLibrary) { + return this._utmLibrary.default.parseChannelIslandGrid(grid).toLatLon(); + } else { + return null; + } + }, + + // Lat/lon to CI grid reference + _latLonToCIGridRef: function (lat, lon) { + if (this._utmLibrary) { + let utm = (new this._utmLibrary.LatLon(lat, lon)).toUtm(); + // todo convert UTM coordinate system back to CI grid ref cells + return null; + } else { + return null; + } + } +}); + +L.workedAllBritainIreland = function (options) { + return new L.WorkedAllBritainIreland(options); +}; diff --git a/webassets/vendor/js/moment-2.29.4.min.js b/webassets/vendor/js/moment-2.29.4.min.js new file mode 100644 index 0000000..6e6c32e --- /dev/null +++ b/webassets/vendor/js/moment-2.29.4.min.js @@ -0,0 +1,15 @@ +/** + * Minified by jsDelivr using Terser v5.37.0. + * Original file: /npm/moment@2.29.4/moment.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +//! moment.js +//! version : 2.29.4 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,(function(){"use strict";var e,t;function n(){return e.apply(null,arguments)}function s(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function a(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(r(e,t))return!1;return!0}function o(e){return void 0===e}function u(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function h(e,t){var n,s=[],i=e.length;for(n=0;n>>0;for(t=0;t0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,P=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,R={},W={};function C(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(W[e]=i),t&&(W[t[0]]=function(){return T(i.apply(this,arguments),t[1],t[2])}),n&&(W[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function U(e,t){return e.isValid()?(t=H(t,e.localeData()),R[t]=R[t]||function(e){var t,n,s,i=e.match(N);for(t=0,n=i.length;t=0&&P.test(e);)e=e.replace(P,s),P.lastIndex=0,n-=1;return e}var F={};function L(e,t){var n=e.toLowerCase();F[n]=F[n+"s"]=F[t]=e}function V(e){return"string"==typeof e?F[e]||F[e.toLowerCase()]:void 0}function G(e){var t,n,s={};for(n in e)r(e,n)&&(t=V(n))&&(s[t]=e[n]);return s}var E={};function A(e,t){E[e]=t}function j(e){return e%4==0&&e%100!=0||e%400==0}function I(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function Z(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=I(t)),n}function z(e,t){return function(s){return null!=s?(q(this,e,s),n.updateOffset(this,t),this):$(this,e)}}function $(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function q(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&j(e.year())&&1===e.month()&&29===e.date()?(n=Z(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Te(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}var B,J=/\d/,Q=/\d\d/,X=/\d{3}/,K=/\d{4}/,ee=/[+-]?\d{6}/,te=/\d\d?/,ne=/\d\d\d\d?/,se=/\d\d\d\d\d\d?/,ie=/\d{1,3}/,re=/\d{1,4}/,ae=/[+-]?\d{1,6}/,oe=/\d+/,ue=/[+-]?\d+/,le=/Z|[+-]\d\d:?\d\d/gi,he=/Z|[+-]\d\d(?::?\d\d)?/gi,de=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function ce(e,t,n){B[e]=O(t)?t:function(e,s){return e&&n?n:t}}function fe(e,t){return r(B,e)?B[e](t._strict,t._locale):new RegExp(me(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,n,s,i){return t||n||s||i}))))}function me(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}B={};var _e={};function ye(e,t){var n,s,i=t;for("string"==typeof e&&(e=[e]),u(t)&&(i=function(e,n){n[t]=Z(e)}),s=e.length,n=0;n68?1900:2e3)};var Ge=z("FullYear",!0);function Ee(e,t,n,s,i,r,a){var o;return e<100&&e>=0?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}function Ae(e){var t,n;return e<100&&e>=0?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function je(e,t,n){var s=7+t-n;return-((7+Ae(e,0,s).getUTCDay()-t)%7)+s-1}function Ie(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+je(e,s,i);return o<=0?a=Ve(r=e-1)+o:o>Ve(e)?(r=e+1,a=o-Ve(e)):(r=e,a=o),{year:r,dayOfYear:a}}function Ze(e,t,n){var s,i,r=je(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+ze(i=e.year()-1,t,n):a>ze(e.year(),t,n)?(s=a-ze(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function ze(e,t,n){var s=je(e,t,n),i=je(e+1,t,n);return(Ve(e)-s+i)/7}C("w",["ww",2],"wo","week"),C("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),A("week",5),A("isoWeek",5),ce("w",te),ce("ww",te,Q),ce("W",te),ce("WW",te,Q),ge(["w","ww","W","WW"],(function(e,t,n,s){t[s.substr(0,1)]=Z(e)}));function $e(e,t){return e.slice(t,7).concat(e.slice(0,t))}C("d",0,"do","day"),C("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),C("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),C("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),C("e",0,0,"weekday"),C("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),A("day",11),A("weekday",11),A("isoWeekday",11),ce("d",te),ce("e",te),ce("E",te),ce("dd",(function(e,t){return t.weekdaysMinRegex(e)})),ce("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),ce("dddd",(function(e,t){return t.weekdaysRegex(e)})),ge(["dd","ddd","dddd"],(function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:f(n).invalidWeekday=e})),ge(["d","e","E"],(function(e,t,n,s){t[s]=Z(e)}));var qe="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Be="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Je="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Qe=de,Xe=de,Ke=de;function et(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=c([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=pe.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=pe.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=pe.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=pe.call(this._weekdaysParse,a))||-1!==(i=pe.call(this._shortWeekdaysParse,a))||-1!==(i=pe.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=pe.call(this._shortWeekdaysParse,a))||-1!==(i=pe.call(this._weekdaysParse,a))||-1!==(i=pe.call(this._minWeekdaysParse,a))?i:null:-1!==(i=pe.call(this._minWeekdaysParse,a))||-1!==(i=pe.call(this._weekdaysParse,a))||-1!==(i=pe.call(this._shortWeekdaysParse,a))?i:null}function tt(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=c([2e3,1]).day(t),s=me(this.weekdaysMin(n,"")),i=me(this.weekdaysShort(n,"")),r=me(this.weekdays(n,"")),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);a.sort(e),o.sort(e),u.sort(e),l.sort(e),this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function nt(){return this.hours()%12||12}function st(e,t){C(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function it(e,t){return t._meridiemParse}C("H",["HH",2],0,"hour"),C("h",["hh",2],0,nt),C("k",["kk",2],0,(function(){return this.hours()||24})),C("hmm",0,0,(function(){return""+nt.apply(this)+T(this.minutes(),2)})),C("hmmss",0,0,(function(){return""+nt.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)})),C("Hmm",0,0,(function(){return""+this.hours()+T(this.minutes(),2)})),C("Hmmss",0,0,(function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)})),st("a",!0),st("A",!1),L("hour","h"),A("hour",13),ce("a",it),ce("A",it),ce("H",te),ce("h",te),ce("k",te),ce("HH",te,Q),ce("hh",te,Q),ce("kk",te,Q),ce("hmm",ne),ce("hmmss",se),ce("Hmm",ne),ce("Hmmss",se),ye(["H","HH"],De),ye(["k","kk"],(function(e,t,n){var s=Z(e);t[De]=24===s?0:s})),ye(["a","A"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),ye(["h","hh"],(function(e,t,n){t[De]=Z(e),f(n).bigHour=!0})),ye("hmm",(function(e,t,n){var s=e.length-2;t[De]=Z(e.substr(0,s)),t[Se]=Z(e.substr(s)),f(n).bigHour=!0})),ye("hmmss",(function(e,t,n){var s=e.length-4,i=e.length-2;t[De]=Z(e.substr(0,s)),t[Se]=Z(e.substr(s,2)),t[Ye]=Z(e.substr(i)),f(n).bigHour=!0})),ye("Hmm",(function(e,t,n){var s=e.length-2;t[De]=Z(e.substr(0,s)),t[Se]=Z(e.substr(s))})),ye("Hmmss",(function(e,t,n){var s=e.length-4,i=e.length-2;t[De]=Z(e.substr(0,s)),t[Se]=Z(e.substr(s,2)),t[Ye]=Z(e.substr(i))}));var rt=z("Hours",!0);var at,ot={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ne,monthsShort:Pe,week:{dow:0,doy:6},weekdays:qe,weekdaysMin:Je,weekdaysShort:Be,meridiemParse:/[ap]\.?m?\.?/i},ut={},lt={};function ht(e,t){var n,s=Math.min(e.length,t.length);for(n=0;n0;){if(s=ct(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&ht(i,n)>=t-1)break;t--}r++}return at}(e)}function yt(e){var t,n=e._a;return n&&-2===f(e).overflow&&(t=n[ke]<0||n[ke]>11?ke:n[Me]<1||n[Me]>Te(n[ve],n[ke])?Me:n[De]<0||n[De]>24||24===n[De]&&(0!==n[Se]||0!==n[Ye]||0!==n[Oe])?De:n[Se]<0||n[Se]>59?Se:n[Ye]<0||n[Ye]>59?Ye:n[Oe]<0||n[Oe]>999?Oe:-1,f(e)._overflowDayOfYear&&(tMe)&&(t=Me),f(e)._overflowWeeks&&-1===t&&(t=be),f(e)._overflowWeekday&&-1===t&&(t=xe),f(e).overflow=t),e}var gt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,wt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,pt=/Z|[+-]\d\d(?::?\d\d)?/,vt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],kt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Mt=/^\/?Date\((-?\d+)/i,Dt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,St={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Yt(e){var t,n,s,i,r,a,o=e._i,u=gt.exec(o)||wt.exec(o),l=vt.length,h=kt.length;if(u){for(f(e).iso=!0,t=0,n=l;t7)&&(u=!0)):(r=e._locale._week.dow,a=e._locale._week.doy,l=Ze(Wt(),r,a),n=xt(t.gg,e._a[ve],l.year),s=xt(t.w,l.week),null!=t.d?((i=t.d)<0||i>6)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(u=!0)):i=r);s<1||s>ze(n,r,a)?f(e)._overflowWeeks=!0:null!=u?f(e)._overflowWeekday=!0:(o=Ie(n,s,i,r,a),e._a[ve]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(a=xt(e._a[ve],i[ve]),(e._dayOfYear>Ve(a)||0===e._dayOfYear)&&(f(e)._overflowDayOfYear=!0),s=Ae(a,0,e._dayOfYear),e._a[ke]=s.getUTCMonth(),e._a[Me]=s.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=i[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[De]&&0===e._a[Se]&&0===e._a[Ye]&&0===e._a[Oe]&&(e._nextDay=!0,e._a[De]=0),e._d=(e._useUTC?Ae:Ee).apply(null,o),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[De]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(f(e).weekdayMismatch=!0)}}function Nt(e){if(e._f!==n.ISO_8601)if(e._f!==n.RFC_2822){e._a=[],f(e).empty=!0;var t,s,i,r,a,o,u,l=""+e._i,h=l.length,d=0;for(u=(i=H(e._f,e._locale).match(N)||[]).length,t=0;t0&&f(e).unusedInput.push(a),l=l.slice(l.indexOf(s)+s.length),d+=s.length),W[r]?(s?f(e).empty=!1:f(e).unusedTokens.push(r),we(r,s,e)):e._strict&&!s&&f(e).unusedTokens.push(r);f(e).charsLeftOver=h-d,l.length>0&&f(e).unusedInput.push(l),e._a[De]<=12&&!0===f(e).bigHour&&e._a[De]>0&&(f(e).bigHour=void 0),f(e).parsedDateParts=e._a.slice(0),f(e).meridiem=e._meridiem,e._a[De]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0),t):t}(e._locale,e._a[De],e._meridiem),null!==(o=f(e).era)&&(e._a[ve]=e._locale.erasConvertYear(o,e._a[ve])),Tt(e),yt(e)}else bt(e);else Yt(e)}function Pt(e){var t=e._i,r=e._f;return e._locale=e._locale||_t(e._l),null===t||void 0===r&&""===t?_({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),v(t)?new p(yt(t)):(l(t)?e._d=t:s(r)?function(e){var t,n,s,i,r,a,o=!1,u=e._f.length;if(0===u)return f(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;ithis?this:e:_()}));function Ht(e,t){var n,i;if(1===t.length&&s(t[0])&&(t=t[0]),!t.length)return Wt();for(n=t[0],i=1;i=0?new Date(e+400,t,n)-cn:new Date(e,t,n).valueOf()}function _n(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-cn:Date.UTC(e,t,n)}function yn(e,t){return t.erasAbbrRegex(e)}function gn(){var e,t,n=[],s=[],i=[],r=[],a=this.eras();for(e=0,t=a.length;e(r=ze(e,s,i))&&(t=r),vn.call(this,e,t,n,s,i))}function vn(e,t,n,s,i){var r=Ie(e,t,n,s,i),a=Ae(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}C("N",0,0,"eraAbbr"),C("NN",0,0,"eraAbbr"),C("NNN",0,0,"eraAbbr"),C("NNNN",0,0,"eraName"),C("NNNNN",0,0,"eraNarrow"),C("y",["y",1],"yo","eraYear"),C("y",["yy",2],0,"eraYear"),C("y",["yyy",3],0,"eraYear"),C("y",["yyyy",4],0,"eraYear"),ce("N",yn),ce("NN",yn),ce("NNN",yn),ce("NNNN",(function(e,t){return t.erasNameRegex(e)})),ce("NNNNN",(function(e,t){return t.erasNarrowRegex(e)})),ye(["N","NN","NNN","NNNN","NNNNN"],(function(e,t,n,s){var i=n._locale.erasParse(e,s,n._strict);i?f(n).era=i:f(n).invalidEra=e})),ce("y",oe),ce("yy",oe),ce("yyy",oe),ce("yyyy",oe),ce("yo",(function(e,t){return t._eraYearOrdinalRegex||oe})),ye(["y","yy","yyy","yyyy"],ve),ye(["yo"],(function(e,t,n,s){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[ve]=n._locale.eraYearOrdinalParse(e,i):t[ve]=parseInt(e,10)})),C(0,["gg",2],0,(function(){return this.weekYear()%100})),C(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),wn("gggg","weekYear"),wn("ggggg","weekYear"),wn("GGGG","isoWeekYear"),wn("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),A("weekYear",1),A("isoWeekYear",1),ce("G",ue),ce("g",ue),ce("GG",te,Q),ce("gg",te,Q),ce("GGGG",re,K),ce("gggg",re,K),ce("GGGGG",ae,ee),ce("ggggg",ae,ee),ge(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,n,s){t[s.substr(0,2)]=Z(e)})),ge(["gg","GG"],(function(e,t,s,i){t[i]=n.parseTwoDigitYear(e)})),C("Q",0,"Qo","quarter"),L("quarter","Q"),A("quarter",7),ce("Q",J),ye("Q",(function(e,t){t[ke]=3*(Z(e)-1)})),C("D",["DD",2],"Do","date"),L("date","D"),A("date",9),ce("D",te),ce("DD",te,Q),ce("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),ye(["D","DD"],Me),ye("Do",(function(e,t){t[Me]=Z(e.match(te)[0])}));var kn=z("Date",!0);C("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),A("dayOfYear",4),ce("DDD",ie),ce("DDDD",X),ye(["DDD","DDDD"],(function(e,t,n){n._dayOfYear=Z(e)})),C("m",["mm",2],0,"minute"),L("minute","m"),A("minute",14),ce("m",te),ce("mm",te,Q),ye(["m","mm"],Se);var Mn=z("Minutes",!1);C("s",["ss",2],0,"second"),L("second","s"),A("second",15),ce("s",te),ce("ss",te,Q),ye(["s","ss"],Ye);var Dn,Sn,Yn=z("Seconds",!1);for(C("S",0,0,(function(){return~~(this.millisecond()/100)})),C(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),C(0,["SSS",3],0,"millisecond"),C(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),C(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),C(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),C(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),C(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),C(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),L("millisecond","ms"),A("millisecond",16),ce("S",ie,J),ce("SS",ie,Q),ce("SSS",ie,X),Dn="SSSS";Dn.length<=9;Dn+="S")ce(Dn,oe);function On(e,t){t[Oe]=Z(1e3*("0."+e))}for(Dn="S";Dn.length<=9;Dn+="S")ye(Dn,On);Sn=z("Milliseconds",!1),C("z",0,0,"zoneAbbr"),C("zz",0,0,"zoneName");var bn=p.prototype;function xn(e){return e}bn.add=en,bn.calendar=function(e,t){1===arguments.length&&(arguments[0]?sn(arguments[0])?(e=arguments[0],t=void 0):function(e){var t,n=i(e)&&!a(e),s=!1,o=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(t=0;tn.valueOf():n.valueOf()9999?U(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):O(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",U(n,"Z")):U(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},bn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,s="moment",i="";return this.isLocal()||(s=0===this.utcOffset()?"moment.utc":"moment.parseZone",i="Z"),e="["+s+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=i+'[")]',this.format(e+t+"-MM-DD[T]HH:mm:ss.SSS"+n)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(bn[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),bn.toJSON=function(){return this.isValid()?this.toISOString():null},bn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},bn.unix=function(){return Math.floor(this.valueOf()/1e3)},bn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},bn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},bn.eraName=function(){var e,t,n,s=this.localeData().eras();for(e=0,t=s.length;ethis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},bn.isLocal=function(){return!!this.isValid()&&!this._isUTC},bn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},bn.isUtc=zt,bn.isUTC=zt,bn.zoneAbbr=function(){return this._isUTC?"UTC":""},bn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},bn.dates=M("dates accessor is deprecated. Use date instead.",kn),bn.months=M("months accessor is deprecated. Use month instead",Fe),bn.years=M("years accessor is deprecated. Use year instead",Ge),bn.zone=M("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()})),bn.isDSTShifted=M("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e,t={};return w(t,this),(t=Pt(t))._a?(e=t._isUTC?c(t._a):Wt(t._a),this._isDSTShifted=this.isValid()&&function(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s0):this._isDSTShifted=!1,this._isDSTShifted}));var Tn=x.prototype;function Nn(e,t,n,s){var i=_t(),r=c().set(s,t);return i[n](r,e)}function Pn(e,t,n){if(u(e)&&(t=e,e=void 0),e=e||"",null!=t)return Nn(e,t,n,"month");var s,i=[];for(s=0;s<12;s++)i[s]=Nn(e,s,n,"month");return i}function Rn(e,t,n,s){"boolean"==typeof e?(u(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,u(t)&&(n=t,t=void 0),t=t||"");var i,r=_t(),a=e?r._week.dow:0,o=[];if(null!=n)return Nn(t,(n+a)%7,s,"day");for(i=0;i<7;i++)o[i]=Nn(t,(i+a)%7,s,"day");return o}Tn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return O(s)?s.call(t,n):s},Tn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(N).map((function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e})).join(""),this._longDateFormat[e])},Tn.invalidDate=function(){return this._invalidDate},Tn.ordinal=function(e){return this._ordinal.replace("%d",e)},Tn.preparse=xn,Tn.postformat=xn,Tn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return O(i)?i(e,t,n,s):i.replace(/%d/i,e)},Tn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return O(n)?n(t):n.replace(/%s/i,t)},Tn.set=function(e){var t,n;for(n in e)r(e,n)&&(O(t=e[n])?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Tn.eras=function(e,t){var s,i,r,a=this._eras||_t("en")._eras;for(s=0,i=a.length;s=0)return u[s]},Tn.erasConvertYear=function(e,t){var s=e.since<=e.until?1:-1;return void 0===t?n(e.since).year():n(e.since).year()+(t-e.offset)*s},Tn.erasAbbrRegex=function(e){return r(this,"_erasAbbrRegex")||gn.call(this),e?this._erasAbbrRegex:this._erasRegex},Tn.erasNameRegex=function(e){return r(this,"_erasNameRegex")||gn.call(this),e?this._erasNameRegex:this._erasRegex},Tn.erasNarrowRegex=function(e){return r(this,"_erasNarrowRegex")||gn.call(this),e?this._erasNarrowRegex:this._erasRegex},Tn.months=function(e,t){return e?s(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Re).test(t)?"format":"standalone"][e.month()]:s(this._months)?this._months:this._months.standalone},Tn.monthsShort=function(e,t){return e?s(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Re.test(t)?"format":"standalone"][e.month()]:s(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Tn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return Ue.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=c([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},Tn.monthsRegex=function(e){return this._monthsParseExact?(r(this,"_monthsRegex")||Le.call(this),e?this._monthsStrictRegex:this._monthsRegex):(r(this,"_monthsRegex")||(this._monthsRegex=Ce),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},Tn.monthsShortRegex=function(e){return this._monthsParseExact?(r(this,"_monthsRegex")||Le.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(r(this,"_monthsShortRegex")||(this._monthsShortRegex=We),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},Tn.week=function(e){return Ze(e,this._week.dow,this._week.doy).week},Tn.firstDayOfYear=function(){return this._week.doy},Tn.firstDayOfWeek=function(){return this._week.dow},Tn.weekdays=function(e,t){var n=s(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?$e(n,this._week.dow):e?n[e.day()]:n},Tn.weekdaysMin=function(e){return!0===e?$e(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},Tn.weekdaysShort=function(e){return!0===e?$e(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},Tn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return et.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=c([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},Tn.weekdaysRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||tt.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(r(this,"_weekdaysRegex")||(this._weekdaysRegex=Qe),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},Tn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||tt.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(r(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Xe),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Tn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||tt.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(r(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ke),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Tn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},Tn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},ft("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===Z(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),n.lang=M("moment.lang is deprecated. Use moment.locale instead.",ft),n.langData=M("moment.langData is deprecated. Use moment.localeData instead.",_t);var Wn=Math.abs;function Cn(e,t,n,s){var i=Bt(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function Un(e){return e<0?Math.floor(e):Math.ceil(e)}function Hn(e){return 4800*e/146097}function Fn(e){return 146097*e/4800}function Ln(e){return function(){return this.as(e)}}var Vn=Ln("ms"),Gn=Ln("s"),En=Ln("m"),An=Ln("h"),jn=Ln("d"),In=Ln("w"),Zn=Ln("M"),zn=Ln("Q"),$n=Ln("y");function qn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Bn=qn("milliseconds"),Jn=qn("seconds"),Qn=qn("minutes"),Xn=qn("hours"),Kn=qn("days"),es=qn("months"),ts=qn("years");var ns=Math.round,ss={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function is(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}var rs=Math.abs;function as(e){return(e>0)-(e<0)||+e}function os(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,s,i,r,a,o,u=rs(this._milliseconds)/1e3,l=rs(this._days),h=rs(this._months),d=this.asSeconds();return d?(e=I(u/60),t=I(e/60),u%=60,e%=60,n=I(h/12),h%=12,s=u?u.toFixed(3).replace(/\.?0+$/,""):"",i=d<0?"-":"",r=as(this._months)!==as(d)?"-":"",a=as(this._days)!==as(d)?"-":"",o=as(this._milliseconds)!==as(d)?"-":"",i+"P"+(n?r+n+"Y":"")+(h?r+h+"M":"")+(l?a+l+"D":"")+(t||e||u?"T":"")+(t?o+t+"H":"")+(e?o+e+"M":"")+(u?o+s+"S":"")):"P0D"}var us=Lt.prototype;return us.isValid=function(){return this._isValid},us.abs=function(){var e=this._data;return this._milliseconds=Wn(this._milliseconds),this._days=Wn(this._days),this._months=Wn(this._months),e.milliseconds=Wn(e.milliseconds),e.seconds=Wn(e.seconds),e.minutes=Wn(e.minutes),e.hours=Wn(e.hours),e.months=Wn(e.months),e.years=Wn(e.years),this},us.add=function(e,t){return Cn(this,e,t,1)},us.subtract=function(e,t){return Cn(this,e,t,-1)},us.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=V(e))||"quarter"===e||"year"===e)switch(t=this._days+s/864e5,n=this._months+Hn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Fn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},us.asMilliseconds=Vn,us.asSeconds=Gn,us.asMinutes=En,us.asHours=An,us.asDays=jn,us.asWeeks=In,us.asMonths=Zn,us.asQuarters=zn,us.asYears=$n,us.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*Z(this._months/12):NaN},us._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return r>=0&&a>=0&&o>=0||r<=0&&a<=0&&o<=0||(r+=864e5*Un(Fn(o)+a),a=0,o=0),u.milliseconds=r%1e3,e=I(r/1e3),u.seconds=e%60,t=I(e/60),u.minutes=t%60,n=I(t/60),u.hours=n%24,a+=I(n/24),o+=i=I(Hn(a)),a-=Un(Fn(i)),s=I(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},us.clone=function(){return Bt(this)},us.get=function(e){return e=V(e),this.isValid()?this[e+"s"]():NaN},us.milliseconds=Bn,us.seconds=Jn,us.minutes=Qn,us.hours=Xn,us.days=Kn,us.weeks=function(){return I(this.days()/7)},us.months=es,us.years=ts,us.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,s,i=!1,r=ss;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(i=e),"object"==typeof t&&(r=Object.assign({},ss,t),null!=t.s&&null==t.ss&&(r.ss=t.s-1)),s=function(e,t,n,s){var i=Bt(e).abs(),r=ns(i.as("s")),a=ns(i.as("m")),o=ns(i.as("h")),u=ns(i.as("d")),l=ns(i.as("M")),h=ns(i.as("w")),d=ns(i.as("y")),c=r<=n.ss&&["s",r]||r0,c[4]=s,is.apply(null,c)}(this,!i,r,n=this.localeData()),i&&(s=n.pastFuture(+this,s)),n.postformat(s)},us.toISOString=os,us.toString=os,us.toJSON=os,us.locale=an,us.localeData=un,us.toIsoString=M("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",os),us.lang=on,C("X",0,0,"unix"),C("x",0,0,"valueOf"),ce("x",ue),ce("X",/[+-]?\d+(\.\d{1,3})?/),ye("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e))})),ye("x",(function(e,t,n){n._d=new Date(Z(e))})), +//! moment.js +n.version="2.29.4",e=Wt,n.fn=bn,n.min=function(){return Ht("isBefore",[].slice.call(arguments,0))},n.max=function(){return Ht("isAfter",[].slice.call(arguments,0))},n.now=function(){return Date.now?Date.now():+new Date},n.utc=c,n.unix=function(e){return Wt(1e3*e)},n.months=function(e,t){return Pn(e,t,"months")},n.isDate=l,n.locale=ft,n.invalid=_,n.duration=Bt,n.isMoment=v,n.weekdays=function(e,t,n){return Rn(e,t,n,"weekdays")},n.parseZone=function(){return Wt.apply(null,arguments).parseZone()},n.localeData=_t,n.isDuration=Vt,n.monthsShort=function(e,t){return Pn(e,t,"monthsShort")},n.weekdaysMin=function(e,t,n){return Rn(e,t,n,"weekdaysMin")},n.defineLocale=mt,n.updateLocale=function(e,t){if(null!=t){var n,s,i=ot;null!=ut[e]&&null!=ut[e].parentLocale?ut[e].set(b(ut[e]._config,t)):(null!=(s=ct(e))&&(i=s._config),t=b(i,t),null==s&&(t.abbr=e),(n=new x(t)).parentLocale=ut[e],ut[e]=n),ft(e)}else null!=ut[e]&&(null!=ut[e].parentLocale?(ut[e]=ut[e].parentLocale,e===ft()&&ft(e)):null!=ut[e]&&delete ut[e]);return ut[e]},n.locales=function(){return D(ut)},n.weekdaysShort=function(e,t,n){return Rn(e,t,n,"weekdaysShort")},n.normalizeUnits=V,n.relativeTimeRounding=function(e){return void 0===e?ns:"function"==typeof e&&(ns=e,!0)},n.relativeTimeThreshold=function(e,t){return void 0!==ss[e]&&(void 0===t?ss[e]:(ss[e]=t,"s"===e&&(ss.ss=t-1),!0))},n.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},n.prototype=bn,n.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},n})); +//# sourceMappingURL=/sm/29f32c0995047626824204c63513111c796dc7692935440e24737199b55f5286.map \ No newline at end of file diff --git a/webassets/vendor/js/oms-leaflet-0.2.7.min.js b/webassets/vendor/js/oms-leaflet-0.2.7.min.js new file mode 100644 index 0000000..eec85ce --- /dev/null +++ b/webassets/vendor/js/oms-leaflet-0.2.7.min.js @@ -0,0 +1,7 @@ +/** + * Skipped minification because the original files appears to be already minified. + * Original file: /npm/overlapping-marker-spiderfier-leaflet@0.2.7/dist/oms.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +!function(){"use strict";var l={}.hasOwnProperty,u=[].slice;(function(){var t,o;if(null!=this.L)return this.OverlappingMarkerSpiderfier=((t=e.prototype).VERSION="0.2.6",o=2*Math.PI,t.keepSpiderfied=!1,t.nearbyDistance=20,t.circleSpiralSwitchover=9,t.circleFootSeparation=25,t.circleStartAngle=o/12,t.spiralFootSeparation=28,t.spiralLengthStart=11,t.spiralLengthFactor=5,t.legWeight=1.5,t.legColors={usual:"#222",highlighted:"#f00"},t.initMarkerArrays=function(){return this.markers=[],this.markerListeners=[]},t.addMarker=function(t){var e,r;return null!=t._oms||(t._oms=!0,r=this,e=function(){return r.spiderListener(t)},t.addEventListener("click",e),this.markerListeners.push(e),this.markers.push(t)),this},t.getMarkers=function(){return this.markers.slice(0)},t.removeMarker=function(t){var e,r;return null!=t._omsData&&this.unspiderfy(),(e=this.arrIndexOf(this.markers,t))<0||(r=this.markerListeners.splice(e,1)[0],t.removeEventListener("click",r),delete t._oms,this.markers.splice(e,1)),this},t.clearMarkers=function(){var t,e,r,i,n,s;for(this.unspiderfy(),t=e=0,r=(s=this.markers).length;e=this.circleSpiralSwitchover?this.generatePtsSpiral(r,e).reverse():this.generatePtsCircle(r,e),c=function(){var t,e,r;for(r=[],t=0,e=a.length;t1&&(e-=1),e<1/6?t+6*(r-t)*e:e<.5?r:e<2/3?t+(r-t)*(2/3-e)*6:t}if(t=A(t,360),r=A(r,100),e=A(e,100),0===r)n=a=i=e;else{var h=e<.5?e*(1+r):e+r-e*r,s=2*e-h;n=o(s,h,t+1/3),a=o(s,h,t),i=o(s,h,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(n.h,o,s),f=!0,u="hsl"),n.hasOwnProperty("a")&&(i=n.a));var l,c,d;return i=x(i),{ok:f,format:n.format||u,r:Math.min(255,Math.max(a.r,0)),g:Math.min(255,Math.max(a.g,0)),b:Math.min(255,Math.max(a.b,0)),a:i}}(a);this._originalInput=a,this._r=o.r,this._g=o.g,this._b=o.b,this._a=o.a,this._roundA=Math.round(100*this._a)/100,this._format=i.format||o.format,this._gradientType=i.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=o.ok}function a(t,r,e){t=A(t,255),r=A(r,255),e=A(e,255);var n,a,i=Math.max(t,r,e),o=Math.min(t,r,e),h=(i+o)/2;if(i==o)n=a=0;else{var s=i-o;switch(a=h>.5?s/(2-i-o):s/(i+o),i){case t:n=(r-e)/s+(r>1)+720)%360;--r;)a.h=(a.h+i)%360,o.push(n(a));return o}function v(t,r){r=r||6;for(var e=n(t).toHsv(),a=e.h,i=e.s,o=e.v,h=[],s=1/r;r--;)h.push(n({h:a,s:i,v:o})),o=(o+s)%1;return h}n.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,r,e,n=this.toRgb();return t=n.r/255,r=n.g/255,e=n.b/255,.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))},setAlpha:function(t){return this._a=x(t),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var t=i(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=i(this._r,this._g,this._b),r=Math.round(360*t.h),e=Math.round(100*t.s),n=Math.round(100*t.v);return 1==this._a?"hsv("+r+", "+e+"%, "+n+"%)":"hsva("+r+", "+e+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=a(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=a(this._r,this._g,this._b),r=Math.round(360*t.h),e=Math.round(100*t.s),n=Math.round(100*t.l);return 1==this._a?"hsl("+r+", "+e+"%, "+n+"%)":"hsla("+r+", "+e+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return o(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,r,e,n,a){var i=[S(Math.round(t).toString(16)),S(Math.round(r).toString(16)),S(Math.round(e).toString(16)),S(R(n))];if(a&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1))return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0);return i.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(100*A(this._r,255))+"%",g:Math.round(100*A(this._g,255))+"%",b:Math.round(100*A(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+Math.round(100*A(this._r,255))+"%, "+Math.round(100*A(this._g,255))+"%, "+Math.round(100*A(this._b,255))+"%)":"rgba("+Math.round(100*A(this._r,255))+"%, "+Math.round(100*A(this._g,255))+"%, "+Math.round(100*A(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(M[o(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var r="#"+h(this._r,this._g,this._b,this._a),e=r,a=this._gradientType?"GradientType = 1, ":"";if(t){var i=n(t);e="#"+h(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+a+"startColorstr="+r+",endColorstr="+e+")"},toString:function(t){var r=!!t;t=t||this._format;var e=!1,n=this._a<1&&this._a>=0;return r||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(e=this.toRgbString()),"prgb"===t&&(e=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(e=this.toHexString()),"hex3"===t&&(e=this.toHexString(!0)),"hex4"===t&&(e=this.toHex8String(!0)),"hex8"===t&&(e=this.toHex8String()),"name"===t&&(e=this.toName()),"hsl"===t&&(e=this.toHslString()),"hsv"===t&&(e=this.toHsvString()),e||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return n(this.toString())},_applyModification:function(t,r){var e=t.apply(null,[this].concat([].slice.call(r)));return this._r=e._r,this._g=e._g,this._b=e._b,this.setAlpha(e._a),this},lighten:function(){return this._applyModification(l,arguments)},brighten:function(){return this._applyModification(c,arguments)},darken:function(){return this._applyModification(d,arguments)},desaturate:function(){return this._applyModification(s,arguments)},saturate:function(){return this._applyModification(f,arguments)},greyscale:function(){return this._applyModification(u,arguments)},spin:function(){return this._applyModification(g,arguments)},_applyCombination:function(t,r){return t.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(_,arguments)},complement:function(){return this._applyCombination(b,arguments)},monochromatic:function(){return this._applyCombination(v,arguments)},splitcomplement:function(){return this._applyCombination(p,arguments)},triad:function(){return this._applyCombination(m,[3])},tetrad:function(){return this._applyCombination(m,[4])}},n.fromRatio=function(r,e){if("object"==t(r)){var a={};for(var i in r)r.hasOwnProperty(i)&&(a[i]="a"===i?r[i]:H(r[i]));r=a}return n(r,e)},n.equals=function(t,r){return!(!t||!r)&&n(t).toRgbString()==n(r).toRgbString()},n.random=function(){return n.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})},n.mix=function(t,r,e){e=0===e?0:e||50;var a=n(t).toRgb(),i=n(r).toRgb(),o=e/100;return n({r:(i.r-a.r)*o+a.r,g:(i.g-a.g)*o+a.g,b:(i.b-a.b)*o+a.b,a:(i.a-a.a)*o+a.a})},n.readability=function(t,r){var e=n(t),a=n(r);return(Math.max(e.getLuminance(),a.getLuminance())+.05)/(Math.min(e.getLuminance(),a.getLuminance())+.05)},n.isReadable=function(t,r,e){var a,i,o=n.readability(t,r);switch(i=!1,(a=function(t){var r,e;r=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),e=(t.size||"small").toLowerCase(),"AA"!==r&&"AAA"!==r&&(r="AA");"small"!==e&&"large"!==e&&(e="small");return{level:r,size:e}}(e)).level+a.size){case"AAsmall":case"AAAlarge":i=o>=4.5;break;case"AAlarge":i=o>=3;break;case"AAAsmall":i=o>=7}return i},n.mostReadable=function(t,r,e){var a,i,o,h,s=null,f=0;i=(e=e||{}).includeFallbackColors,o=e.level,h=e.size;for(var u=0;uf&&(f=a,s=n(r[u]));return n.isReadable(t,s,{level:o,size:h})||!i?s:(e.includeFallbackColors=!1,n.mostReadable(t,["#fff","#000"],e))};var y=n.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},M=n.hexNames=function(t){var r={};for(var e in t)t.hasOwnProperty(e)&&(r[t[e]]=e);return r}(y);function x(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function A(t,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var e=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=Math.min(r,Math.max(0,parseFloat(t))),e&&(t=parseInt(t*r,10)/100),Math.abs(t-r)<1e-6?1:t%r/parseFloat(r)}function k(t){return Math.min(1,Math.max(0,t))}function w(t){return parseInt(t,16)}function S(t){return 1==t.length?"0"+t:""+t}function H(t){return t<=1&&(t=100*t+"%"),t}function R(t){return Math.round(255*parseFloat(t)).toString(16)}function F(t){return w(t)/255}var C,q,N,T=(q="[\\s|\\(]+("+(C="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+C+")[,|\\s]+("+C+")\\s*\\)?",N="[\\s|\\(]+("+C+")[,|\\s]+("+C+")[,|\\s]+("+C+")[,|\\s]+("+C+")\\s*\\)?",{CSS_UNIT:new RegExp(C),rgb:new RegExp("rgb"+q),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+q),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+q),hsva:new RegExp("hsva"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function E(t){return!!T.CSS_UNIT.exec(t)}return n})); +//# sourceMappingURL=/sm/43104cacc78ac49e2116cb9961f81529a2a525bdc52db5c3d4463218f6879479.map \ No newline at end of file diff --git a/webassets/fa/webfonts/fa-solid-900.ttf b/webassets/vendor/webfonts/fa-solid-900.ttf similarity index 100% rename from webassets/fa/webfonts/fa-solid-900.ttf rename to webassets/vendor/webfonts/fa-solid-900.ttf diff --git a/webassets/fa/webfonts/fa-solid-900.woff2 b/webassets/vendor/webfonts/fa-solid-900.woff2 similarity index 100% rename from webassets/fa/webfonts/fa-solid-900.woff2 rename to webassets/vendor/webfonts/fa-solid-900.woff2

r`9D_+{y;hLA6;{prd_=Gj~(HTPI!UAE); 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