diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml
new file mode 100644
index 000000000..3eb13143c
--- /dev/null
+++ b/.github/workflows/playwright.yml
@@ -0,0 +1,27 @@
+name: Playwright Tests
+on:
+ push:
+ branches: [ main, master ]
+ pull_request:
+ branches: [ main, master ]
+jobs:
+ test:
+ timeout-minutes: 60
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: lts/*
+ - name: Install dependencies
+ run: npm ci
+ - name: Install Playwright Browsers
+ run: npx playwright install --with-deps
+ - name: Run Playwright tests
+ run: npx playwright test
+ - uses: actions/upload-artifact@v4
+ if: ${{ !cancelled() }}
+ with:
+ name: playwright-report
+ path: playwright-report/
+ retention-days: 30
diff --git a/.gitignore b/.gitignore
index 96c967f5a..445e476fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -94,3 +94,9 @@ data/calculated_parser/parsetab.py
node_modules/
oceannavigator/frontend/public/
+# Playwright
+/test-results/
+/playwright-report/
+/blob-report/
+/playwright/.cache/
+/playwright/.auth/
diff --git a/Front-end_tests/Readme.md b/Front-end_tests/Readme.md
new file mode 100644
index 000000000..a0735ff94
--- /dev/null
+++ b/Front-end_tests/Readme.md
@@ -0,0 +1,176 @@
+# Dataset Configuration (test_datasets.json)
+
+The test_datasets.json file contains the full configuration for every dataset used in automated Playwright tests.
+Each dataset entry defines how tests should behave for variable testing, area plots, line plots, subset exports, map tiles, and compare-mode testing.
+
+This configuration ensures that tests adapt to differences between datasets, such as UI variations, available variables, plot types, and tile coordinates.
+
+- What Each Dataset Entry Contains
+
+Each dataset object includes the following fields:
+
+1. Basic Identification
+
+name — Name of the dataset as shown in the UI.
+
+id — Internal ID used to validate API tile responses.
+
+Including the ID in tile API checks ensures the tile belongs to the correct dataset after switching variables.
+
+2. Dataset Selector Steps
+
+steps — The sequence of dropdown selections required to reach this dataset.
+
+compare_dataset — The dataset used when running compare_test.spec.
+
+compare_steps (optional) — Exact steps required to switch to the compare dataset.
+
+3. Plot Testing Settings
+
+csvPath — Path to the CSV file containing coordinates for area-plot testing.
+
+subset_var — Variable used for subset-download (NetCDF) tests.
+
+variables_to_test — Object mapping backend variable names → UI labels for variable switching tests.
+
+4. Arrow & Contour Plot Handling
+
+Some datasets display:
+
+Arrows (e.g., Water Velocity)
+
+Contours (e.g., Sea Surface Height)
+
+Because the UI order of these checkboxes varies per dataset, we include:
+
+arrow_box_position
+
+contour_box_position
+
+These numbers ensure tests click the correct UI element.
+
+5. Line & Point Plot Tests
+
+line_transect — "yes" or "no" depending on whether the dataset supports line transect plots.
+
+line_coordinates — Prese(flemish_cap) or custom coordinates if preset not present for the dataset for line tests.
+
+point_coordinates — Coordinates for point plot tests (lat, lon).
+
+6. Tile Testing Information
+
+tile_coordinates — Zoom level + tile X + tile Y.
+Used during tile API validation to ensure the map renders correct data.
+
+
+# Area Test Overview
+
+- Opens the Edit Map Features window and verifies that it appears correctly.
+
+- Changes the upload type to Area and confirms the label updates to Polygon.
+
+- Uploads the dataset CSV file and verifies that the CSV content is displayed correctly.
+
+-Listens for the backend area map plot request and verifies that the response status is 200.
+
+- Checks that the dataset in the selector updates correctly after plotting.
+
+- If a quiver variable is defined, selects it, listens for the backend quiver plot request, and verifies the response status.
+
+- If additional contours are defined, selects the contour option, listens for the contour plot request, and verifies the response status.
+
+- Enables dataset comparison, and if comparing with a non-default dataset, switches to the specified dataset.
+
+- vListens for the backend compare plot request and verifies that the final successful response returns 200.
+
+# Point Plot Test Overview
+
+This test suite performs automated validation for each dataset by running a Point Plot Test.
+The checks include:
+
+- 3D Dataset Validation
+
+Confirms the profile plot appears by verifying the backend’s /plot/profile response.
+
+- Virtual Mooring Plot
+
+Ensures the Virtual Mooring timeseries plot loads successfully by checking the /plot/timeseries API response.
+
+- Dataset Switching
+
+Verifies that the selected dataset actually changed by checking the visible dataset button name.
+
+- CSV Download Test
+
+Confirms the backend returns a successful CSV download response.
+
+Ensures the browser starts the file download and receives a valid filename.
+
+- API Script Download Test
+
+Validates the backend’s /generate_script response for the API script.
+
+Ensures the browser receives a downloadable file with a valid name.
+
+
+# Line Test Overview
+
+This test suite performs automated validation for each dataset by running a Line Plot Test.
+The checks include:
+
+- Line Coordinates Handling
+
+If the dataset does NOT include the preset Flemish Cap line, the test manually enters coordinates using the dataset’s line_coordinates values.
+
+If the dataset does include the preset line, it uses the built-in option.
+
+- Line Plot Request
+
+Listens for the backend line plot request and verifies the response status.
+
+- AZMP Line Validation (When Available)
+
+For datasets supporting line transects, the test listens for the AZMP line request and validates the backend response.
+
+For datasets without line transect support, this check is skipped.
+
+- Hovmöller Plot Verification
+
+Ensures the Hovmöller plot request completes successfully by validating the backend response.
+
+- Dataset Switch Confirmation
+
+Confirms that the selected dataset changed correctly by verifying the displayed dataset name.
+
+
+# Subset Download Test Overview
+
+-Verifies the dataset switched correctly by checking the visible dataset button.
+
+-Opens Edit Map Features and sets upload type to Area (handles the SalishSeaCast special-case combobox index).
+
+-Uploads the dataset CSV and selects the uploaded feature.
+
+-Clicks Plot Selected Features and selects the dataset’s subset variable.
+
+-Enables Compress as *.zip (if required) and clicks Save.
+
+-Listens for the backend /api/v2.0/subset request and verifies the response status is 200.
+
+-Waits for the browser download event and confirms the downloaded file has a suggested filename.
+
+
+# Variable Test Overview
+
+
+-Verifies the dataset switched correctly by checking the visible dataset button.
+
+- For each variable in variables_to_test:
+
+- Selects the variable from the Variable control.
+
+- Clicks Go and listens for the backend tile request for that dataset/variable + tile coordinates, and verifies the response is 200.
+
+- Listens for the backend scale request for that dataset/variable and verifies the response is 200.
+
+- Confirms the Variable control shows the selected variable label.
\ No newline at end of file
diff --git a/Front-end_tests/Total Area Great Lakes 3.csv b/Front-end_tests/Total Area Great Lakes 3.csv
new file mode 100644
index 000000000..795398915
--- /dev/null
+++ b/Front-end_tests/Total Area Great Lakes 3.csv
@@ -0,0 +1,4 @@
+longitude,latitude
+-86.703,47.322
+-87.4289,47.8006
+-86.807,48.0384
diff --git a/Front-end_tests/Total Area NA 3.csv b/Front-end_tests/Total Area NA 3.csv
new file mode 100644
index 000000000..b24ce5672
--- /dev/null
+++ b/Front-end_tests/Total Area NA 3.csv
@@ -0,0 +1,4 @@
+longitude,latitude
+-59.3802,45.3181
+-56.9418,45.559
+-57.6699,45.9945
diff --git a/Front-end_tests/Total Area Salish 3.csv b/Front-end_tests/Total Area Salish 3.csv
new file mode 100644
index 000000000..c8a37a8c8
--- /dev/null
+++ b/Front-end_tests/Total Area Salish 3.csv
@@ -0,0 +1,4 @@
+longitude,latitude
+-123.68,49.3144
+-123.3265,49.2905
+-123.4583,49.0367
diff --git a/Front-end_tests/area_plot_test.spec.js b/Front-end_tests/area_plot_test.spec.js
new file mode 100644
index 000000000..cdd537a9a
--- /dev/null
+++ b/Front-end_tests/area_plot_test.spec.js
@@ -0,0 +1,348 @@
+import { test, expect } from "@playwright/test";
+import datasets from "./test_datasets.json";
+
+let page;
+
+test.beforeAll(async ({ browser }) => {
+ // Create one page globally
+ page = await browser.newPage();
+
+ // Only ONE navigation for all datasets
+ await page.goto("http://0.0.0.0:8443/public/");
+
+ // Wait for progress bar to detach
+ await page.locator(".progress").waitFor({ state: "detached" });
+});
+
+test.afterAll(async () => {
+ await page.close();
+});
+
+//catches first successful response with a status of 200
+//if no successful response within 120 second it will throw an error
+async function waitForSuccessfulResponse(page, matchFn, timeout = 120000) {
+ return await page.waitForResponse(
+ (response) => {
+ try {
+ if (!matchFn(response)) return false;
+ const status = response.status();
+ return status == 200;
+ } catch (e) {
+ return false;
+ }
+ },
+ { timeout }
+ );
+}
+
+// Helper function that handles the entire plotting and download process
+async function runPlotTest(dataset) {
+ console.log(`Running Area test for dataset: ${dataset.name}`);
+
+
+ // Steps to select dataset on dataset selector
+ for (const step of dataset.steps) {
+ await page.getByRole("button", { name: step }).click();
+ }
+
+ // Wait for progress bar to detach
+ await page.locator(".progress").waitFor({ state: "detached" });
+
+ //applying dataset to the main map
+ await page.getByRole("button", { name: "Go" }).click();
+
+ //waiting for dataset to be loaded fully
+ await page
+ .locator("img")
+ .first()
+ .waitFor({ state: "visible", timeout: 30000 });
+
+ //test to see if dataset was correctly changed in dataset_selector
+ await expect(page.getByRole("button", { name: dataset.name }))
+ .toBeVisible()
+ .catch((err) => {
+ throw new Error(
+ `Dataset selector didn't get changed properly: ${err.message}`
+ );
+ });
+
+ // Open Edit Map Features
+ await page.locator(".MapTools > button:nth-child(2)").click();
+ //ensure edit map feature window opens
+ await expect(page.getByRole("dialog"))
+ .toBeVisible()
+ .catch((err) => {
+ throw new Error(
+ `Edit map feature button didn't successfully open the window: ${err.message}`
+ );
+ });
+
+ // choosing area as upload type
+ //label position varies for SalishSeaCAst 3D Currents but same for the rest
+ if (dataset.name == "SalishSeaCast 3D Currents") {
+ const combo = page.getByRole("combobox").nth(3);
+ await combo.selectOption({ label: "Area" });
+ //verifying if label change was successful
+ await expect(combo)
+ .toHaveValue("Polygon")
+ .catch((err) => {
+ throw new Error(
+ `Upload CSV type didn't get changed properly: ${err.message}`
+ );
+ });
+ } else {
+ const combo = page.getByRole("dialog").getByRole("combobox");
+ await combo.selectOption({ label: "Area" });
+ //verifying if label change was successful
+ await expect(combo)
+ .toHaveValue("Polygon")
+ .catch((err) => {
+ throw new Error(
+ `Upload CSV type didn't get changed properly: ${err.message}`
+ );
+ });
+ }
+
+ // Uploading CSV file
+ const fileChooserPromise = page.waitForEvent("filechooser");
+ await page.getByRole("button", { name: "Upload CSV" }).click();
+ const fileChooser = await fileChooserPromise;
+ await fileChooser.setFiles(dataset.csvPath);
+ //verify if csv file uploaded correctly
+ await expect(
+ page
+ .locator("div")
+ .filter({ hasText: /^PointLineArea\+LongitudeLatitude$/ })
+ .first()
+ )
+ .toBeVisible()
+ .catch((err) => {
+ throw new Error(`CSV file didn't get uploaded properly: ${err.message}`);
+ });
+
+ // Select checkbox
+ await page.getByRole("dialog").getByRole("checkbox").check();
+
+ // Listen for plot request
+ const plotRequestPromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/plot/map") &&
+ url.includes("format=json") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+
+ // Plot
+ await page.getByRole("button", { name: "Plot Selected Features" }).click();
+
+ // Check API response
+ //this check confirms if plot is being sent correctly from the back-end
+ const plotResponse = await plotRequestPromise;
+ try {
+ expect(plotResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`Area plot didn't get generated: ${err.message}`);
+ }
+
+ // selecting arrows from area settings column
+ if (dataset.arrows != "none") {
+ const arrowsRequestPromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/plot/map") &&
+ url.includes("format=json") &&
+ url.includes("quiver") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+ await page
+ .getByRole("combobox")
+ .nth(dataset.arrow_box_position)
+ .selectOption({ label: dataset.arrows });
+
+ //waiting for plot with arrows to be generated
+ const arrowsResponse = await arrowsRequestPromise;
+
+ //checking if plot rendered properly with arrows
+ try {
+ expect(arrowsResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(
+ `Area plot with arrows didn't get generated: ${err.message}`
+ );
+ }
+ }
+ //selecting Addidtional Contours from Area Settings
+ if (dataset.contour != "none") {
+ const contourRequestPromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/plot/map") &&
+ url.includes("format=json") &&
+ url.includes("contour") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+
+ await page
+ .getByRole("combobox")
+ .nth(dataset.contour_box_position)
+ .selectOption({ label: dataset.contour });
+ const contourResponse = await contourRequestPromise;
+
+ //checking if plot rendered properly with additional_contours
+ try {
+ expect(contourResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(
+ `Area plot with contour didn't get generated: ${err.message}`
+ );
+ }
+ }
+
+ //****************************************************************Compare plot TEST**********************************************************************//
+ //clciking on compare Dataset
+ await page.locator("#dataset_compare").check();
+
+ //By default every dataset is compared with GIOPS 10 Day Daily Mean
+ //if we want to compare with other dataset
+ if (dataset.compare_dataset != "GIOPS 10 Day Daily Mean") {
+ //changing the dataset on the right side of the map
+ await page
+ .locator("#right_map")
+ .getByRole("button", { name: "GIOPS 10 Day Daily Mean" })
+ .click();
+
+ for (const step of dataset.compare_steps) {
+ await page.getByRole("button", { name: step }).click();
+ }
+ //wait for the dataset to be loaded properly
+ const loadingDialog = page
+ .getByRole("dialog")
+ .filter({ hasText: "Loading RIOPS Forecast 3D - Polar Stereographic" });
+
+ await loadingDialog.waitFor({ state: "detached", timeout: 120000 });
+
+ // catches the successfull response for the new compare dataset
+ //Note: When we compare with a dataset, the first api response we get gives a status 500 error
+ //therefore waitForSuccessfulResponse function ensures that we only take the response that have a status 200.
+ const [comparePlotResponse] = await Promise.all([
+ waitForSuccessfulResponse(
+ page,
+ (res) =>
+ res.url().includes("/api/v2.0/plot/map") &&
+ res.url().includes("compare_to") &&
+ res.request().method() === "GET",
+ 120000
+ ),
+
+ page.locator("#right_map").getByRole("button", { name: "Go" }).click(),
+ ]);
+
+ try {
+ expect(comparePlotResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`Compare plot didn't get generated: ${err.message}`);
+ }
+ } else {
+ // Wait for the successful response
+ const [datasetCompareResponse] = await Promise.all([
+ waitForSuccessfulResponse(
+ page,
+ (res) =>
+ res.url().includes("/api/v2.0/plot/map") &&
+ res.url().includes("compare_to") &&
+ res.request().method() === "GET",
+ 120000
+ ),
+
+ page.locator("#dataset_compare").check(),
+ ]);
+ try {
+ expect(datasetCompareResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`Compare plot didn't get generated: ${err.message}`);
+ }
+ }
+
+ //close modal
+ await page.getByRole("button", { name: "Close" }).nth(1).click();
+ //unclick compare mode
+ await page.getByRole("checkbox", { name: "Compare Datasets" }).click();
+ //reset to giops dataset
+ if (dataset.id != "giops_day") {
+ await page.getByRole("button", { name: dataset.steps.at(-1) }).click();
+ await page
+ .getByRole("button", { name: dataset.steps.at(-2), exact: true })
+ .click();
+ await page.getByRole("button", { name: "GIOPS Forecast" }).click();
+ await page.getByRole("button", { name: "GIOPS 10 Day Daily Mean" }).click();
+ }
+
+ //reset map drawings
+ await page.locator(".MapTools > button:nth-child(6)").click();
+
+ //****************************************************************END OF TEST**********************************************************************//
+}
+
+test("All datasets sequential test", async () => {
+ test.setTimeout(600000);
+
+ const results = [];
+
+ for (const dataset of datasets) {
+ await test.step(`Testing dataset: ${dataset.name}`, async () => {
+ try {
+ await runPlotTest(dataset);
+ results.push({ dataset: dataset.name, status: "passed" });
+ } catch (err) {
+ results.push({
+ dataset: dataset.name,
+ status: "failed",
+ error: err.message,
+ });
+ console.error(`❌ Error in dataset "${dataset.name}": ${err.message}`);
+ // Reload the app so next dataset runs cleanly
+ console.log(`Reloading page after failure in ${dataset.name}...`);
+
+ //doing a hard reload
+ await page.reload({ waitUntil: "domcontentloaded" });
+
+ // Wait for loading bar to be completed
+ await page.locator(".progress").waitFor({ state: "detached" });
+
+ //verifying if the reloaded page points to the home page
+ //some errors might display the api response and relaoding the page just reloads the response
+ const current = page.url();
+ const target = "http://0.0.0.0:8443/public/";
+
+ if (current !== target) {
+ await page.goto(target, { waitUntil: "domcontentloaded" });
+ }
+ }
+ });
+ }
+
+ // Report summary at the end
+ const failed = results.filter((r) => r.status === "failed");
+ if (failed.length > 0) {
+ console.log("\nTest Summary:");
+ results.forEach((r) => {
+ console.log(`${r.dataset}: ${r.status}`);
+ if (r.error) console.log(` Error: ${r.error}`);
+ });
+ throw new Error(
+ `${failed.length} datasets failed out of ${results.length}`
+ );
+ }
+});
diff --git a/Front-end_tests/line_test.spec.js b/Front-end_tests/line_test.spec.js
new file mode 100644
index 000000000..1ced8d71b
--- /dev/null
+++ b/Front-end_tests/line_test.spec.js
@@ -0,0 +1,261 @@
+import { test, expect } from "@playwright/test";
+import datasets from "./test_datasets.json";
+
+let page;
+test.beforeAll(async ({ browser }) => {
+
+ // Create one page globally
+ page = await browser.newPage();
+
+ // Only ONE navigation for all datasets
+ await page.goto("http://0.0.0.0:8443/public/");
+
+ // Wait for loading bar to be completed
+ await page.locator(".progress").waitFor({ state: "detached" });
+});
+
+test.afterAll(async () => {
+ await page.close();
+});
+
+async function runPlotTest(dataset) {
+ console.log(`Running Line test for dataset: ${dataset.name}`);
+
+
+ // Steps to select dataset on dataset selector
+ for (const step of dataset.steps) {
+ await page.getByRole("button", { name: step }).click();
+ }
+
+ // Wait for loading bar to be completed
+ await page.locator(".progress").waitFor({ state: "detached" });
+
+ //apply dataset to the main map
+ await page.getByRole("button", { name: "Go" }).click();
+
+ //wait for dataset to be loaded fully
+ await page
+ .locator("img")
+ .first()
+ .waitFor({ state: "visible", timeout: 30000 });
+
+ //For dataset that don't have data for flemish cap line
+ if (dataset.line_coordinates != "flemish_cap") {
+ //manually add coordinates
+ await page.locator(".MapTools > button:nth-child(2)").click();
+ await page.getByRole("button", { name: "Add New Feature" }).click();
+ await page.getByRole("combobox").nth(3).selectOption({ label: "Line" });
+ await page.getByRole("dialog").getByRole("button", { name: "+" }).click();
+ await page.locator('[id="0"]').first().fill(dataset.line_coordinates[0]);
+ await page.locator('[id="1"]').first().fill(dataset.line_coordinates[2]);
+ await page.locator('[id="0"]').nth(1).fill(dataset.line_coordinates[1]);
+ await page.locator('[id="1"]').nth(1).fill(dataset.line_coordinates[3]);
+ await page.getByRole("dialog").getByRole("checkbox").click();
+
+ //listen for plot request
+ const plotRequestPromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/plot/transect") &&
+ url.includes("format=json") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+ await page.getByRole("button", { name: "Plot Selected Features" }).click();
+
+ const plotResponse = await plotRequestPromise;
+ try {
+ expect(plotResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`Line plot didn't get generated: ${err.message}`);
+ }
+ } else {
+ //click on preset features
+ await page.locator(".MapTools > button:nth-child(3)").click();
+
+ //wait for it to be visible
+ await page
+ .getByRole("button", { name: "AZMP Transects", exact: true })
+ .waitFor({ state: "visible", timeout: 120000 });
+
+ // Listen for AZMP request
+ const azmpRequestPromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/kml/line/AZMP") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+
+ //click on AZMP Transects
+ await page
+ .getByRole("button", { name: "AZMP Transects", exact: true })
+ .click();
+
+ const azmpResponse = await azmpRequestPromise;
+
+ try {
+ expect(azmpResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`transect line didn't get generated: ${err.message}`);
+ }
+
+ // Open Edit Map Features
+ await page.locator(".MapTools > button:nth-child(2)").click();
+
+ //select flemish cap
+ await page.getByRole("checkbox").nth(4).check();
+
+ if (dataset.line_transect == "no") {
+ // if dataset doesnt support line transect then hit plot and then go to hovmoller
+ await page
+ .getByRole("button", { name: "Plot Selected Features" })
+ .click();
+ } else {
+ //listen for plot request
+ const transectPlotRequestPromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/plot/transect") &&
+ url.includes("format=json") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+
+ // Plot
+ await page
+ .getByRole("button", { name: "Plot Selected Features" })
+ .click();
+
+ // Check API response
+ //this check confirms if plot is being sent correctly from the back-end
+ const transectPlotResponse = await transectPlotRequestPromise;
+ try {
+ expect(transectPlotResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`Transect Line didn't get generated: ${err.message}`);
+ }
+
+ //test to see if dataset was correctly changed in dataset_selector\
+ await expect(
+ page.locator("#left_map").getByRole("button", { name: dataset.name })
+ )
+ .toBeVisible()
+ .catch((err) => {
+ throw new Error(
+ `Dataset didn't get changed correctly: ${err.message}`
+ );
+ });
+ }
+ }
+
+ //***********************************************************************************************
+ // Hovmoller Diagram test
+ //***********************************************************************************************
+ // Listen for plot request
+ const hovmollerPlotRequestPromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/plot/hovmoller") &&
+ url.includes("format=json") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+
+ //click on Hovmoller Diagram
+ await page.getByRole("button", { name: "Hovmöller Diagram" }).click();
+
+ //wait for response
+ const hovmollerPlotResponse = await hovmollerPlotRequestPromise;
+
+ //check status of response
+
+ try {
+ expect(hovmollerPlotResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`Hovmoller plot didn't get generated: ${err.message}`);
+ }
+
+ //resetting ui for next dataset
+
+ //close modal
+ await page.getByRole("button", { name: "Close" }).nth(1).click();
+
+ //reset to giops dataset
+ if (dataset.id != "giops_day") {
+ await page.getByRole("button", { name: dataset.steps.at(-1) }).click();
+ await page
+ .getByRole("button", { name: dataset.steps.at(-2), exact: true })
+ .click();
+ await page.getByRole("button", { name: "GIOPS Forecast" }).click();
+ await page.getByRole("button", { name: "GIOPS 10 Day Daily Mean" }).click();
+ }
+
+ //reset map drawings
+ await page.locator(".MapTools > button:nth-child(6)").click();
+}
+//****************************************************************END OF TEST**********************************************************************//
+
+test("All datasets sequential test", async () => {
+ test.setTimeout(600000);
+
+ const results = [];
+
+ for (const dataset of datasets) {
+ await test.step(`Testing dataset: ${dataset.name}`, async () => {
+ try {
+ await runPlotTest(dataset);
+ results.push({ dataset: dataset.name, status: "passed" });
+ } catch (err) {
+ results.push({
+ dataset: dataset.name,
+ status: "failed",
+ error: err.message,
+ });
+ console.error(`❌ Error in dataset "${dataset.name}": ${err.message}`);
+ // Reload the app so next dataset runs cleanly
+ console.log(`Reloading page after failure in ${dataset.name}...`);
+
+ //doing a hard reload
+ await page.reload({ waitUntil: "domcontentloaded" });
+
+ // Wait for loading bar to be completed
+ await page.locator(".progress").waitFor({ state: "detached" });
+
+ //verifying if the reloaded page points to the home page
+ //some errors might display the api response and relaoding the page just reloads the response
+ const current = page.url();
+ const target = "http://0.0.0.0:8443/public/";
+
+ if (current !== target) {
+ await page.goto(target, { waitUntil: "domcontentloaded" });
+ }
+ }
+ });
+ }
+
+ // Report summary at the end
+ const failed = results.filter((r) => r.status === "failed");
+ if (failed.length > 0) {
+ console.log("\nTest Summary:");
+ results.forEach((r) => {
+ console.log(`${r.dataset}: ${r.status}`);
+ if (r.error) console.log(` Error: ${r.error}`);
+ });
+ throw new Error(
+ `${failed.length} datasets failed out of ${results.length}`
+ );
+ }
+});
diff --git a/Front-end_tests/point_test.spec.js b/Front-end_tests/point_test.spec.js
new file mode 100644
index 000000000..e3ddeb122
--- /dev/null
+++ b/Front-end_tests/point_test.spec.js
@@ -0,0 +1,279 @@
+import { test, expect } from "@playwright/test";
+import datasets from "./test_datasets.json";
+let page;
+test.beforeAll(async ({ browser }) => {
+ // Create one page globally
+ page = await browser.newPage();
+
+ // Only ONE navigation for all datasets
+ await page.goto("http://0.0.0.0:8443/public/");
+
+ // Wait for loading bar to be completed
+ await page.locator(".progress").waitFor({ state: "detached" });
+});
+
+test.afterAll(async () => {
+ await page.close();
+});
+
+async function runPlotTest(dataset) {
+ console.log(`Running Point test for dataset: ${dataset.name}`);
+
+
+ // Steps to select dataset on dataset selector
+ for (const step of dataset.steps) {
+ await page.getByRole("button", { name: step }).click();
+ }
+
+ // Wait for progress bar to detach
+ await page.locator(".progress").waitFor({ state: "detached" });
+
+ //apply dataset to the main map
+ await page.getByRole("button", { name: "Go" }).click();
+
+ //wait for dataset to be loaded fully
+ await page
+ .locator("img")
+ .first()
+ .waitFor({ state: "visible", timeout: 60000 });
+
+ // Open Edit Map Features
+ await page.locator(".MapTools > button:nth-child(2)").click();
+
+ //click Add New Feature
+ await page.getByRole("button", { name: "Add New Feature" }).click();
+
+ //add coordinated for the datasets
+ //the coordinate box position differs for CIOPS 3D only
+ if (dataset.name == "CIOPS Forecast East 3D -") {
+ await page.locator('[id="0"]').nth(3).fill(dataset.point_coordinates[0]);
+ await page.locator('[id="0"]').nth(4).fill(dataset.point_coordinates[1]);
+ } else {
+ await page.locator('[id="0"]').first().fill(dataset.point_coordinates[0]);
+ await page.locator('[id="0"]').nth(1).fill(dataset.point_coordinates[1]);
+ }
+
+ //click checkbox
+ await page.getByRole("dialog").getByRole("checkbox").click();
+
+ //listen for profile response
+ const profileRequestPromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/plot/profile") &&
+ url.includes("format=json") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+
+ //click on plot
+ await page.getByRole("button", { name: "Plot Selected Features" }).click();
+
+ //profile plot is only available for 3D dataset
+ if (dataset.type == "3D") {
+ //wait for the response
+ const profilePlotResponse = await profileRequestPromise;
+ //verify if plot is rendered
+ try {
+ expect(profilePlotResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`profile plot didn't get generated: ${err.message}`);
+ }
+ }
+
+ //listen for hovmoller plot request
+ const timeseriesRequestPromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/plot/timeseries") &&
+ url.includes("format=json") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+
+ //verify id dataset changed properly
+ await expect(page.getByRole("button", { name: dataset.name }).nth(1))
+ .toBeVisible()
+ .catch((err) => {
+ throw new Error(`Dataset didn't get changed correctly: ${err.message}`);
+ });
+
+ //click on Virtual Mooring button
+ await page.getByRole("button", { name: "Virtual Mooring" }).click();
+ //wait for response
+ const virtualMooringplotResponse = await timeseriesRequestPromise;
+ //verify if plot is rendered
+ try {
+ expect(virtualMooringplotResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(
+ `Virtual Mooring plot didn't get generated: ${err.message}`
+ );
+ }
+
+ await page.getByRole("button", { name: "Save Image" }).click();
+
+ //Listen for download request
+ const downloadResponsePromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/plot/timeseries") &&
+ url.includes("save=True") &&
+ url.includes("format=csv") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+
+ //listening for download event
+ const downloadEventPromise = page.waitForEvent("download");
+ //click on CSV file
+ await page.getByRole("button", { name: "CSV", exact: true }).click();
+
+ const [downloadResponse, download] = await Promise.all([
+ downloadResponsePromise,
+ downloadEventPromise,
+ ]);
+ //check if back-end sends data
+ try {
+ expect(downloadResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`Back-end didn't send csv file: ${err.message}`);
+ }
+
+ // download object created, if browser begins downloading
+ //giving a name to the file and ensuring download has started
+ //Note: file created will not be stored in the system and automatically cleaned up after test finishes
+ const suggestedFilename = download.suggestedFilename();
+ try {
+ expect(suggestedFilename).toBeTruthy();
+ } catch (err) {
+ throw new Error(`file didn't start downloading: ${err.message}`);
+ }
+
+ //*********************************************************************************************************
+ // API Script Download Test
+ //*********************************************************************************************************
+
+ //click on API
+ await page.getByRole("button", { name: "API Script" }).click();
+
+ //listener for api download
+ const apiDownloadResponsePromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/generate_script") &&
+ url.includes("script_type=csv") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+ //listening for download event
+ const apiDownloadEventPromise = page.waitForEvent("download");
+
+ //click on csv
+ await page
+ .getByRole("button", { name: "Python 3 - CSV", exact: true })
+ .click();
+
+ //responses
+ const [apiResponse, apidownload] = await Promise.all([
+ apiDownloadResponsePromise,
+ apiDownloadEventPromise,
+ ]);
+
+ //confirm if api responded with 200 status
+ try {
+ expect(apiResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`api file not recieved : ${err.message}`);
+ }
+
+ //giving a name to the file and ensuring download has started
+ //Note: file created will not be stored in the system and automatically cleaned up after test finishes
+ const suggestedApiFilename = apidownload.suggestedFilename();
+ try {
+ expect(suggestedApiFilename).toBeTruthy();
+ } catch (err) {
+ throw new Error(`api file didn't start downloading: ${err.message}`);
+ }
+
+ //resetting ui for next dataset
+ //close modal
+ await page.getByRole("button", { name: "Close" }).nth(1).click();
+
+ //reset to giops dataset
+ if (dataset.id != "giops_day") {
+ await page.getByRole("button", { name: dataset.steps.at(-1) }).click();
+ await page
+ .getByRole("button", { name: dataset.steps.at(-2), exact: true })
+ .click();
+ await page.getByRole("button", { name: "GIOPS Forecast" }).click();
+ await page.getByRole("button", { name: "GIOPS 10 Day Daily Mean" }).click();
+ }
+
+ //reset map drawings
+ await page.locator(".MapTools > button:nth-child(6)").click();
+}
+
+//****************************************************************END OF TEST**********************************************************************//
+
+test("All datasets sequential test", async () => {
+ test.setTimeout(600000);
+
+ const results = [];
+
+ for (const dataset of datasets) {
+ await test.step(`Testing dataset: ${dataset.name}`, async () => {
+ try {
+ await runPlotTest(dataset);
+ results.push({ dataset: dataset.name, status: "passed" });
+ } catch (err) {
+ results.push({
+ dataset: dataset.name,
+ status: "failed",
+ error: err.message,
+ });
+ console.error(`❌ Error in dataset "${dataset.name}": ${err.message}`);
+ // Reload the app so next dataset runs cleanly
+ //doing a hard reload
+ await page.reload({ waitUntil: "domcontentloaded" });
+
+ // Wait for loading bar to be completed
+ await page.locator(".progress").waitFor({ state: "detached" });
+
+ //verifying if the reloaded page points to the home page
+ //some errors might display the api response and relaoding the page just reloads the response
+ const current = page.url();
+ const target = "http://0.0.0.0:8443/public/";
+
+ if (current !== target) {
+ await page.goto(target, { waitUntil: "domcontentloaded" });
+ }
+ }
+ });
+ }
+
+ // Report summary at the end
+ const failed = results.filter((r) => r.status === "failed");
+ if (failed.length > 0) {
+ console.log("\nTest Summary:");
+ results.forEach((r) => {
+ console.log(`${r.dataset}: ${r.status}`);
+ if (r.error) console.log(` Error: ${r.error}`);
+ });
+ throw new Error(
+ `${failed.length} datasets failed out of ${results.length}`
+ );
+ }
+});
diff --git a/Front-end_tests/subset_download_test.spec.js b/Front-end_tests/subset_download_test.spec.js
new file mode 100644
index 000000000..6b13a244e
--- /dev/null
+++ b/Front-end_tests/subset_download_test.spec.js
@@ -0,0 +1,186 @@
+import { test, expect } from "@playwright/test";
+import datasets from "./test_datasets.json";
+
+let page;
+// test.describe.configure({ mode: "serial" });
+test.beforeAll(async ({ browser }) => {
+ // Create one page globally
+ page = await browser.newPage();
+
+ // 🌟 Only ONE navigation for all datasets
+ await page.goto("http://0.0.0.0:8443/public/");
+
+ // Wait for progress bar to detach
+ await page.locator(".progress").waitFor({ state: "detached" });
+});
+test.afterAll(async () => {
+ await page.close();
+});
+
+// handles subset download
+async function runPlotTest(dataset) {
+ console.log(`Running subset download test for dataset: ${dataset.name}`);
+
+ // Steps to select dataset on dataset selector
+ for (const step of dataset.steps) {
+ await page.getByRole("button", { name: step }).click();
+ }
+
+ // Wait for progress bar to detach
+ await page.locator(".progress").waitFor({ state: "detached" });
+
+ //applying dataset to the main map
+ await page.getByRole("button", { name: "Go" }).click();
+
+ //waiting for dataset to be loaded fully
+ await page
+ .locator("img")
+ .first()
+ .waitFor({ state: "visible", timeout: 30000 });
+
+ //verify id dataset changed properly
+ await expect(page.getByRole("button", { name: dataset.name }))
+ .toBeVisible()
+ .catch((err) => {
+ throw new Error(`Dataset didn't get changed properly: ${err.message}`);
+ });
+
+ // Open Edit Map Features
+ await page.locator(".MapTools > button:nth-child(2)").click();
+
+ // choosing area as upload type
+ //label position varies for SalishSeaCAst 3D Currents but same for the rest
+ if (dataset.name == "SalishSeaCast 3D Currents") {
+ await page.getByRole("combobox").nth(3).selectOption({ label: "Area" });
+ } else {
+ await page
+ .getByRole("dialog")
+ .getByRole("combobox")
+ .selectOption({ label: "Area" });
+ }
+
+ // Uploading CSV file
+ const fileChooserPromise = page.waitForEvent("filechooser");
+ await page.getByRole("button", { name: "Upload CSV" }).click();
+ const fileChooser = await fileChooserPromise;
+ await fileChooser.setFiles(dataset.csvPath);
+ await page.waitForTimeout(2000);
+
+ // Select checkbox
+ await page.getByRole("dialog").getByRole("checkbox").check();
+
+ // Plot
+ await page.getByRole("button", { name: "Plot Selected Features" }).click();
+
+ // selecting subset variable
+ await page.getByRole("listbox").selectOption({ label: dataset.subset_var });
+
+ //compressing as zip file
+ await page.getByRole("checkbox", { name: "Compress as *.zip" }).click();
+
+ //Listen for download request
+ const downloadRequestPromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes("/api/v2.0/subset") &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 90000 }
+ );
+
+ //listening for download event
+ const downloadPromise = page.waitForEvent("download");
+
+ //clicking save file, should start downlaod
+ await page.getByRole("button", { name: "Save", exact: true }).click();
+
+ //check if back-end sends data
+ const downloadResponse = await downloadRequestPromise;
+ try {
+ expect(downloadResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`Didn't recieve download file: ${err.message}`);
+ }
+
+ // download object created, if browser begins downloading
+ const download = await downloadPromise;
+ //giving a name to the file and ensuring download has started
+ //Note: file created will not be stored in the system and automatically cleaned up after test finishes
+ const suggestedFilename = download.suggestedFilename();
+ try {
+ expect(suggestedFilename).toBeTruthy();
+ } catch (err) {
+ throw new Error(`file didn't get downloaded: ${err.message}`);
+ }
+
+ //resetting ui for next dataset
+
+ //close modal
+ await page.getByRole("button", { name: "Close" }).nth(1).click();
+ //reset to giops dataset
+ if (dataset.id != "giops_day") {
+ await page.getByRole("button", { name: dataset.steps.at(-1) }).click();
+ await page
+ .getByRole("button", { name: dataset.steps.at(-2), exact: true })
+ .click();
+ await page.getByRole("button", { name: "GIOPS Forecast" }).click();
+ await page.getByRole("button", { name: "GIOPS 10 Day Daily Mean" }).click();
+ }
+
+ //reset map drawings
+ await page.locator(".MapTools > button:nth-child(6)").click();
+}
+
+test("All datasets sequential test", async () => {
+ test.setTimeout(600000);
+
+ const results = [];
+
+ for (const dataset of datasets) {
+ await test.step(`Testing dataset: ${dataset.name}`, async () => {
+ try {
+ await runPlotTest(dataset);
+ results.push({ dataset: dataset.name, status: "passed" });
+ } catch (err) {
+ results.push({
+ dataset: dataset.name,
+ status: "failed",
+ error: err.message,
+ });
+ console.error(`❌ Error in dataset "${dataset.name}": ${err.message}`);
+ //Reload the app so next dataset runs cleanly
+ console.log(`Reloading page after failure in ${dataset.name}...`);
+
+ //doing a hard reload
+ await page.reload({ waitUntil: "domcontentloaded" });
+
+ // Wait for loading bar to be completed
+ await page.locator(".progress").waitFor({ state: "detached" });
+
+ //verifying if the reloaded page points to the home page
+ //some errors might display the api response and relaoding the page just reloads the response
+ const current = page.url();
+ const target = "http://0.0.0.0:8443/public/";
+
+ if (current !== target) {
+ await page.goto(target, { waitUntil: "domcontentloaded" });
+ }
+ }
+ });
+ }
+
+ // Report summary at the end
+ const failed = results.filter((r) => r.status === "failed");
+ if (failed.length > 0) {
+ console.log("\nTest Summary:");
+ results.forEach((r) => {
+ console.log(`${r.dataset}: ${r.status}`);
+ if (r.error) console.log(` Error: ${r.error}`);
+ });
+ throw new Error(
+ `${failed.length} datasets failed out of ${results.length}`
+ );
+ }
+});
diff --git a/Front-end_tests/test_datasets.json b/Front-end_tests/test_datasets.json
new file mode 100644
index 000000000..9b8378536
--- /dev/null
+++ b/Front-end_tests/test_datasets.json
@@ -0,0 +1,155 @@
+
+[
+ {
+ "name": "GIOPS 10 Day Daily Mean",
+ "id":"giops_day",
+ "steps": ["Giops 10 Day Daily Mean"],
+ "compare_dataset":"RIOPS Forecast 3D - Polar",
+ "type":"3D",
+ "compare_steps":[ "RIOPS Forecast", "RIOPS Forecast 3D - Polar"],
+ "csvPath": "/home/ubuntu/onav-cloud/Ocean-Data-Map-Project/Front-end_tests/Total Area NA 3.csv",
+ "subset_var": "Potential Temperature",
+ "arrows": "Water Velocity",
+ "contour": "none",
+ "arrow_box_position": "3",
+ "contour_box_position":"4",
+ "line_transect":"yes",
+ "line_coordinates":"flemish_cap",
+ "point_coordinates":["44.9855", "-50.9582"],
+ "tile_coordinates":["4","6","4"],
+ "variables_to_test":{"sspeed":"Speed of Sound","psubsurfacechannel":"Potential Sub Surface Channel"}
+ },
+ {
+ "name": "RIOPS Forecast 3D - Polar",
+ "id":"riops_fc_3dps",
+ "steps": [
+ "GIOPS 10 Day Daily Mean",
+ "RIOPS Forecast",
+ "RIOPS Forecast 3D - Polar"
+ ],
+ "compare_dataset":"GIOPS 10 Day Daily Mean",
+ "type":"3D",
+ "csvPath": "/home/ubuntu/onav-cloud/Ocean-Data-Map-Project/Front-end_tests/Total Area NA 3.csv",
+ "subset_var": "Speed of Sound",
+ "arrows": "Water Velocity",
+ "contour": "none",
+ "arrow_box_position": "3",
+ "contour_box_position":"4",
+ "line_transect":"yes",
+ "line_coordinates":"flemish_cap",
+ "point_coordinates":["-50.9582","44.9855"],
+ "tile_coordinates":["4","6","4"],
+ "variables_to_test":{"sspeed":"Speed of Sound","psubsurfacechannel":"Potential Sub Surface Channel"}
+ },
+ {
+ "name": "CCG RIOPS Forecast Surface -",
+ "id":"riops_fc_2dll",
+ "steps": [
+ "GIOPS 10 Day Daily Mean",
+ "RIOPS Forecast",
+ "CCG RIOPS Forecast Surface -"
+ ],
+ "compare_dataset":"GIOPS 10 Day Daily Mean",
+ "type":"2D",
+ "csvPath": "/home/ubuntu/onav-cloud/Ocean-Data-Map-Project/Front-end_tests/Total Area NA 3.csv",
+ "subset_var": "Potential Temperature",
+ "arrows": "Water Velocity",
+ "contour": "none",
+ "arrow_box_position": "2",
+ "contour_box_position":"3",
+ "line_transect":"no",
+ "line_coordinates":"flemish_cap",
+ "point_coordinates":["-50.9582","44.9855"],
+ "tile_coordinates":["4","5","6"],
+ "variables_to_test":{"vozocrtx":"Water East Velocity","sossheig":"Sea Surface Height"}
+ },
+ {
+ "name": "WCPS-GLS Great Lakes Coupled",
+ "id":"wcps_2d11",
+ "steps": [
+ "GIOPS 10 Day Daily Mean",
+ "WCPS Forecast",
+ "WCPS-GLS Great Lakes Coupled"
+ ],
+ "compare_dataset":"GIOPS 10 Day Daily Mean",
+ "type":"2D",
+ "csvPath": "/home/ubuntu/onav-cloud/Ocean-Data-Map-Project/Front-end_tests/Total Area Great Lakes 3.csv",
+ "subset_var": "Potential Temperature",
+ "arrows": "Water Velocity",
+ "contour": "none",
+ "arrow_box_position": "2",
+ "contour_box_position":"3",
+ "line_transect":"yes",
+ "line_coordinates":"flemish_cap",
+ "point_coordinates":["-50.9582","44.9855"],
+ "tile_coordinates":["4","5","5"],
+ "variables_to_test":{"icevelocity":"Sea Ice Velocity","sossheig":"Sea Surface Height"}
+ },
+ {
+ "name": "CIOPS Forecast East 3D -",
+ "id":"ciops-east_fc_3dll",
+ "steps": [
+ "GIOPS 10 Day Daily Mean",
+ "CIOPS Forecast",
+ "CIOPS Forecast East 3D -"
+ ],
+ "compare_dataset":"GIOPS 10 Day Daily Mean",
+ "type":"3D",
+ "csvPath": "/home/ubuntu/onav-cloud/Ocean-Data-Map-Project/Front-end_tests/Total Area NA 3.csv",
+ "subset_var": "Potential Temperature",
+ "arrows": "none",
+ "contour": "Water Velocity",
+ "arrow_box_position": "3",
+ "contour_box_position": "4",
+ "line_transect":"yes",
+ "line_coordinates":"flemish_cap",
+ "point_coordinates":["-50.9582","44.9855"],
+ "tile_coordinates":["4","5","5"],
+ "variables_to_test":{"sspeed":"Speed of Sound","psubsurfacechannel":"Potential Sub Surface Channel"}
+
+ },
+ {
+ "name": "Copernicus Marine Service Global Ocean 1/12 deg Physics Reanalysis (Monthly)",
+ "id":"cmems_monthly",
+ "steps": [
+ "GIOPS 10 Day Daily Mean",
+ "CMEMS",
+ "Copernicus Marine Service Global Ocean 1/12 deg Physics Reanalysis (Monthly)"
+ ],
+ "compare_dataset":"GIOPS 10 Day Daily Mean",
+ "type":"2D",
+ "csvPath": "/home/ubuntu/onav-cloud/Ocean-Data-Map-Project/Front-end_tests/Total Area NA 3.csv",
+ "subset_var": "Potential Temperature",
+ "arrows": "none",
+ "contour": "none",
+ "arrow_box_position": "2",
+ "contour_box_position": "3",
+ "line_transect":"yes",
+ "line_coordinates":"flemish_cap",
+ "point_coordinates":["44.9855", "-50.9582"],
+ "tile_coordinates":["4","6","6"],
+ "variables_to_test":{"icevelocity":"Sea Ice Velocity","zos":"Sea Surface Height"}
+ },
+ {
+ "name": "SalishSeaCast 3D Currents",
+ "id":"salishseacast_3d_currents",
+ "steps": [
+ "GIOPS 10 Day Daily Mean",
+ "SalishSeaCast",
+ "SalishSeaCast 3D Currents"
+ ],
+ "compare_dataset":"GIOPS 10 Day Daily Mean",
+ "type":"3D",
+ "csvPath": "/home/ubuntu/onav-cloud/Ocean-Data-Map-Project/Front-end_tests/Total Area Salish 3.csv",
+ "subset_var": "Speed of Current",
+ "arrows": "none",
+ "contour": "Eastward Current",
+ "arrow_box_position": "2",
+ "contour_box_position": "3",
+ "line_transect":"yes",
+ "line_coordinates":["-123.6","48.2","-123","48.3"],
+ "point_coordinates":["44.9855", "-50.9582"],
+ "tile_coordinates":["7","20","44"],
+ "variables_to_test":{"vVelocity":"Northward Current","current_speed":"Speed of Current"}
+ }
+]
\ No newline at end of file
diff --git a/Front-end_tests/variable_test.spec.js b/Front-end_tests/variable_test.spec.js
new file mode 100644
index 000000000..18d534660
--- /dev/null
+++ b/Front-end_tests/variable_test.spec.js
@@ -0,0 +1,174 @@
+import { test, expect } from "@playwright/test";
+import datasets from "./test_datasets.json";
+
+test.use({ viewport: { width: 1920, height: 1080 } });
+let page;
+
+// test.describe.configure({ mode: "serial" });
+test.beforeAll(async ({ browser }) => {
+ // Create one page globally
+ page = await browser.newPage();
+
+ // Only ONE navigation for all datasets
+ await page.goto("http://0.0.0.0:8443/public/");
+
+ // Wait for loading bar to be completed
+ await page.locator(".progress").waitFor({ state: "detached" });
+});
+
+test.afterAll(async () => {
+ await page.close();
+});
+
+async function runPlotTest(dataset) {
+ console.log(`Running Variable test for dataset: ${dataset.name}`);
+
+ // Steps to select dataset on dataset selector
+ for (const step of dataset.steps) {
+ await page.getByRole("button", { name: step }).click();
+ }
+
+ // Wait for progress bar to detach
+ await page.locator(".progress").waitFor({ state: "detached" });
+
+ //apply dataset to the main map
+ await page.getByRole("button", { name: "Go" }).click();
+
+ //wait for dataset to be loaded fully
+ await page
+ .locator("img")
+ .first()
+ .waitFor({ state: "visible", timeout: 30000 });
+
+ //verify id dataset changed properly
+ await expect(page.getByRole("button", { name: dataset.name }))
+ .toBeVisible()
+ .catch((err) => {
+ throw new Error(`Dataset didn't get changed properly: ${err.message}`);
+ });
+
+ for (const variable_key in dataset.variables_to_test) {
+ //select variable
+ await page
+ .getByLabel("Variable")
+ .selectOption({ label: dataset.variables_to_test[variable_key] });
+ const tileResponsePromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes(`/api/v2.0/tiles/${dataset.id}/${variable_key}`) &&
+ url.includes(
+ `${dataset.tile_coordinates[0]}/${dataset.tile_coordinates[1]}/${dataset.tile_coordinates[2]}`
+ ) &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 } // wait up to 2 minutes
+ );
+
+ const scaleResponsePromise = page.waitForResponse(
+ (response) => {
+ const url = response.url();
+ return (
+ url.includes(`api/v2.0/scale/${dataset.id}/${variable_key}`) &&
+ response.request().method() === "GET"
+ );
+ },
+ { timeout: 120000 }
+ );
+
+ //click on go
+ await page.getByRole("button", { name: "Go" }).click();
+
+ const tileResponse = await tileResponsePromise;
+ const scaleResponse = await scaleResponsePromise;
+
+ //check response status
+ try {
+ expect(tileResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(
+ `Map tiles for new variable didn't get generated: ${err.message}`
+ );
+ }
+
+ //check scale response
+ try {
+ expect(scaleResponse.status()).toBe(200);
+ } catch (err) {
+ throw new Error(`variable scale didn't get generated: ${err.message}`);
+ }
+
+ await expect(page.getByLabel("Variable").locator("option:checked"))
+ .toHaveText(dataset.variables_to_test[variable_key])
+ .catch((err) => {
+ throw new Error(
+ `Variable in dataset selector didn't get changed: ${err.message}`
+ );
+ });
+ }
+
+ //reset to giops dataset
+ if (dataset.id != "giops_day") {
+ await page.getByRole("button", { name: dataset.steps.at(-1) }).click();
+ await page
+ .getByRole("button", { name: dataset.steps.at(-2), exact: true })
+ .click();
+ await page.getByRole("button", { name: "GIOPS Forecast" }).click();
+ await page.getByRole("button", { name: "GIOPS 10 Day Daily Mean" }).click();
+ }
+
+ //****************************************************************END OF TEST**********************************************************************//
+}
+
+test("All datasets sequential test", async () => {
+ test.setTimeout(600000);
+
+ const results = [];
+
+ for (const dataset of datasets) {
+ await test.step(`Testing dataset: ${dataset.name}`, async () => {
+ try {
+ await runPlotTest(dataset);
+ results.push({ dataset: dataset.name, status: "passed" });
+ } catch (err) {
+ results.push({
+ dataset: dataset.name,
+ status: "failed",
+ error: err.message,
+ });
+ console.error(`❌ Error in dataset "${dataset.name}": ${err.message}`);
+ // Reload the app so next dataset runs cleanly
+ console.log(`Reloading page after failure in ${dataset.name}...`);
+
+ //doing a hard reload
+ await page.reload({ waitUntil: "domcontentloaded" });
+
+ // Wait for loading bar to be completed
+ await page.locator(".progress").waitFor({ state: "detached" });
+
+ //verifying if the reloaded page points to the home page
+ //some errors might display the api response and relaoding the page just reloads the response
+ const current = page.url();
+ const target = "http://0.0.0.0:8443/public/";
+
+ if (current !== target) {
+ await page.goto(target, { waitUntil: "domcontentloaded" });
+ }
+ }
+ });
+ }
+
+ // Report summary at the end
+ const failed = results.filter((r) => r.status === "failed");
+ if (failed.length > 0) {
+ console.log("\nTest Summary:");
+ results.forEach((r) => {
+ console.log(`${r.dataset}: ${r.status}`);
+ if (r.error) console.log(` Error: ${r.error}`);
+ });
+ throw new Error(
+ `${failed.length} datasets failed out of ${results.length}`
+ );
+ }
+});
diff --git a/Ocean-Navigator-Manual b/Ocean-Navigator-Manual
new file mode 160000
index 000000000..39b13c1ff
--- /dev/null
+++ b/Ocean-Navigator-Manual
@@ -0,0 +1 @@
+Subproject commit 39b13c1ff6e1d789ff2a2e39e58609bea13c4c95
diff --git a/oceannavigator/frontend/public/index.html b/oceannavigator/frontend/public/index.html
index 9f5d0dc55..d7c3de5c0 100644
--- a/oceannavigator/frontend/public/index.html
+++ b/oceannavigator/frontend/public/index.html
@@ -21,7 +21,7 @@
-
+
diff --git a/oceannavigator/frontend/public/oceannavigator.js b/oceannavigator/frontend/public/oceannavigator.js
index 24fef8255..b3238572a 100644
--- a/oceannavigator/frontend/public/oceannavigator.js
+++ b/oceannavigator/frontend/public/oceannavigator.js
@@ -9,2513 +9,8563 @@
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
-/***/ "./node_modules/@restart/hooks/esm/useCallbackRef.js":
-/*!***********************************************************!*\
- !*** ./node_modules/@restart/hooks/esm/useCallbackRef.js ***!
- \***********************************************************/
+/***/ "./node_modules/@fortawesome/react-fontawesome/index.es.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/@fortawesome/react-fontawesome/index.es.js ***!
+ \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ useCallbackRef)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * A convenience hook around `useState` designed to be paired with\n * the component [callback ref](https://reactjs.org/docs/refs-and-the-dom.html#callback-refs) api.\n * Callback refs are useful over `useRef()` when you need to respond to the ref being set\n * instead of lazily accessing it in an effect.\n *\n * ```ts\n * const [element, attachRef] = useCallbackRef()\n *\n * useEffect(() => {\n * if (!element) return\n *\n * const calendar = new FullCalendar.Calendar(element)\n *\n * return () => {\n * calendar.destroy()\n * }\n * }, [element])\n *\n * return \n * ```\n *\n * @category refs\n */\n\nfunction useCallbackRef() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/hooks/esm/useCallbackRef.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FontAwesomeIcon: () => (/* binding */ FontAwesomeIcon)\n/* harmony export */ });\n/* harmony import */ var _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @fortawesome/fontawesome-svg-core */ \"./node_modules/@fortawesome/fontawesome-svg-core/index.mjs\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = \"development\" === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (_fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.parse.icon) {\n return _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar FontAwesomeIcon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().forwardRef(function (props, ref) {\n var allProps = _objectSpread2(_objectSpread2({}, defaultProps), props);\n\n var iconArgs = allProps.icon,\n maskArgs = allProps.mask,\n symbol = allProps.symbol,\n className = allProps.className,\n title = allProps.title,\n titleId = allProps.titleId,\n maskId = allProps.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(allProps)), _toConsumableArray((className || '').split(' '))));\n var transform = objectWithKey('transform', typeof allProps.transform === 'string' ? _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.parse.transform(allProps.transform) : allProps.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = (0,_fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_0__.icon)(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: ref\n };\n Object.keys(allProps).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!defaultProps.hasOwnProperty(key)) {\n extraProps[key] = allProps[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n});\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n border: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n beatFade: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n bounce: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n className: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),\n fade: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n flash: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n mask: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().array), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string)]),\n maskId: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),\n fixedWidth: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n inverse: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n flip: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().array), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string)]),\n listItem: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n pull: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOf(['right', 'left']),\n pulse: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n rotation: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOf([0, 90, 180, 270]),\n shake: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n size: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n spinPulse: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n spinReverse: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n symbol: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string)]),\n title: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),\n titleId: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),\n transform: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)]),\n swapOpacity: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool)\n};\nvar convertCurry = convert.bind(null, (react__WEBPACK_IMPORTED_MODULE_1___default().createElement));\n\n\n\n\n//# sourceURL=webpack://frontend/./node_modules/@fortawesome/react-fontawesome/index.es.js?");
/***/ }),
-/***/ "./node_modules/@restart/hooks/esm/useCommittedRef.js":
-/*!************************************************************!*\
- !*** ./node_modules/@restart/hooks/esm/useCommittedRef.js ***!
- \************************************************************/
+/***/ "./node_modules/@popperjs/core/lib/createPopper.js":
+/*!*********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/createPopper.js ***!
+ \*********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Creates a `Ref` whose value is updated in an effect, ensuring the most recent\n * value is the one rendered with. Generally only required for Concurrent mode usage\n * where previous work in `render()` may be discarded before being used.\n *\n * This is safe to access in an event handler.\n *\n * @param value The `Ref` value\n */\n\nfunction useCommittedRef(value) {\n var ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(value);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n ref.current = value;\n }, [value]);\n return ref;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useCommittedRef);\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/hooks/esm/useCommittedRef.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createPopper: () => (/* binding */ createPopper),\n/* harmony export */ detectOverflow: () => (/* reexport safe */ _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]),\n/* harmony export */ popperGenerator: () => (/* binding */ popperGenerator)\n/* harmony export */ });\n/* harmony import */ var _dom_utils_getCompositeRect_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dom-utils/getCompositeRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js\");\n/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./dom-utils/getLayoutRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\");\n/* harmony import */ var _dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dom-utils/listScrollParents.js */ \"./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js\");\n/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dom-utils/getOffsetParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\");\n/* harmony import */ var _utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/orderModifiers.js */ \"./node_modules/@popperjs/core/lib/utils/orderModifiers.js\");\n/* harmony import */ var _utils_debounce_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/debounce.js */ \"./node_modules/@popperjs/core/lib/utils/debounce.js\");\n/* harmony import */ var _utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/mergeByName.js */ \"./node_modules/@popperjs/core/lib/utils/mergeByName.js\");\n/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/detectOverflow.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom-utils/instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\n\n\n\n\n\n\n\n\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nfunction popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: (0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(reference) ? (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(reference) : reference.contextElement ? (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(reference.contextElement) : [],\n popper: (0,_dom_utils_listScrollParents_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = (0,_utils_orderModifiers_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])((0,_utils_mergeByName_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: (0,_dom_utils_getCompositeRect_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(reference, (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(popper), state.options.strategy === 'fixed'),\n popper: (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: (0,_utils_debounce_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nvar createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\n\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/createPopper.js?");
/***/ }),
-/***/ "./node_modules/@restart/hooks/esm/useEventCallback.js":
-/*!*************************************************************!*\
- !*** ./node_modules/@restart/hooks/esm/useEventCallback.js ***!
- \*************************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/contains.js":
+/*!***************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/contains.js ***!
+ \***************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ useEventCallback)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _useCommittedRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useCommittedRef */ \"./node_modules/@restart/hooks/esm/useCommittedRef.js\");\n\n\nfunction useEventCallback(fn) {\n var ref = (0,_useCommittedRef__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(fn);\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {\n return ref.current && ref.current.apply(ref, arguments);\n }, [ref]);\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/hooks/esm/useEventCallback.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ contains)\n/* harmony export */ });\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\nfunction contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/contains.js?");
/***/ }),
-/***/ "./node_modules/@restart/hooks/esm/useMergedRefs.js":
-/*!**********************************************************!*\
- !*** ./node_modules/@restart/hooks/esm/useMergedRefs.js ***!
- \**********************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js":
+/*!****************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js ***!
+ \****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"mergeRefs\": () => (/* binding */ mergeRefs)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar toFnRef = function toFnRef(ref) {\n return !ref || typeof ref === 'function' ? ref : function (value) {\n ref.current = value;\n };\n};\n\nfunction mergeRefs(refA, refB) {\n var a = toFnRef(refA);\n var b = toFnRef(refB);\n return function (value) {\n if (a) a(value);\n if (b) b(value);\n };\n}\n/**\n * Create and returns a single callback ref composed from two other Refs.\n *\n * ```tsx\n * const Button = React.forwardRef((props, ref) => {\n * const [element, attachRef] = useCallbackRef();\n * const mergedRef = useMergedRefs(ref, attachRef);\n *\n * return \n * })\n * ```\n *\n * @param refA A Callback or mutable Ref\n * @param refB A Callback or mutable Ref\n * @category refs\n */\n\nfunction useMergedRefs(refA, refB) {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(function () {\n return mergeRefs(refA, refB);\n }, [refA, refB]);\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useMergedRefs);\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/hooks/esm/useMergedRefs.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getBoundingClientRect)\n/* harmony export */ });\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isLayoutViewport.js */ \"./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js\");\n\n\n\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) {\n scaleX = element.offsetWidth > 0 ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_1__.round)(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !(0,_isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js?");
/***/ }),
-/***/ "./node_modules/@restart/hooks/esm/useMounted.js":
-/*!*******************************************************!*\
- !*** ./node_modules/@restart/hooks/esm/useMounted.js ***!
- \*******************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js ***!
+ \**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ useMounted)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Track whether a component is current mounted. Generally less preferable than\n * properlly canceling effects so they don't run after a component is unmounted,\n * but helpful in cases where that isn't feasible, such as a `Promise` resolution.\n *\n * @returns a function that returns the current isMounted state of the component\n *\n * ```ts\n * const [data, setData] = useState(null)\n * const isMounted = useMounted()\n *\n * useEffect(() => {\n * fetchdata().then((newData) => {\n * if (isMounted()) {\n * setData(newData);\n * }\n * })\n * })\n * ```\n */\n\nfunction useMounted() {\n var mounted = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(true);\n var isMounted = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(function () {\n return mounted.current;\n });\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n mounted.current = true;\n return function () {\n mounted.current = false;\n };\n }, []);\n return isMounted.current;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/hooks/esm/useMounted.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getClippingRect)\n/* harmony export */ });\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _getViewportRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getViewportRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js\");\n/* harmony import */ var _getDocumentRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getDocumentRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js\");\n/* harmony import */ var _listScrollParents_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./listScrollParents.js */ \"./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js\");\n/* harmony import */ var _getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getOffsetParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\");\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\");\n/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./getParentNode.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\");\n/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./contains.js */ \"./node_modules/@popperjs/core/lib/dom-utils/contains.js\");\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/rectToClientRect.js */ \"./node_modules/@popperjs/core/lib/utils/rectToClientRect.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === _enums_js__WEBPACK_IMPORTED_MODULE_1__.viewport ? (0,_utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])((0,_getViewportRect_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(element, strategy)) : (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : (0,_utils_rectToClientRect_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])((0,_getDocumentRect_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])((0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = (0,_listScrollParents_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(element).position) >= 0;\n var clipperElement = canEscapeClipping && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isHTMLElement)(element) ? (0,_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(element) : element;\n\n if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_4__.isElement)(clippingParent) && (0,_contains_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(clippingParent, clipperElement) && (0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.top, accRect.top);\n accRect.right = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.right, accRect.right);\n accRect.bottom = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.min)(rect.bottom, accRect.bottom);\n accRect.left = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_13__.max)(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js?");
/***/ }),
-/***/ "./node_modules/@restart/hooks/esm/usePrevious.js":
-/*!********************************************************!*\
- !*** ./node_modules/@restart/hooks/esm/usePrevious.js ***!
- \********************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js ***!
+ \***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ usePrevious)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Store the last of some value. Tracked via a `Ref` only updating it\n * after the component renders.\n *\n * Helpful if you need to compare a prop value to it's previous value during render.\n *\n * ```ts\n * function Component(props) {\n * const lastProps = usePrevious(props)\n *\n * if (lastProps.foo !== props.foo)\n * resetValueFromProps(props.foo)\n * }\n * ```\n *\n * @param value the value to track\n */\n\nfunction usePrevious(value) {\n var ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n ref.current = value;\n });\n return ref.current;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/hooks/esm/usePrevious.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getCompositeRect)\n/* harmony export */ });\n/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBoundingClientRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\");\n/* harmony import */ var _getNodeScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./getNodeScroll.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js\");\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\");\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isScrollParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\n\n\n\n\n\n\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(rect.width) / element.offsetWidth || 1;\n var scaleY = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nfunction getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent);\n var offsetParentIsScaled = (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent) && isElementScaled(offsetParent);\n var documentElement = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(offsetParent);\n var rect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(documentElement)) {\n scroll = (0,_getNodeScroll_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(offsetParent);\n }\n\n if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(offsetParent)) {\n offsets = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js?");
/***/ }),
-/***/ "./node_modules/@restart/hooks/esm/useUpdatedRef.js":
-/*!**********************************************************!*\
- !*** ./node_modules/@restart/hooks/esm/useUpdatedRef.js ***!
- \**********************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js ***!
+ \***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ useUpdatedRef)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Returns a ref that is immediately updated with the new value\n *\n * @param value The Ref value\n * @category refs\n */\n\nfunction useUpdatedRef(value) {\n var valueRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(value);\n valueRef.current = value;\n return valueRef;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/hooks/esm/useUpdatedRef.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getComputedStyle)\n/* harmony export */ });\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n\nfunction getComputedStyle(element) {\n return (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element).getComputedStyle(element);\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js?");
/***/ }),
-/***/ "./node_modules/@restart/hooks/esm/useWillUnmount.js":
-/*!***********************************************************!*\
- !*** ./node_modules/@restart/hooks/esm/useWillUnmount.js ***!
- \***********************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js":
+/*!*************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js ***!
+ \*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ useWillUnmount)\n/* harmony export */ });\n/* harmony import */ var _useUpdatedRef__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useUpdatedRef */ \"./node_modules/@restart/hooks/esm/useUpdatedRef.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/**\n * Attach a callback that fires when a component unmounts\n *\n * @param fn Handler to run when the component unmounts\n * @category effects\n */\n\nfunction useWillUnmount(fn) {\n var onUnmount = (0,_useUpdatedRef__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fn);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\n return function () {\n return onUnmount.current();\n };\n }, []);\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/hooks/esm/useWillUnmount.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getDocumentElement)\n/* harmony export */ });\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\nfunction getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return (((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isElement)(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js?");
/***/ }),
-/***/ "./node_modules/@restart/ui/esm/Button.js":
-/*!************************************************!*\
- !*** ./node_modules/@restart/ui/esm/Button.js ***!
- \************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js ***!
+ \**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"isTrivialHref\": () => (/* binding */ isTrivialHref),\n/* harmony export */ \"useButtonProps\": () => (/* binding */ useButtonProps)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _excluded = [\"as\", \"disabled\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n\n\nfunction isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\nfunction useButtonProps({\n tagName,\n disabled,\n href,\n target,\n rel,\n role,\n onClick,\n tabIndex = 0,\n type\n}) {\n if (!tagName) {\n if (href != null || target != null || rel != null) {\n tagName = 'a';\n } else {\n tagName = 'button';\n }\n }\n\n const meta = {\n tagName\n };\n\n if (tagName === 'button') {\n return [{\n type: type || 'button',\n disabled\n }, meta];\n }\n\n const handleClick = event => {\n if (disabled || tagName === 'a' && isTrivialHref(href)) {\n event.preventDefault();\n }\n\n if (disabled) {\n event.stopPropagation();\n return;\n }\n\n onClick == null ? void 0 : onClick(event);\n };\n\n const handleKeyDown = event => {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n\n if (tagName === 'a') {\n // Ensure there's a href so Enter can trigger anchor button.\n href || (href = '#');\n\n if (disabled) {\n href = undefined;\n }\n }\n\n return [{\n role: role != null ? role : 'button',\n // explicitly undefined so that it overrides the props disabled in a spread\n // e.g. \n disabled: undefined,\n tabIndex: disabled ? undefined : tabIndex,\n href,\n target: tagName === 'a' ? target : undefined,\n 'aria-disabled': !disabled ? undefined : disabled,\n rel: tagName === 'a' ? rel : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown\n }, meta];\n}\nconst Button = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((_ref, ref) => {\n let {\n as: asProp,\n disabled\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const [buttonProps, {\n tagName: Component\n }] = useButtonProps(Object.assign({\n tagName: asProp,\n disabled\n }, props));\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Component, Object.assign({}, props, buttonProps, {\n ref: ref\n }));\n});\nButton.displayName = 'Button';\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Button);\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/ui/esm/Button.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getDocumentRect)\n/* harmony export */ });\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\");\n/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindowScroll.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\n\n\n // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element);\n var winScroll = (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(element);\n var y = -winScroll.scrollTop;\n\n if ((0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(body || html).direction === 'rtl') {\n x += (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_2__.max)(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js?");
/***/ }),
-/***/ "./node_modules/@restart/ui/esm/DataKey.js":
-/*!*************************************************!*\
- !*** ./node_modules/@restart/ui/esm/DataKey.js ***!
- \*************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js":
+/*!***************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js ***!
+ \***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ATTRIBUTE_PREFIX\": () => (/* binding */ ATTRIBUTE_PREFIX),\n/* harmony export */ \"PROPERTY_PREFIX\": () => (/* binding */ PROPERTY_PREFIX),\n/* harmony export */ \"dataAttr\": () => (/* binding */ dataAttr),\n/* harmony export */ \"dataProp\": () => (/* binding */ dataProp)\n/* harmony export */ });\nconst ATTRIBUTE_PREFIX = `data-rr-ui-`;\nconst PROPERTY_PREFIX = `rrUi`;\nfunction dataAttr(property) {\n return `${ATTRIBUTE_PREFIX}${property}`;\n}\nfunction dataProp(property) {\n return `${PROPERTY_PREFIX}${property}`;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/ui/esm/DataKey.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getHTMLElementScroll)\n/* harmony export */ });\nfunction getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js?");
/***/ }),
-/***/ "./node_modules/@restart/ui/esm/Modal.js":
-/*!***********************************************!*\
- !*** ./node_modules/@restart/ui/esm/Modal.js ***!
- \***********************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js ***!
+ \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var dom_helpers_activeElement__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom-helpers/activeElement */ \"./node_modules/dom-helpers/esm/activeElement.js\");\n/* harmony import */ var dom_helpers_contains__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-helpers/contains */ \"./node_modules/dom-helpers/esm/contains.js\");\n/* harmony import */ var dom_helpers_canUseDOM__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-helpers/canUseDOM */ \"./node_modules/dom-helpers/esm/canUseDOM.js\");\n/* harmony import */ var dom_helpers_listen__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-helpers/listen */ \"./node_modules/dom-helpers/esm/listen.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var _restart_hooks_useMounted__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @restart/hooks/useMounted */ \"./node_modules/@restart/hooks/esm/useMounted.js\");\n/* harmony import */ var _restart_hooks_useWillUnmount__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @restart/hooks/useWillUnmount */ \"./node_modules/@restart/hooks/esm/useWillUnmount.js\");\n/* harmony import */ var _restart_hooks_usePrevious__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @restart/hooks/usePrevious */ \"./node_modules/@restart/hooks/esm/usePrevious.js\");\n/* harmony import */ var _restart_hooks_useEventCallback__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @restart/hooks/useEventCallback */ \"./node_modules/@restart/hooks/esm/useEventCallback.js\");\n/* harmony import */ var _ModalManager__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ModalManager */ \"./node_modules/@restart/ui/esm/ModalManager.js\");\n/* harmony import */ var _useWaitForDOMRef__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./useWaitForDOMRef */ \"./node_modules/@restart/ui/esm/useWaitForDOMRef.js\");\n/* harmony import */ var _useWindow__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./useWindow */ \"./node_modules/@restart/ui/esm/useWindow.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\nconst _excluded = [\"show\", \"role\", \"className\", \"style\", \"children\", \"backdrop\", \"keyboard\", \"onBackdropClick\", \"onEscapeKeyDown\", \"transition\", \"backdropTransition\", \"autoFocus\", \"enforceFocus\", \"restoreFocus\", \"restoreFocusOptions\", \"renderDialog\", \"renderBackdrop\", \"manager\", \"container\", \"onShow\", \"onHide\", \"onExit\", \"onExited\", \"onExiting\", \"onEnter\", \"onEntering\", \"onEntered\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* eslint-disable @typescript-eslint/no-use-before-define, react/prop-types */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nlet manager;\n\nfunction getManager(window) {\n if (!manager) manager = new _ModalManager__WEBPACK_IMPORTED_MODULE_11__[\"default\"]({\n ownerDocument: window == null ? void 0 : window.document\n });\n return manager;\n}\n\nfunction useModalManager(provided) {\n const window = (0,_useWindow__WEBPACK_IMPORTED_MODULE_12__[\"default\"])();\n const modalManager = provided || getManager(window);\n const modal = (0,react__WEBPACK_IMPORTED_MODULE_4__.useRef)({\n dialog: null,\n backdrop: null\n });\n return Object.assign(modal.current, {\n add: () => modalManager.add(modal.current),\n remove: () => modalManager.remove(modal.current),\n isTopModal: () => modalManager.isTopModal(modal.current),\n setDialogRef: (0,react__WEBPACK_IMPORTED_MODULE_4__.useCallback)(ref => {\n modal.current.dialog = ref;\n }, []),\n setBackdropRef: (0,react__WEBPACK_IMPORTED_MODULE_4__.useCallback)(ref => {\n modal.current.backdrop = ref;\n }, [])\n });\n}\n\nconst Modal = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_4__.forwardRef)((_ref, ref) => {\n let {\n show = false,\n role = 'dialog',\n className,\n style,\n children,\n backdrop = true,\n keyboard = true,\n onBackdropClick,\n onEscapeKeyDown,\n transition,\n backdropTransition,\n autoFocus = true,\n enforceFocus = true,\n restoreFocus = true,\n restoreFocusOptions,\n renderDialog,\n renderBackdrop = props => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", Object.assign({}, props)),\n manager: providedManager,\n container: containerRef,\n onShow,\n onHide = () => {},\n onExit,\n onExited,\n onExiting,\n onEnter,\n onEntering,\n onEntered\n } = _ref,\n rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const container = (0,_useWaitForDOMRef__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(containerRef);\n const modal = useModalManager(providedManager);\n const isMounted = (0,_restart_hooks_useMounted__WEBPACK_IMPORTED_MODULE_6__[\"default\"])();\n const prevShow = (0,_restart_hooks_usePrevious__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(show);\n const [exited, setExited] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(!show);\n const lastFocusRef = (0,react__WEBPACK_IMPORTED_MODULE_4__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useImperativeHandle)(ref, () => modal, [modal]);\n\n if (dom_helpers_canUseDOM__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && !prevShow && show) {\n lastFocusRef.current = (0,dom_helpers_activeElement__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n }\n\n if (!transition && !show && !exited) {\n setExited(true);\n } else if (show && exited) {\n setExited(false);\n }\n\n const handleShow = (0,_restart_hooks_useEventCallback__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(() => {\n modal.add();\n removeKeydownListenerRef.current = (0,dom_helpers_listen__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(document, 'keydown', handleDocumentKeyDown);\n removeFocusListenerRef.current = (0,dom_helpers_listen__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(document, 'focus', // the timeout is necessary b/c this will run before the new modal is mounted\n // and so steals focus from it\n () => setTimeout(handleEnforceFocus), true);\n\n if (onShow) {\n onShow();\n } // autofocus after onShow to not trigger a focus event for previous\n // modals before this one is shown.\n\n\n if (autoFocus) {\n const currentActiveElement = (0,dom_helpers_activeElement__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document);\n\n if (modal.dialog && currentActiveElement && !(0,dom_helpers_contains__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(modal.dialog, currentActiveElement)) {\n lastFocusRef.current = currentActiveElement;\n modal.dialog.focus();\n }\n }\n });\n const handleHide = (0,_restart_hooks_useEventCallback__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(() => {\n modal.remove();\n removeKeydownListenerRef.current == null ? void 0 : removeKeydownListenerRef.current();\n removeFocusListenerRef.current == null ? void 0 : removeFocusListenerRef.current();\n\n if (restoreFocus) {\n var _lastFocusRef$current;\n\n // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)\n (_lastFocusRef$current = lastFocusRef.current) == null ? void 0 : _lastFocusRef$current.focus == null ? void 0 : _lastFocusRef$current.focus(restoreFocusOptions);\n lastFocusRef.current = null;\n }\n }); // TODO: try and combine these effects: https://github.com/react-bootstrap/react-overlays/pull/794#discussion_r409954120\n // Show logic when:\n // - show is `true` _and_ `container` has resolved\n\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(() => {\n if (!show || !container) return;\n handleShow();\n }, [show, container,\n /* should never change: */\n handleShow]); // Hide cleanup logic when:\n // - `exited` switches to true\n // - component unmounts;\n\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(() => {\n if (!exited) return;\n handleHide();\n }, [exited, handleHide]);\n (0,_restart_hooks_useWillUnmount__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(() => {\n handleHide();\n }); // --------------------------------\n\n const handleEnforceFocus = (0,_restart_hooks_useEventCallback__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(() => {\n if (!enforceFocus || !isMounted() || !modal.isTopModal()) {\n return;\n }\n\n const currentActiveElement = (0,dom_helpers_activeElement__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n\n if (modal.dialog && currentActiveElement && !(0,dom_helpers_contains__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(modal.dialog, currentActiveElement)) {\n modal.dialog.focus();\n }\n });\n const handleBackdropClick = (0,_restart_hooks_useEventCallback__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(e => {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n onBackdropClick == null ? void 0 : onBackdropClick(e);\n\n if (backdrop === true) {\n onHide();\n }\n });\n const handleDocumentKeyDown = (0,_restart_hooks_useEventCallback__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(e => {\n if (keyboard && e.keyCode === 27 && modal.isTopModal()) {\n onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);\n\n if (!e.defaultPrevented) {\n onHide();\n }\n }\n });\n const removeFocusListenerRef = (0,react__WEBPACK_IMPORTED_MODULE_4__.useRef)();\n const removeKeydownListenerRef = (0,react__WEBPACK_IMPORTED_MODULE_4__.useRef)();\n\n const handleHidden = (...args) => {\n setExited(true);\n onExited == null ? void 0 : onExited(...args);\n };\n\n const Transition = transition;\n\n if (!container || !(show || Transition && !exited)) {\n return null;\n }\n\n const dialogProps = Object.assign({\n role,\n ref: modal.setDialogRef,\n // apparently only works on the dialog role element\n 'aria-modal': role === 'dialog' ? true : undefined\n }, rest, {\n style,\n className,\n tabIndex: -1\n });\n let dialog = renderDialog ? renderDialog(dialogProps) : /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(\"div\", Object.assign({}, dialogProps, {\n children: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.cloneElement(children, {\n role: 'document'\n })\n }));\n\n if (Transition) {\n dialog = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(Transition, {\n appear: true,\n unmountOnExit: true,\n in: !!show,\n onExit: onExit,\n onExiting: onExiting,\n onExited: handleHidden,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n children: dialog\n });\n }\n\n let backdropElement = null;\n\n if (backdrop) {\n const BackdropTransition = backdropTransition;\n backdropElement = renderBackdrop({\n ref: modal.setBackdropRef,\n onClick: handleBackdropClick\n });\n\n if (BackdropTransition) {\n backdropElement = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(BackdropTransition, {\n appear: true,\n in: !!show,\n children: backdropElement\n });\n }\n }\n\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.Fragment, {\n children: /*#__PURE__*/react_dom__WEBPACK_IMPORTED_MODULE_5__.createPortal( /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_10__.Fragment, {\n children: [backdropElement, dialog]\n }), container)\n });\n});\nModal.displayName = 'Modal';\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Object.assign(Modal, {\n Manager: _ModalManager__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n}));\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/ui/esm/Modal.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getLayoutRect)\n/* harmony export */ });\n/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\");\n // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nfunction getLayoutRect(element) {\n var clientRect = (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js?");
/***/ }),
-/***/ "./node_modules/@restart/ui/esm/ModalManager.js":
-/*!******************************************************!*\
- !*** ./node_modules/@restart/ui/esm/ModalManager.js ***!
- \******************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js ***!
+ \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"OPEN_DATA_ATTRIBUTE\": () => (/* binding */ OPEN_DATA_ATTRIBUTE),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var dom_helpers_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom-helpers/css */ \"./node_modules/dom-helpers/esm/css.js\");\n/* harmony import */ var _DataKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DataKey */ \"./node_modules/@restart/ui/esm/DataKey.js\");\n/* harmony import */ var _getScrollbarWidth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getScrollbarWidth */ \"./node_modules/@restart/ui/esm/getScrollbarWidth.js\");\n\n\n\nconst OPEN_DATA_ATTRIBUTE = (0,_DataKey__WEBPACK_IMPORTED_MODULE_1__.dataAttr)('modal-open');\n/**\n * Manages a stack of Modals as well as ensuring\n * body scrolling is is disabled and padding accounted for\n */\n\nclass ModalManager {\n constructor({\n ownerDocument,\n handleContainerOverflow = true,\n isRTL = false\n } = {}) {\n this.handleContainerOverflow = handleContainerOverflow;\n this.isRTL = isRTL;\n this.modals = [];\n this.ownerDocument = ownerDocument;\n }\n\n getScrollbarWidth() {\n return (0,_getScrollbarWidth__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.ownerDocument);\n }\n\n getElement() {\n return (this.ownerDocument || document).body;\n }\n\n setModalAttributes(_modal) {// For overriding\n }\n\n removeModalAttributes(_modal) {// For overriding\n }\n\n setContainerStyle(containerState) {\n const style = {\n overflow: 'hidden'\n }; // we are only interested in the actual `style` here\n // because we will override it\n\n const paddingProp = this.isRTL ? 'paddingLeft' : 'paddingRight';\n const container = this.getElement();\n containerState.style = {\n overflow: container.style.overflow,\n [paddingProp]: container.style[paddingProp]\n };\n\n if (containerState.scrollBarWidth) {\n // use computed style, here to get the real padding\n // to add our scrollbar width\n style[paddingProp] = `${parseInt((0,dom_helpers_css__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(container, paddingProp) || '0', 10) + containerState.scrollBarWidth}px`;\n }\n\n container.setAttribute(OPEN_DATA_ATTRIBUTE, '');\n (0,dom_helpers_css__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(container, style);\n }\n\n reset() {\n [...this.modals].forEach(m => this.remove(m));\n }\n\n removeContainerStyle(containerState) {\n const container = this.getElement();\n container.removeAttribute(OPEN_DATA_ATTRIBUTE);\n Object.assign(container.style, containerState.style);\n }\n\n add(modal) {\n let modalIdx = this.modals.indexOf(modal);\n\n if (modalIdx !== -1) {\n return modalIdx;\n }\n\n modalIdx = this.modals.length;\n this.modals.push(modal);\n this.setModalAttributes(modal);\n\n if (modalIdx !== 0) {\n return modalIdx;\n }\n\n this.state = {\n scrollBarWidth: this.getScrollbarWidth(),\n style: {}\n };\n\n if (this.handleContainerOverflow) {\n this.setContainerStyle(this.state);\n }\n\n return modalIdx;\n }\n\n remove(modal) {\n const modalIdx = this.modals.indexOf(modal);\n\n if (modalIdx === -1) {\n return;\n }\n\n this.modals.splice(modalIdx, 1); // if that was the last modal in a container,\n // clean up the container\n\n if (!this.modals.length && this.handleContainerOverflow) {\n this.removeContainerStyle(this.state);\n }\n\n this.removeModalAttributes(modal);\n }\n\n isTopModal(modal) {\n return !!this.modals.length && this.modals[this.modals.length - 1] === modal;\n }\n\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ModalManager);\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/ui/esm/ModalManager.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getNodeName)\n/* harmony export */ });\nfunction getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js?");
/***/ }),
-/***/ "./node_modules/@restart/ui/esm/getScrollbarWidth.js":
-/*!***********************************************************!*\
- !*** ./node_modules/@restart/ui/esm/getScrollbarWidth.js ***!
- \***********************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js ***!
+ \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getBodyScrollbarWidth)\n/* harmony export */ });\n/**\n * Get the width of the vertical window scrollbar if it's visible\n */\nfunction getBodyScrollbarWidth(ownerDocument = document) {\n const window = ownerDocument.defaultView;\n return Math.abs(window.innerWidth - ownerDocument.documentElement.clientWidth);\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/ui/esm/getScrollbarWidth.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getNodeScroll)\n/* harmony export */ });\n/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\");\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getHTMLElementScroll.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js\");\n\n\n\n\nfunction getNodeScroll(node) {\n if (node === (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node) || !(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(node)) {\n return (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(node);\n } else {\n return (0,_getHTMLElementScroll_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(node);\n }\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js?");
/***/ }),
-/***/ "./node_modules/@restart/ui/esm/useWaitForDOMRef.js":
-/*!**********************************************************!*\
- !*** ./node_modules/@restart/ui/esm/useWaitForDOMRef.js ***!
- \**********************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js ***!
+ \**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ useWaitForDOMRef),\n/* harmony export */ \"resolveContainerRef\": () => (/* binding */ resolveContainerRef)\n/* harmony export */ });\n/* harmony import */ var dom_helpers_ownerDocument__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom-helpers/ownerDocument */ \"./node_modules/dom-helpers/esm/ownerDocument.js\");\n/* harmony import */ var dom_helpers_canUseDOM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-helpers/canUseDOM */ \"./node_modules/dom-helpers/esm/canUseDOM.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _useWindow__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useWindow */ \"./node_modules/@restart/ui/esm/useWindow.js\");\n\n\n\n\nconst resolveContainerRef = (ref, document) => {\n if (!dom_helpers_canUseDOM__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) return null;\n if (ref == null) return (document || (0,dom_helpers_ownerDocument__WEBPACK_IMPORTED_MODULE_0__[\"default\"])()).body;\n if (typeof ref === 'function') ref = ref();\n if (ref && 'current' in ref) ref = ref.current;\n if (ref && ('nodeType' in ref || ref.getBoundingClientRect)) return ref;\n return null;\n};\nfunction useWaitForDOMRef(ref, onResolved) {\n const window = (0,_useWindow__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n const [resolvedRef, setRef] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(() => resolveContainerRef(ref, window == null ? void 0 : window.document));\n\n if (!resolvedRef) {\n const earlyRef = resolveContainerRef(ref);\n if (earlyRef) setRef(earlyRef);\n }\n\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => {\n if (onResolved && resolvedRef) {\n onResolved(resolvedRef);\n }\n }, [onResolved, resolvedRef]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => {\n const nextRef = resolveContainerRef(ref);\n\n if (nextRef !== resolvedRef) {\n setRef(nextRef);\n }\n }, [ref, resolvedRef]);\n return resolvedRef;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/ui/esm/useWaitForDOMRef.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getOffsetParent)\n/* harmony export */ });\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n/* harmony import */ var _isTableElement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./isTableElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js\");\n/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\");\n/* harmony import */ var _utils_userAgent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/userAgent.js */ \"./node_modules/@popperjs/core/lib/utils/userAgent.js\");\n\n\n\n\n\n\n\n\nfunction getTrueOffsetParent(element) {\n if (!(0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || // https://github.com/popperjs/popper-core/issues/837\n (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])());\n var isIE = /Trident/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])());\n\n if (isIE && (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = (0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(element);\n\n if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isShadowRoot)(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(currentNode) && ['html', 'body'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(currentNode)) < 0) {\n var css = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n var window = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && (0,_isTableElement_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(offsetParent) && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(offsetParent) === 'html' || (0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(offsetParent) === 'body' && (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js?");
/***/ }),
-/***/ "./node_modules/@restart/ui/esm/useWindow.js":
-/*!***************************************************!*\
- !*** ./node_modules/@restart/ui/esm/useWindow.js ***!
- \***************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js ***!
+ \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WindowProvider\": () => (/* binding */ WindowProvider),\n/* harmony export */ \"default\": () => (/* binding */ useWindow)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var dom_helpers_canUseDOM__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom-helpers/canUseDOM */ \"./node_modules/dom-helpers/esm/canUseDOM.js\");\n\n\nconst Context = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(dom_helpers_canUseDOM__WEBPACK_IMPORTED_MODULE_1__[\"default\"] ? window : undefined);\nconst WindowProvider = Context.Provider;\n/**\n * The document \"window\" placed in React context. Helpful for determining\n * SSR context, or when rendering into an iframe.\n *\n * @returns the current window\n */\n\nfunction useWindow() {\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(Context);\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@restart/ui/esm/useWindow.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getParentNode)\n/* harmony export */ });\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\n\n\nfunction getParentNode(element) {\n if ((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n (0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isShadowRoot)(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(element) // fallback\n\n );\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js?");
/***/ }),
-/***/ "./node_modules/axios-extensions/esm/cacheAdapterEnhancer.js":
-/*!*******************************************************************!*\
- !*** ./node_modules/axios-extensions/esm/cacheAdapterEnhancer.js ***!
- \*******************************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js ***!
+ \**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ cacheAdapterEnhancer)\n/* harmony export */ });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ \"./node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var lru_cache__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lru-cache */ \"./node_modules/axios-extensions/node_modules/lru-cache/index.js\");\n/* harmony import */ var lru_cache__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lru_cache__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_buildSortedURL__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/buildSortedURL */ \"./node_modules/axios-extensions/esm/utils/buildSortedURL.js\");\n/* harmony import */ var _utils_isCacheLike__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/isCacheLike */ \"./node_modules/axios-extensions/esm/utils/isCacheLike.js\");\n/**\n * @author Kuitos\n * @homepage https://github.com/kuitos/\n * @since 2017-10-12\n */\n\n\n\n\nvar FIVE_MINUTES = 1000 * 60 * 5;\nvar CAPACITY = 100;\nfunction cacheAdapterEnhancer(adapter, options) {\n var _this = this;\n if (options === void 0) { options = {}; }\n var _a = options.enabledByDefault, enabledByDefault = _a === void 0 ? true : _a, _b = options.cacheFlag, cacheFlag = _b === void 0 ? 'cache' : _b, _c = options.defaultCache, defaultCache = _c === void 0 ? new (lru_cache__WEBPACK_IMPORTED_MODULE_0___default())({ ttl: FIVE_MINUTES, max: CAPACITY }) : _c;\n return function (config) {\n var url = config.url, method = config.method, params = config.params, paramsSerializer = config.paramsSerializer, forceUpdate = config.forceUpdate;\n var useCache = (config[cacheFlag] !== void 0 && config[cacheFlag] !== null)\n ? config[cacheFlag]\n : enabledByDefault;\n if (method === 'get' && useCache) {\n // if had provided a specified cache, then use it instead\n var cache_1 = (0,_utils_isCacheLike__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(useCache) ? useCache : defaultCache;\n // build the index according to the url and params\n var index_1 = (0,_utils_buildSortedURL__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(url, params, paramsSerializer);\n var responsePromise = cache_1.get(index_1);\n if (!responsePromise || forceUpdate) {\n responsePromise = (function () { return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(_this, void 0, void 0, function () {\n var reason_1;\n return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__generator)(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, adapter(config)];\n case 1: return [2 /*return*/, _a.sent()];\n case 2:\n reason_1 = _a.sent();\n 'delete' in cache_1 ? cache_1.delete(index_1) : cache_1.del(index_1);\n throw reason_1;\n case 3: return [2 /*return*/];\n }\n });\n }); })();\n // put the promise for the non-transformed response into cache as a placeholder\n cache_1.set(index_1, responsePromise);\n return responsePromise;\n }\n /* istanbul ignore next */\n if (process.env.LOGGER_LEVEL === 'info') {\n // eslint-disable-next-line no-console\n console.info(\"[axios-extensions] request cached by cache adapter --> url: \".concat(index_1));\n }\n return responsePromise;\n }\n return adapter(config);\n };\n}\n//# sourceMappingURL=cacheAdapterEnhancer.js.map\n\n//# sourceURL=webpack://frontend/./node_modules/axios-extensions/esm/cacheAdapterEnhancer.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getScrollParent)\n/* harmony export */ });\n/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\");\n/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isScrollParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\");\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _instanceOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\n\n\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if ((0,_instanceOf_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement)(node) && (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(node)) {\n return node;\n }\n\n return getScrollParent((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(node));\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js?");
/***/ }),
-/***/ "./node_modules/axios-extensions/esm/utils/buildSortedURL.js":
-/*!*******************************************************************!*\
- !*** ./node_modules/axios-extensions/esm/utils/buildSortedURL.js ***!
- \*******************************************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js ***!
+ \**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ buildSortedURL)\n/* harmony export */ });\n/* harmony import */ var axios_lib_helpers_buildURL__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios/lib/helpers/buildURL */ \"./node_modules/axios/lib/helpers/buildURL.js\");\n/**\n * @author Kuitos\n * @homepage https://github.com/kuitos/\n * @since 2017-10-12\n */\n// @ts-ignore\n\nfunction buildSortedURL() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var builtURL = axios_lib_helpers_buildURL__WEBPACK_IMPORTED_MODULE_0__[\"default\"].apply(void 0, args);\n var _a = builtURL.split('?'), urlPath = _a[0], queryString = _a[1];\n if (queryString) {\n var paramsPair = queryString.split('&');\n return \"\".concat(urlPath, \"?\").concat(paramsPair.sort().join('&'));\n }\n return builtURL;\n}\n//# sourceMappingURL=buildSortedURL.js.map\n\n//# sourceURL=webpack://frontend/./node_modules/axios-extensions/esm/utils/buildSortedURL.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getViewportRect)\n/* harmony export */ });\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getWindowScrollBarX.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js\");\n/* harmony import */ var _isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isLayoutViewport.js */ \"./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js\");\n\n\n\n\nfunction getViewportRect(element, strategy) {\n var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element);\n var html = (0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = (0,_isLayoutViewport_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + (0,_getWindowScrollBarX_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(element),\n y: y\n };\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js?");
/***/ }),
-/***/ "./node_modules/axios-extensions/esm/utils/isCacheLike.js":
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindow.js":
/*!****************************************************************!*\
- !*** ./node_modules/axios-extensions/esm/utils/isCacheLike.js ***!
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js ***!
\****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ isCacheLike)\n/* harmony export */ });\nfunction isCacheLike(cache) {\n return typeof cache.get === 'function' && typeof cache.set === 'function' && (typeof cache.delete === 'function' || typeof cache.del === 'function');\n}\n//# sourceMappingURL=isCacheLike.js.map\n\n//# sourceURL=webpack://frontend/./node_modules/axios-extensions/esm/utils/isCacheLike.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getWindow)\n/* harmony export */ });\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js?");
/***/ }),
-/***/ "./node_modules/axios-extensions/node_modules/lru-cache/index.js":
-/*!***********************************************************************!*\
- !*** ./node_modules/axios-extensions/node_modules/lru-cache/index.js ***!
- \***********************************************************************/
-/***/ ((module) => {
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-eval("const perf =\n typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ? performance\n : Date\n\nconst hasAbortController = typeof AbortController === 'function'\n\n// minimal backwards-compatibility polyfill\n// this doesn't have nearly all the checks and whatnot that\n// actual AbortController/Signal has, but it's enough for\n// our purposes, and if used properly, behaves the same.\nconst AC = hasAbortController\n ? AbortController\n : class AbortController {\n constructor() {\n this.signal = new AS()\n }\n abort() {\n this.signal.dispatchEvent('abort')\n }\n }\n\nconst hasAbortSignal = typeof AbortSignal === 'function'\n// Some polyfills put this on the AC class, not global\nconst hasACAbortSignal = typeof AC.AbortSignal === 'function'\nconst AS = hasAbortSignal\n ? AbortSignal\n : hasACAbortSignal\n ? AC.AbortController\n : class AbortSignal {\n constructor() {\n this.aborted = false\n this._listeners = []\n }\n dispatchEvent(type) {\n if (type === 'abort') {\n this.aborted = true\n const e = { type, target: this }\n this.onabort(e)\n this._listeners.forEach(f => f(e), this)\n }\n }\n onabort() {}\n addEventListener(ev, fn) {\n if (ev === 'abort') {\n this._listeners.push(fn)\n }\n }\n removeEventListener(ev, fn) {\n if (ev === 'abort') {\n this._listeners = this._listeners.filter(f => f !== fn)\n }\n }\n }\n\nconst warned = new Set()\nconst deprecatedOption = (opt, instead) => {\n const code = `LRU_CACHE_OPTION_${opt}`\n if (shouldWarn(code)) {\n warn(code, `${opt} option`, `options.${instead}`, LRUCache)\n }\n}\nconst deprecatedMethod = (method, instead) => {\n const code = `LRU_CACHE_METHOD_${method}`\n if (shouldWarn(code)) {\n const { prototype } = LRUCache\n const { get } = Object.getOwnPropertyDescriptor(prototype, method)\n warn(code, `${method} method`, `cache.${instead}()`, get)\n }\n}\nconst deprecatedProperty = (field, instead) => {\n const code = `LRU_CACHE_PROPERTY_${field}`\n if (shouldWarn(code)) {\n const { prototype } = LRUCache\n const { get } = Object.getOwnPropertyDescriptor(prototype, field)\n warn(code, `${field} property`, `cache.${instead}`, get)\n }\n}\n\nconst emitWarning = (...a) => {\n typeof process === 'object' &&\n process &&\n typeof process.emitWarning === 'function'\n ? process.emitWarning(...a)\n : console.error(...a)\n}\n\nconst shouldWarn = code => !warned.has(code)\n\nconst warn = (code, what, instead, fn) => {\n warned.add(code)\n const msg = `The ${what} is deprecated. Please use ${instead} instead.`\n emitWarning(msg, 'DeprecationWarning', code, fn)\n}\n\nconst isPosInt = n => n && n === Math.floor(n) && n > 0 && isFinite(n)\n\n/* istanbul ignore next - This is a little bit ridiculous, tbh.\n * The maximum array length is 2^32-1 or thereabouts on most JS impls.\n * And well before that point, you're caching the entire world, I mean,\n * that's ~32GB of just integers for the next/prev links, plus whatever\n * else to hold that many keys and values. Just filling the memory with\n * zeroes at init time is brutal when you get that big.\n * But why not be complete?\n * Maybe in the future, these limits will have expanded. */\nconst getUintArray = max =>\n !isPosInt(max)\n ? null\n : max <= Math.pow(2, 8)\n ? Uint8Array\n : max <= Math.pow(2, 16)\n ? Uint16Array\n : max <= Math.pow(2, 32)\n ? Uint32Array\n : max <= Number.MAX_SAFE_INTEGER\n ? ZeroArray\n : null\n\nclass ZeroArray extends Array {\n constructor(size) {\n super(size)\n this.fill(0)\n }\n}\n\nclass Stack {\n constructor(max) {\n if (max === 0) {\n return []\n }\n const UintArray = getUintArray(max)\n this.heap = new UintArray(max)\n this.length = 0\n }\n push(n) {\n this.heap[this.length++] = n\n }\n pop() {\n return this.heap[--this.length]\n }\n}\n\nclass LRUCache {\n constructor(options = {}) {\n const {\n max = 0,\n ttl,\n ttlResolution = 1,\n ttlAutopurge,\n updateAgeOnGet,\n updateAgeOnHas,\n allowStale,\n dispose,\n disposeAfter,\n noDisposeOnSet,\n noUpdateTTL,\n maxSize = 0,\n maxEntrySize = 0,\n sizeCalculation,\n fetchMethod,\n fetchContext,\n noDeleteOnFetchRejection,\n noDeleteOnStaleGet,\n } = options\n\n // deprecated options, don't trigger a warning for getting them if\n // the thing being passed in is another LRUCache we're copying.\n const { length, maxAge, stale } =\n options instanceof LRUCache ? {} : options\n\n if (max !== 0 && !isPosInt(max)) {\n throw new TypeError('max option must be a nonnegative integer')\n }\n\n const UintArray = max ? getUintArray(max) : Array\n if (!UintArray) {\n throw new Error('invalid max value: ' + max)\n }\n\n this.max = max\n this.maxSize = maxSize\n this.maxEntrySize = maxEntrySize || this.maxSize\n this.sizeCalculation = sizeCalculation || length\n if (this.sizeCalculation) {\n if (!this.maxSize && !this.maxEntrySize) {\n throw new TypeError(\n 'cannot set sizeCalculation without setting maxSize or maxEntrySize'\n )\n }\n if (typeof this.sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation set to non-function')\n }\n }\n\n this.fetchMethod = fetchMethod || null\n if (this.fetchMethod && typeof this.fetchMethod !== 'function') {\n throw new TypeError(\n 'fetchMethod must be a function if specified'\n )\n }\n\n this.fetchContext = fetchContext\n if (!this.fetchMethod && fetchContext !== undefined) {\n throw new TypeError(\n 'cannot set fetchContext without fetchMethod'\n )\n }\n\n this.keyMap = new Map()\n this.keyList = new Array(max).fill(null)\n this.valList = new Array(max).fill(null)\n this.next = new UintArray(max)\n this.prev = new UintArray(max)\n this.head = 0\n this.tail = 0\n this.free = new Stack(max)\n this.initialFill = 1\n this.size = 0\n\n if (typeof dispose === 'function') {\n this.dispose = dispose\n }\n if (typeof disposeAfter === 'function') {\n this.disposeAfter = disposeAfter\n this.disposed = []\n } else {\n this.disposeAfter = null\n this.disposed = null\n }\n this.noDisposeOnSet = !!noDisposeOnSet\n this.noUpdateTTL = !!noUpdateTTL\n this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection\n\n // NB: maxEntrySize is set to maxSize if it's set\n if (this.maxEntrySize !== 0) {\n if (this.maxSize !== 0) {\n if (!isPosInt(this.maxSize)) {\n throw new TypeError(\n 'maxSize must be a positive integer if specified'\n )\n }\n }\n if (!isPosInt(this.maxEntrySize)) {\n throw new TypeError(\n 'maxEntrySize must be a positive integer if specified'\n )\n }\n this.initializeSizeTracking()\n }\n\n this.allowStale = !!allowStale || !!stale\n this.noDeleteOnStaleGet = !!noDeleteOnStaleGet\n this.updateAgeOnGet = !!updateAgeOnGet\n this.updateAgeOnHas = !!updateAgeOnHas\n this.ttlResolution =\n isPosInt(ttlResolution) || ttlResolution === 0\n ? ttlResolution\n : 1\n this.ttlAutopurge = !!ttlAutopurge\n this.ttl = ttl || maxAge || 0\n if (this.ttl) {\n if (!isPosInt(this.ttl)) {\n throw new TypeError(\n 'ttl must be a positive integer if specified'\n )\n }\n this.initializeTTLTracking()\n }\n\n // do not allow completely unbounded caches\n if (this.max === 0 && this.ttl === 0 && this.maxSize === 0) {\n throw new TypeError(\n 'At least one of max, maxSize, or ttl is required'\n )\n }\n if (!this.ttlAutopurge && !this.max && !this.maxSize) {\n const code = 'LRU_CACHE_UNBOUNDED'\n if (shouldWarn(code)) {\n warned.add(code)\n const msg =\n 'TTL caching without ttlAutopurge, max, or maxSize can ' +\n 'result in unbounded memory consumption.'\n emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache)\n }\n }\n\n if (stale) {\n deprecatedOption('stale', 'allowStale')\n }\n if (maxAge) {\n deprecatedOption('maxAge', 'ttl')\n }\n if (length) {\n deprecatedOption('length', 'sizeCalculation')\n }\n }\n\n getRemainingTTL(key) {\n return this.has(key, { updateAgeOnHas: false }) ? Infinity : 0\n }\n\n initializeTTLTracking() {\n this.ttls = new ZeroArray(this.max)\n this.starts = new ZeroArray(this.max)\n\n this.setItemTTL = (index, ttl, start = perf.now()) => {\n this.starts[index] = ttl !== 0 ? start : 0\n this.ttls[index] = ttl\n if (ttl !== 0 && this.ttlAutopurge) {\n const t = setTimeout(() => {\n if (this.isStale(index)) {\n this.delete(this.keyList[index])\n }\n }, ttl + 1)\n /* istanbul ignore else - unref() not supported on all platforms */\n if (t.unref) {\n t.unref()\n }\n }\n }\n\n this.updateItemAge = index => {\n this.starts[index] = this.ttls[index] !== 0 ? perf.now() : 0\n }\n\n // debounce calls to perf.now() to 1s so we're not hitting\n // that costly call repeatedly.\n let cachedNow = 0\n const getNow = () => {\n const n = perf.now()\n if (this.ttlResolution > 0) {\n cachedNow = n\n const t = setTimeout(\n () => (cachedNow = 0),\n this.ttlResolution\n )\n /* istanbul ignore else - not available on all platforms */\n if (t.unref) {\n t.unref()\n }\n }\n return n\n }\n\n this.getRemainingTTL = key => {\n const index = this.keyMap.get(key)\n if (index === undefined) {\n return 0\n }\n return this.ttls[index] === 0 || this.starts[index] === 0\n ? Infinity\n : this.starts[index] +\n this.ttls[index] -\n (cachedNow || getNow())\n }\n\n this.isStale = index => {\n return (\n this.ttls[index] !== 0 &&\n this.starts[index] !== 0 &&\n (cachedNow || getNow()) - this.starts[index] >\n this.ttls[index]\n )\n }\n }\n updateItemAge(index) {}\n setItemTTL(index, ttl, start) {}\n isStale(index) {\n return false\n }\n\n initializeSizeTracking() {\n this.calculatedSize = 0\n this.sizes = new ZeroArray(this.max)\n this.removeItemSize = index => {\n this.calculatedSize -= this.sizes[index]\n this.sizes[index] = 0\n }\n this.requireSize = (k, v, size, sizeCalculation) => {\n // provisionally accept background fetches.\n // actual value size will be checked when they return.\n if (this.isBackgroundFetch(v)) {\n return 0\n }\n if (!isPosInt(size)) {\n if (sizeCalculation) {\n if (typeof sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation must be a function')\n }\n size = sizeCalculation(v, k)\n if (!isPosInt(size)) {\n throw new TypeError(\n 'sizeCalculation return invalid (expect positive integer)'\n )\n }\n } else {\n throw new TypeError(\n 'invalid size value (must be positive integer)'\n )\n }\n }\n return size\n }\n this.addItemSize = (index, size) => {\n this.sizes[index] = size\n if (this.maxSize) {\n const maxSize = this.maxSize - this.sizes[index]\n while (this.calculatedSize > maxSize) {\n this.evict(true)\n }\n }\n this.calculatedSize += this.sizes[index]\n }\n }\n removeItemSize(index) {}\n addItemSize(index, size) {}\n requireSize(k, v, size, sizeCalculation) {\n if (size || sizeCalculation) {\n throw new TypeError(\n 'cannot set size without setting maxSize or maxEntrySize on cache'\n )\n }\n }\n\n *indexes({ allowStale = this.allowStale } = {}) {\n if (this.size) {\n for (let i = this.tail; true; ) {\n if (!this.isValidIndex(i)) {\n break\n }\n if (allowStale || !this.isStale(i)) {\n yield i\n }\n if (i === this.head) {\n break\n } else {\n i = this.prev[i]\n }\n }\n }\n }\n\n *rindexes({ allowStale = this.allowStale } = {}) {\n if (this.size) {\n for (let i = this.head; true; ) {\n if (!this.isValidIndex(i)) {\n break\n }\n if (allowStale || !this.isStale(i)) {\n yield i\n }\n if (i === this.tail) {\n break\n } else {\n i = this.next[i]\n }\n }\n }\n }\n\n isValidIndex(index) {\n return this.keyMap.get(this.keyList[index]) === index\n }\n\n *entries() {\n for (const i of this.indexes()) {\n yield [this.keyList[i], this.valList[i]]\n }\n }\n *rentries() {\n for (const i of this.rindexes()) {\n yield [this.keyList[i], this.valList[i]]\n }\n }\n\n *keys() {\n for (const i of this.indexes()) {\n yield this.keyList[i]\n }\n }\n *rkeys() {\n for (const i of this.rindexes()) {\n yield this.keyList[i]\n }\n }\n\n *values() {\n for (const i of this.indexes()) {\n yield this.valList[i]\n }\n }\n *rvalues() {\n for (const i of this.rindexes()) {\n yield this.valList[i]\n }\n }\n\n [Symbol.iterator]() {\n return this.entries()\n }\n\n find(fn, getOptions = {}) {\n for (const i of this.indexes()) {\n if (fn(this.valList[i], this.keyList[i], this)) {\n return this.get(this.keyList[i], getOptions)\n }\n }\n }\n\n forEach(fn, thisp = this) {\n for (const i of this.indexes()) {\n fn.call(thisp, this.valList[i], this.keyList[i], this)\n }\n }\n\n rforEach(fn, thisp = this) {\n for (const i of this.rindexes()) {\n fn.call(thisp, this.valList[i], this.keyList[i], this)\n }\n }\n\n get prune() {\n deprecatedMethod('prune', 'purgeStale')\n return this.purgeStale\n }\n\n purgeStale() {\n let deleted = false\n for (const i of this.rindexes({ allowStale: true })) {\n if (this.isStale(i)) {\n this.delete(this.keyList[i])\n deleted = true\n }\n }\n return deleted\n }\n\n dump() {\n const arr = []\n for (const i of this.indexes({ allowStale: true })) {\n const key = this.keyList[i]\n const v = this.valList[i]\n const value = this.isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v\n const entry = { value }\n if (this.ttls) {\n entry.ttl = this.ttls[i]\n // always dump the start relative to a portable timestamp\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = perf.now() - this.starts[i]\n entry.start = Math.floor(Date.now() - age)\n }\n if (this.sizes) {\n entry.size = this.sizes[i]\n }\n arr.unshift([key, entry])\n }\n return arr\n }\n\n load(arr) {\n this.clear()\n for (const [key, entry] of arr) {\n if (entry.start) {\n // entry.start is a portable timestamp, but we may be using\n // node's performance.now(), so calculate the offset.\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = Date.now() - entry.start\n entry.start = perf.now() - age\n }\n this.set(key, entry.value, entry)\n }\n }\n\n dispose(v, k, reason) {}\n\n set(\n k,\n v,\n {\n ttl = this.ttl,\n start,\n noDisposeOnSet = this.noDisposeOnSet,\n size = 0,\n sizeCalculation = this.sizeCalculation,\n noUpdateTTL = this.noUpdateTTL,\n } = {}\n ) {\n size = this.requireSize(k, v, size, sizeCalculation)\n // if the item doesn't fit, don't do anything\n // NB: maxEntrySize set to maxSize by default\n if (this.maxEntrySize && size > this.maxEntrySize) {\n // have to delete, in case a background fetch is there already.\n // in non-async cases, this is a no-op\n this.delete(k)\n return this\n }\n let index = this.size === 0 ? undefined : this.keyMap.get(k)\n if (index === undefined) {\n // addition\n index = this.newIndex()\n this.keyList[index] = k\n this.valList[index] = v\n this.keyMap.set(k, index)\n this.next[this.tail] = index\n this.prev[index] = this.tail\n this.tail = index\n this.size++\n this.addItemSize(index, size)\n noUpdateTTL = false\n } else {\n // update\n const oldVal = this.valList[index]\n if (v !== oldVal) {\n if (this.isBackgroundFetch(oldVal)) {\n oldVal.__abortController.abort()\n } else {\n if (!noDisposeOnSet) {\n this.dispose(oldVal, k, 'set')\n if (this.disposeAfter) {\n this.disposed.push([oldVal, k, 'set'])\n }\n }\n }\n this.removeItemSize(index)\n this.valList[index] = v\n this.addItemSize(index, size)\n }\n this.moveToTail(index)\n }\n if (ttl !== 0 && this.ttl === 0 && !this.ttls) {\n this.initializeTTLTracking()\n }\n if (!noUpdateTTL) {\n this.setItemTTL(index, ttl, start)\n }\n if (this.disposeAfter) {\n while (this.disposed.length) {\n this.disposeAfter(...this.disposed.shift())\n }\n }\n return this\n }\n\n newIndex() {\n if (this.size === 0) {\n return this.tail\n }\n if (this.size === this.max && this.max !== 0) {\n return this.evict(false)\n }\n if (this.free.length !== 0) {\n return this.free.pop()\n }\n // initial fill, just keep writing down the list\n return this.initialFill++\n }\n\n pop() {\n if (this.size) {\n const val = this.valList[this.head]\n this.evict(true)\n return val\n }\n }\n\n evict(free) {\n const head = this.head\n const k = this.keyList[head]\n const v = this.valList[head]\n if (this.isBackgroundFetch(v)) {\n v.__abortController.abort()\n } else {\n this.dispose(v, k, 'evict')\n if (this.disposeAfter) {\n this.disposed.push([v, k, 'evict'])\n }\n }\n this.removeItemSize(head)\n // if we aren't about to use the index, then null these out\n if (free) {\n this.keyList[head] = null\n this.valList[head] = null\n this.free.push(head)\n }\n this.head = this.next[head]\n this.keyMap.delete(k)\n this.size--\n return head\n }\n\n has(k, { updateAgeOnHas = this.updateAgeOnHas } = {}) {\n const index = this.keyMap.get(k)\n if (index !== undefined) {\n if (!this.isStale(index)) {\n if (updateAgeOnHas) {\n this.updateItemAge(index)\n }\n return true\n }\n }\n return false\n }\n\n // like get(), but without any LRU updating or TTL expiration\n peek(k, { allowStale = this.allowStale } = {}) {\n const index = this.keyMap.get(k)\n if (index !== undefined && (allowStale || !this.isStale(index))) {\n const v = this.valList[index]\n // either stale and allowed, or forcing a refresh of non-stale value\n return this.isBackgroundFetch(v) ? v.__staleWhileFetching : v\n }\n }\n\n backgroundFetch(k, index, options, context) {\n const v = index === undefined ? undefined : this.valList[index]\n if (this.isBackgroundFetch(v)) {\n return v\n }\n const ac = new AC()\n const fetchOpts = {\n signal: ac.signal,\n options,\n context,\n }\n const cb = v => {\n if (!ac.signal.aborted) {\n this.set(k, v, fetchOpts.options)\n }\n return v\n }\n const eb = er => {\n if (this.valList[index] === p) {\n const del =\n !options.noDeleteOnFetchRejection ||\n p.__staleWhileFetching === undefined\n if (del) {\n this.delete(k)\n } else {\n // still replace the *promise* with the stale value,\n // since we are done with the promise at this point.\n this.valList[index] = p.__staleWhileFetching\n }\n }\n if (p.__returned === p) {\n throw er\n }\n }\n const pcall = res => res(this.fetchMethod(k, v, fetchOpts))\n const p = new Promise(pcall).then(cb, eb)\n p.__abortController = ac\n p.__staleWhileFetching = v\n p.__returned = null\n if (index === undefined) {\n this.set(k, p, fetchOpts.options)\n index = this.keyMap.get(k)\n } else {\n this.valList[index] = p\n }\n return p\n }\n\n isBackgroundFetch(p) {\n return (\n p &&\n typeof p === 'object' &&\n typeof p.then === 'function' &&\n Object.prototype.hasOwnProperty.call(\n p,\n '__staleWhileFetching'\n ) &&\n Object.prototype.hasOwnProperty.call(p, '__returned') &&\n (p.__returned === p || p.__returned === null)\n )\n }\n\n // this takes the union of get() and set() opts, because it does both\n async fetch(\n k,\n {\n // get options\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n // set options\n ttl = this.ttl,\n noDisposeOnSet = this.noDisposeOnSet,\n size = 0,\n sizeCalculation = this.sizeCalculation,\n noUpdateTTL = this.noUpdateTTL,\n // fetch exclusive options\n noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,\n fetchContext = this.fetchContext,\n forceRefresh = false,\n } = {}\n ) {\n if (!this.fetchMethod) {\n return this.get(k, {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n })\n }\n\n const options = {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n ttl,\n noDisposeOnSet,\n size,\n sizeCalculation,\n noUpdateTTL,\n noDeleteOnFetchRejection,\n }\n\n let index = this.keyMap.get(k)\n if (index === undefined) {\n const p = this.backgroundFetch(k, index, options, fetchContext)\n return (p.__returned = p)\n } else {\n // in cache, maybe already fetching\n const v = this.valList[index]\n if (this.isBackgroundFetch(v)) {\n return allowStale && v.__staleWhileFetching !== undefined\n ? v.__staleWhileFetching\n : (v.__returned = v)\n }\n\n // if we force a refresh, that means do NOT serve the cached value,\n // unless we are already in the process of refreshing the cache.\n if (!forceRefresh && !this.isStale(index)) {\n this.moveToTail(index)\n if (updateAgeOnGet) {\n this.updateItemAge(index)\n }\n return v\n }\n\n // ok, it is stale or a forced refresh, and not already fetching.\n // refresh the cache.\n const p = this.backgroundFetch(k, index, options, fetchContext)\n return allowStale && p.__staleWhileFetching !== undefined\n ? p.__staleWhileFetching\n : (p.__returned = p)\n }\n }\n\n get(\n k,\n {\n allowStale = this.allowStale,\n updateAgeOnGet = this.updateAgeOnGet,\n noDeleteOnStaleGet = this.noDeleteOnStaleGet,\n } = {}\n ) {\n const index = this.keyMap.get(k)\n if (index !== undefined) {\n const value = this.valList[index]\n const fetching = this.isBackgroundFetch(value)\n if (this.isStale(index)) {\n // delete only if not an in-flight background fetch\n if (!fetching) {\n if (!noDeleteOnStaleGet) {\n this.delete(k)\n }\n return allowStale ? value : undefined\n } else {\n return allowStale ? value.__staleWhileFetching : undefined\n }\n } else {\n // if we're currently fetching it, we don't actually have it yet\n // it's not stale, which means this isn't a staleWhileRefetching,\n // so we just return undefined\n if (fetching) {\n return undefined\n }\n this.moveToTail(index)\n if (updateAgeOnGet) {\n this.updateItemAge(index)\n }\n return value\n }\n }\n }\n\n connect(p, n) {\n this.prev[n] = p\n this.next[p] = n\n }\n\n moveToTail(index) {\n // if tail already, nothing to do\n // if head, move head to next[index]\n // else\n // move next[prev[index]] to next[index] (head has no prev)\n // move prev[next[index]] to prev[index]\n // prev[index] = tail\n // next[tail] = index\n // tail = index\n if (index !== this.tail) {\n if (index === this.head) {\n this.head = this.next[index]\n } else {\n this.connect(this.prev[index], this.next[index])\n }\n this.connect(this.tail, index)\n this.tail = index\n }\n }\n\n get del() {\n deprecatedMethod('del', 'delete')\n return this.delete\n }\n\n delete(k) {\n let deleted = false\n if (this.size !== 0) {\n const index = this.keyMap.get(k)\n if (index !== undefined) {\n deleted = true\n if (this.size === 1) {\n this.clear()\n } else {\n this.removeItemSize(index)\n const v = this.valList[index]\n if (this.isBackgroundFetch(v)) {\n v.__abortController.abort()\n } else {\n this.dispose(v, k, 'delete')\n if (this.disposeAfter) {\n this.disposed.push([v, k, 'delete'])\n }\n }\n this.keyMap.delete(k)\n this.keyList[index] = null\n this.valList[index] = null\n if (index === this.tail) {\n this.tail = this.prev[index]\n } else if (index === this.head) {\n this.head = this.next[index]\n } else {\n this.next[this.prev[index]] = this.next[index]\n this.prev[this.next[index]] = this.prev[index]\n }\n this.size--\n this.free.push(index)\n }\n }\n }\n if (this.disposed) {\n while (this.disposed.length) {\n this.disposeAfter(...this.disposed.shift())\n }\n }\n return deleted\n }\n\n clear() {\n for (const index of this.rindexes({ allowStale: true })) {\n const v = this.valList[index]\n if (this.isBackgroundFetch(v)) {\n v.__abortController.abort()\n } else {\n const k = this.keyList[index]\n this.dispose(v, k, 'delete')\n if (this.disposeAfter) {\n this.disposed.push([v, k, 'delete'])\n }\n }\n }\n\n this.keyMap.clear()\n this.valList.fill(null)\n this.keyList.fill(null)\n if (this.ttls) {\n this.ttls.fill(0)\n this.starts.fill(0)\n }\n if (this.sizes) {\n this.sizes.fill(0)\n }\n this.head = 0\n this.tail = 0\n this.initialFill = 1\n this.free.length = 0\n this.calculatedSize = 0\n this.size = 0\n if (this.disposed) {\n while (this.disposed.length) {\n this.disposeAfter(...this.disposed.shift())\n }\n }\n }\n\n get reset() {\n deprecatedMethod('reset', 'clear')\n return this.clear\n }\n\n get length() {\n deprecatedProperty('length', 'size')\n return this.size\n }\n\n static get AbortController() {\n return AC\n }\n static get AbortSignal() {\n return AS\n }\n}\n\nmodule.exports = LRUCache\n\n\n//# sourceURL=webpack://frontend/./node_modules/axios-extensions/node_modules/lru-cache/index.js?");
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getWindowScroll)\n/* harmony export */ });\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n\nfunction getWindowScroll(node) {\n var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js?");
/***/ }),
-/***/ "./src/components/DatasetDropdown.jsx":
-/*!********************************************!*\
- !*** ./src/components/DatasetDropdown.jsx ***!
- \********************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js":
+/*!**************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js ***!
+ \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DatasetDropdown\": () => (/* binding */ DatasetDropdown),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_fontawesome__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-fontawesome */ \"./node_modules/react-fontawesome/lib/index.js\");\n/* harmony import */ var react_fontawesome__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_fontawesome__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Modal.js\");\n/* harmony import */ var _lib_Accordion_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/Accordion.jsx */ \"./src/components/lib/Accordion.jsx\");\n/* harmony import */ var _lib_Icon_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/Icon.jsx */ \"./src/components/lib/Icon.jsx\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar utilizeFocus = function utilizeFocus() {\n var ref = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();\n var setFocus = function setFocus() {\n ref.current && ref.current.focus();\n };\n return {\n setFocus: setFocus,\n ref: ref\n };\n};\nvar DatasetDropdown = /*#__PURE__*/function (_React$Component) {\n _inherits(DatasetDropdown, _React$Component);\n var _super = _createSuper(DatasetDropdown);\n function DatasetDropdown(props) {\n var _this;\n _classCallCheck(this, DatasetDropdown);\n _this = _super.call(this, props);\n _this.inputFocus = utilizeFocus();\n _this.state = {\n isListOpen: false,\n showHelp: false,\n options: []\n };\n _this.selectHandler = _this.selectHandler.bind(_assertThisInitialized(_this));\n _this.toggleList = _this.toggleList.bind(_assertThisInitialized(_this));\n _this.toggleShowHelp = _this.toggleShowHelp.bind(_assertThisInitialized(_this));\n return _this;\n }\n _createClass(DatasetDropdown, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n var dropdownItems = [];\n var menus = this.props.datasets.map(function (d) {\n return d.group;\n });\n menus = _toConsumableArray(new Set(menus));\n var _iterator = _createForOfIteratorHelper(menus),\n _step;\n try {\n var _loop = function _loop() {\n var menu = _step.value;\n var datasets = _this2.props.datasets.filter(function (d) {\n return d.group === menu;\n });\n var submenus = datasets.map(function (d) {\n return d.subgroup;\n });\n submenus = _toConsumableArray(new Set(submenus));\n var options = [];\n var _iterator2 = _createForOfIteratorHelper(submenus),\n _step2;\n try {\n var _loop2 = function _loop2() {\n var submenu = _step2.value;\n var subDatasets = datasets.filter(function (d) {\n return d.subgroup === submenu;\n });\n options.push([/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n key: \"label_\".concat(submenu),\n className: \"dd-option-label\"\n }, submenu)].concat(_toConsumableArray(subDatasets.map(function (sd) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"button\", {\n className: \"dd-option-button\",\n id: sd.id,\n key: sd.id,\n onClick: function onClick() {\n return _this2.selectHandler(sd.id);\n }\n }, sd.value);\n }))));\n };\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop2();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n dropdownItems.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_lib_Accordion_jsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: \"accordion_\".concat(menu),\n key: \"accordion_\".concat(menu),\n title: menu,\n content: options\n }));\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n this.setState({\n options: dropdownItems\n });\n }\n }, {\n key: \"toggleList\",\n value: function toggleList() {\n this.setState(function (prevState) {\n return {\n isListOpen: !prevState.isListOpen\n };\n });\n }\n }, {\n key: \"toggleShowHelp\",\n value: function toggleShowHelp() {\n this.setState(function (prevState) {\n return {\n showHelp: !prevState.showHelp\n };\n });\n }\n }, {\n key: \"selectHandler\",\n value: function selectHandler(dataset) {\n this.props.onChange(\"dataset\", dataset);\n this.toggleList();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n var title = this.props.datasets.filter(function (d) {\n return d.id === _this3.props.selected;\n })[0].value;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(FormGroup, {\n controlid: \"formgroup-\".concat(this.props.id, \"-selectbox\")\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(ControlLabel, null, this.props.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n onClick: this.toggleShowHelp,\n bsStyle: \"default\",\n bsSize: \"xsmall\",\n style: {\n \"display\": this.props.helpContent ? \"block\" : \"none\",\n \"float\": \"right\"\n }\n }, \"?\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(FormControl, {\n componentClass: \"select\",\n name: this.props.name,\n placeholder: disabled ? _(\"Loading...\") : this.props.placeholder,\n onChange: function onChange(e) {\n if (_this3.props.multiple) {\n _this3.props.onChange(e.target.name, e.target.selectedOptions);\n } else {\n _this3.props.onChange(e.target.name, e.target.value);\n }\n },\n disabled: disabled,\n value: this.props.selected,\n multiple: this.props.multiple\n }, options)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n show: this.state.showHelp,\n onHide: this.toggleShowHelp,\n bsSize: \"large\",\n dialogClassName: \"helpdialog\",\n backdrop: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Header, {\n closeButton: true,\n closeLabel: _(\"Close\")\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Title, null, _(\"Help\"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Body, null, this.props.helpContent), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Footer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n onClick: this.toggleShowHelp\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_lib_Icon_jsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n icon: \"close\"\n }), \" \", _(\"Close\")))));\n }\n }]);\n return DatasetDropdown;\n}((react__WEBPACK_IMPORTED_MODULE_0___default().Component));\n\n//***********************************************************************\nDatasetDropdown.propTypes = {\n id: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string.isRequired),\n label: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string.isRequired),\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func.isRequired),\n datasets: prop_types__WEBPACK_IMPORTED_MODULE_7___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_7___default().object)).isRequired,\n selected: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string.isRequired),\n helpContent: prop_types__WEBPACK_IMPORTED_MODULE_7___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_7___default().object))\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_i18next__WEBPACK_IMPORTED_MODULE_4__.withTranslation)()(DatasetDropdown));\n\n//# sourceURL=webpack://frontend/./src/components/DatasetDropdown.jsx?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getWindowScrollBarX)\n/* harmony export */ });\n/* harmony import */ var _getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getBoundingClientRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js\");\n/* harmony import */ var _getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getWindowScroll.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js\");\n\n\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return (0,_getBoundingClientRect_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])((0,_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element)).left + (0,_getWindowScroll_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(element).scrollLeft;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js?");
/***/ }),
-/***/ "./src/components/DatasetSelector.jsx":
-/*!********************************************!*\
- !*** ./src/components/DatasetSelector.jsx ***!
- \********************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js ***!
+ \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Modal.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/ProgressBar.js\");\n/* harmony import */ var _DatasetDropdown_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DatasetDropdown.jsx */ \"./src/components/DatasetDropdown.jsx\");\n/* harmony import */ var _lib_SelectBox_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/SelectBox.jsx */ \"./src/components/lib/SelectBox.jsx\");\n/* harmony import */ var _Range_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Range.jsx */ \"./src/components/Range.jsx\");\n/* harmony import */ var _remote_OceanNavigator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../remote/OceanNavigator.js */ \"./src/remote/OceanNavigator.js\");\n/* harmony import */ var _Defaults_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Defaults.js */ \"./src/components/Defaults.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\n\nvar MODEL_CLASSES_WITH_QUIVER = Object.freeze([\"Mercator\"]);\nfunction DatasetSelector(props) {\n var _this = this;\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),\n _useState2 = _slicedToArray(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0),\n _useState4 = _slicedToArray(_useState3, 2),\n loadingPercent = _useState4[0],\n setLoadingPercent = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(\"\"),\n _useState6 = _slicedToArray(_useState5, 2),\n loadingTitle = _useState6[0],\n setLoadingTitle = _useState6[1];\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),\n _useState8 = _slicedToArray(_useState7, 2),\n datasetVariables = _useState8[0],\n setDatasetVariables = _useState8[1];\n var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),\n _useState10 = _slicedToArray(_useState9, 2),\n datasetTimestamps = _useState10[0],\n setDatasetTimestamps = _useState10[1];\n var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),\n _useState12 = _slicedToArray(_useState11, 2),\n datasetDepths = _useState12[0],\n setDatasetDepths = _useState12[1];\n var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(props.options),\n _useState14 = _slicedToArray(_useState13, 2),\n options = _useState14[0],\n setOptions = _useState14[1];\n var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_Defaults_js__WEBPACK_IMPORTED_MODULE_5__.DATASET_DEFAULTS),\n _useState16 = _slicedToArray(_useState15, 2),\n dataset = _useState16[0],\n setDataset = _useState16[1];\n var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),\n _useState18 = _slicedToArray(_useState17, 2),\n availableDatasets = _useState18[0],\n setAvailableDatasets = _useState18[1];\n var _useState19 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(\"none\"),\n _useState20 = _slicedToArray(_useState19, 2),\n quiverVariable = _useState20[0],\n setQuiverVariable = _useState20[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n (0,_remote_OceanNavigator_js__WEBPACK_IMPORTED_MODULE_4__.GetDatasetsPromise)().then(function (result) {\n setAvailableDatasets(result.data);\n });\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n if (props.mountedDataset && props.mountedVariable) {\n changeDataset(props.mountedDataset, props.mountedVariable);\n } else if (availableDatasets.length > 0) {\n // Use defaults in DATASET_DEFAULTS\n changeDataset(dataset.dataset, dataset.variable, true);\n }\n }, [props, availableDatasets]);\n var changeDataset = function changeDataset(newDataset, currentVariable) {\n var updateParentOnSuccess = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var currentDataset = availableDatasets.filter(function (d) {\n return d.id === newDataset;\n })[0];\n setLoading(true);\n setLoadingPercent(10);\n setLoadingTitle(\"\".concat(currentDataset.value));\n var quantum = currentDataset.quantum;\n var model_class = currentDataset.model_class;\n (0,_remote_OceanNavigator_js__WEBPACK_IMPORTED_MODULE_4__.GetVariablesPromise)(newDataset).then(function (variableResult) {\n setLoadingPercent(33);\n\n // Carry the currently selected variable to the new\n // dataset if said variable exists in the new dataset.\n var newVariable = currentVariable;\n var newVariableScale = dataset.variable_scale;\n var variable_range = {};\n variable_range[newVariable] = null;\n var interpType = props.options.interpType;\n var interpRadius = props.options.interpRadius;\n var interpNeighbours = props.options.interpNeighbours;\n var variableIds = variableResult.data.map(function (v) {\n return v.id;\n });\n if (!variableIds.includes(currentVariable)) {\n var _variableResult$data$, _variableResult$data$2, _variableResult$data$3;\n newVariable = variableResult.data[0].id;\n newVariableScale = variableResult.data[0].scale;\n variable_range[newVariable] = null;\n interpType = ((_variableResult$data$ = variableResult.data[0].interp) === null || _variableResult$data$ === void 0 ? void 0 : _variableResult$data$.interpType) || _Defaults_js__WEBPACK_IMPORTED_MODULE_5__.MAP_SETTINGS.interpType;\n interpRadius = ((_variableResult$data$2 = variableResult.data[0].interp) === null || _variableResult$data$2 === void 0 ? void 0 : _variableResult$data$2.interpRadius) || _Defaults_js__WEBPACK_IMPORTED_MODULE_5__.MAP_SETTINGS.interpRadius;\n interpNeighbours = ((_variableResult$data$3 = variableResult.data[0].interp) === null || _variableResult$data$3 === void 0 ? void 0 : _variableResult$data$3.interpNeighbours) || _Defaults_js__WEBPACK_IMPORTED_MODULE_5__.MAP_SETTINGS.interpNeighbours;\n }\n (0,_remote_OceanNavigator_js__WEBPACK_IMPORTED_MODULE_4__.GetTimestampsPromise)(newDataset, newVariable).then(function (timeResult) {\n setLoadingPercent(75);\n var timeData = timeResult.data;\n var newTime = timeData[timeData.length - 1].id;\n var newStarttime = timeData.length > 20 ? timeData[timeData.length - 20].id : timeData[0].id;\n (0,_remote_OceanNavigator_js__WEBPACK_IMPORTED_MODULE_4__.GetDepthsPromise)(newDataset, newVariable).then(function (depthResult) {\n setLoadingPercent(90);\n\n // Update everything in one shot/\n // transaction\n // if ALL API requests succeed.\n // Avoids many small state updates\n // which leads to bad performance,\n // increases risk of race\n // conditions, and having the UI\n // in a bad state if one of the\n // API calls fail.\n\n setLoading(false);\n setLoadingPercent(0);\n setDataset({\n dataset: newDataset,\n model_class: model_class,\n quantum: quantum,\n time: newTime,\n depth: 0,\n starttime: newStarttime,\n datasetTimestamps: timeData,\n variable: newVariable,\n variable_scale: newVariableScale,\n variable_range: variable_range\n });\n setDatasetVariables(variableResult.data);\n setDatasetTimestamps(timeData);\n setDatasetDepths(depthResult.data);\n setOptions(_objectSpread(_objectSpread({}, props.options), {}, {\n interpType: interpType,\n interpRadius: interpRadius,\n interpNeighbours: interpNeighbours\n }));\n if (updateParentOnSuccess) {\n // updateParent();\n }\n }, function (error) {\n setLoading(false);\n setLoadingPercent(0);\n console.error(error);\n });\n }, function (error) {\n setLoading(false);\n setLoadingPercent(0);\n console.error(error);\n });\n }, function (error) {\n setLoading(false);\n setLoadingPercent(0);\n console.error(error);\n });\n };\n var nothingChanged = function nothingChanged(key, value) {\n return _this.state[key] === value;\n };\n var datasetChanged = function datasetChanged(key) {\n return key === \"dataset\";\n };\n var variableChanged = function variableChanged(key) {\n return key === \"variable\";\n };\n var onUpdate = function onUpdate() {\n if (nothingChanged(key, value)) {\n return;\n }\n\n // There's extra logic involved with changing datasets\n // and variables so delegate that to their own\n // functions.\n if (datasetChanged(key)) {\n changeDataset(value, dataset.variable);\n return;\n }\n if (variableChanged(key)) {\n changeVariable(value);\n return;\n }\n if (key == \"variable_range\") {\n var range = dataset.variable_range;\n range[value[0]] = value[1];\n setDataset(_objectSpread(_objectSpread({}, dataset), {}, {\n variable_range: range\n }));\n return;\n }\n var newState = _defineProperty({}, key, value);\n _this.setState(newState);\n };\n var changeVariable = function changeVariable(newVariable) {\n if (datasetDepths.length === 0) {\n setLoading(true);\n setLoadingPercent(70);\n (0,_remote_OceanNavigator_js__WEBPACK_IMPORTED_MODULE_4__.GetDepthsPromise)(dataset.dataset, newVariable).then(function (depthResult) {\n setDatasetDepths(depthResult.data);\n setDataset(_objectSpread(_objectSpread({}, dataset), {}, {\n depth: 0\n }));\n setLoading(false);\n setLoadingPercent(0);\n });\n }\n var newState = {};\n\n // Multiple variables were selected\n // so don't update everything else\n if (newVariable instanceof HTMLCollection) {\n var variables = Array.from(newVariable).map(function (o) {\n return o.value;\n });\n var variableRanges = {};\n variables.forEach(function (v) {\n variableRanges[v] = null;\n });\n newState = {\n variable: variables,\n variable_range: variableRanges,\n variable_two_dimensional: false\n };\n } else {\n var _variable$interp, _variable$interp2, _variable$interp3;\n var variable = datasetVariables.find(function (v) {\n return v.id === newVariable;\n });\n var newVariableRange = {};\n newVariableRange[newVariable] = null;\n setDataset(_objectSpread(_objectSpread({}, dataset), {}, {\n variable: newVariable,\n variable_scale: [variable.scale],\n variable_range: newVariableRange,\n variable_two_dimensional: variable.two_dimensional\n })), setOptions(_objectSpread(_objectSpread({}, options), {}, {\n interpType: ((_variable$interp = variable.interp) === null || _variable$interp === void 0 ? void 0 : _variable$interp.interpType) || _Defaults_js__WEBPACK_IMPORTED_MODULE_5__.MAP_SETTINGS.interpType,\n interpRadius: ((_variable$interp2 = variable.interp) === null || _variable$interp2 === void 0 ? void 0 : _variable$interp2.interpRadius) || _Defaults_js__WEBPACK_IMPORTED_MODULE_5__.MAP_SETTINGS.interpRadius,\n interpNeighbours: ((_variable$interp3 = variable.interp) === null || _variable$interp3 === void 0 ? void 0 : _variable$interp3.interpNeighbours) || _Defaults_js__WEBPACK_IMPORTED_MODULE_5__.MAP_SETTINGS.interpNeighbours\n }));\n }\n };\n var datasetSelector = null;\n if (availableDatasets && availableDatasets.length > 0 && !loading) {\n var helpContent = availableDatasets.map(function (d) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", {\n key: \"help-\".concat(d.id)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"em\", null, d.value), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: d.help\n }\n }));\n });\n datasetSelector = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_lib_SelectBox_jsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: \"dataset-selector-dataset-selector-\".concat(props.id),\n key: \"dataset-selector-dataset-selector-\".concat(props.id),\n name: \"Dataset\",\n label: \"Dataset\",\n options: availableDatasets,\n onChange: onUpdate,\n selected: dataset.dataset,\n helpContent: helpContent\n });\n }\n var variableSelector = null;\n if (props.showVariableSelector && datasetVariables && datasetVariables.length > 0 && !loading) {\n var _options = [];\n if (props.variables === \"3d\") {\n _options = datasetVariables.filter(function (v) {\n return v.two_dimensional === false;\n });\n } else {\n _options = datasetVariables;\n }\n\n // Work-around for when someone selected a plot that requires\n // 3D variables, but the selected dataset doesn't have any LOL.\n // This check prevents a white-screen crash.\n var stillHasVariablesToShow = _options.length > 0;\n var selected = dataset.variable;\n if (props.multipleVariables && !Array.isArray(selected)) {\n selected = [selected];\n }\n variableSelector = stillHasVariablesToShow && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_lib_SelectBox_jsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: \"dataset-selector-variable-selector-\".concat(props.id),\n name: \"variable\",\n label: \"Variable\",\n placeholder: \"Variable\",\n options: _options,\n onChange: onUpdate,\n selected: selected,\n multiple: props.multipleVariables\n });\n }\n var quiverSelector = null;\n if (props.showQuiverSelector && !loading) {\n var quiverVariables = [];\n if (datasetVariables && MODEL_CLASSES_WITH_QUIVER.includes(dataset.model_class)) {\n quiverVariables = datasetVariables.filter(function (variable) {\n return variable.vector_variable;\n });\n }\n quiverVariables.unshift({\n id: \"none\",\n value: \"None\"\n });\n quiverSelector = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_lib_SelectBox_jsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: \"dataset-selector-quiver-selector-\".concat(props.id),\n name: \"quiverVariable\",\n label: \"Quiver Variable\",\n placeholder: \"Quiver Variable\",\n options: quiverVariables,\n onChange: onUpdate,\n selected: quiverVariable\n });\n }\n var depthSelector = null;\n if (props.showDepthSelector && datasetDepths && datasetDepths.length > 0 && !loading && !dataset.variable_two_dimensional) {\n depthSelector = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_lib_SelectBox_jsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: \"dataset-selector-depth-selector-\".concat(props.id),\n name: \"depth\",\n label: \"Depth\",\n placeholder: \"Depth\",\n options: props.showDepthsAll ? datasetDepths : datasetDepths.filter(function (d) {\n return d.id !== \"all\";\n }),\n onChange: onUpdate,\n selected: datasetDepths.filter(function (d) {\n var depth = parseInt(dataset.depth);\n if (isNaN(depth)) {\n // when depth == \"bottom\" or \"all\"\n depth = dataset.depth;\n }\n return d.id === depth;\n })[0].id\n });\n }\n\n // let timeSelector = null;\n // if (datasetTimestamps && !loading) {\n // let v = Array.isArray(dataset.variable) ? dataset.variable[0] : dataset.variable;\n // if (props.showTimeRange) {\n // timeSelector = (\n // \n // \n // \n //
\n // );\n // } else {\n // timeSelector = (\n // \n // );\n // }\n // }\n\n var variableRange = null;\n if (props.showVariableRange && datasetVariables && datasetVariables.length > 0 && !loading) {\n variableRange = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Range_jsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n id: \"variable_scale\",\n state: dataset.variable_scale,\n title: \"Colormap Range\",\n onUpdate: onUpdate,\n default_scale: datasetVariables.find(function (v) {\n return v.id === dataset.variable;\n }).scale,\n autourl: \"/api/v2.0/range/\" + dataset.dataset + \"/\" + dataset.variable + \"/\" + options.interpType + \"/\" + options.interpRadius + \"/\" + options.interpNeighbours + \"/\" + options.projection + \"/\" + options.extent.join(\",\") + \"/\" + dataset.depth + \"/\" + dataset.time\n });\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n id: \"dataset-selector-\".concat(props.id),\n className: \"DatasetSelector\"\n }, datasetSelector, variableSelector, quiverSelector, depthSelector, variableRange, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n show: loading,\n backdrop: true,\n size: \"sm\",\n style: {\n top: \"33%\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Header, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Title, null, \"Loading \", loadingTitle)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Body, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n now: loadingPercent\n }))));\n}\n;\n\n//***********************************************************************\nDatasetSelector.propTypes = {\n onUpdate: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func.isRequired),\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string.isRequired),\n variables: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n multipleVariables: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n showQuiverSelector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n showTimeRange: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n showDepthSelector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n showVariableRange: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n showAxisRange: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n showVariableSelector: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n showDepthsAll: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n mountedDataset: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n mountedVariable: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n};\nDatasetSelector.defaultProps = {\n showQuiverSelector: true,\n multipleVariables: false,\n showTimeRange: false,\n showDepthSelector: true,\n showVariableRange: true,\n showAxisRange: false,\n showVariableSelector: true,\n showDepthsAll: false\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DatasetSelector);\n\n//# sourceURL=webpack://frontend/./src/components/DatasetSelector.jsx?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isElement: () => (/* binding */ isElement),\n/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement),\n/* harmony export */ isShadowRoot: () => (/* binding */ isShadowRoot)\n/* harmony export */ });\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n\n\nfunction isElement(node) {\n var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\n\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js?");
/***/ }),
-/***/ "./src/components/Defaults.js":
-/*!************************************!*\
- !*** ./src/components/Defaults.js ***!
- \************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js ***!
+ \***********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DATASET_DEFAULTS\": () => (/* binding */ DATASET_DEFAULTS),\n/* harmony export */ \"MAP_SETTINGS\": () => (/* binding */ MAP_SETTINGS)\n/* harmony export */ });\nvar DATASET_DEFAULTS = Object.freeze({\n dataset: \"giops_day\",\n attribution: \"\",\n quantum: \"day\",\n depth: 0,\n time: 2292451200,\n starttime: 2292451200,\n variable: \"votemper\",\n quiverVariable: \"none\",\n variable_scale: [-5, 30],\n variable_two_dimensional: false\n});\nvar MAP_SETTINGS = Object.freeze({\n interpType: \"gaussian\",\n interpRadius: 25,\n // km\n interpNeighbours: 10,\n mapBathymetryOpacity: 0.75,\n // Opacity of bathymetry contours\n topoShadedRelief: false,\n // Show relief mapping on topography\n bathymetry: true,\n // Show bathymetry contours\n bathyContour: \"etopo1\"\n});\n\n\n//# sourceURL=webpack://frontend/./src/components/Defaults.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ isLayoutViewport)\n/* harmony export */ });\n/* harmony import */ var _utils_userAgent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/userAgent.js */ \"./node_modules/@popperjs/core/lib/utils/userAgent.js\");\n\nfunction isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test((0,_utils_userAgent_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])());\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js?");
/***/ }),
-/***/ "./src/components/GlobalMap.jsx":
-/*!**************************************!*\
- !*** ./src/components/GlobalMap.jsx ***!
- \**************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js ***!
+ \*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ol__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ol */ \"./node_modules/ol/Map.js\");\n/* harmony import */ var ol__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ol */ \"./node_modules/ol/View.js\");\n/* harmony import */ var ol_layer_Tile__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ol/layer/Tile */ \"./node_modules/ol/layer/Tile.js\");\n/* harmony import */ var ol_proj__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ol/proj */ \"./node_modules/ol/proj.js\");\n/* harmony import */ var ol_style__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ol/style */ \"./node_modules/ol/style/Style.js\");\n/* harmony import */ var ol_style__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ol/style */ \"./node_modules/ol/style/Stroke.js\");\n/* harmony import */ var ol_style__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ol/style */ \"./node_modules/ol/style/Fill.js\");\n/* harmony import */ var ol_source_VectorTile__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ol/source/VectorTile */ \"./node_modules/ol/source/VectorTile.js\");\n/* harmony import */ var ol_layer_VectorTile_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ol/layer/VectorTile.js */ \"./node_modules/ol/layer/VectorTile.js\");\n/* harmony import */ var ol_tilegrid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ol/tilegrid */ \"./node_modules/ol/tilegrid.js\");\n/* harmony import */ var ol_format_MVT_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ol/format/MVT.js */ \"./node_modules/ol/format/MVT.js\");\n/* harmony import */ var ol_source_XYZ__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ol/source/XYZ */ \"./node_modules/ol/source/XYZ.js\");\n/* harmony import */ var ol_ol_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ol/ol.css */ \"./node_modules/ol/ol.css\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\n\n\n\n\nvar MIN_ZOOM = {\n \"EPSG:3857\": 1,\n \"EPSG:32661\": 2,\n \"EPSG:3031\": 2\n};\nvar MAX_ZOOM = {\n \"EPSG:3857\": 16,\n \"EPSG:32661\": 5,\n \"EPSG:3031\": 5\n};\nfunction GlobalMap(props) {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(new ol__WEBPACK_IMPORTED_MODULE_3__[\"default\"]({\n target: \"map-container\"\n })),\n _useState2 = _slicedToArray(_useState, 2),\n map = _useState2[0],\n setMap = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({}),\n _useState4 = _slicedToArray(_useState3, 2),\n dataSource = _useState4[0],\n setDataSource = _useState4[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n var map = new ol__WEBPACK_IMPORTED_MODULE_3__[\"default\"]({\n target: \"map-container\",\n layers: [layer_basemap, layer_data, layer_landshapes, layer_bath, layer_bathshapes\n // layer_vector,\n // layer_obsDraw,\n // layer_quiver,\n ],\n\n view: mapView\n });\n setMap(map);\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n console.log(\"dataset update\");\n console.log(props.dataset);\n console.log(map.getLayers().getArray());\n }, [props.dataset]);\n var center = [-50, 53];\n if (props.mapSettings.center) {\n center = props.mapSettings.center.map(parseFloat);\n }\n var zoom = 4;\n if (props.mapSettings.zoom) {\n zoom = props.mapSettings.zoom;\n }\n var projection = props.mapSettings.projection;\n var mapView = new ol__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n center: ol_proj__WEBPACK_IMPORTED_MODULE_1__.transform(center, \"EPSG:4326\", projection),\n projection: projection,\n zoom: zoom,\n maxZoom: MAX_ZOOM[props.mapSettings.projection],\n minZoom: MIN_ZOOM[props.mapSettings.projection]\n });\n var vectorTileGrid = new ol_tilegrid__WEBPACK_IMPORTED_MODULE_5__.createXYZ({\n tileSize: 512,\n maxZoom: MAX_ZOOM[props.mapSettings.projection]\n });\n var getBasemap = function getBasemap(source, projection, attribution) {\n switch (source) {\n case \"topo\":\n var shadedRelief = props.mapSettings.topoShadedRelief ? \"true\" : \"false\";\n return new ol_layer_Tile__WEBPACK_IMPORTED_MODULE_6__[\"default\"]({\n preload: 1,\n source: new ol_source_XYZ__WEBPACK_IMPORTED_MODULE_7__[\"default\"]({\n url: \"/api/v2.0/tiles/topo/{z}/{x}/{y}?shaded_relief=\".concat(shadedRelief, \"&projection=\").concat(projection),\n projection: projection\n })\n });\n }\n };\n var getDataSource = function getDataSource() {\n var scale = props.dataset.variable_scale;\n if (Array.isArray(scale)) {\n scale = scale.join(\",\");\n }\n var dataSource = {};\n dataSource.url = \"/api/v2.0/tiles\" + \"/\".concat(props.dataset.dataset) + \"/\".concat(props.dataset.variable) + \"/\".concat(props.dataset.time) + \"/\".concat(props.dataset.depth) + \"/{z}/{x}/{y}\" + \"?projection=\".concat(props.mapSettings.projection) + \"&scale=\".concat(scale) + \"&interp=\".concat(props.mapSettings.interpType) + \"&radius=\".concat(props.mapSettings.interpRadius) + \"&neighbours=\".concat(props.mapSettings.interpNeighbours);\n dataSource.projection = props.mapSettings.projection;\n return dataSource;\n };\n var layer_basemap = getBasemap(props.mapSettings.basemap, props.mapSettings.projection, props.mapSettings.basemap_attribution);\n var layer_data = new ol_layer_Tile__WEBPACK_IMPORTED_MODULE_6__[\"default\"]({\n preload: 1,\n source: new ol_source_XYZ__WEBPACK_IMPORTED_MODULE_7__[\"default\"](getDataSource())\n });\n var layer_bath = new ol_layer_Tile__WEBPACK_IMPORTED_MODULE_6__[\"default\"]({\n source: new ol_source_XYZ__WEBPACK_IMPORTED_MODULE_7__[\"default\"]({\n url: \"/api/v2.0/tiles/bath/{z}/{x}/{y}?projection=\".concat(props.mapSettings.projection),\n projection: props.mapSettings.projection\n }),\n opacity: props.mapSettings.mapBathymetryOpacity,\n visible: props.mapSettings.bathymetry,\n preload: 1\n });\n var layer_bathshapes = new ol_layer_VectorTile_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]({\n opacity: props.mapSettings.mapBathymetryOpacity,\n visible: props.mapSettings.bathymetry,\n style: new ol_style__WEBPACK_IMPORTED_MODULE_9__[\"default\"]({\n stroke: new ol_style__WEBPACK_IMPORTED_MODULE_10__[\"default\"]({\n color: 'rgba(0, 0, 0, 1)'\n })\n }),\n source: new ol_source_VectorTile__WEBPACK_IMPORTED_MODULE_11__[\"default\"]({\n format: new ol_format_MVT_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"](),\n tileGrid: vectorTileGrid,\n tilePixelRatio: 8,\n url: \"/api/v2.0/mbt/bath/{z}/{x}/{y}?projection=\".concat(props.mapSettings.projection)\n })\n });\n var layer_landshapes = new ol_layer_VectorTile_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]({\n opacity: 1,\n style: new ol_style__WEBPACK_IMPORTED_MODULE_9__[\"default\"]({\n stroke: new ol_style__WEBPACK_IMPORTED_MODULE_10__[\"default\"]({\n color: \"rgba(0, 0, 0, 1)\"\n }),\n fill: new ol_style__WEBPACK_IMPORTED_MODULE_13__[\"default\"]({\n color: \"white\"\n })\n }),\n source: new ol_source_VectorTile__WEBPACK_IMPORTED_MODULE_11__[\"default\"]({\n format: new ol_format_MVT_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"](),\n tileGrid: vectorTileGrid,\n tilePixelRatio: 8,\n url: \"/api/v2.0/mbt/lands/{z}/{x}/{y}?projection=\".concat(props.mapSettings.projection),\n projection: props.mapSettings.projection\n })\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n height: \"100vh\",\n width: \"100%\"\n },\n id: \"map-container\",\n className: \"map-container\"\n });\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GlobalMap);\n\n//# sourceURL=webpack://frontend/./src/components/GlobalMap.jsx?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ isScrollParent)\n/* harmony export */ });\n/* harmony import */ var _getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = (0,_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js?");
/***/ }),
-/***/ "./src/components/OceanNavigator.jsx":
-/*!*******************************************!*\
- !*** ./src/components/OceanNavigator.jsx ***!
- \*******************************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js ***!
+ \*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _DatasetSelector_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DatasetSelector.jsx */ \"./src/components/DatasetSelector.jsx\");\n/* harmony import */ var _Defaults_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Defaults.js */ \"./src/components/Defaults.js\");\n/* harmony import */ var _GlobalMap_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./GlobalMap.jsx */ \"./src/components/GlobalMap.jsx\");\n/* harmony import */ var _TimeSlider_jsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TimeSlider.jsx */ \"./src/components/TimeSlider.jsx\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\nfunction OceanNavigator() {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_Defaults_js__WEBPACK_IMPORTED_MODULE_2__.DATASET_DEFAULTS),\n _useState2 = _slicedToArray(_useState, 2),\n dataset0 = _useState2[0],\n setDataset0 = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_Defaults_js__WEBPACK_IMPORTED_MODULE_2__.DATASET_DEFAULTS),\n _useState4 = _slicedToArray(_useState3, 2),\n dataset1 = _useState4[0],\n setDataset1 = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_objectSpread({\n plotEnabled: false,\n // \"Plot\" button in MapToolbar\n projection: \"EPSG:3857\",\n // Map projection\n vectortype: null,\n vectorid: null,\n basemap: \"topo\",\n extent: []\n }, _Defaults_js__WEBPACK_IMPORTED_MODULE_2__.MAP_SETTINGS)),\n _useState6 = _slicedToArray(_useState5, 2),\n mapSettings = _useState6[0],\n setMapSettings = _useState6[1];\n var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({\n showModal: false,\n busy: false,\n // Controls if the busyModal is visible\n showHelp: false,\n showCompareHelp: false,\n syncRanges: false,\n // Clones the variable range from one view to the other when enabled\n sidebarOpen: true,\n // Controls sidebar opened/closed status\n showObservationSelect: false,\n observationArea: []\n }),\n _useState8 = _slicedToArray(_useState7, 2),\n uiSettings = _useState8[0],\n setUiSettings = _useState8[1];\n var changeHandler = function changeHandler() {\n return none;\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_GlobalMap_jsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n mapSettings: mapSettings,\n dataset: dataset0\n // ref={(m) => this.mapComponent = m}\n // state={this.state}\n // action={this.action}\n // updateState={this.updateState}\n // partner={this.mapComponent2}\n // scale={this.state.variable_scale}\n // options={this.state.options}\n // quiverVariable={this.state.quiverVariable}\n }));\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (OceanNavigator);\n\n//# sourceURL=webpack://frontend/./src/components/OceanNavigator.jsx?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ isTableElement)\n/* harmony export */ });\n/* harmony import */ var _getNodeName_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].indexOf((0,_getNodeName_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element)) >= 0;\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js?");
/***/ }),
-/***/ "./src/components/Range.jsx":
-/*!**********************************!*\
- !*** ./src/components/Range.jsx ***!
- \**********************************/
+/***/ "./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js":
+/*!************************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js ***!
+ \************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Form.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/ButtonToolbar.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n/* eslint react/no-deprecated: 0 */\n\n\n\n// import NumericInput from \"react-numeric-input\";\n\n\n// const stringify = require(\"fast-stable-stringify\");\n\nvar axios = __webpack_require__(/*! axios */ \"./node_modules/axios/dist/browser/axios.cjs\");\nvar Range = /*#__PURE__*/function (_React$Component) {\n _inherits(Range, _React$Component);\n var _super = _createSuper(Range);\n function Range(props) {\n var _this;\n _classCallCheck(this, Range);\n _this = _super.call(this, props);\n\n // Track if mounted to prevent no-op errors with the Ajax callbacks.\n _this._mounted = false;\n\n // Parse scale tuple\n var scale = _this.props.state;\n if (typeof _this.props.state === \"string\" || _this.props.state instanceof String) {\n scale = _this.props.state.split(\",\");\n }\n var min = parseFloat(scale[0]);\n var max = parseFloat(scale[1]);\n _this.state = {\n auto: _this.props.auto,\n min: min,\n max: max\n };\n\n // Function bindings\n _this.updateParent = _this.updateParent.bind(_assertThisInitialized(_this));\n _this.keyPress = _this.keyPress.bind(_assertThisInitialized(_this));\n _this.autoChanged = _this.autoChanged.bind(_assertThisInitialized(_this));\n _this.handleDefaultButton = _this.handleDefaultButton.bind(_assertThisInitialized(_this));\n _this.getAutoScale = _this.getAutoScale.bind(_assertThisInitialized(_this));\n return _this;\n }\n _createClass(Range, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._mounted = true;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._mounted = false;\n }\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n if (JSON.stringify(this.props) !== JSON.stringify(nextProps)) {\n var scale = nextProps.state;\n if (typeof scale === \"string\" || scale instanceof String) {\n scale = scale.split(\",\");\n }\n if (scale.length > 1) {\n this.setState({\n min: parseFloat(scale[0]),\n max: parseFloat(scale[1])\n });\n }\n }\n }\n }, {\n key: \"updateParent\",\n value: function updateParent() {\n clearTimeout(this.timeout);\n var range = this.state.min.toString() + \",\" + this.state.max.toString() + (this.state.auto ? \",auto\" : \"\");\n this.timeout = setTimeout(this.props.onUpdate, 250, this.props.id, range);\n }\n }, {\n key: \"changed\",\n value: function changed(key, value) {\n clearTimeout(this.timeout);\n var state = {};\n state[key] = value;\n this.setState(state);\n this.timeout = setTimeout(this.updateParent, 1000);\n }\n }, {\n key: \"keyPress\",\n value: function keyPress(e) {\n var key = e.which || e.keyCode;\n if (key == 13) {\n this.updateParent();\n return false;\n } else {\n return true;\n }\n }\n }, {\n key: \"autoChanged\",\n value: function autoChanged(e) {\n this.setState({\n auto: e.target.checked\n });\n var scale = this.props.state;\n if (typeof this.props.state === \"string\" || this.props.state instanceof String) {\n scale = this.props.state.split(\",\");\n }\n if (e.target.checked) {\n this.props.onUpdate(this.props.id, scale[0] + \",\" + scale[1] + \",auto\");\n } else {\n this.props.onUpdate(this.props.id, scale[0] + \",\" + scale[1]);\n }\n }\n }, {\n key: \"handleDefaultButton\",\n value: function handleDefaultButton() {\n this.props.onUpdate(this.props.id, this.props.default_scale);\n }\n }, {\n key: \"getAutoScale\",\n value: function getAutoScale() {\n axios.get(this.props.autourl).then(function (data) {\n if (this._mounted) {\n this.props.onUpdate(this.props.id, [data.min, data.max]);\n }\n })[\"catch\"](function (r, status, err) {\n if (this._mounted) {\n console.error(this.props.autourl, status, err.toString());\n }\n }).bind(this);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var auto = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Check, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: \"checkbox\",\n id: this.props.id + \"_auto\",\n checked: this.state.auto,\n onChange: this.autoChanged.bind(this)\n }), \"Auto Range\");\n var autobuttons = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null);\n if (this.props.autourl) {\n autobuttons = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n style: {\n display: \"inline-block\",\n \"float\": \"right\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n name: \"default\",\n onClick: this.handleDefaultButton\n }, \"Default\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n name: \"auto\",\n variant: \"primary\",\n onClick: this.getAutoScale\n }, \"Auto\"));\n }\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n className: \"Range input\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h1\", null, this.props.title), this.props.auto ? auto : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"table\", {\n style: {\n \"display\": this.state.auto ? \"none\" : \"table\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tbody\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n htmlFor: this.props.id + \"_min\"\n }, \"Min:\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: \"number\",\n value: this.state.min,\n onChange: function onChange(n, s) {\n return _this2.changed(\"min\", n);\n },\n step: 0.1,\n precision: 4,\n onBlur: this.updateParent,\n disabled: this.state.auto,\n onKeyPress: this.keyPress\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"tr\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"label\", {\n htmlFor: this.props.id + \"_max\"\n }, \"Max:\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"td\", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", {\n type: \"number\",\n value: this.state.max,\n onChange: function onChange(n, s) {\n return _this2.changed(\"max\", n);\n },\n step: 0.1,\n precision: 4,\n onBlur: this.updateParent,\n disabled: this.state.auto,\n onKeyPress: this.keyPress\n }))))), autobuttons);\n }\n }]);\n return Range;\n}((react__WEBPACK_IMPORTED_MODULE_0___default().Component)); //***********************************************************************\nRange.propTypes = {\n id: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),\n auto: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool),\n title: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),\n onUpdate: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n state: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_5___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_5___default().array)]).isRequired,\n autourl: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string)\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_i18next__WEBPACK_IMPORTED_MODULE_1__.withTranslation)()(Range));\n\n//# sourceURL=webpack://frontend/./src/components/Range.jsx?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ listScrollParents)\n/* harmony export */ });\n/* harmony import */ var _getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getScrollParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js\");\n/* harmony import */ var _getParentNode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getParentNode.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js\");\n/* harmony import */ var _getWindow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isScrollParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js\");\n\n\n\n\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nfunction listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = (0,_getScrollParent_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = (0,_getWindow_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], (0,_isScrollParent_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents((0,_getParentNode_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(target)));\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js?");
/***/ }),
-/***/ "./src/components/TimeSlider.jsx":
-/*!***************************************!*\
- !*** ./src/components/TimeSlider.jsx ***!
- \***************************************/
+/***/ "./node_modules/@popperjs/core/lib/enums.js":
+/*!**************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/enums.js ***!
+ \**************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var rc_slider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-slider */ \"./node_modules/rc-slider/es/index.js\");\n/* harmony import */ var _remote_OceanNavigator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../remote/OceanNavigator */ \"./src/remote/OceanNavigator.js\");\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\nfunction TimeSlider(props) {\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({}),\n _useState2 = _slicedToArray(_useState, 2),\n timestamps = _useState2[0],\n setTimestamps = _useState2[1];\n var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),\n _useState4 = _slicedToArray(_useState3, 2),\n min = _useState4[0],\n setMin = _useState4[1];\n var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),\n _useState6 = _slicedToArray(_useState5, 2),\n max = _useState6[0],\n setMax = _useState6[1];\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n (0,_remote_OceanNavigator__WEBPACK_IMPORTED_MODULE_2__.GetTimestampsPromise)(props.dataset.dataset, props.dataset.variable).then(function (timeResult) {\n var timestamps = {};\n timeResult.data.map(function (data) {\n timestamps[data.id] = formatDatetime(data.value);\n });\n setTimestamps(timestamps);\n setMin(Object.keys(timestamps)[0]);\n setMax(Object.keys(timestamps)[Object.keys(timestamps).length - 1]);\n });\n }, []);\n var formatDatetime = function formatDatetime(datetime) {\n datetime = new Date(datetime);\n var options = {};\n switch (props.dataset.quantum) {\n case \"season\":\n return datetime = datetime;\n case \"hour\":\n options = {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric'\n };\n break;\n case \"day\":\n options = {\n year: 'numeric',\n month: 'short',\n day: 'numeric'\n };\n break;\n case \"month\":\n options = {\n year: 'numeric',\n month: 'short'\n };\n break;\n case \"year\":\n options = {\n year: 'numeric',\n month: 'short'\n };\n break;\n }\n return datetime.toLocaleDateString(undefined, options);\n };\n var update = function update(key, value) {\n console.log([key, value]);\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(rc_slider__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n min: min,\n max: max,\n marks: timestamps,\n step: null,\n onChange: update,\n defaultValue: max\n });\n}\n;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TimeSlider);\n\n//# sourceURL=webpack://frontend/./src/components/TimeSlider.jsx?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ afterMain: () => (/* binding */ afterMain),\n/* harmony export */ afterRead: () => (/* binding */ afterRead),\n/* harmony export */ afterWrite: () => (/* binding */ afterWrite),\n/* harmony export */ auto: () => (/* binding */ auto),\n/* harmony export */ basePlacements: () => (/* binding */ basePlacements),\n/* harmony export */ beforeMain: () => (/* binding */ beforeMain),\n/* harmony export */ beforeRead: () => (/* binding */ beforeRead),\n/* harmony export */ beforeWrite: () => (/* binding */ beforeWrite),\n/* harmony export */ bottom: () => (/* binding */ bottom),\n/* harmony export */ clippingParents: () => (/* binding */ clippingParents),\n/* harmony export */ end: () => (/* binding */ end),\n/* harmony export */ left: () => (/* binding */ left),\n/* harmony export */ main: () => (/* binding */ main),\n/* harmony export */ modifierPhases: () => (/* binding */ modifierPhases),\n/* harmony export */ placements: () => (/* binding */ placements),\n/* harmony export */ popper: () => (/* binding */ popper),\n/* harmony export */ read: () => (/* binding */ read),\n/* harmony export */ reference: () => (/* binding */ reference),\n/* harmony export */ right: () => (/* binding */ right),\n/* harmony export */ start: () => (/* binding */ start),\n/* harmony export */ top: () => (/* binding */ top),\n/* harmony export */ variationPlacements: () => (/* binding */ variationPlacements),\n/* harmony export */ viewport: () => (/* binding */ viewport),\n/* harmony export */ write: () => (/* binding */ write)\n/* harmony export */ });\nvar top = 'top';\nvar bottom = 'bottom';\nvar right = 'right';\nvar left = 'left';\nvar auto = 'auto';\nvar basePlacements = [top, bottom, right, left];\nvar start = 'start';\nvar end = 'end';\nvar clippingParents = 'clippingParents';\nvar viewport = 'viewport';\nvar popper = 'popper';\nvar reference = 'reference';\nvar variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nvar placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nvar beforeRead = 'beforeRead';\nvar read = 'read';\nvar afterRead = 'afterRead'; // pure-logic modifiers\n\nvar beforeMain = 'beforeMain';\nvar main = 'main';\nvar afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nvar beforeWrite = 'beforeWrite';\nvar write = 'write';\nvar afterWrite = 'afterWrite';\nvar modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/enums.js?");
/***/ }),
-/***/ "./src/components/lib/Accordion.jsx":
-/*!******************************************!*\
- !*** ./src/components/lib/Accordion.jsx ***!
- \******************************************/
+/***/ "./node_modules/@popperjs/core/lib/modifiers/applyStyles.js":
+/*!******************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js ***!
+ \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Accordion\": () => (/* binding */ Accordion),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Card.js\");\n/* harmony import */ var _Icon_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Icon.jsx */ \"./src/components/lib/Icon.jsx\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar Accordion = /*#__PURE__*/function (_React$Component) {\n _inherits(Accordion, _React$Component);\n var _super = _createSuper(Accordion);\n function Accordion(props) {\n var _this;\n _classCallCheck(this, Accordion);\n _this = _super.call(this, props);\n _this.state = {\n open: false,\n panelIcon: \"angle-down\"\n };\n return _this;\n }\n _createClass(Accordion, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n id: this.props.id,\n expanded: this.state.open,\n onToggle: function onToggle() {},\n variant: \"primary\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Heading, {\n onClick: function onClick() {\n return _this2.setState({\n open: !_this2.state.open\n });\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\"\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Title, null, this.props.title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_jsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n icon: this.state.panelIcon\n }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Collapse, {\n onEntering: function onEntering() {\n _this2.setState({\n panelIcon: \"angle-up\"\n });\n },\n onExiting: function onExiting() {\n _this2.setState({\n panelIcon: \"angle-down\"\n });\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Body, null, this.props.content)));\n }\n }]);\n return Accordion;\n}((react__WEBPACK_IMPORTED_MODULE_0___default().Component));\n;\n\n//***********************************************************************\nAccordion.propTypes = {\n id: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string.isRequired),\n title: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string.isRequired),\n content: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().node.isRequired)\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_i18next__WEBPACK_IMPORTED_MODULE_2__.withTranslation)()(Accordion));\n\n//# sourceURL=webpack://frontend/./src/components/lib/Accordion.jsx?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dom-utils/getNodeName.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js\");\n/* harmony import */ var _dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/instanceOf.js */ \"./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js\");\n\n // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!(0,_dom_utils_instanceOf_js__WEBPACK_IMPORTED_MODULE_0__.isHTMLElement)(element) || !(0,_dom_utils_getNodeName_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n});\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js?");
/***/ }),
-/***/ "./src/components/lib/Icon.jsx":
-/*!*************************************!*\
- !*** ./src/components/lib/Icon.jsx ***!
- \*************************************/
+/***/ "./node_modules/@popperjs/core/lib/modifiers/arrow.js":
+/*!************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/arrow.js ***!
+ \************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Icon)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_fontawesome__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-fontawesome */ \"./node_modules/react-fontawesome/lib/index.js\");\n/* harmony import */ var react_fontawesome__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_fontawesome__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n// require(\"font-awesome/scss/font-awesome.scss\");\nvar Icon = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Icon, _React$PureComponent);\n var _super = _createSuper(Icon);\n function Icon(props) {\n _classCallCheck(this, Icon);\n return _super.call(this, props);\n }\n _createClass(Icon, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"Icon\",\n title: this.props.alt\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react_fontawesome__WEBPACK_IMPORTED_MODULE_1___default()), {\n name: this.props.icon\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", {\n className: \"alt\"\n }, \" \", this.props.alt));\n }\n }]);\n return Icon;\n}((react__WEBPACK_IMPORTED_MODULE_0___default().PureComponent)); //***********************************************************************\n\nIcon.propTypes = {\n alt: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),\n icon: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string.isRequired)\n};\n\n//# sourceURL=webpack://frontend/./src/components/lib/Icon.jsx?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom-utils/getLayoutRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\");\n/* harmony import */ var _dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../dom-utils/contains.js */ \"./node_modules/@popperjs/core/lib/dom-utils/contains.js\");\n/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\");\n/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js\");\n/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/within.js */ \"./node_modules/@popperjs/core/lib/utils/within.js\");\n/* harmony import */ var _utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/mergePaddingObject.js */ \"./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js\");\n/* harmony import */ var _utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/expandToHashMap.js */ \"./node_modules/@popperjs/core/lib/utils/expandToHashMap.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n\n\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return (0,_utils_mergePaddingObject_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(typeof padding !== 'number' ? padding : (0,_utils_expandToHashMap_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(padding, _enums_js__WEBPACK_IMPORTED_MODULE_2__.basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(state.placement);\n var axis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(basePlacement);\n var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_2__.left, _enums_js__WEBPACK_IMPORTED_MODULE_2__.right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(arrowElement);\n var minProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.top : _enums_js__WEBPACK_IMPORTED_MODULE_2__.left;\n var maxProp = axis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_2__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_2__.right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_7__.within)(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!(0,_dom_utils_contains_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n});\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/modifiers/arrow.js?");
/***/ }),
-/***/ "./src/components/lib/SelectBox.jsx":
-/*!******************************************!*\
- !*** ./src/components/lib/SelectBox.jsx ***!
- \******************************************/
+/***/ "./node_modules/@popperjs/core/lib/modifiers/computeStyles.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js ***!
+ \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SelectBox\": () => (/* binding */ SelectBox),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Form.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/FloatingLabel.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Button.js\");\n/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-bootstrap */ \"./node_modules/react-bootstrap/esm/Modal.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _Icon_jsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Icon.jsx */ \"./src/components/lib/Icon.jsx\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar fastEqual = __webpack_require__(/*! fast-deep-equal/es6/react */ \"./node_modules/fast-deep-equal/es6/react.js\");\nvar SelectBox = /*#__PURE__*/function (_React$Component) {\n _inherits(SelectBox, _React$Component);\n var _super = _createSuper(SelectBox);\n function SelectBox(props) {\n var _this;\n _classCallCheck(this, SelectBox);\n _this = _super.call(this, props);\n _this.state = {\n showHelp: false\n };\n _this.toggleShowHelp = _this.toggleShowHelp.bind(_assertThisInitialized(_this));\n return _this;\n }\n _createClass(SelectBox, [{\n key: \"toggleShowHelp\",\n value: function toggleShowHelp() {\n this.setState(function (prevState) {\n return {\n showHelp: !prevState.showHelp\n };\n });\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !fastEqual(this.props, nextProps) || !fastEqual(this.state, nextState);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var options = null;\n if (this.props.options) {\n options = this.props.options.map(function (option) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"option\", {\n key: \"option-\".concat(option.id),\n value: option.id\n }, option.value);\n });\n }\n var disabled = !Array.isArray(this.props.options) || !this.props.options.length;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Group, {\n controlid: \"formgroup-\".concat(this.props.id, \"-selectbox\")\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, this.props.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n onClick: this.toggleShowHelp,\n variant: \"default\",\n size: \"xsmall\",\n style: {\n \"display\": this.props.helpContent ? \"block\" : \"none\",\n \"float\": \"right\"\n }\n }, \"?\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Select, {\n name: this.props.name,\n placeholder: disabled ? \"Loading...\" : this.props.placeholder,\n onChange: function onChange(e) {\n if (_this2.props.multiple) {\n _this2.props.onChange(e.target.name, e.target.selectedOptions);\n } else {\n _this2.props.onChange(e.target.name, e.target.value);\n }\n },\n disabled: disabled,\n value: this.props.selected,\n multiple: this.props.multiple\n }, options))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n show: this.state.showHelp,\n onHide: this.toggleShowHelp,\n size: \"large\",\n dialogClassName: \"helpdialog\",\n backdrop: true\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Header, {\n closeButton: true,\n closeLabel: \"Close\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Title, null, \"Help\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Body, null, this.props.helpContent), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Footer, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n onClick: this.toggleShowHelp\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_jsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n icon: \"close\"\n }), \" \", \"Close\"))));\n }\n }]);\n return SelectBox;\n}((react__WEBPACK_IMPORTED_MODULE_0___default().Component));\n\n//***********************************************************************\nSelectBox.propTypes = {\n id: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string.isRequired),\n name: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string.isRequired),\n label: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string.isRequired),\n placeholder: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string),\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func.isRequired),\n options: prop_types__WEBPACK_IMPORTED_MODULE_7___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_7___default().object)).isRequired,\n selected: prop_types__WEBPACK_IMPORTED_MODULE_7___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_7___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_7___default().number), prop_types__WEBPACK_IMPORTED_MODULE_7___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_7___default().string))]).isRequired,\n multiple: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n helpContent: prop_types__WEBPACK_IMPORTED_MODULE_7___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_7___default().object))\n};\nSelectBox.defaultProps = {\n multiple: false,\n helpContent: null\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_i18next__WEBPACK_IMPORTED_MODULE_2__.withTranslation)()(SelectBox));\n\n//# sourceURL=webpack://frontend/./src/components/lib/SelectBox.jsx?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ mapToStyles: () => (/* binding */ mapToStyles)\n/* harmony export */ });\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\");\n/* harmony import */ var _dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../dom-utils/getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n/* harmony import */ var _dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../dom-utils/getDocumentElement.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js\");\n/* harmony import */ var _dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../dom-utils/getComputedStyle.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js\");\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/getVariation.js */ \"./node_modules/@popperjs/core/lib/utils/getVariation.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(x * dpr) / dpr || 0,\n y: (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_0__.round)(y * dpr) / dpr || 0\n };\n}\n\nfunction mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = _enums_js__WEBPACK_IMPORTED_MODULE_1__.left;\n var sideY = _enums_js__WEBPACK_IMPORTED_MODULE_1__.top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(popper)) {\n offsetParent = (0,_dom_utils_getDocumentElement_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(popper);\n\n if ((0,_dom_utils_getComputedStyle_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.top || (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.left || placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.right) && variation === _enums_js__WEBPACK_IMPORTED_MODULE_1__.end) {\n sideY = _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.left || (placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.top || placement === _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom) && variation === _enums_js__WEBPACK_IMPORTED_MODULE_1__.end) {\n sideX = _enums_js__WEBPACK_IMPORTED_MODULE_1__.right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(state.placement),\n variation: (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n});\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js?");
/***/ }),
-/***/ "./src/index.jsx":
-/*!***********************!*\
- !*** ./src/index.jsx ***!
- \***********************/
+/***/ "./node_modules/@popperjs/core/lib/modifiers/eventListeners.js":
+/*!*********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js ***!
+ \*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ \"./node_modules/react-dom/client.js\");\n/* harmony import */ var _components_OceanNavigator_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/OceanNavigator.jsx */ \"./src/components/OceanNavigator.jsx\");\n\n\n\n// import WebFont from \"webfontloader\";\n// import Browser from \"detect-browser\";\n// import ReactGA from \"react-ga\";\n\n// import \"./i18n\";\n\n__webpack_require__(/*! bootstrap/dist/css/bootstrap.css */ \"./node_modules/bootstrap/dist/css/bootstrap.css\");\n__webpack_require__(/*! ./stylesheets/utils/bootstrap.css */ \"./src/stylesheets/utils/bootstrap.css\");\n__webpack_require__(/*! ./stylesheets/main.scss */ \"./src/stylesheets/main.scss\");\n\n// if (process.env.NODE_ENV == \"production\") {\n// ReactGA.initialize(\"UA-122671965-2\");\n// } \n// else {\n// ReactGA.initialize(\"UA-122671965-3\");\n// }\n\n// ReactGA.pageview(window.location.pathname + window.location.search);\n\ndocument.title = \"Ocean Navigator\";\nvar root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(document.getElementById('app'));\nroot.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_components_OceanNavigator_jsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null));\n\n// WebFont.load({\n// custom: {\n// families: [\"FontAwesome\"],\n// }\n// });\n\n// $(function() {\n// $(\"html\").addClass(Browser.name);\n// });\n\n//# sourceURL=webpack://frontend/./src/index.jsx?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom-utils/getWindow.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getWindow.js\");\n // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = (0,_dom_utils_getWindow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n});\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js?");
/***/ }),
-/***/ "./src/remote/OceanNavigator.js":
-/*!**************************************!*\
- !*** ./src/remote/OceanNavigator.js ***!
- \**************************************/
+/***/ "./node_modules/@popperjs/core/lib/modifiers/flip.js":
+/*!***********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/flip.js ***!
+ \***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"GetClass4Promise\": () => (/* binding */ GetClass4Promise),\n/* harmony export */ \"GetDatasetsPromise\": () => (/* binding */ GetDatasetsPromise),\n/* harmony export */ \"GetDepthsPromise\": () => (/* binding */ GetDepthsPromise),\n/* harmony export */ \"GetPresetAreasPromise\": () => (/* binding */ GetPresetAreasPromise),\n/* harmony export */ \"GetPresetLinesPromise\": () => (/* binding */ GetPresetLinesPromise),\n/* harmony export */ \"GetPresetPointsPromise\": () => (/* binding */ GetPresetPointsPromise),\n/* harmony export */ \"GetTimestampsPromise\": () => (/* binding */ GetTimestampsPromise),\n/* harmony export */ \"GetVariablesPromise\": () => (/* binding */ GetVariablesPromise)\n/* harmony export */ });\n/* harmony import */ var axios_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios-extensions */ \"./node_modules/axios-extensions/esm/cacheAdapterEnhancer.js\");\n/* harmony import */ var axios_lib_adapters_xhr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios/lib/adapters/xhr */ \"./node_modules/axios/lib/adapters/xhr.js\");\n// Cannot use async/awat syntax here since we still have clients\n// that use IE which doesn't support that.\n\nvar axios = (__webpack_require__(/*! axios */ \"./node_modules/axios/dist/browser/axios.cjs\")[\"default\"]);\n\n\nvar instance = axios.create({\n headers: {\n \"Cache-Control\": \"no-cache\"\n },\n adapter: (0,axios_extensions__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(axios_lib_adapters_xhr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n});\nfunction GetDatasetsPromise() {\n return instance.get(\"/api/v2.0/datasets\");\n}\nfunction GetVariablesPromise(dataset) {\n return instance.get(\"/api/v2.0/dataset/\".concat(dataset, \"/variables\"));\n}\nfunction GetTimestampsPromise(dataset, variable) {\n return instance.get(\"/api/v2.0/dataset/\".concat(dataset, \"/\").concat(variable, \"/timestamps\"));\n}\nfunction GetDepthsPromise(dataset, variable) {\n return instance.get(\"/api/v2.0/dataset/\".concat(dataset, \"/\").concat(variable, \"/depths\"), {\n params: {\n include_all_key: true\n }\n });\n}\nfunction GetPresetPointsPromise() {\n return instance.get(\"/api/v2.0/kml/points\");\n}\nfunction GetPresetLinesPromise() {\n return instance.get(\"/api/v2.0/kml/lines\");\n}\nfunction GetPresetAreasPromise() {\n return instance.get(\"/api/v2.0/kml/areas\");\n}\nfunction GetClass4Promise() {\n return instance.get(\"/api/v2.0/class4\");\n}\n\n//# sourceURL=webpack://frontend/./src/remote/OceanNavigator.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getOppositePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js\");\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getOppositeVariationPlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js\");\n/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/detectOverflow.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n/* harmony import */ var _utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/computeAutoPlacement.js */ \"./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/getVariation.js */ \"./node_modules/@popperjs/core/lib/utils/getVariation.js\");\n\n\n\n\n\n\n // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if ((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.auto) {\n return [];\n }\n\n var oppositePlacement = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(placement);\n return [(0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(placement), oppositePlacement, (0,_utils_getOppositeVariationPlacement_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [(0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat((0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.auto ? (0,_utils_computeAutoPlacement_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(placement);\n\n var isStartVariation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(placement) === _enums_js__WEBPACK_IMPORTED_MODULE_1__.start;\n var isVertical = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.top, _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? _enums_js__WEBPACK_IMPORTED_MODULE_1__.right : _enums_js__WEBPACK_IMPORTED_MODULE_1__.left : isStartVariation ? _enums_js__WEBPACK_IMPORTED_MODULE_1__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_1__.top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(mainVariationSide);\n }\n\n var altVariationSide = (0,_utils_getOppositePlacement_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n});\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/modifiers/flip.js?");
/***/ }),
-/***/ "./node_modules/classnames/index.js":
-/*!******************************************!*\
- !*** ./node_modules/classnames/index.js ***!
- \******************************************/
-/***/ ((module, exports) => {
+/***/ "./node_modules/@popperjs/core/lib/modifiers/hide.js":
+/*!***********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/hide.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif ( true && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}());\n\n\n//# sourceURL=webpack://frontend/./node_modules/classnames/index.js?");
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/detectOverflow.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n\n\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [_enums_js__WEBPACK_IMPORTED_MODULE_0__.top, _enums_js__WEBPACK_IMPORTED_MODULE_0__.right, _enums_js__WEBPACK_IMPORTED_MODULE_0__.bottom, _enums_js__WEBPACK_IMPORTED_MODULE_0__.left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n});\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/modifiers/hide.js?");
/***/ }),
-/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/bootstrap/dist/css/bootstrap.css":
-/*!************************************************************************************************************************************!*\
- !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/bootstrap/dist/css/bootstrap.css ***!
- \************************************************************************************************************************************/
-/***/ ((module, __webpack_exports__, __webpack_require__) => {
+/***/ "./node_modules/@popperjs/core/lib/modifiers/index.js":
+/*!************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/index.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n// Imports\n\n\n\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_2___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_3___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_4___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_5___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%2386b7fe%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%2386b7fe%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_6___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_7___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.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.1z%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.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.1z%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_8___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_9___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%280, 0, 0, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%280, 0, 0, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_10___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_11___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23212529%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.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-.708z%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23212529%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.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-.708z%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_12___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%230c63e4%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.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-.708z%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%230c63e4%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.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-.708z%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_13___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.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.414z%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.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.414z%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_14___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.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 0z%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.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 0z%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_15___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.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-.708z%27/%3e%3c/svg%3e */ \"data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.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-.708z%27/%3e%3c/svg%3e\"), __webpack_require__.b);\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = _css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_15___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@charset \\\"UTF-8\\\";\\n/*!\\n * Bootstrap v5.2.3 (https://getbootstrap.com/)\\n * Copyright 2011-2022 The Bootstrap Authors\\n * Copyright 2011-2022 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n */\\n:root {\\n --bs-blue: #0d6efd;\\n --bs-indigo: #6610f2;\\n --bs-purple: #6f42c1;\\n --bs-pink: #d63384;\\n --bs-red: #dc3545;\\n --bs-orange: #fd7e14;\\n --bs-yellow: #ffc107;\\n --bs-green: #198754;\\n --bs-teal: #20c997;\\n --bs-cyan: #0dcaf0;\\n --bs-black: #000;\\n --bs-white: #fff;\\n --bs-gray: #6c757d;\\n --bs-gray-dark: #343a40;\\n --bs-gray-100: #f8f9fa;\\n --bs-gray-200: #e9ecef;\\n --bs-gray-300: #dee2e6;\\n --bs-gray-400: #ced4da;\\n --bs-gray-500: #adb5bd;\\n --bs-gray-600: #6c757d;\\n --bs-gray-700: #495057;\\n --bs-gray-800: #343a40;\\n --bs-gray-900: #212529;\\n --bs-primary: #0d6efd;\\n --bs-secondary: #6c757d;\\n --bs-success: #198754;\\n --bs-info: #0dcaf0;\\n --bs-warning: #ffc107;\\n --bs-danger: #dc3545;\\n --bs-light: #f8f9fa;\\n --bs-dark: #212529;\\n --bs-primary-rgb: 13, 110, 253;\\n --bs-secondary-rgb: 108, 117, 125;\\n --bs-success-rgb: 25, 135, 84;\\n --bs-info-rgb: 13, 202, 240;\\n --bs-warning-rgb: 255, 193, 7;\\n --bs-danger-rgb: 220, 53, 69;\\n --bs-light-rgb: 248, 249, 250;\\n --bs-dark-rgb: 33, 37, 41;\\n --bs-white-rgb: 255, 255, 255;\\n --bs-black-rgb: 0, 0, 0;\\n --bs-body-color-rgb: 33, 37, 41;\\n --bs-body-bg-rgb: 255, 255, 255;\\n --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\\\";\\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\\n --bs-body-font-family: var(--bs-font-sans-serif);\\n --bs-body-font-size: 1rem;\\n --bs-body-font-weight: 400;\\n --bs-body-line-height: 1.5;\\n --bs-body-color: #212529;\\n --bs-body-bg: #fff;\\n --bs-border-width: 1px;\\n --bs-border-style: solid;\\n --bs-border-color: #dee2e6;\\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\\n --bs-border-radius: 0.375rem;\\n --bs-border-radius-sm: 0.25rem;\\n --bs-border-radius-lg: 0.5rem;\\n --bs-border-radius-xl: 1rem;\\n --bs-border-radius-2xl: 2rem;\\n --bs-border-radius-pill: 50rem;\\n --bs-link-color: #0d6efd;\\n --bs-link-hover-color: #0a58ca;\\n --bs-code-color: #d63384;\\n --bs-highlight-bg: #fff3cd;\\n}\\n\\n*,\\n*::before,\\n*::after {\\n box-sizing: border-box;\\n}\\n\\n@media (prefers-reduced-motion: no-preference) {\\n :root {\\n scroll-behavior: smooth;\\n }\\n}\\nbody {\\n margin: 0;\\n font-family: var(--bs-body-font-family);\\n font-size: var(--bs-body-font-size);\\n font-weight: var(--bs-body-font-weight);\\n line-height: var(--bs-body-line-height);\\n color: var(--bs-body-color);\\n text-align: var(--bs-body-text-align);\\n background-color: var(--bs-body-bg);\\n -webkit-text-size-adjust: 100%;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n\\nhr {\\n margin: 1rem 0;\\n color: inherit;\\n border: 0;\\n border-top: 1px solid;\\n opacity: 0.25;\\n}\\n\\nh6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {\\n margin-top: 0;\\n margin-bottom: 0.5rem;\\n font-weight: 500;\\n line-height: 1.2;\\n}\\n\\nh1, .h1 {\\n font-size: calc(1.375rem + 1.5vw);\\n}\\n\\n@media (min-width: 1200px) {\\n h1, .h1 {\\n font-size: 2.5rem;\\n }\\n}\\nh2, .h2 {\\n font-size: calc(1.325rem + 0.9vw);\\n}\\n\\n@media (min-width: 1200px) {\\n h2, .h2 {\\n font-size: 2rem;\\n }\\n}\\nh3, .h3 {\\n font-size: calc(1.3rem + 0.6vw);\\n}\\n\\n@media (min-width: 1200px) {\\n h3, .h3 {\\n font-size: 1.75rem;\\n }\\n}\\nh4, .h4 {\\n font-size: calc(1.275rem + 0.3vw);\\n}\\n\\n@media (min-width: 1200px) {\\n h4, .h4 {\\n font-size: 1.5rem;\\n }\\n}\\nh5, .h5 {\\n font-size: 1.25rem;\\n}\\n\\nh6, .h6 {\\n font-size: 1rem;\\n}\\n\\np {\\n margin-top: 0;\\n margin-bottom: 1rem;\\n}\\n\\nabbr[title] {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n cursor: help;\\n -webkit-text-decoration-skip-ink: none;\\n text-decoration-skip-ink: none;\\n}\\n\\naddress {\\n margin-bottom: 1rem;\\n font-style: normal;\\n line-height: inherit;\\n}\\n\\nol,\\nul {\\n padding-left: 2rem;\\n}\\n\\nol,\\nul,\\ndl {\\n margin-top: 0;\\n margin-bottom: 1rem;\\n}\\n\\nol ol,\\nul ul,\\nol ul,\\nul ol {\\n margin-bottom: 0;\\n}\\n\\ndt {\\n font-weight: 700;\\n}\\n\\ndd {\\n margin-bottom: 0.5rem;\\n margin-left: 0;\\n}\\n\\nblockquote {\\n margin: 0 0 1rem;\\n}\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\nsmall, .small {\\n font-size: 0.875em;\\n}\\n\\nmark, .mark {\\n padding: 0.1875em;\\n background-color: var(--bs-highlight-bg);\\n}\\n\\nsub,\\nsup {\\n position: relative;\\n font-size: 0.75em;\\n line-height: 0;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\na {\\n color: var(--bs-link-color);\\n text-decoration: underline;\\n}\\n\\na:hover {\\n color: var(--bs-link-hover-color);\\n}\\n\\na:not([href]):not([class]), a:not([href]):not([class]):hover {\\n color: inherit;\\n text-decoration: none;\\n}\\n\\npre,\\ncode,\\nkbd,\\nsamp {\\n font-family: var(--bs-font-monospace);\\n font-size: 1em;\\n}\\n\\npre {\\n display: block;\\n margin-top: 0;\\n margin-bottom: 1rem;\\n overflow: auto;\\n font-size: 0.875em;\\n}\\n\\npre code {\\n font-size: inherit;\\n color: inherit;\\n word-break: normal;\\n}\\n\\ncode {\\n font-size: 0.875em;\\n color: var(--bs-code-color);\\n word-wrap: break-word;\\n}\\n\\na > code {\\n color: inherit;\\n}\\n\\nkbd {\\n padding: 0.1875rem 0.375rem;\\n font-size: 0.875em;\\n color: var(--bs-body-bg);\\n background-color: var(--bs-body-color);\\n border-radius: 0.25rem;\\n}\\n\\nkbd kbd {\\n padding: 0;\\n font-size: 1em;\\n}\\n\\nfigure {\\n margin: 0 0 1rem;\\n}\\n\\nimg,\\nsvg {\\n vertical-align: middle;\\n}\\n\\ntable {\\n caption-side: bottom;\\n border-collapse: collapse;\\n}\\n\\ncaption {\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n color: #6c757d;\\n text-align: left;\\n}\\n\\nth {\\n text-align: inherit;\\n text-align: -webkit-match-parent;\\n}\\n\\nthead,\\ntbody,\\ntfoot,\\ntr,\\ntd,\\nth {\\n border-color: inherit;\\n border-style: solid;\\n border-width: 0;\\n}\\n\\nlabel {\\n display: inline-block;\\n}\\n\\nbutton {\\n border-radius: 0;\\n}\\n\\nbutton:focus:not(:focus-visible) {\\n outline: 0;\\n}\\n\\ninput,\\nbutton,\\nselect,\\noptgroup,\\ntextarea {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n}\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n[role=button] {\\n cursor: pointer;\\n}\\n\\nselect {\\n word-wrap: normal;\\n}\\n\\nselect:disabled {\\n opacity: 1;\\n}\\n\\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\\n display: none !important;\\n}\\n\\nbutton,\\n[type=button],\\n[type=reset],\\n[type=submit] {\\n -webkit-appearance: button;\\n}\\n\\nbutton:not(:disabled),\\n[type=button]:not(:disabled),\\n[type=reset]:not(:disabled),\\n[type=submit]:not(:disabled) {\\n cursor: pointer;\\n}\\n\\n::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n}\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\nfieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n}\\n\\nlegend {\\n float: left;\\n width: 100%;\\n padding: 0;\\n margin-bottom: 0.5rem;\\n font-size: calc(1.275rem + 0.3vw);\\n line-height: inherit;\\n}\\n\\n@media (min-width: 1200px) {\\n legend {\\n font-size: 1.5rem;\\n }\\n}\\nlegend + * {\\n clear: left;\\n}\\n\\n::-webkit-datetime-edit-fields-wrapper,\\n::-webkit-datetime-edit-text,\\n::-webkit-datetime-edit-minute,\\n::-webkit-datetime-edit-hour-field,\\n::-webkit-datetime-edit-day-field,\\n::-webkit-datetime-edit-month-field,\\n::-webkit-datetime-edit-year-field {\\n padding: 0;\\n}\\n\\n::-webkit-inner-spin-button {\\n height: auto;\\n}\\n\\n[type=search] {\\n outline-offset: -2px;\\n -webkit-appearance: textfield;\\n}\\n\\n/* rtl:raw:\\n[type=\\\"tel\\\"],\\n[type=\\\"url\\\"],\\n[type=\\\"email\\\"],\\n[type=\\\"number\\\"] {\\n direction: ltr;\\n}\\n*/\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n::-webkit-color-swatch-wrapper {\\n padding: 0;\\n}\\n\\n::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button;\\n}\\n\\n::file-selector-button {\\n font: inherit;\\n -webkit-appearance: button;\\n}\\n\\noutput {\\n display: inline-block;\\n}\\n\\niframe {\\n border: 0;\\n}\\n\\nsummary {\\n display: list-item;\\n cursor: pointer;\\n}\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n[hidden] {\\n display: none !important;\\n}\\n\\n.lead {\\n font-size: 1.25rem;\\n font-weight: 300;\\n}\\n\\n.display-1 {\\n font-size: calc(1.625rem + 4.5vw);\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n\\n@media (min-width: 1200px) {\\n .display-1 {\\n font-size: 5rem;\\n }\\n}\\n.display-2 {\\n font-size: calc(1.575rem + 3.9vw);\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n\\n@media (min-width: 1200px) {\\n .display-2 {\\n font-size: 4.5rem;\\n }\\n}\\n.display-3 {\\n font-size: calc(1.525rem + 3.3vw);\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n\\n@media (min-width: 1200px) {\\n .display-3 {\\n font-size: 4rem;\\n }\\n}\\n.display-4 {\\n font-size: calc(1.475rem + 2.7vw);\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n\\n@media (min-width: 1200px) {\\n .display-4 {\\n font-size: 3.5rem;\\n }\\n}\\n.display-5 {\\n font-size: calc(1.425rem + 2.1vw);\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n\\n@media (min-width: 1200px) {\\n .display-5 {\\n font-size: 3rem;\\n }\\n}\\n.display-6 {\\n font-size: calc(1.375rem + 1.5vw);\\n font-weight: 300;\\n line-height: 1.2;\\n}\\n\\n@media (min-width: 1200px) {\\n .display-6 {\\n font-size: 2.5rem;\\n }\\n}\\n.list-unstyled {\\n padding-left: 0;\\n list-style: none;\\n}\\n\\n.list-inline {\\n padding-left: 0;\\n list-style: none;\\n}\\n\\n.list-inline-item {\\n display: inline-block;\\n}\\n\\n.list-inline-item:not(:last-child) {\\n margin-right: 0.5rem;\\n}\\n\\n.initialism {\\n font-size: 0.875em;\\n text-transform: uppercase;\\n}\\n\\n.blockquote {\\n margin-bottom: 1rem;\\n font-size: 1.25rem;\\n}\\n\\n.blockquote > :last-child {\\n margin-bottom: 0;\\n}\\n\\n.blockquote-footer {\\n margin-top: -1rem;\\n margin-bottom: 1rem;\\n font-size: 0.875em;\\n color: #6c757d;\\n}\\n\\n.blockquote-footer::before {\\n content: \\\"— \\\";\\n}\\n\\n.img-fluid {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n.img-thumbnail {\\n padding: 0.25rem;\\n background-color: #fff;\\n border: 1px solid var(--bs-border-color);\\n border-radius: 0.375rem;\\n max-width: 100%;\\n height: auto;\\n}\\n\\n.figure {\\n display: inline-block;\\n}\\n\\n.figure-img {\\n margin-bottom: 0.5rem;\\n line-height: 1;\\n}\\n\\n.figure-caption {\\n font-size: 0.875em;\\n color: #6c757d;\\n}\\n\\n.container,\\n.container-fluid,\\n.container-xxl,\\n.container-xl,\\n.container-lg,\\n.container-md,\\n.container-sm {\\n --bs-gutter-x: 1.5rem;\\n --bs-gutter-y: 0;\\n width: 100%;\\n padding-right: calc(var(--bs-gutter-x) * 0.5);\\n padding-left: calc(var(--bs-gutter-x) * 0.5);\\n margin-right: auto;\\n margin-left: auto;\\n}\\n\\n@media (min-width: 576px) {\\n .container-sm, .container {\\n max-width: 540px;\\n }\\n}\\n@media (min-width: 768px) {\\n .container-md, .container-sm, .container {\\n max-width: 720px;\\n }\\n}\\n@media (min-width: 992px) {\\n .container-lg, .container-md, .container-sm, .container {\\n max-width: 960px;\\n }\\n}\\n@media (min-width: 1200px) {\\n .container-xl, .container-lg, .container-md, .container-sm, .container {\\n max-width: 1140px;\\n }\\n}\\n@media (min-width: 1400px) {\\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\\n max-width: 1320px;\\n }\\n}\\n.row {\\n --bs-gutter-x: 1.5rem;\\n --bs-gutter-y: 0;\\n display: flex;\\n flex-wrap: wrap;\\n margin-top: calc(-1 * var(--bs-gutter-y));\\n margin-right: calc(-0.5 * var(--bs-gutter-x));\\n margin-left: calc(-0.5 * var(--bs-gutter-x));\\n}\\n\\n.row > * {\\n flex-shrink: 0;\\n width: 100%;\\n max-width: 100%;\\n padding-right: calc(var(--bs-gutter-x) * 0.5);\\n padding-left: calc(var(--bs-gutter-x) * 0.5);\\n margin-top: var(--bs-gutter-y);\\n}\\n\\n.col {\\n flex: 1 0 0%;\\n}\\n\\n.row-cols-auto > * {\\n flex: 0 0 auto;\\n width: auto;\\n}\\n\\n.row-cols-1 > * {\\n flex: 0 0 auto;\\n width: 100%;\\n}\\n\\n.row-cols-2 > * {\\n flex: 0 0 auto;\\n width: 50%;\\n}\\n\\n.row-cols-3 > * {\\n flex: 0 0 auto;\\n width: 33.3333333333%;\\n}\\n\\n.row-cols-4 > * {\\n flex: 0 0 auto;\\n width: 25%;\\n}\\n\\n.row-cols-5 > * {\\n flex: 0 0 auto;\\n width: 20%;\\n}\\n\\n.row-cols-6 > * {\\n flex: 0 0 auto;\\n width: 16.6666666667%;\\n}\\n\\n.col-auto {\\n flex: 0 0 auto;\\n width: auto;\\n}\\n\\n.col-1 {\\n flex: 0 0 auto;\\n width: 8.33333333%;\\n}\\n\\n.col-2 {\\n flex: 0 0 auto;\\n width: 16.66666667%;\\n}\\n\\n.col-3 {\\n flex: 0 0 auto;\\n width: 25%;\\n}\\n\\n.col-4 {\\n flex: 0 0 auto;\\n width: 33.33333333%;\\n}\\n\\n.col-5 {\\n flex: 0 0 auto;\\n width: 41.66666667%;\\n}\\n\\n.col-6 {\\n flex: 0 0 auto;\\n width: 50%;\\n}\\n\\n.col-7 {\\n flex: 0 0 auto;\\n width: 58.33333333%;\\n}\\n\\n.col-8 {\\n flex: 0 0 auto;\\n width: 66.66666667%;\\n}\\n\\n.col-9 {\\n flex: 0 0 auto;\\n width: 75%;\\n}\\n\\n.col-10 {\\n flex: 0 0 auto;\\n width: 83.33333333%;\\n}\\n\\n.col-11 {\\n flex: 0 0 auto;\\n width: 91.66666667%;\\n}\\n\\n.col-12 {\\n flex: 0 0 auto;\\n width: 100%;\\n}\\n\\n.offset-1 {\\n margin-left: 8.33333333%;\\n}\\n\\n.offset-2 {\\n margin-left: 16.66666667%;\\n}\\n\\n.offset-3 {\\n margin-left: 25%;\\n}\\n\\n.offset-4 {\\n margin-left: 33.33333333%;\\n}\\n\\n.offset-5 {\\n margin-left: 41.66666667%;\\n}\\n\\n.offset-6 {\\n margin-left: 50%;\\n}\\n\\n.offset-7 {\\n margin-left: 58.33333333%;\\n}\\n\\n.offset-8 {\\n margin-left: 66.66666667%;\\n}\\n\\n.offset-9 {\\n margin-left: 75%;\\n}\\n\\n.offset-10 {\\n margin-left: 83.33333333%;\\n}\\n\\n.offset-11 {\\n margin-left: 91.66666667%;\\n}\\n\\n.g-0,\\n.gx-0 {\\n --bs-gutter-x: 0;\\n}\\n\\n.g-0,\\n.gy-0 {\\n --bs-gutter-y: 0;\\n}\\n\\n.g-1,\\n.gx-1 {\\n --bs-gutter-x: 0.25rem;\\n}\\n\\n.g-1,\\n.gy-1 {\\n --bs-gutter-y: 0.25rem;\\n}\\n\\n.g-2,\\n.gx-2 {\\n --bs-gutter-x: 0.5rem;\\n}\\n\\n.g-2,\\n.gy-2 {\\n --bs-gutter-y: 0.5rem;\\n}\\n\\n.g-3,\\n.gx-3 {\\n --bs-gutter-x: 1rem;\\n}\\n\\n.g-3,\\n.gy-3 {\\n --bs-gutter-y: 1rem;\\n}\\n\\n.g-4,\\n.gx-4 {\\n --bs-gutter-x: 1.5rem;\\n}\\n\\n.g-4,\\n.gy-4 {\\n --bs-gutter-y: 1.5rem;\\n}\\n\\n.g-5,\\n.gx-5 {\\n --bs-gutter-x: 3rem;\\n}\\n\\n.g-5,\\n.gy-5 {\\n --bs-gutter-y: 3rem;\\n}\\n\\n@media (min-width: 576px) {\\n .col-sm {\\n flex: 1 0 0%;\\n }\\n .row-cols-sm-auto > * {\\n flex: 0 0 auto;\\n width: auto;\\n }\\n .row-cols-sm-1 > * {\\n flex: 0 0 auto;\\n width: 100%;\\n }\\n .row-cols-sm-2 > * {\\n flex: 0 0 auto;\\n width: 50%;\\n }\\n .row-cols-sm-3 > * {\\n flex: 0 0 auto;\\n width: 33.3333333333%;\\n }\\n .row-cols-sm-4 > * {\\n flex: 0 0 auto;\\n width: 25%;\\n }\\n .row-cols-sm-5 > * {\\n flex: 0 0 auto;\\n width: 20%;\\n }\\n .row-cols-sm-6 > * {\\n flex: 0 0 auto;\\n width: 16.6666666667%;\\n }\\n .col-sm-auto {\\n flex: 0 0 auto;\\n width: auto;\\n }\\n .col-sm-1 {\\n flex: 0 0 auto;\\n width: 8.33333333%;\\n }\\n .col-sm-2 {\\n flex: 0 0 auto;\\n width: 16.66666667%;\\n }\\n .col-sm-3 {\\n flex: 0 0 auto;\\n width: 25%;\\n }\\n .col-sm-4 {\\n flex: 0 0 auto;\\n width: 33.33333333%;\\n }\\n .col-sm-5 {\\n flex: 0 0 auto;\\n width: 41.66666667%;\\n }\\n .col-sm-6 {\\n flex: 0 0 auto;\\n width: 50%;\\n }\\n .col-sm-7 {\\n flex: 0 0 auto;\\n width: 58.33333333%;\\n }\\n .col-sm-8 {\\n flex: 0 0 auto;\\n width: 66.66666667%;\\n }\\n .col-sm-9 {\\n flex: 0 0 auto;\\n width: 75%;\\n }\\n .col-sm-10 {\\n flex: 0 0 auto;\\n width: 83.33333333%;\\n }\\n .col-sm-11 {\\n flex: 0 0 auto;\\n width: 91.66666667%;\\n }\\n .col-sm-12 {\\n flex: 0 0 auto;\\n width: 100%;\\n }\\n .offset-sm-0 {\\n margin-left: 0;\\n }\\n .offset-sm-1 {\\n margin-left: 8.33333333%;\\n }\\n .offset-sm-2 {\\n margin-left: 16.66666667%;\\n }\\n .offset-sm-3 {\\n margin-left: 25%;\\n }\\n .offset-sm-4 {\\n margin-left: 33.33333333%;\\n }\\n .offset-sm-5 {\\n margin-left: 41.66666667%;\\n }\\n .offset-sm-6 {\\n margin-left: 50%;\\n }\\n .offset-sm-7 {\\n margin-left: 58.33333333%;\\n }\\n .offset-sm-8 {\\n margin-left: 66.66666667%;\\n }\\n .offset-sm-9 {\\n margin-left: 75%;\\n }\\n .offset-sm-10 {\\n margin-left: 83.33333333%;\\n }\\n .offset-sm-11 {\\n margin-left: 91.66666667%;\\n }\\n .g-sm-0,\\n .gx-sm-0 {\\n --bs-gutter-x: 0;\\n }\\n .g-sm-0,\\n .gy-sm-0 {\\n --bs-gutter-y: 0;\\n }\\n .g-sm-1,\\n .gx-sm-1 {\\n --bs-gutter-x: 0.25rem;\\n }\\n .g-sm-1,\\n .gy-sm-1 {\\n --bs-gutter-y: 0.25rem;\\n }\\n .g-sm-2,\\n .gx-sm-2 {\\n --bs-gutter-x: 0.5rem;\\n }\\n .g-sm-2,\\n .gy-sm-2 {\\n --bs-gutter-y: 0.5rem;\\n }\\n .g-sm-3,\\n .gx-sm-3 {\\n --bs-gutter-x: 1rem;\\n }\\n .g-sm-3,\\n .gy-sm-3 {\\n --bs-gutter-y: 1rem;\\n }\\n .g-sm-4,\\n .gx-sm-4 {\\n --bs-gutter-x: 1.5rem;\\n }\\n .g-sm-4,\\n .gy-sm-4 {\\n --bs-gutter-y: 1.5rem;\\n }\\n .g-sm-5,\\n .gx-sm-5 {\\n --bs-gutter-x: 3rem;\\n }\\n .g-sm-5,\\n .gy-sm-5 {\\n --bs-gutter-y: 3rem;\\n }\\n}\\n@media (min-width: 768px) {\\n .col-md {\\n flex: 1 0 0%;\\n }\\n .row-cols-md-auto > * {\\n flex: 0 0 auto;\\n width: auto;\\n }\\n .row-cols-md-1 > * {\\n flex: 0 0 auto;\\n width: 100%;\\n }\\n .row-cols-md-2 > * {\\n flex: 0 0 auto;\\n width: 50%;\\n }\\n .row-cols-md-3 > * {\\n flex: 0 0 auto;\\n width: 33.3333333333%;\\n }\\n .row-cols-md-4 > * {\\n flex: 0 0 auto;\\n width: 25%;\\n }\\n .row-cols-md-5 > * {\\n flex: 0 0 auto;\\n width: 20%;\\n }\\n .row-cols-md-6 > * {\\n flex: 0 0 auto;\\n width: 16.6666666667%;\\n }\\n .col-md-auto {\\n flex: 0 0 auto;\\n width: auto;\\n }\\n .col-md-1 {\\n flex: 0 0 auto;\\n width: 8.33333333%;\\n }\\n .col-md-2 {\\n flex: 0 0 auto;\\n width: 16.66666667%;\\n }\\n .col-md-3 {\\n flex: 0 0 auto;\\n width: 25%;\\n }\\n .col-md-4 {\\n flex: 0 0 auto;\\n width: 33.33333333%;\\n }\\n .col-md-5 {\\n flex: 0 0 auto;\\n width: 41.66666667%;\\n }\\n .col-md-6 {\\n flex: 0 0 auto;\\n width: 50%;\\n }\\n .col-md-7 {\\n flex: 0 0 auto;\\n width: 58.33333333%;\\n }\\n .col-md-8 {\\n flex: 0 0 auto;\\n width: 66.66666667%;\\n }\\n .col-md-9 {\\n flex: 0 0 auto;\\n width: 75%;\\n }\\n .col-md-10 {\\n flex: 0 0 auto;\\n width: 83.33333333%;\\n }\\n .col-md-11 {\\n flex: 0 0 auto;\\n width: 91.66666667%;\\n }\\n .col-md-12 {\\n flex: 0 0 auto;\\n width: 100%;\\n }\\n .offset-md-0 {\\n margin-left: 0;\\n }\\n .offset-md-1 {\\n margin-left: 8.33333333%;\\n }\\n .offset-md-2 {\\n margin-left: 16.66666667%;\\n }\\n .offset-md-3 {\\n margin-left: 25%;\\n }\\n .offset-md-4 {\\n margin-left: 33.33333333%;\\n }\\n .offset-md-5 {\\n margin-left: 41.66666667%;\\n }\\n .offset-md-6 {\\n margin-left: 50%;\\n }\\n .offset-md-7 {\\n margin-left: 58.33333333%;\\n }\\n .offset-md-8 {\\n margin-left: 66.66666667%;\\n }\\n .offset-md-9 {\\n margin-left: 75%;\\n }\\n .offset-md-10 {\\n margin-left: 83.33333333%;\\n }\\n .offset-md-11 {\\n margin-left: 91.66666667%;\\n }\\n .g-md-0,\\n .gx-md-0 {\\n --bs-gutter-x: 0;\\n }\\n .g-md-0,\\n .gy-md-0 {\\n --bs-gutter-y: 0;\\n }\\n .g-md-1,\\n .gx-md-1 {\\n --bs-gutter-x: 0.25rem;\\n }\\n .g-md-1,\\n .gy-md-1 {\\n --bs-gutter-y: 0.25rem;\\n }\\n .g-md-2,\\n .gx-md-2 {\\n --bs-gutter-x: 0.5rem;\\n }\\n .g-md-2,\\n .gy-md-2 {\\n --bs-gutter-y: 0.5rem;\\n }\\n .g-md-3,\\n .gx-md-3 {\\n --bs-gutter-x: 1rem;\\n }\\n .g-md-3,\\n .gy-md-3 {\\n --bs-gutter-y: 1rem;\\n }\\n .g-md-4,\\n .gx-md-4 {\\n --bs-gutter-x: 1.5rem;\\n }\\n .g-md-4,\\n .gy-md-4 {\\n --bs-gutter-y: 1.5rem;\\n }\\n .g-md-5,\\n .gx-md-5 {\\n --bs-gutter-x: 3rem;\\n }\\n .g-md-5,\\n .gy-md-5 {\\n --bs-gutter-y: 3rem;\\n }\\n}\\n@media (min-width: 992px) {\\n .col-lg {\\n flex: 1 0 0%;\\n }\\n .row-cols-lg-auto > * {\\n flex: 0 0 auto;\\n width: auto;\\n }\\n .row-cols-lg-1 > * {\\n flex: 0 0 auto;\\n width: 100%;\\n }\\n .row-cols-lg-2 > * {\\n flex: 0 0 auto;\\n width: 50%;\\n }\\n .row-cols-lg-3 > * {\\n flex: 0 0 auto;\\n width: 33.3333333333%;\\n }\\n .row-cols-lg-4 > * {\\n flex: 0 0 auto;\\n width: 25%;\\n }\\n .row-cols-lg-5 > * {\\n flex: 0 0 auto;\\n width: 20%;\\n }\\n .row-cols-lg-6 > * {\\n flex: 0 0 auto;\\n width: 16.6666666667%;\\n }\\n .col-lg-auto {\\n flex: 0 0 auto;\\n width: auto;\\n }\\n .col-lg-1 {\\n flex: 0 0 auto;\\n width: 8.33333333%;\\n }\\n .col-lg-2 {\\n flex: 0 0 auto;\\n width: 16.66666667%;\\n }\\n .col-lg-3 {\\n flex: 0 0 auto;\\n width: 25%;\\n }\\n .col-lg-4 {\\n flex: 0 0 auto;\\n width: 33.33333333%;\\n }\\n .col-lg-5 {\\n flex: 0 0 auto;\\n width: 41.66666667%;\\n }\\n .col-lg-6 {\\n flex: 0 0 auto;\\n width: 50%;\\n }\\n .col-lg-7 {\\n flex: 0 0 auto;\\n width: 58.33333333%;\\n }\\n .col-lg-8 {\\n flex: 0 0 auto;\\n width: 66.66666667%;\\n }\\n .col-lg-9 {\\n flex: 0 0 auto;\\n width: 75%;\\n }\\n .col-lg-10 {\\n flex: 0 0 auto;\\n width: 83.33333333%;\\n }\\n .col-lg-11 {\\n flex: 0 0 auto;\\n width: 91.66666667%;\\n }\\n .col-lg-12 {\\n flex: 0 0 auto;\\n width: 100%;\\n }\\n .offset-lg-0 {\\n margin-left: 0;\\n }\\n .offset-lg-1 {\\n margin-left: 8.33333333%;\\n }\\n .offset-lg-2 {\\n margin-left: 16.66666667%;\\n }\\n .offset-lg-3 {\\n margin-left: 25%;\\n }\\n .offset-lg-4 {\\n margin-left: 33.33333333%;\\n }\\n .offset-lg-5 {\\n margin-left: 41.66666667%;\\n }\\n .offset-lg-6 {\\n margin-left: 50%;\\n }\\n .offset-lg-7 {\\n margin-left: 58.33333333%;\\n }\\n .offset-lg-8 {\\n margin-left: 66.66666667%;\\n }\\n .offset-lg-9 {\\n margin-left: 75%;\\n }\\n .offset-lg-10 {\\n margin-left: 83.33333333%;\\n }\\n .offset-lg-11 {\\n margin-left: 91.66666667%;\\n }\\n .g-lg-0,\\n .gx-lg-0 {\\n --bs-gutter-x: 0;\\n }\\n .g-lg-0,\\n .gy-lg-0 {\\n --bs-gutter-y: 0;\\n }\\n .g-lg-1,\\n .gx-lg-1 {\\n --bs-gutter-x: 0.25rem;\\n }\\n .g-lg-1,\\n .gy-lg-1 {\\n --bs-gutter-y: 0.25rem;\\n }\\n .g-lg-2,\\n .gx-lg-2 {\\n --bs-gutter-x: 0.5rem;\\n }\\n .g-lg-2,\\n .gy-lg-2 {\\n --bs-gutter-y: 0.5rem;\\n }\\n .g-lg-3,\\n .gx-lg-3 {\\n --bs-gutter-x: 1rem;\\n }\\n .g-lg-3,\\n .gy-lg-3 {\\n --bs-gutter-y: 1rem;\\n }\\n .g-lg-4,\\n .gx-lg-4 {\\n --bs-gutter-x: 1.5rem;\\n }\\n .g-lg-4,\\n .gy-lg-4 {\\n --bs-gutter-y: 1.5rem;\\n }\\n .g-lg-5,\\n .gx-lg-5 {\\n --bs-gutter-x: 3rem;\\n }\\n .g-lg-5,\\n .gy-lg-5 {\\n --bs-gutter-y: 3rem;\\n }\\n}\\n@media (min-width: 1200px) {\\n .col-xl {\\n flex: 1 0 0%;\\n }\\n .row-cols-xl-auto > * {\\n flex: 0 0 auto;\\n width: auto;\\n }\\n .row-cols-xl-1 > * {\\n flex: 0 0 auto;\\n width: 100%;\\n }\\n .row-cols-xl-2 > * {\\n flex: 0 0 auto;\\n width: 50%;\\n }\\n .row-cols-xl-3 > * {\\n flex: 0 0 auto;\\n width: 33.3333333333%;\\n }\\n .row-cols-xl-4 > * {\\n flex: 0 0 auto;\\n width: 25%;\\n }\\n .row-cols-xl-5 > * {\\n flex: 0 0 auto;\\n width: 20%;\\n }\\n .row-cols-xl-6 > * {\\n flex: 0 0 auto;\\n width: 16.6666666667%;\\n }\\n .col-xl-auto {\\n flex: 0 0 auto;\\n width: auto;\\n }\\n .col-xl-1 {\\n flex: 0 0 auto;\\n width: 8.33333333%;\\n }\\n .col-xl-2 {\\n flex: 0 0 auto;\\n width: 16.66666667%;\\n }\\n .col-xl-3 {\\n flex: 0 0 auto;\\n width: 25%;\\n }\\n .col-xl-4 {\\n flex: 0 0 auto;\\n width: 33.33333333%;\\n }\\n .col-xl-5 {\\n flex: 0 0 auto;\\n width: 41.66666667%;\\n }\\n .col-xl-6 {\\n flex: 0 0 auto;\\n width: 50%;\\n }\\n .col-xl-7 {\\n flex: 0 0 auto;\\n width: 58.33333333%;\\n }\\n .col-xl-8 {\\n flex: 0 0 auto;\\n width: 66.66666667%;\\n }\\n .col-xl-9 {\\n flex: 0 0 auto;\\n width: 75%;\\n }\\n .col-xl-10 {\\n flex: 0 0 auto;\\n width: 83.33333333%;\\n }\\n .col-xl-11 {\\n flex: 0 0 auto;\\n width: 91.66666667%;\\n }\\n .col-xl-12 {\\n flex: 0 0 auto;\\n width: 100%;\\n }\\n .offset-xl-0 {\\n margin-left: 0;\\n }\\n .offset-xl-1 {\\n margin-left: 8.33333333%;\\n }\\n .offset-xl-2 {\\n margin-left: 16.66666667%;\\n }\\n .offset-xl-3 {\\n margin-left: 25%;\\n }\\n .offset-xl-4 {\\n margin-left: 33.33333333%;\\n }\\n .offset-xl-5 {\\n margin-left: 41.66666667%;\\n }\\n .offset-xl-6 {\\n margin-left: 50%;\\n }\\n .offset-xl-7 {\\n margin-left: 58.33333333%;\\n }\\n .offset-xl-8 {\\n margin-left: 66.66666667%;\\n }\\n .offset-xl-9 {\\n margin-left: 75%;\\n }\\n .offset-xl-10 {\\n margin-left: 83.33333333%;\\n }\\n .offset-xl-11 {\\n margin-left: 91.66666667%;\\n }\\n .g-xl-0,\\n .gx-xl-0 {\\n --bs-gutter-x: 0;\\n }\\n .g-xl-0,\\n .gy-xl-0 {\\n --bs-gutter-y: 0;\\n }\\n .g-xl-1,\\n .gx-xl-1 {\\n --bs-gutter-x: 0.25rem;\\n }\\n .g-xl-1,\\n .gy-xl-1 {\\n --bs-gutter-y: 0.25rem;\\n }\\n .g-xl-2,\\n .gx-xl-2 {\\n --bs-gutter-x: 0.5rem;\\n }\\n .g-xl-2,\\n .gy-xl-2 {\\n --bs-gutter-y: 0.5rem;\\n }\\n .g-xl-3,\\n .gx-xl-3 {\\n --bs-gutter-x: 1rem;\\n }\\n .g-xl-3,\\n .gy-xl-3 {\\n --bs-gutter-y: 1rem;\\n }\\n .g-xl-4,\\n .gx-xl-4 {\\n --bs-gutter-x: 1.5rem;\\n }\\n .g-xl-4,\\n .gy-xl-4 {\\n --bs-gutter-y: 1.5rem;\\n }\\n .g-xl-5,\\n .gx-xl-5 {\\n --bs-gutter-x: 3rem;\\n }\\n .g-xl-5,\\n .gy-xl-5 {\\n --bs-gutter-y: 3rem;\\n }\\n}\\n@media (min-width: 1400px) {\\n .col-xxl {\\n flex: 1 0 0%;\\n }\\n .row-cols-xxl-auto > * {\\n flex: 0 0 auto;\\n width: auto;\\n }\\n .row-cols-xxl-1 > * {\\n flex: 0 0 auto;\\n width: 100%;\\n }\\n .row-cols-xxl-2 > * {\\n flex: 0 0 auto;\\n width: 50%;\\n }\\n .row-cols-xxl-3 > * {\\n flex: 0 0 auto;\\n width: 33.3333333333%;\\n }\\n .row-cols-xxl-4 > * {\\n flex: 0 0 auto;\\n width: 25%;\\n }\\n .row-cols-xxl-5 > * {\\n flex: 0 0 auto;\\n width: 20%;\\n }\\n .row-cols-xxl-6 > * {\\n flex: 0 0 auto;\\n width: 16.6666666667%;\\n }\\n .col-xxl-auto {\\n flex: 0 0 auto;\\n width: auto;\\n }\\n .col-xxl-1 {\\n flex: 0 0 auto;\\n width: 8.33333333%;\\n }\\n .col-xxl-2 {\\n flex: 0 0 auto;\\n width: 16.66666667%;\\n }\\n .col-xxl-3 {\\n flex: 0 0 auto;\\n width: 25%;\\n }\\n .col-xxl-4 {\\n flex: 0 0 auto;\\n width: 33.33333333%;\\n }\\n .col-xxl-5 {\\n flex: 0 0 auto;\\n width: 41.66666667%;\\n }\\n .col-xxl-6 {\\n flex: 0 0 auto;\\n width: 50%;\\n }\\n .col-xxl-7 {\\n flex: 0 0 auto;\\n width: 58.33333333%;\\n }\\n .col-xxl-8 {\\n flex: 0 0 auto;\\n width: 66.66666667%;\\n }\\n .col-xxl-9 {\\n flex: 0 0 auto;\\n width: 75%;\\n }\\n .col-xxl-10 {\\n flex: 0 0 auto;\\n width: 83.33333333%;\\n }\\n .col-xxl-11 {\\n flex: 0 0 auto;\\n width: 91.66666667%;\\n }\\n .col-xxl-12 {\\n flex: 0 0 auto;\\n width: 100%;\\n }\\n .offset-xxl-0 {\\n margin-left: 0;\\n }\\n .offset-xxl-1 {\\n margin-left: 8.33333333%;\\n }\\n .offset-xxl-2 {\\n margin-left: 16.66666667%;\\n }\\n .offset-xxl-3 {\\n margin-left: 25%;\\n }\\n .offset-xxl-4 {\\n margin-left: 33.33333333%;\\n }\\n .offset-xxl-5 {\\n margin-left: 41.66666667%;\\n }\\n .offset-xxl-6 {\\n margin-left: 50%;\\n }\\n .offset-xxl-7 {\\n margin-left: 58.33333333%;\\n }\\n .offset-xxl-8 {\\n margin-left: 66.66666667%;\\n }\\n .offset-xxl-9 {\\n margin-left: 75%;\\n }\\n .offset-xxl-10 {\\n margin-left: 83.33333333%;\\n }\\n .offset-xxl-11 {\\n margin-left: 91.66666667%;\\n }\\n .g-xxl-0,\\n .gx-xxl-0 {\\n --bs-gutter-x: 0;\\n }\\n .g-xxl-0,\\n .gy-xxl-0 {\\n --bs-gutter-y: 0;\\n }\\n .g-xxl-1,\\n .gx-xxl-1 {\\n --bs-gutter-x: 0.25rem;\\n }\\n .g-xxl-1,\\n .gy-xxl-1 {\\n --bs-gutter-y: 0.25rem;\\n }\\n .g-xxl-2,\\n .gx-xxl-2 {\\n --bs-gutter-x: 0.5rem;\\n }\\n .g-xxl-2,\\n .gy-xxl-2 {\\n --bs-gutter-y: 0.5rem;\\n }\\n .g-xxl-3,\\n .gx-xxl-3 {\\n --bs-gutter-x: 1rem;\\n }\\n .g-xxl-3,\\n .gy-xxl-3 {\\n --bs-gutter-y: 1rem;\\n }\\n .g-xxl-4,\\n .gx-xxl-4 {\\n --bs-gutter-x: 1.5rem;\\n }\\n .g-xxl-4,\\n .gy-xxl-4 {\\n --bs-gutter-y: 1.5rem;\\n }\\n .g-xxl-5,\\n .gx-xxl-5 {\\n --bs-gutter-x: 3rem;\\n }\\n .g-xxl-5,\\n .gy-xxl-5 {\\n --bs-gutter-y: 3rem;\\n }\\n}\\n.table {\\n --bs-table-color: var(--bs-body-color);\\n --bs-table-bg: transparent;\\n --bs-table-border-color: var(--bs-border-color);\\n --bs-table-accent-bg: transparent;\\n --bs-table-striped-color: var(--bs-body-color);\\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\\n --bs-table-active-color: var(--bs-body-color);\\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\\n --bs-table-hover-color: var(--bs-body-color);\\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\\n width: 100%;\\n margin-bottom: 1rem;\\n color: var(--bs-table-color);\\n vertical-align: top;\\n border-color: var(--bs-table-border-color);\\n}\\n\\n.table > :not(caption) > * > * {\\n padding: 0.5rem 0.5rem;\\n background-color: var(--bs-table-bg);\\n border-bottom-width: 1px;\\n box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);\\n}\\n\\n.table > tbody {\\n vertical-align: inherit;\\n}\\n\\n.table > thead {\\n vertical-align: bottom;\\n}\\n\\n.table-group-divider {\\n border-top: 2px solid currentcolor;\\n}\\n\\n.caption-top {\\n caption-side: top;\\n}\\n\\n.table-sm > :not(caption) > * > * {\\n padding: 0.25rem 0.25rem;\\n}\\n\\n.table-bordered > :not(caption) > * {\\n border-width: 1px 0;\\n}\\n\\n.table-bordered > :not(caption) > * > * {\\n border-width: 0 1px;\\n}\\n\\n.table-borderless > :not(caption) > * > * {\\n border-bottom-width: 0;\\n}\\n\\n.table-borderless > :not(:first-child) {\\n border-top-width: 0;\\n}\\n\\n.table-striped > tbody > tr:nth-of-type(odd) > * {\\n --bs-table-accent-bg: var(--bs-table-striped-bg);\\n color: var(--bs-table-striped-color);\\n}\\n\\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\\n --bs-table-accent-bg: var(--bs-table-striped-bg);\\n color: var(--bs-table-striped-color);\\n}\\n\\n.table-active {\\n --bs-table-accent-bg: var(--bs-table-active-bg);\\n color: var(--bs-table-active-color);\\n}\\n\\n.table-hover > tbody > tr:hover > * {\\n --bs-table-accent-bg: var(--bs-table-hover-bg);\\n color: var(--bs-table-hover-color);\\n}\\n\\n.table-primary {\\n --bs-table-color: #000;\\n --bs-table-bg: #cfe2ff;\\n --bs-table-border-color: #bacbe6;\\n --bs-table-striped-bg: #c5d7f2;\\n --bs-table-striped-color: #000;\\n --bs-table-active-bg: #bacbe6;\\n --bs-table-active-color: #000;\\n --bs-table-hover-bg: #bfd1ec;\\n --bs-table-hover-color: #000;\\n color: var(--bs-table-color);\\n border-color: var(--bs-table-border-color);\\n}\\n\\n.table-secondary {\\n --bs-table-color: #000;\\n --bs-table-bg: #e2e3e5;\\n --bs-table-border-color: #cbccce;\\n --bs-table-striped-bg: #d7d8da;\\n --bs-table-striped-color: #000;\\n --bs-table-active-bg: #cbccce;\\n --bs-table-active-color: #000;\\n --bs-table-hover-bg: #d1d2d4;\\n --bs-table-hover-color: #000;\\n color: var(--bs-table-color);\\n border-color: var(--bs-table-border-color);\\n}\\n\\n.table-success {\\n --bs-table-color: #000;\\n --bs-table-bg: #d1e7dd;\\n --bs-table-border-color: #bcd0c7;\\n --bs-table-striped-bg: #c7dbd2;\\n --bs-table-striped-color: #000;\\n --bs-table-active-bg: #bcd0c7;\\n --bs-table-active-color: #000;\\n --bs-table-hover-bg: #c1d6cc;\\n --bs-table-hover-color: #000;\\n color: var(--bs-table-color);\\n border-color: var(--bs-table-border-color);\\n}\\n\\n.table-info {\\n --bs-table-color: #000;\\n --bs-table-bg: #cff4fc;\\n --bs-table-border-color: #badce3;\\n --bs-table-striped-bg: #c5e8ef;\\n --bs-table-striped-color: #000;\\n --bs-table-active-bg: #badce3;\\n --bs-table-active-color: #000;\\n --bs-table-hover-bg: #bfe2e9;\\n --bs-table-hover-color: #000;\\n color: var(--bs-table-color);\\n border-color: var(--bs-table-border-color);\\n}\\n\\n.table-warning {\\n --bs-table-color: #000;\\n --bs-table-bg: #fff3cd;\\n --bs-table-border-color: #e6dbb9;\\n --bs-table-striped-bg: #f2e7c3;\\n --bs-table-striped-color: #000;\\n --bs-table-active-bg: #e6dbb9;\\n --bs-table-active-color: #000;\\n --bs-table-hover-bg: #ece1be;\\n --bs-table-hover-color: #000;\\n color: var(--bs-table-color);\\n border-color: var(--bs-table-border-color);\\n}\\n\\n.table-danger {\\n --bs-table-color: #000;\\n --bs-table-bg: #f8d7da;\\n --bs-table-border-color: #dfc2c4;\\n --bs-table-striped-bg: #eccccf;\\n --bs-table-striped-color: #000;\\n --bs-table-active-bg: #dfc2c4;\\n --bs-table-active-color: #000;\\n --bs-table-hover-bg: #e5c7ca;\\n --bs-table-hover-color: #000;\\n color: var(--bs-table-color);\\n border-color: var(--bs-table-border-color);\\n}\\n\\n.table-light {\\n --bs-table-color: #000;\\n --bs-table-bg: #f8f9fa;\\n --bs-table-border-color: #dfe0e1;\\n --bs-table-striped-bg: #ecedee;\\n --bs-table-striped-color: #000;\\n --bs-table-active-bg: #dfe0e1;\\n --bs-table-active-color: #000;\\n --bs-table-hover-bg: #e5e6e7;\\n --bs-table-hover-color: #000;\\n color: var(--bs-table-color);\\n border-color: var(--bs-table-border-color);\\n}\\n\\n.table-dark {\\n --bs-table-color: #fff;\\n --bs-table-bg: #212529;\\n --bs-table-border-color: #373b3e;\\n --bs-table-striped-bg: #2c3034;\\n --bs-table-striped-color: #fff;\\n --bs-table-active-bg: #373b3e;\\n --bs-table-active-color: #fff;\\n --bs-table-hover-bg: #323539;\\n --bs-table-hover-color: #fff;\\n color: var(--bs-table-color);\\n border-color: var(--bs-table-border-color);\\n}\\n\\n.table-responsive {\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n}\\n\\n@media (max-width: 575.98px) {\\n .table-responsive-sm {\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n }\\n}\\n@media (max-width: 767.98px) {\\n .table-responsive-md {\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n }\\n}\\n@media (max-width: 991.98px) {\\n .table-responsive-lg {\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .table-responsive-xl {\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n }\\n}\\n@media (max-width: 1399.98px) {\\n .table-responsive-xxl {\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n }\\n}\\n.form-label {\\n margin-bottom: 0.5rem;\\n}\\n\\n.col-form-label {\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n font-size: inherit;\\n line-height: 1.5;\\n}\\n\\n.col-form-label-lg {\\n padding-top: calc(0.5rem + 1px);\\n padding-bottom: calc(0.5rem + 1px);\\n font-size: 1.25rem;\\n}\\n\\n.col-form-label-sm {\\n padding-top: calc(0.25rem + 1px);\\n padding-bottom: calc(0.25rem + 1px);\\n font-size: 0.875rem;\\n}\\n\\n.form-text {\\n margin-top: 0.25rem;\\n font-size: 0.875em;\\n color: #6c757d;\\n}\\n\\n.form-control {\\n display: block;\\n width: 100%;\\n padding: 0.375rem 0.75rem;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #212529;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ced4da;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n border-radius: 0.375rem;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .form-control {\\n transition: none;\\n }\\n}\\n.form-control[type=file] {\\n overflow: hidden;\\n}\\n\\n.form-control[type=file]:not(:disabled):not([readonly]) {\\n cursor: pointer;\\n}\\n\\n.form-control:focus {\\n color: #212529;\\n background-color: #fff;\\n border-color: #86b7fe;\\n outline: 0;\\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\\n}\\n\\n.form-control::-webkit-date-and-time-value {\\n height: 1.5em;\\n}\\n\\n.form-control::-moz-placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n\\n.form-control::placeholder {\\n color: #6c757d;\\n opacity: 1;\\n}\\n\\n.form-control:disabled {\\n background-color: #e9ecef;\\n opacity: 1;\\n}\\n\\n.form-control::-webkit-file-upload-button {\\n padding: 0.375rem 0.75rem;\\n margin: -0.375rem -0.75rem;\\n -webkit-margin-end: 0.75rem;\\n margin-inline-end: 0.75rem;\\n color: #212529;\\n background-color: #e9ecef;\\n pointer-events: none;\\n border-color: inherit;\\n border-style: solid;\\n border-width: 0;\\n border-inline-end-width: 1px;\\n border-radius: 0;\\n -webkit-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;\\n 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;\\n}\\n\\n.form-control::file-selector-button {\\n padding: 0.375rem 0.75rem;\\n margin: -0.375rem -0.75rem;\\n -webkit-margin-end: 0.75rem;\\n margin-inline-end: 0.75rem;\\n color: #212529;\\n background-color: #e9ecef;\\n pointer-events: none;\\n border-color: inherit;\\n border-style: solid;\\n border-width: 0;\\n border-inline-end-width: 1px;\\n border-radius: 0;\\n 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;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .form-control::-webkit-file-upload-button {\\n -webkit-transition: none;\\n transition: none;\\n }\\n .form-control::file-selector-button {\\n transition: none;\\n }\\n}\\n.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {\\n background-color: #dde0e3;\\n}\\n\\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\\n background-color: #dde0e3;\\n}\\n\\n.form-control-plaintext {\\n display: block;\\n width: 100%;\\n padding: 0.375rem 0;\\n margin-bottom: 0;\\n line-height: 1.5;\\n color: #212529;\\n background-color: transparent;\\n border: solid transparent;\\n border-width: 1px 0;\\n}\\n\\n.form-control-plaintext:focus {\\n outline: 0;\\n}\\n\\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\\n padding-right: 0;\\n padding-left: 0;\\n}\\n\\n.form-control-sm {\\n min-height: calc(1.5em + 0.5rem + 2px);\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n border-radius: 0.25rem;\\n}\\n\\n.form-control-sm::-webkit-file-upload-button {\\n padding: 0.25rem 0.5rem;\\n margin: -0.25rem -0.5rem;\\n -webkit-margin-end: 0.5rem;\\n margin-inline-end: 0.5rem;\\n}\\n\\n.form-control-sm::file-selector-button {\\n padding: 0.25rem 0.5rem;\\n margin: -0.25rem -0.5rem;\\n -webkit-margin-end: 0.5rem;\\n margin-inline-end: 0.5rem;\\n}\\n\\n.form-control-lg {\\n min-height: calc(1.5em + 1rem + 2px);\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n border-radius: 0.5rem;\\n}\\n\\n.form-control-lg::-webkit-file-upload-button {\\n padding: 0.5rem 1rem;\\n margin: -0.5rem -1rem;\\n -webkit-margin-end: 1rem;\\n margin-inline-end: 1rem;\\n}\\n\\n.form-control-lg::file-selector-button {\\n padding: 0.5rem 1rem;\\n margin: -0.5rem -1rem;\\n -webkit-margin-end: 1rem;\\n margin-inline-end: 1rem;\\n}\\n\\ntextarea.form-control {\\n min-height: calc(1.5em + 0.75rem + 2px);\\n}\\n\\ntextarea.form-control-sm {\\n min-height: calc(1.5em + 0.5rem + 2px);\\n}\\n\\ntextarea.form-control-lg {\\n min-height: calc(1.5em + 1rem + 2px);\\n}\\n\\n.form-control-color {\\n width: 3rem;\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.375rem;\\n}\\n\\n.form-control-color:not(:disabled):not([readonly]) {\\n cursor: pointer;\\n}\\n\\n.form-control-color::-moz-color-swatch {\\n border: 0 !important;\\n border-radius: 0.375rem;\\n}\\n\\n.form-control-color::-webkit-color-swatch {\\n border-radius: 0.375rem;\\n}\\n\\n.form-control-color.form-control-sm {\\n height: calc(1.5em + 0.5rem + 2px);\\n}\\n\\n.form-control-color.form-control-lg {\\n height: calc(1.5em + 1rem + 2px);\\n}\\n\\n.form-select {\\n display: block;\\n width: 100%;\\n padding: 0.375rem 2.25rem 0.375rem 0.75rem;\\n -moz-padding-start: calc(0.75rem - 3px);\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #212529;\\n background-color: #fff;\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n background-repeat: no-repeat;\\n background-position: right 0.75rem center;\\n background-size: 16px 12px;\\n border: 1px solid #ced4da;\\n border-radius: 0.375rem;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .form-select {\\n transition: none;\\n }\\n}\\n.form-select:focus {\\n border-color: #86b7fe;\\n outline: 0;\\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\\n}\\n\\n.form-select[multiple], .form-select[size]:not([size=\\\"1\\\"]) {\\n padding-right: 0.75rem;\\n background-image: none;\\n}\\n\\n.form-select:disabled {\\n background-color: #e9ecef;\\n}\\n\\n.form-select:-moz-focusring {\\n color: transparent;\\n text-shadow: 0 0 0 #212529;\\n}\\n\\n.form-select-sm {\\n padding-top: 0.25rem;\\n padding-bottom: 0.25rem;\\n padding-left: 0.5rem;\\n font-size: 0.875rem;\\n border-radius: 0.25rem;\\n}\\n\\n.form-select-lg {\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n padding-left: 1rem;\\n font-size: 1.25rem;\\n border-radius: 0.5rem;\\n}\\n\\n.form-check {\\n display: block;\\n min-height: 1.5rem;\\n padding-left: 1.5em;\\n margin-bottom: 0.125rem;\\n}\\n\\n.form-check .form-check-input {\\n float: left;\\n margin-left: -1.5em;\\n}\\n\\n.form-check-reverse {\\n padding-right: 1.5em;\\n padding-left: 0;\\n text-align: right;\\n}\\n\\n.form-check-reverse .form-check-input {\\n float: right;\\n margin-right: -1.5em;\\n margin-left: 0;\\n}\\n\\n.form-check-input {\\n width: 1em;\\n height: 1em;\\n margin-top: 0.25em;\\n vertical-align: top;\\n background-color: #fff;\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: contain;\\n border: 1px solid rgba(0, 0, 0, 0.25);\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n -webkit-print-color-adjust: exact;\\n color-adjust: exact;\\n print-color-adjust: exact;\\n}\\n\\n.form-check-input[type=checkbox] {\\n border-radius: 0.25em;\\n}\\n\\n.form-check-input[type=radio] {\\n border-radius: 50%;\\n}\\n\\n.form-check-input:active {\\n filter: brightness(90%);\\n}\\n\\n.form-check-input:focus {\\n border-color: #86b7fe;\\n outline: 0;\\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\\n}\\n\\n.form-check-input:checked {\\n background-color: #0d6efd;\\n border-color: #0d6efd;\\n}\\n\\n.form-check-input:checked[type=checkbox] {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");\\n}\\n\\n.form-check-input:checked[type=radio] {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \");\\n}\\n\\n.form-check-input[type=checkbox]:indeterminate {\\n background-color: #0d6efd;\\n border-color: #0d6efd;\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \");\\n}\\n\\n.form-check-input:disabled {\\n pointer-events: none;\\n filter: none;\\n opacity: 0.5;\\n}\\n\\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\\n cursor: default;\\n opacity: 0.5;\\n}\\n\\n.form-switch {\\n padding-left: 2.5em;\\n}\\n\\n.form-switch .form-check-input {\\n width: 2em;\\n margin-left: -2.5em;\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \");\\n background-position: left center;\\n border-radius: 2em;\\n transition: background-position 0.15s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .form-switch .form-check-input {\\n transition: none;\\n }\\n}\\n.form-switch .form-check-input:focus {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \");\\n}\\n\\n.form-switch .form-check-input:checked {\\n background-position: right center;\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \");\\n}\\n\\n.form-switch.form-check-reverse {\\n padding-right: 2.5em;\\n padding-left: 0;\\n}\\n\\n.form-switch.form-check-reverse .form-check-input {\\n margin-right: -2.5em;\\n margin-left: 0;\\n}\\n\\n.form-check-inline {\\n display: inline-block;\\n margin-right: 1rem;\\n}\\n\\n.btn-check {\\n position: absolute;\\n clip: rect(0, 0, 0, 0);\\n pointer-events: none;\\n}\\n\\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\\n pointer-events: none;\\n filter: none;\\n opacity: 0.65;\\n}\\n\\n.form-range {\\n width: 100%;\\n height: 1.5rem;\\n padding: 0;\\n background-color: transparent;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n\\n.form-range:focus {\\n outline: 0;\\n}\\n\\n.form-range:focus::-webkit-slider-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\\n}\\n\\n.form-range:focus::-moz-range-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\\n}\\n\\n.form-range::-moz-focus-outer {\\n border: 0;\\n}\\n\\n.form-range::-webkit-slider-thumb {\\n width: 1rem;\\n height: 1rem;\\n margin-top: -0.25rem;\\n background-color: #0d6efd;\\n border: 0;\\n border-radius: 1rem;\\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n -webkit-appearance: none;\\n appearance: none;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .form-range::-webkit-slider-thumb {\\n -webkit-transition: none;\\n transition: none;\\n }\\n}\\n.form-range::-webkit-slider-thumb:active {\\n background-color: #b6d4fe;\\n}\\n\\n.form-range::-webkit-slider-runnable-track {\\n width: 100%;\\n height: 0.5rem;\\n color: transparent;\\n cursor: pointer;\\n background-color: #dee2e6;\\n border-color: transparent;\\n border-radius: 1rem;\\n}\\n\\n.form-range::-moz-range-thumb {\\n width: 1rem;\\n height: 1rem;\\n background-color: #0d6efd;\\n border: 0;\\n border-radius: 1rem;\\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .form-range::-moz-range-thumb {\\n -moz-transition: none;\\n transition: none;\\n }\\n}\\n.form-range::-moz-range-thumb:active {\\n background-color: #b6d4fe;\\n}\\n\\n.form-range::-moz-range-track {\\n width: 100%;\\n height: 0.5rem;\\n color: transparent;\\n cursor: pointer;\\n background-color: #dee2e6;\\n border-color: transparent;\\n border-radius: 1rem;\\n}\\n\\n.form-range:disabled {\\n pointer-events: none;\\n}\\n\\n.form-range:disabled::-webkit-slider-thumb {\\n background-color: #adb5bd;\\n}\\n\\n.form-range:disabled::-moz-range-thumb {\\n background-color: #adb5bd;\\n}\\n\\n.form-floating {\\n position: relative;\\n}\\n\\n.form-floating > .form-control,\\n.form-floating > .form-control-plaintext,\\n.form-floating > .form-select {\\n height: calc(3.5rem + 2px);\\n line-height: 1.25;\\n}\\n\\n.form-floating > label {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n padding: 1rem 0.75rem;\\n overflow: hidden;\\n text-align: start;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n pointer-events: none;\\n border: 1px solid transparent;\\n transform-origin: 0 0;\\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .form-floating > label {\\n transition: none;\\n }\\n}\\n.form-floating > .form-control,\\n.form-floating > .form-control-plaintext {\\n padding: 1rem 0.75rem;\\n}\\n\\n.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {\\n color: transparent;\\n}\\n\\n.form-floating > .form-control::placeholder,\\n.form-floating > .form-control-plaintext::placeholder {\\n color: transparent;\\n}\\n\\n.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {\\n padding-top: 1.625rem;\\n padding-bottom: 0.625rem;\\n}\\n\\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\\n.form-floating > .form-control-plaintext:focus,\\n.form-floating > .form-control-plaintext:not(:placeholder-shown) {\\n padding-top: 1.625rem;\\n padding-bottom: 0.625rem;\\n}\\n\\n.form-floating > .form-control:-webkit-autofill,\\n.form-floating > .form-control-plaintext:-webkit-autofill {\\n padding-top: 1.625rem;\\n padding-bottom: 0.625rem;\\n}\\n\\n.form-floating > .form-select {\\n padding-top: 1.625rem;\\n padding-bottom: 0.625rem;\\n}\\n\\n.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {\\n opacity: 0.65;\\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\\n}\\n\\n.form-floating > .form-control:focus ~ label,\\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\\n.form-floating > .form-control-plaintext ~ label,\\n.form-floating > .form-select ~ label {\\n opacity: 0.65;\\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\\n}\\n\\n.form-floating > .form-control:-webkit-autofill ~ label {\\n opacity: 0.65;\\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\\n}\\n\\n.form-floating > .form-control-plaintext ~ label {\\n border-width: 1px 0;\\n}\\n\\n.input-group {\\n position: relative;\\n display: flex;\\n flex-wrap: wrap;\\n align-items: stretch;\\n width: 100%;\\n}\\n\\n.input-group > .form-control,\\n.input-group > .form-select,\\n.input-group > .form-floating {\\n position: relative;\\n flex: 1 1 auto;\\n width: 1%;\\n min-width: 0;\\n}\\n\\n.input-group > .form-control:focus,\\n.input-group > .form-select:focus,\\n.input-group > .form-floating:focus-within {\\n z-index: 5;\\n}\\n\\n.input-group .btn {\\n position: relative;\\n z-index: 2;\\n}\\n\\n.input-group .btn:focus {\\n z-index: 5;\\n}\\n\\n.input-group-text {\\n display: flex;\\n align-items: center;\\n padding: 0.375rem 0.75rem;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #212529;\\n text-align: center;\\n white-space: nowrap;\\n background-color: #e9ecef;\\n border: 1px solid #ced4da;\\n border-radius: 0.375rem;\\n}\\n\\n.input-group-lg > .form-control,\\n.input-group-lg > .form-select,\\n.input-group-lg > .input-group-text,\\n.input-group-lg > .btn {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n border-radius: 0.5rem;\\n}\\n\\n.input-group-sm > .form-control,\\n.input-group-sm > .form-select,\\n.input-group-sm > .input-group-text,\\n.input-group-sm > .btn {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n border-radius: 0.25rem;\\n}\\n\\n.input-group-lg > .form-select,\\n.input-group-sm > .form-select {\\n padding-right: 3rem;\\n}\\n\\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\\n margin-left: -1px;\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.input-group > .form-floating:not(:first-child) > .form-control,\\n.input-group > .form-floating:not(:first-child) > .form-select {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.valid-feedback {\\n display: none;\\n width: 100%;\\n margin-top: 0.25rem;\\n font-size: 0.875em;\\n color: #198754;\\n}\\n\\n.valid-tooltip {\\n position: absolute;\\n top: 100%;\\n z-index: 5;\\n display: none;\\n max-width: 100%;\\n padding: 0.25rem 0.5rem;\\n margin-top: 0.1rem;\\n font-size: 0.875rem;\\n color: #fff;\\n background-color: rgba(25, 135, 84, 0.9);\\n border-radius: 0.375rem;\\n}\\n\\n.was-validated :valid ~ .valid-feedback,\\n.was-validated :valid ~ .valid-tooltip,\\n.is-valid ~ .valid-feedback,\\n.is-valid ~ .valid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .form-control:valid, .form-control.is-valid {\\n border-color: #198754;\\n padding-right: calc(1.5em + 0.75rem);\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \");\\n background-repeat: no-repeat;\\n background-position: right calc(0.375em + 0.1875rem) center;\\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\\n}\\n\\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\\n border-color: #198754;\\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\\n}\\n\\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\\n padding-right: calc(1.5em + 0.75rem);\\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\\n}\\n\\n.was-validated .form-select:valid, .form-select.is-valid {\\n border-color: #198754;\\n}\\n\\n.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size=\\\"1\\\"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size=\\\"1\\\"] {\\n padding-right: 4.125rem;\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \");\\n background-position: right 0.75rem center, center right 2.25rem;\\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\\n}\\n\\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\\n border-color: #198754;\\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\\n}\\n\\n.was-validated .form-control-color:valid, .form-control-color.is-valid {\\n width: calc(3rem + 1.5em + 0.75rem);\\n}\\n\\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\\n border-color: #198754;\\n}\\n\\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\\n background-color: #198754;\\n}\\n\\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\\n}\\n\\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\\n color: #198754;\\n}\\n\\n.form-check-inline .form-check-input ~ .valid-feedback {\\n margin-left: 0.5em;\\n}\\n\\n.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\\n.was-validated .input-group > .form-select:not(:focus):valid,\\n.input-group > .form-select:not(:focus).is-valid,\\n.was-validated .input-group > .form-floating:not(:focus-within):valid,\\n.input-group > .form-floating:not(:focus-within).is-valid {\\n z-index: 3;\\n}\\n\\n.invalid-feedback {\\n display: none;\\n width: 100%;\\n margin-top: 0.25rem;\\n font-size: 0.875em;\\n color: #dc3545;\\n}\\n\\n.invalid-tooltip {\\n position: absolute;\\n top: 100%;\\n z-index: 5;\\n display: none;\\n max-width: 100%;\\n padding: 0.25rem 0.5rem;\\n margin-top: 0.1rem;\\n font-size: 0.875rem;\\n color: #fff;\\n background-color: rgba(220, 53, 69, 0.9);\\n border-radius: 0.375rem;\\n}\\n\\n.was-validated :invalid ~ .invalid-feedback,\\n.was-validated :invalid ~ .invalid-tooltip,\\n.is-invalid ~ .invalid-feedback,\\n.is-invalid ~ .invalid-tooltip {\\n display: block;\\n}\\n\\n.was-validated .form-control:invalid, .form-control.is-invalid {\\n border-color: #dc3545;\\n padding-right: calc(1.5em + 0.75rem);\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \");\\n background-repeat: no-repeat;\\n background-position: right calc(0.375em + 0.1875rem) center;\\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\\n}\\n\\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\\n}\\n\\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\\n padding-right: calc(1.5em + 0.75rem);\\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\\n}\\n\\n.was-validated .form-select:invalid, .form-select.is-invalid {\\n border-color: #dc3545;\\n}\\n\\n.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size=\\\"1\\\"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size=\\\"1\\\"] {\\n padding-right: 4.125rem;\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \"), url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \");\\n background-position: right 0.75rem center, center right 2.25rem;\\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\\n}\\n\\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\\n}\\n\\n.was-validated .form-control-color:invalid, .form-control-color.is-invalid {\\n width: calc(3rem + 1.5em + 0.75rem);\\n}\\n\\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\\n border-color: #dc3545;\\n}\\n\\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\\n background-color: #dc3545;\\n}\\n\\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\\n}\\n\\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\\n color: #dc3545;\\n}\\n\\n.form-check-inline .form-check-input ~ .invalid-feedback {\\n margin-left: 0.5em;\\n}\\n\\n.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\\n.was-validated .input-group > .form-select:not(:focus):invalid,\\n.input-group > .form-select:not(:focus).is-invalid,\\n.was-validated .input-group > .form-floating:not(:focus-within):invalid,\\n.input-group > .form-floating:not(:focus-within).is-invalid {\\n z-index: 4;\\n}\\n\\n.btn {\\n --bs-btn-padding-x: 0.75rem;\\n --bs-btn-padding-y: 0.375rem;\\n --bs-btn-font-family: ;\\n --bs-btn-font-size: 1rem;\\n --bs-btn-font-weight: 400;\\n --bs-btn-line-height: 1.5;\\n --bs-btn-color: #212529;\\n --bs-btn-bg: transparent;\\n --bs-btn-border-width: 1px;\\n --bs-btn-border-color: transparent;\\n --bs-btn-border-radius: 0.375rem;\\n --bs-btn-hover-border-color: transparent;\\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\\n --bs-btn-disabled-opacity: 0.65;\\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);\\n display: inline-block;\\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\\n font-family: var(--bs-btn-font-family);\\n font-size: var(--bs-btn-font-size);\\n font-weight: var(--bs-btn-font-weight);\\n line-height: var(--bs-btn-line-height);\\n color: var(--bs-btn-color);\\n text-align: center;\\n text-decoration: none;\\n vertical-align: middle;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\\n border-radius: var(--bs-btn-border-radius);\\n background-color: var(--bs-btn-bg);\\n 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;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .btn {\\n transition: none;\\n }\\n}\\n.btn:hover {\\n color: var(--bs-btn-hover-color);\\n background-color: var(--bs-btn-hover-bg);\\n border-color: var(--bs-btn-hover-border-color);\\n}\\n\\n.btn-check + .btn:hover {\\n color: var(--bs-btn-color);\\n background-color: var(--bs-btn-bg);\\n border-color: var(--bs-btn-border-color);\\n}\\n\\n.btn:focus-visible {\\n color: var(--bs-btn-hover-color);\\n background-color: var(--bs-btn-hover-bg);\\n border-color: var(--bs-btn-hover-border-color);\\n outline: 0;\\n box-shadow: var(--bs-btn-focus-box-shadow);\\n}\\n\\n.btn-check:focus-visible + .btn {\\n border-color: var(--bs-btn-hover-border-color);\\n outline: 0;\\n box-shadow: var(--bs-btn-focus-box-shadow);\\n}\\n\\n.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {\\n color: var(--bs-btn-active-color);\\n background-color: var(--bs-btn-active-bg);\\n border-color: var(--bs-btn-active-border-color);\\n}\\n\\n.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {\\n box-shadow: var(--bs-btn-focus-box-shadow);\\n}\\n\\n.btn:disabled, .btn.disabled, fieldset:disabled .btn {\\n color: var(--bs-btn-disabled-color);\\n pointer-events: none;\\n background-color: var(--bs-btn-disabled-bg);\\n border-color: var(--bs-btn-disabled-border-color);\\n opacity: var(--bs-btn-disabled-opacity);\\n}\\n\\n.btn-primary {\\n --bs-btn-color: #fff;\\n --bs-btn-bg: #0d6efd;\\n --bs-btn-border-color: #0d6efd;\\n --bs-btn-hover-color: #fff;\\n --bs-btn-hover-bg: #0b5ed7;\\n --bs-btn-hover-border-color: #0a58ca;\\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\\n --bs-btn-active-color: #fff;\\n --bs-btn-active-bg: #0a58ca;\\n --bs-btn-active-border-color: #0a53be;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #fff;\\n --bs-btn-disabled-bg: #0d6efd;\\n --bs-btn-disabled-border-color: #0d6efd;\\n}\\n\\n.btn-secondary {\\n --bs-btn-color: #fff;\\n --bs-btn-bg: #6c757d;\\n --bs-btn-border-color: #6c757d;\\n --bs-btn-hover-color: #fff;\\n --bs-btn-hover-bg: #5c636a;\\n --bs-btn-hover-border-color: #565e64;\\n --bs-btn-focus-shadow-rgb: 130, 138, 145;\\n --bs-btn-active-color: #fff;\\n --bs-btn-active-bg: #565e64;\\n --bs-btn-active-border-color: #51585e;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #fff;\\n --bs-btn-disabled-bg: #6c757d;\\n --bs-btn-disabled-border-color: #6c757d;\\n}\\n\\n.btn-success {\\n --bs-btn-color: #fff;\\n --bs-btn-bg: #198754;\\n --bs-btn-border-color: #198754;\\n --bs-btn-hover-color: #fff;\\n --bs-btn-hover-bg: #157347;\\n --bs-btn-hover-border-color: #146c43;\\n --bs-btn-focus-shadow-rgb: 60, 153, 110;\\n --bs-btn-active-color: #fff;\\n --bs-btn-active-bg: #146c43;\\n --bs-btn-active-border-color: #13653f;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #fff;\\n --bs-btn-disabled-bg: #198754;\\n --bs-btn-disabled-border-color: #198754;\\n}\\n\\n.btn-info {\\n --bs-btn-color: #000;\\n --bs-btn-bg: #0dcaf0;\\n --bs-btn-border-color: #0dcaf0;\\n --bs-btn-hover-color: #000;\\n --bs-btn-hover-bg: #31d2f2;\\n --bs-btn-hover-border-color: #25cff2;\\n --bs-btn-focus-shadow-rgb: 11, 172, 204;\\n --bs-btn-active-color: #000;\\n --bs-btn-active-bg: #3dd5f3;\\n --bs-btn-active-border-color: #25cff2;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #000;\\n --bs-btn-disabled-bg: #0dcaf0;\\n --bs-btn-disabled-border-color: #0dcaf0;\\n}\\n\\n.btn-warning {\\n --bs-btn-color: #000;\\n --bs-btn-bg: #ffc107;\\n --bs-btn-border-color: #ffc107;\\n --bs-btn-hover-color: #000;\\n --bs-btn-hover-bg: #ffca2c;\\n --bs-btn-hover-border-color: #ffc720;\\n --bs-btn-focus-shadow-rgb: 217, 164, 6;\\n --bs-btn-active-color: #000;\\n --bs-btn-active-bg: #ffcd39;\\n --bs-btn-active-border-color: #ffc720;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #000;\\n --bs-btn-disabled-bg: #ffc107;\\n --bs-btn-disabled-border-color: #ffc107;\\n}\\n\\n.btn-danger {\\n --bs-btn-color: #fff;\\n --bs-btn-bg: #dc3545;\\n --bs-btn-border-color: #dc3545;\\n --bs-btn-hover-color: #fff;\\n --bs-btn-hover-bg: #bb2d3b;\\n --bs-btn-hover-border-color: #b02a37;\\n --bs-btn-focus-shadow-rgb: 225, 83, 97;\\n --bs-btn-active-color: #fff;\\n --bs-btn-active-bg: #b02a37;\\n --bs-btn-active-border-color: #a52834;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #fff;\\n --bs-btn-disabled-bg: #dc3545;\\n --bs-btn-disabled-border-color: #dc3545;\\n}\\n\\n.btn-light {\\n --bs-btn-color: #000;\\n --bs-btn-bg: #f8f9fa;\\n --bs-btn-border-color: #f8f9fa;\\n --bs-btn-hover-color: #000;\\n --bs-btn-hover-bg: #d3d4d5;\\n --bs-btn-hover-border-color: #c6c7c8;\\n --bs-btn-focus-shadow-rgb: 211, 212, 213;\\n --bs-btn-active-color: #000;\\n --bs-btn-active-bg: #c6c7c8;\\n --bs-btn-active-border-color: #babbbc;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #000;\\n --bs-btn-disabled-bg: #f8f9fa;\\n --bs-btn-disabled-border-color: #f8f9fa;\\n}\\n\\n.btn-dark {\\n --bs-btn-color: #fff;\\n --bs-btn-bg: #212529;\\n --bs-btn-border-color: #212529;\\n --bs-btn-hover-color: #fff;\\n --bs-btn-hover-bg: #424649;\\n --bs-btn-hover-border-color: #373b3e;\\n --bs-btn-focus-shadow-rgb: 66, 70, 73;\\n --bs-btn-active-color: #fff;\\n --bs-btn-active-bg: #4d5154;\\n --bs-btn-active-border-color: #373b3e;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #fff;\\n --bs-btn-disabled-bg: #212529;\\n --bs-btn-disabled-border-color: #212529;\\n}\\n\\n.btn-outline-primary {\\n --bs-btn-color: #0d6efd;\\n --bs-btn-border-color: #0d6efd;\\n --bs-btn-hover-color: #fff;\\n --bs-btn-hover-bg: #0d6efd;\\n --bs-btn-hover-border-color: #0d6efd;\\n --bs-btn-focus-shadow-rgb: 13, 110, 253;\\n --bs-btn-active-color: #fff;\\n --bs-btn-active-bg: #0d6efd;\\n --bs-btn-active-border-color: #0d6efd;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #0d6efd;\\n --bs-btn-disabled-bg: transparent;\\n --bs-btn-disabled-border-color: #0d6efd;\\n --bs-gradient: none;\\n}\\n\\n.btn-outline-secondary {\\n --bs-btn-color: #6c757d;\\n --bs-btn-border-color: #6c757d;\\n --bs-btn-hover-color: #fff;\\n --bs-btn-hover-bg: #6c757d;\\n --bs-btn-hover-border-color: #6c757d;\\n --bs-btn-focus-shadow-rgb: 108, 117, 125;\\n --bs-btn-active-color: #fff;\\n --bs-btn-active-bg: #6c757d;\\n --bs-btn-active-border-color: #6c757d;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #6c757d;\\n --bs-btn-disabled-bg: transparent;\\n --bs-btn-disabled-border-color: #6c757d;\\n --bs-gradient: none;\\n}\\n\\n.btn-outline-success {\\n --bs-btn-color: #198754;\\n --bs-btn-border-color: #198754;\\n --bs-btn-hover-color: #fff;\\n --bs-btn-hover-bg: #198754;\\n --bs-btn-hover-border-color: #198754;\\n --bs-btn-focus-shadow-rgb: 25, 135, 84;\\n --bs-btn-active-color: #fff;\\n --bs-btn-active-bg: #198754;\\n --bs-btn-active-border-color: #198754;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #198754;\\n --bs-btn-disabled-bg: transparent;\\n --bs-btn-disabled-border-color: #198754;\\n --bs-gradient: none;\\n}\\n\\n.btn-outline-info {\\n --bs-btn-color: #0dcaf0;\\n --bs-btn-border-color: #0dcaf0;\\n --bs-btn-hover-color: #000;\\n --bs-btn-hover-bg: #0dcaf0;\\n --bs-btn-hover-border-color: #0dcaf0;\\n --bs-btn-focus-shadow-rgb: 13, 202, 240;\\n --bs-btn-active-color: #000;\\n --bs-btn-active-bg: #0dcaf0;\\n --bs-btn-active-border-color: #0dcaf0;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #0dcaf0;\\n --bs-btn-disabled-bg: transparent;\\n --bs-btn-disabled-border-color: #0dcaf0;\\n --bs-gradient: none;\\n}\\n\\n.btn-outline-warning {\\n --bs-btn-color: #ffc107;\\n --bs-btn-border-color: #ffc107;\\n --bs-btn-hover-color: #000;\\n --bs-btn-hover-bg: #ffc107;\\n --bs-btn-hover-border-color: #ffc107;\\n --bs-btn-focus-shadow-rgb: 255, 193, 7;\\n --bs-btn-active-color: #000;\\n --bs-btn-active-bg: #ffc107;\\n --bs-btn-active-border-color: #ffc107;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #ffc107;\\n --bs-btn-disabled-bg: transparent;\\n --bs-btn-disabled-border-color: #ffc107;\\n --bs-gradient: none;\\n}\\n\\n.btn-outline-danger {\\n --bs-btn-color: #dc3545;\\n --bs-btn-border-color: #dc3545;\\n --bs-btn-hover-color: #fff;\\n --bs-btn-hover-bg: #dc3545;\\n --bs-btn-hover-border-color: #dc3545;\\n --bs-btn-focus-shadow-rgb: 220, 53, 69;\\n --bs-btn-active-color: #fff;\\n --bs-btn-active-bg: #dc3545;\\n --bs-btn-active-border-color: #dc3545;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #dc3545;\\n --bs-btn-disabled-bg: transparent;\\n --bs-btn-disabled-border-color: #dc3545;\\n --bs-gradient: none;\\n}\\n\\n.btn-outline-light {\\n --bs-btn-color: #f8f9fa;\\n --bs-btn-border-color: #f8f9fa;\\n --bs-btn-hover-color: #000;\\n --bs-btn-hover-bg: #f8f9fa;\\n --bs-btn-hover-border-color: #f8f9fa;\\n --bs-btn-focus-shadow-rgb: 248, 249, 250;\\n --bs-btn-active-color: #000;\\n --bs-btn-active-bg: #f8f9fa;\\n --bs-btn-active-border-color: #f8f9fa;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #f8f9fa;\\n --bs-btn-disabled-bg: transparent;\\n --bs-btn-disabled-border-color: #f8f9fa;\\n --bs-gradient: none;\\n}\\n\\n.btn-outline-dark {\\n --bs-btn-color: #212529;\\n --bs-btn-border-color: #212529;\\n --bs-btn-hover-color: #fff;\\n --bs-btn-hover-bg: #212529;\\n --bs-btn-hover-border-color: #212529;\\n --bs-btn-focus-shadow-rgb: 33, 37, 41;\\n --bs-btn-active-color: #fff;\\n --bs-btn-active-bg: #212529;\\n --bs-btn-active-border-color: #212529;\\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n --bs-btn-disabled-color: #212529;\\n --bs-btn-disabled-bg: transparent;\\n --bs-btn-disabled-border-color: #212529;\\n --bs-gradient: none;\\n}\\n\\n.btn-link {\\n --bs-btn-font-weight: 400;\\n --bs-btn-color: var(--bs-link-color);\\n --bs-btn-bg: transparent;\\n --bs-btn-border-color: transparent;\\n --bs-btn-hover-color: var(--bs-link-hover-color);\\n --bs-btn-hover-border-color: transparent;\\n --bs-btn-active-color: var(--bs-link-hover-color);\\n --bs-btn-active-border-color: transparent;\\n --bs-btn-disabled-color: #6c757d;\\n --bs-btn-disabled-border-color: transparent;\\n --bs-btn-box-shadow: none;\\n --bs-btn-focus-shadow-rgb: 49, 132, 253;\\n text-decoration: underline;\\n}\\n\\n.btn-link:focus-visible {\\n color: var(--bs-btn-color);\\n}\\n\\n.btn-link:hover {\\n color: var(--bs-btn-hover-color);\\n}\\n\\n.btn-lg, .btn-group-lg > .btn {\\n --bs-btn-padding-y: 0.5rem;\\n --bs-btn-padding-x: 1rem;\\n --bs-btn-font-size: 1.25rem;\\n --bs-btn-border-radius: 0.5rem;\\n}\\n\\n.btn-sm, .btn-group-sm > .btn {\\n --bs-btn-padding-y: 0.25rem;\\n --bs-btn-padding-x: 0.5rem;\\n --bs-btn-font-size: 0.875rem;\\n --bs-btn-border-radius: 0.25rem;\\n}\\n\\n.fade {\\n transition: opacity 0.15s linear;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fade {\\n transition: none;\\n }\\n}\\n.fade:not(.show) {\\n opacity: 0;\\n}\\n\\n.collapse:not(.show) {\\n display: none;\\n}\\n\\n.collapsing {\\n height: 0;\\n overflow: hidden;\\n transition: height 0.35s ease;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .collapsing {\\n transition: none;\\n }\\n}\\n.collapsing.collapse-horizontal {\\n width: 0;\\n height: auto;\\n transition: width 0.35s ease;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .collapsing.collapse-horizontal {\\n transition: none;\\n }\\n}\\n.dropup,\\n.dropend,\\n.dropdown,\\n.dropstart,\\n.dropup-center,\\n.dropdown-center {\\n position: relative;\\n}\\n\\n.dropdown-toggle {\\n white-space: nowrap;\\n}\\n\\n.dropdown-toggle::after {\\n display: inline-block;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0.3em solid;\\n border-right: 0.3em solid transparent;\\n border-bottom: 0;\\n border-left: 0.3em solid transparent;\\n}\\n\\n.dropdown-toggle:empty::after {\\n margin-left: 0;\\n}\\n\\n.dropdown-menu {\\n --bs-dropdown-zindex: 1000;\\n --bs-dropdown-min-width: 10rem;\\n --bs-dropdown-padding-x: 0;\\n --bs-dropdown-padding-y: 0.5rem;\\n --bs-dropdown-spacer: 0.125rem;\\n --bs-dropdown-font-size: 1rem;\\n --bs-dropdown-color: #212529;\\n --bs-dropdown-bg: #fff;\\n --bs-dropdown-border-color: var(--bs-border-color-translucent);\\n --bs-dropdown-border-radius: 0.375rem;\\n --bs-dropdown-border-width: 1px;\\n --bs-dropdown-inner-border-radius: calc(0.375rem - 1px);\\n --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\\n --bs-dropdown-divider-margin-y: 0.5rem;\\n --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\\n --bs-dropdown-link-color: #212529;\\n --bs-dropdown-link-hover-color: #1e2125;\\n --bs-dropdown-link-hover-bg: #e9ecef;\\n --bs-dropdown-link-active-color: #fff;\\n --bs-dropdown-link-active-bg: #0d6efd;\\n --bs-dropdown-link-disabled-color: #adb5bd;\\n --bs-dropdown-item-padding-x: 1rem;\\n --bs-dropdown-item-padding-y: 0.25rem;\\n --bs-dropdown-header-color: #6c757d;\\n --bs-dropdown-header-padding-x: 1rem;\\n --bs-dropdown-header-padding-y: 0.5rem;\\n position: absolute;\\n z-index: var(--bs-dropdown-zindex);\\n display: none;\\n min-width: var(--bs-dropdown-min-width);\\n padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\\n margin: 0;\\n font-size: var(--bs-dropdown-font-size);\\n color: var(--bs-dropdown-color);\\n text-align: left;\\n list-style: none;\\n background-color: var(--bs-dropdown-bg);\\n background-clip: padding-box;\\n border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\\n border-radius: var(--bs-dropdown-border-radius);\\n}\\n\\n.dropdown-menu[data-bs-popper] {\\n top: 100%;\\n left: 0;\\n margin-top: var(--bs-dropdown-spacer);\\n}\\n\\n.dropdown-menu-start {\\n --bs-position: start;\\n}\\n\\n.dropdown-menu-start[data-bs-popper] {\\n right: auto;\\n left: 0;\\n}\\n\\n.dropdown-menu-end {\\n --bs-position: end;\\n}\\n\\n.dropdown-menu-end[data-bs-popper] {\\n right: 0;\\n left: auto;\\n}\\n\\n@media (min-width: 576px) {\\n .dropdown-menu-sm-start {\\n --bs-position: start;\\n }\\n .dropdown-menu-sm-start[data-bs-popper] {\\n right: auto;\\n left: 0;\\n }\\n .dropdown-menu-sm-end {\\n --bs-position: end;\\n }\\n .dropdown-menu-sm-end[data-bs-popper] {\\n right: 0;\\n left: auto;\\n }\\n}\\n@media (min-width: 768px) {\\n .dropdown-menu-md-start {\\n --bs-position: start;\\n }\\n .dropdown-menu-md-start[data-bs-popper] {\\n right: auto;\\n left: 0;\\n }\\n .dropdown-menu-md-end {\\n --bs-position: end;\\n }\\n .dropdown-menu-md-end[data-bs-popper] {\\n right: 0;\\n left: auto;\\n }\\n}\\n@media (min-width: 992px) {\\n .dropdown-menu-lg-start {\\n --bs-position: start;\\n }\\n .dropdown-menu-lg-start[data-bs-popper] {\\n right: auto;\\n left: 0;\\n }\\n .dropdown-menu-lg-end {\\n --bs-position: end;\\n }\\n .dropdown-menu-lg-end[data-bs-popper] {\\n right: 0;\\n left: auto;\\n }\\n}\\n@media (min-width: 1200px) {\\n .dropdown-menu-xl-start {\\n --bs-position: start;\\n }\\n .dropdown-menu-xl-start[data-bs-popper] {\\n right: auto;\\n left: 0;\\n }\\n .dropdown-menu-xl-end {\\n --bs-position: end;\\n }\\n .dropdown-menu-xl-end[data-bs-popper] {\\n right: 0;\\n left: auto;\\n }\\n}\\n@media (min-width: 1400px) {\\n .dropdown-menu-xxl-start {\\n --bs-position: start;\\n }\\n .dropdown-menu-xxl-start[data-bs-popper] {\\n right: auto;\\n left: 0;\\n }\\n .dropdown-menu-xxl-end {\\n --bs-position: end;\\n }\\n .dropdown-menu-xxl-end[data-bs-popper] {\\n right: 0;\\n left: auto;\\n }\\n}\\n.dropup .dropdown-menu[data-bs-popper] {\\n top: auto;\\n bottom: 100%;\\n margin-top: 0;\\n margin-bottom: var(--bs-dropdown-spacer);\\n}\\n\\n.dropup .dropdown-toggle::after {\\n display: inline-block;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0;\\n border-right: 0.3em solid transparent;\\n border-bottom: 0.3em solid;\\n border-left: 0.3em solid transparent;\\n}\\n\\n.dropup .dropdown-toggle:empty::after {\\n margin-left: 0;\\n}\\n\\n.dropend .dropdown-menu[data-bs-popper] {\\n top: 0;\\n right: auto;\\n left: 100%;\\n margin-top: 0;\\n margin-left: var(--bs-dropdown-spacer);\\n}\\n\\n.dropend .dropdown-toggle::after {\\n display: inline-block;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0.3em solid transparent;\\n border-right: 0;\\n border-bottom: 0.3em solid transparent;\\n border-left: 0.3em solid;\\n}\\n\\n.dropend .dropdown-toggle:empty::after {\\n margin-left: 0;\\n}\\n\\n.dropend .dropdown-toggle::after {\\n vertical-align: 0;\\n}\\n\\n.dropstart .dropdown-menu[data-bs-popper] {\\n top: 0;\\n right: 100%;\\n left: auto;\\n margin-top: 0;\\n margin-right: var(--bs-dropdown-spacer);\\n}\\n\\n.dropstart .dropdown-toggle::after {\\n display: inline-block;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n}\\n\\n.dropstart .dropdown-toggle::after {\\n display: none;\\n}\\n\\n.dropstart .dropdown-toggle::before {\\n display: inline-block;\\n margin-right: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\";\\n border-top: 0.3em solid transparent;\\n border-right: 0.3em solid;\\n border-bottom: 0.3em solid transparent;\\n}\\n\\n.dropstart .dropdown-toggle:empty::after {\\n margin-left: 0;\\n}\\n\\n.dropstart .dropdown-toggle::before {\\n vertical-align: 0;\\n}\\n\\n.dropdown-divider {\\n height: 0;\\n margin: var(--bs-dropdown-divider-margin-y) 0;\\n overflow: hidden;\\n border-top: 1px solid var(--bs-dropdown-divider-bg);\\n opacity: 1;\\n}\\n\\n.dropdown-item {\\n display: block;\\n width: 100%;\\n padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\\n clear: both;\\n font-weight: 400;\\n color: var(--bs-dropdown-link-color);\\n text-align: inherit;\\n text-decoration: none;\\n white-space: nowrap;\\n background-color: transparent;\\n border: 0;\\n}\\n\\n.dropdown-item:hover, .dropdown-item:focus {\\n color: var(--bs-dropdown-link-hover-color);\\n background-color: var(--bs-dropdown-link-hover-bg);\\n}\\n\\n.dropdown-item.active, .dropdown-item:active {\\n color: var(--bs-dropdown-link-active-color);\\n text-decoration: none;\\n background-color: var(--bs-dropdown-link-active-bg);\\n}\\n\\n.dropdown-item.disabled, .dropdown-item:disabled {\\n color: var(--bs-dropdown-link-disabled-color);\\n pointer-events: none;\\n background-color: transparent;\\n}\\n\\n.dropdown-menu.show {\\n display: block;\\n}\\n\\n.dropdown-header {\\n display: block;\\n padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);\\n margin-bottom: 0;\\n font-size: 0.875rem;\\n color: var(--bs-dropdown-header-color);\\n white-space: nowrap;\\n}\\n\\n.dropdown-item-text {\\n display: block;\\n padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\\n color: var(--bs-dropdown-link-color);\\n}\\n\\n.dropdown-menu-dark {\\n --bs-dropdown-color: #dee2e6;\\n --bs-dropdown-bg: #343a40;\\n --bs-dropdown-border-color: var(--bs-border-color-translucent);\\n --bs-dropdown-box-shadow: ;\\n --bs-dropdown-link-color: #dee2e6;\\n --bs-dropdown-link-hover-color: #fff;\\n --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\\n --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\\n --bs-dropdown-link-active-color: #fff;\\n --bs-dropdown-link-active-bg: #0d6efd;\\n --bs-dropdown-link-disabled-color: #adb5bd;\\n --bs-dropdown-header-color: #adb5bd;\\n}\\n\\n.btn-group,\\n.btn-group-vertical {\\n position: relative;\\n display: inline-flex;\\n vertical-align: middle;\\n}\\n\\n.btn-group > .btn,\\n.btn-group-vertical > .btn {\\n position: relative;\\n flex: 1 1 auto;\\n}\\n\\n.btn-group > .btn-check:checked + .btn,\\n.btn-group > .btn-check:focus + .btn,\\n.btn-group > .btn:hover,\\n.btn-group > .btn:focus,\\n.btn-group > .btn:active,\\n.btn-group > .btn.active,\\n.btn-group-vertical > .btn-check:checked + .btn,\\n.btn-group-vertical > .btn-check:focus + .btn,\\n.btn-group-vertical > .btn:hover,\\n.btn-group-vertical > .btn:focus,\\n.btn-group-vertical > .btn:active,\\n.btn-group-vertical > .btn.active {\\n z-index: 1;\\n}\\n\\n.btn-toolbar {\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: flex-start;\\n}\\n\\n.btn-toolbar .input-group {\\n width: auto;\\n}\\n\\n.btn-group {\\n border-radius: 0.375rem;\\n}\\n\\n.btn-group > :not(.btn-check:first-child) + .btn,\\n.btn-group > .btn-group:not(:first-child) {\\n margin-left: -1px;\\n}\\n\\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\\n.btn-group > .btn.dropdown-toggle-split:first-child,\\n.btn-group > .btn-group:not(:last-child) > .btn {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.btn-group > .btn:nth-child(n+3),\\n.btn-group > :not(.btn-check) + .btn,\\n.btn-group > .btn-group:not(:first-child) > .btn {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.dropdown-toggle-split {\\n padding-right: 0.5625rem;\\n padding-left: 0.5625rem;\\n}\\n\\n.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\\n margin-left: 0;\\n}\\n\\n.dropstart .dropdown-toggle-split::before {\\n margin-right: 0;\\n}\\n\\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\\n padding-right: 0.375rem;\\n padding-left: 0.375rem;\\n}\\n\\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\\n padding-right: 0.75rem;\\n padding-left: 0.75rem;\\n}\\n\\n.btn-group-vertical {\\n flex-direction: column;\\n align-items: flex-start;\\n justify-content: center;\\n}\\n\\n.btn-group-vertical > .btn,\\n.btn-group-vertical > .btn-group {\\n width: 100%;\\n}\\n\\n.btn-group-vertical > .btn:not(:first-child),\\n.btn-group-vertical > .btn-group:not(:first-child) {\\n margin-top: -1px;\\n}\\n\\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.btn-group-vertical > .btn ~ .btn,\\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.nav {\\n --bs-nav-link-padding-x: 1rem;\\n --bs-nav-link-padding-y: 0.5rem;\\n --bs-nav-link-font-weight: ;\\n --bs-nav-link-color: var(--bs-link-color);\\n --bs-nav-link-hover-color: var(--bs-link-hover-color);\\n --bs-nav-link-disabled-color: #6c757d;\\n display: flex;\\n flex-wrap: wrap;\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n}\\n\\n.nav-link {\\n display: block;\\n padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\\n font-size: var(--bs-nav-link-font-size);\\n font-weight: var(--bs-nav-link-font-weight);\\n color: var(--bs-nav-link-color);\\n text-decoration: none;\\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .nav-link {\\n transition: none;\\n }\\n}\\n.nav-link:hover, .nav-link:focus {\\n color: var(--bs-nav-link-hover-color);\\n}\\n\\n.nav-link.disabled {\\n color: var(--bs-nav-link-disabled-color);\\n pointer-events: none;\\n cursor: default;\\n}\\n\\n.nav-tabs {\\n --bs-nav-tabs-border-width: 1px;\\n --bs-nav-tabs-border-color: #dee2e6;\\n --bs-nav-tabs-border-radius: 0.375rem;\\n --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;\\n --bs-nav-tabs-link-active-color: #495057;\\n --bs-nav-tabs-link-active-bg: #fff;\\n --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;\\n border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);\\n}\\n\\n.nav-tabs .nav-link {\\n margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\\n background: none;\\n border: var(--bs-nav-tabs-border-width) solid transparent;\\n border-top-left-radius: var(--bs-nav-tabs-border-radius);\\n border-top-right-radius: var(--bs-nav-tabs-border-radius);\\n}\\n\\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\\n isolation: isolate;\\n border-color: var(--bs-nav-tabs-link-hover-border-color);\\n}\\n\\n.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled {\\n color: var(--bs-nav-link-disabled-color);\\n background-color: transparent;\\n border-color: transparent;\\n}\\n\\n.nav-tabs .nav-link.active,\\n.nav-tabs .nav-item.show .nav-link {\\n color: var(--bs-nav-tabs-link-active-color);\\n background-color: var(--bs-nav-tabs-link-active-bg);\\n border-color: var(--bs-nav-tabs-link-active-border-color);\\n}\\n\\n.nav-tabs .dropdown-menu {\\n margin-top: calc(-1 * var(--bs-nav-tabs-border-width));\\n border-top-left-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.nav-pills {\\n --bs-nav-pills-border-radius: 0.375rem;\\n --bs-nav-pills-link-active-color: #fff;\\n --bs-nav-pills-link-active-bg: #0d6efd;\\n}\\n\\n.nav-pills .nav-link {\\n background: none;\\n border: 0;\\n border-radius: var(--bs-nav-pills-border-radius);\\n}\\n\\n.nav-pills .nav-link:disabled {\\n color: var(--bs-nav-link-disabled-color);\\n background-color: transparent;\\n border-color: transparent;\\n}\\n\\n.nav-pills .nav-link.active,\\n.nav-pills .show > .nav-link {\\n color: var(--bs-nav-pills-link-active-color);\\n background-color: var(--bs-nav-pills-link-active-bg);\\n}\\n\\n.nav-fill > .nav-link,\\n.nav-fill .nav-item {\\n flex: 1 1 auto;\\n text-align: center;\\n}\\n\\n.nav-justified > .nav-link,\\n.nav-justified .nav-item {\\n flex-basis: 0;\\n flex-grow: 1;\\n text-align: center;\\n}\\n\\n.nav-fill .nav-item .nav-link,\\n.nav-justified .nav-item .nav-link {\\n width: 100%;\\n}\\n\\n.tab-content > .tab-pane {\\n display: none;\\n}\\n\\n.tab-content > .active {\\n display: block;\\n}\\n\\n.navbar {\\n --bs-navbar-padding-x: 0;\\n --bs-navbar-padding-y: 0.5rem;\\n --bs-navbar-color: rgba(0, 0, 0, 0.55);\\n --bs-navbar-hover-color: rgba(0, 0, 0, 0.7);\\n --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3);\\n --bs-navbar-active-color: rgba(0, 0, 0, 0.9);\\n --bs-navbar-brand-padding-y: 0.3125rem;\\n --bs-navbar-brand-margin-end: 1rem;\\n --bs-navbar-brand-font-size: 1.25rem;\\n --bs-navbar-brand-color: rgba(0, 0, 0, 0.9);\\n --bs-navbar-brand-hover-color: rgba(0, 0, 0, 0.9);\\n --bs-navbar-nav-link-padding-x: 0.5rem;\\n --bs-navbar-toggler-padding-y: 0.25rem;\\n --bs-navbar-toggler-padding-x: 0.75rem;\\n --bs-navbar-toggler-font-size: 1.25rem;\\n --bs-navbar-toggler-icon-bg: url(\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \");\\n --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1);\\n --bs-navbar-toggler-border-radius: 0.375rem;\\n --bs-navbar-toggler-focus-width: 0.25rem;\\n --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\\n position: relative;\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\\n}\\n\\n.navbar > .container,\\n.navbar > .container-fluid,\\n.navbar > .container-sm,\\n.navbar > .container-md,\\n.navbar > .container-lg,\\n.navbar > .container-xl,\\n.navbar > .container-xxl {\\n display: flex;\\n flex-wrap: inherit;\\n align-items: center;\\n justify-content: space-between;\\n}\\n\\n.navbar-brand {\\n padding-top: var(--bs-navbar-brand-padding-y);\\n padding-bottom: var(--bs-navbar-brand-padding-y);\\n margin-right: var(--bs-navbar-brand-margin-end);\\n font-size: var(--bs-navbar-brand-font-size);\\n color: var(--bs-navbar-brand-color);\\n text-decoration: none;\\n white-space: nowrap;\\n}\\n\\n.navbar-brand:hover, .navbar-brand:focus {\\n color: var(--bs-navbar-brand-hover-color);\\n}\\n\\n.navbar-nav {\\n --bs-nav-link-padding-x: 0;\\n --bs-nav-link-padding-y: 0.5rem;\\n --bs-nav-link-font-weight: ;\\n --bs-nav-link-color: var(--bs-navbar-color);\\n --bs-nav-link-hover-color: var(--bs-navbar-hover-color);\\n --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\\n display: flex;\\n flex-direction: column;\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n}\\n\\n.navbar-nav .show > .nav-link,\\n.navbar-nav .nav-link.active {\\n color: var(--bs-navbar-active-color);\\n}\\n\\n.navbar-nav .dropdown-menu {\\n position: static;\\n}\\n\\n.navbar-text {\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n color: var(--bs-navbar-color);\\n}\\n\\n.navbar-text a,\\n.navbar-text a:hover,\\n.navbar-text a:focus {\\n color: var(--bs-navbar-active-color);\\n}\\n\\n.navbar-collapse {\\n flex-basis: 100%;\\n flex-grow: 1;\\n align-items: center;\\n}\\n\\n.navbar-toggler {\\n padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\\n font-size: var(--bs-navbar-toggler-font-size);\\n line-height: 1;\\n color: var(--bs-navbar-color);\\n background-color: transparent;\\n border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\\n border-radius: var(--bs-navbar-toggler-border-radius);\\n transition: var(--bs-navbar-toggler-transition);\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .navbar-toggler {\\n transition: none;\\n }\\n}\\n.navbar-toggler:hover {\\n text-decoration: none;\\n}\\n\\n.navbar-toggler:focus {\\n text-decoration: none;\\n outline: 0;\\n box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);\\n}\\n\\n.navbar-toggler-icon {\\n display: inline-block;\\n width: 1.5em;\\n height: 1.5em;\\n vertical-align: middle;\\n background-image: var(--bs-navbar-toggler-icon-bg);\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: 100%;\\n}\\n\\n.navbar-nav-scroll {\\n max-height: var(--bs-scroll-height, 75vh);\\n overflow-y: auto;\\n}\\n\\n@media (min-width: 576px) {\\n .navbar-expand-sm {\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n }\\n .navbar-expand-sm .navbar-nav {\\n flex-direction: row;\\n }\\n .navbar-expand-sm .navbar-nav .dropdown-menu {\\n position: absolute;\\n }\\n .navbar-expand-sm .navbar-nav .nav-link {\\n padding-right: var(--bs-navbar-nav-link-padding-x);\\n padding-left: var(--bs-navbar-nav-link-padding-x);\\n }\\n .navbar-expand-sm .navbar-nav-scroll {\\n overflow: visible;\\n }\\n .navbar-expand-sm .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto;\\n }\\n .navbar-expand-sm .navbar-toggler {\\n display: none;\\n }\\n .navbar-expand-sm .offcanvas {\\n position: static;\\n z-index: auto;\\n flex-grow: 1;\\n width: auto !important;\\n height: auto !important;\\n visibility: visible !important;\\n background-color: transparent !important;\\n border: 0 !important;\\n transform: none !important;\\n transition: none;\\n }\\n .navbar-expand-sm .offcanvas .offcanvas-header {\\n display: none;\\n }\\n .navbar-expand-sm .offcanvas .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n }\\n}\\n@media (min-width: 768px) {\\n .navbar-expand-md {\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n }\\n .navbar-expand-md .navbar-nav {\\n flex-direction: row;\\n }\\n .navbar-expand-md .navbar-nav .dropdown-menu {\\n position: absolute;\\n }\\n .navbar-expand-md .navbar-nav .nav-link {\\n padding-right: var(--bs-navbar-nav-link-padding-x);\\n padding-left: var(--bs-navbar-nav-link-padding-x);\\n }\\n .navbar-expand-md .navbar-nav-scroll {\\n overflow: visible;\\n }\\n .navbar-expand-md .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto;\\n }\\n .navbar-expand-md .navbar-toggler {\\n display: none;\\n }\\n .navbar-expand-md .offcanvas {\\n position: static;\\n z-index: auto;\\n flex-grow: 1;\\n width: auto !important;\\n height: auto !important;\\n visibility: visible !important;\\n background-color: transparent !important;\\n border: 0 !important;\\n transform: none !important;\\n transition: none;\\n }\\n .navbar-expand-md .offcanvas .offcanvas-header {\\n display: none;\\n }\\n .navbar-expand-md .offcanvas .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n }\\n}\\n@media (min-width: 992px) {\\n .navbar-expand-lg {\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n }\\n .navbar-expand-lg .navbar-nav {\\n flex-direction: row;\\n }\\n .navbar-expand-lg .navbar-nav .dropdown-menu {\\n position: absolute;\\n }\\n .navbar-expand-lg .navbar-nav .nav-link {\\n padding-right: var(--bs-navbar-nav-link-padding-x);\\n padding-left: var(--bs-navbar-nav-link-padding-x);\\n }\\n .navbar-expand-lg .navbar-nav-scroll {\\n overflow: visible;\\n }\\n .navbar-expand-lg .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto;\\n }\\n .navbar-expand-lg .navbar-toggler {\\n display: none;\\n }\\n .navbar-expand-lg .offcanvas {\\n position: static;\\n z-index: auto;\\n flex-grow: 1;\\n width: auto !important;\\n height: auto !important;\\n visibility: visible !important;\\n background-color: transparent !important;\\n border: 0 !important;\\n transform: none !important;\\n transition: none;\\n }\\n .navbar-expand-lg .offcanvas .offcanvas-header {\\n display: none;\\n }\\n .navbar-expand-lg .offcanvas .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n }\\n}\\n@media (min-width: 1200px) {\\n .navbar-expand-xl {\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n }\\n .navbar-expand-xl .navbar-nav {\\n flex-direction: row;\\n }\\n .navbar-expand-xl .navbar-nav .dropdown-menu {\\n position: absolute;\\n }\\n .navbar-expand-xl .navbar-nav .nav-link {\\n padding-right: var(--bs-navbar-nav-link-padding-x);\\n padding-left: var(--bs-navbar-nav-link-padding-x);\\n }\\n .navbar-expand-xl .navbar-nav-scroll {\\n overflow: visible;\\n }\\n .navbar-expand-xl .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto;\\n }\\n .navbar-expand-xl .navbar-toggler {\\n display: none;\\n }\\n .navbar-expand-xl .offcanvas {\\n position: static;\\n z-index: auto;\\n flex-grow: 1;\\n width: auto !important;\\n height: auto !important;\\n visibility: visible !important;\\n background-color: transparent !important;\\n border: 0 !important;\\n transform: none !important;\\n transition: none;\\n }\\n .navbar-expand-xl .offcanvas .offcanvas-header {\\n display: none;\\n }\\n .navbar-expand-xl .offcanvas .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n }\\n}\\n@media (min-width: 1400px) {\\n .navbar-expand-xxl {\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n }\\n .navbar-expand-xxl .navbar-nav {\\n flex-direction: row;\\n }\\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\\n position: absolute;\\n }\\n .navbar-expand-xxl .navbar-nav .nav-link {\\n padding-right: var(--bs-navbar-nav-link-padding-x);\\n padding-left: var(--bs-navbar-nav-link-padding-x);\\n }\\n .navbar-expand-xxl .navbar-nav-scroll {\\n overflow: visible;\\n }\\n .navbar-expand-xxl .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto;\\n }\\n .navbar-expand-xxl .navbar-toggler {\\n display: none;\\n }\\n .navbar-expand-xxl .offcanvas {\\n position: static;\\n z-index: auto;\\n flex-grow: 1;\\n width: auto !important;\\n height: auto !important;\\n visibility: visible !important;\\n background-color: transparent !important;\\n border: 0 !important;\\n transform: none !important;\\n transition: none;\\n }\\n .navbar-expand-xxl .offcanvas .offcanvas-header {\\n display: none;\\n }\\n .navbar-expand-xxl .offcanvas .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n }\\n}\\n.navbar-expand {\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n}\\n\\n.navbar-expand .navbar-nav {\\n flex-direction: row;\\n}\\n\\n.navbar-expand .navbar-nav .dropdown-menu {\\n position: absolute;\\n}\\n\\n.navbar-expand .navbar-nav .nav-link {\\n padding-right: var(--bs-navbar-nav-link-padding-x);\\n padding-left: var(--bs-navbar-nav-link-padding-x);\\n}\\n\\n.navbar-expand .navbar-nav-scroll {\\n overflow: visible;\\n}\\n\\n.navbar-expand .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto;\\n}\\n\\n.navbar-expand .navbar-toggler {\\n display: none;\\n}\\n\\n.navbar-expand .offcanvas {\\n position: static;\\n z-index: auto;\\n flex-grow: 1;\\n width: auto !important;\\n height: auto !important;\\n visibility: visible !important;\\n background-color: transparent !important;\\n border: 0 !important;\\n transform: none !important;\\n transition: none;\\n}\\n\\n.navbar-expand .offcanvas .offcanvas-header {\\n display: none;\\n}\\n\\n.navbar-expand .offcanvas .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n}\\n\\n.navbar-dark {\\n --bs-navbar-color: rgba(255, 255, 255, 0.55);\\n --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);\\n --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);\\n --bs-navbar-active-color: #fff;\\n --bs-navbar-brand-color: #fff;\\n --bs-navbar-brand-hover-color: #fff;\\n --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\\n --bs-navbar-toggler-icon-bg: url(\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \");\\n}\\n\\n.card {\\n --bs-card-spacer-y: 1rem;\\n --bs-card-spacer-x: 1rem;\\n --bs-card-title-spacer-y: 0.5rem;\\n --bs-card-border-width: 1px;\\n --bs-card-border-color: var(--bs-border-color-translucent);\\n --bs-card-border-radius: 0.375rem;\\n --bs-card-box-shadow: ;\\n --bs-card-inner-border-radius: calc(0.375rem - 1px);\\n --bs-card-cap-padding-y: 0.5rem;\\n --bs-card-cap-padding-x: 1rem;\\n --bs-card-cap-bg: rgba(0, 0, 0, 0.03);\\n --bs-card-cap-color: ;\\n --bs-card-height: ;\\n --bs-card-color: ;\\n --bs-card-bg: #fff;\\n --bs-card-img-overlay-padding: 1rem;\\n --bs-card-group-margin: 0.75rem;\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n min-width: 0;\\n height: var(--bs-card-height);\\n word-wrap: break-word;\\n background-color: var(--bs-card-bg);\\n background-clip: border-box;\\n border: var(--bs-card-border-width) solid var(--bs-card-border-color);\\n border-radius: var(--bs-card-border-radius);\\n}\\n\\n.card > hr {\\n margin-right: 0;\\n margin-left: 0;\\n}\\n\\n.card > .list-group {\\n border-top: inherit;\\n border-bottom: inherit;\\n}\\n\\n.card > .list-group:first-child {\\n border-top-width: 0;\\n border-top-left-radius: var(--bs-card-inner-border-radius);\\n border-top-right-radius: var(--bs-card-inner-border-radius);\\n}\\n\\n.card > .list-group:last-child {\\n border-bottom-width: 0;\\n border-bottom-right-radius: var(--bs-card-inner-border-radius);\\n border-bottom-left-radius: var(--bs-card-inner-border-radius);\\n}\\n\\n.card > .card-header + .list-group,\\n.card > .list-group + .card-footer {\\n border-top: 0;\\n}\\n\\n.card-body {\\n flex: 1 1 auto;\\n padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\\n color: var(--bs-card-color);\\n}\\n\\n.card-title {\\n margin-bottom: var(--bs-card-title-spacer-y);\\n}\\n\\n.card-subtitle {\\n margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));\\n margin-bottom: 0;\\n}\\n\\n.card-text:last-child {\\n margin-bottom: 0;\\n}\\n\\n.card-link + .card-link {\\n margin-left: var(--bs-card-spacer-x);\\n}\\n\\n.card-header {\\n padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\\n margin-bottom: 0;\\n color: var(--bs-card-cap-color);\\n background-color: var(--bs-card-cap-bg);\\n border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);\\n}\\n\\n.card-header:first-child {\\n border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;\\n}\\n\\n.card-footer {\\n padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\\n color: var(--bs-card-cap-color);\\n background-color: var(--bs-card-cap-bg);\\n border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);\\n}\\n\\n.card-footer:last-child {\\n border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);\\n}\\n\\n.card-header-tabs {\\n margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\\n margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\\n margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\\n border-bottom: 0;\\n}\\n\\n.card-header-tabs .nav-link.active {\\n background-color: var(--bs-card-bg);\\n border-bottom-color: var(--bs-card-bg);\\n}\\n\\n.card-header-pills {\\n margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\\n margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\\n}\\n\\n.card-img-overlay {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n padding: var(--bs-card-img-overlay-padding);\\n border-radius: var(--bs-card-inner-border-radius);\\n}\\n\\n.card-img,\\n.card-img-top,\\n.card-img-bottom {\\n width: 100%;\\n}\\n\\n.card-img,\\n.card-img-top {\\n border-top-left-radius: var(--bs-card-inner-border-radius);\\n border-top-right-radius: var(--bs-card-inner-border-radius);\\n}\\n\\n.card-img,\\n.card-img-bottom {\\n border-bottom-right-radius: var(--bs-card-inner-border-radius);\\n border-bottom-left-radius: var(--bs-card-inner-border-radius);\\n}\\n\\n.card-group > .card {\\n margin-bottom: var(--bs-card-group-margin);\\n}\\n\\n@media (min-width: 576px) {\\n .card-group {\\n display: flex;\\n flex-flow: row wrap;\\n }\\n .card-group > .card {\\n flex: 1 0 0%;\\n margin-bottom: 0;\\n }\\n .card-group > .card + .card {\\n margin-left: 0;\\n border-left: 0;\\n }\\n .card-group > .card:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n }\\n .card-group > .card:not(:last-child) .card-img-top,\\n .card-group > .card:not(:last-child) .card-header {\\n border-top-right-radius: 0;\\n }\\n .card-group > .card:not(:last-child) .card-img-bottom,\\n .card-group > .card:not(:last-child) .card-footer {\\n border-bottom-right-radius: 0;\\n }\\n .card-group > .card:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0;\\n }\\n .card-group > .card:not(:first-child) .card-img-top,\\n .card-group > .card:not(:first-child) .card-header {\\n border-top-left-radius: 0;\\n }\\n .card-group > .card:not(:first-child) .card-img-bottom,\\n .card-group > .card:not(:first-child) .card-footer {\\n border-bottom-left-radius: 0;\\n }\\n}\\n.accordion {\\n --bs-accordion-color: #212529;\\n --bs-accordion-bg: #fff;\\n --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;\\n --bs-accordion-border-color: var(--bs-border-color);\\n --bs-accordion-border-width: 1px;\\n --bs-accordion-border-radius: 0.375rem;\\n --bs-accordion-inner-border-radius: calc(0.375rem - 1px);\\n --bs-accordion-btn-padding-x: 1.25rem;\\n --bs-accordion-btn-padding-y: 1rem;\\n --bs-accordion-btn-color: #212529;\\n --bs-accordion-btn-bg: var(--bs-accordion-bg);\\n --bs-accordion-btn-icon: url(\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \");\\n --bs-accordion-btn-icon-width: 1.25rem;\\n --bs-accordion-btn-icon-transform: rotate(-180deg);\\n --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\\n --bs-accordion-btn-active-icon: url(\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \");\\n --bs-accordion-btn-focus-border-color: #86b7fe;\\n --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\\n --bs-accordion-body-padding-x: 1.25rem;\\n --bs-accordion-body-padding-y: 1rem;\\n --bs-accordion-active-color: #0c63e4;\\n --bs-accordion-active-bg: #e7f1ff;\\n}\\n\\n.accordion-button {\\n position: relative;\\n display: flex;\\n align-items: center;\\n width: 100%;\\n padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\\n font-size: 1rem;\\n color: var(--bs-accordion-btn-color);\\n text-align: left;\\n background-color: var(--bs-accordion-btn-bg);\\n border: 0;\\n border-radius: 0;\\n overflow-anchor: none;\\n transition: var(--bs-accordion-transition);\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .accordion-button {\\n transition: none;\\n }\\n}\\n.accordion-button:not(.collapsed) {\\n color: var(--bs-accordion-active-color);\\n background-color: var(--bs-accordion-active-bg);\\n box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);\\n}\\n\\n.accordion-button:not(.collapsed)::after {\\n background-image: var(--bs-accordion-btn-active-icon);\\n transform: var(--bs-accordion-btn-icon-transform);\\n}\\n\\n.accordion-button::after {\\n flex-shrink: 0;\\n width: var(--bs-accordion-btn-icon-width);\\n height: var(--bs-accordion-btn-icon-width);\\n margin-left: auto;\\n content: \\\"\\\";\\n background-image: var(--bs-accordion-btn-icon);\\n background-repeat: no-repeat;\\n background-size: var(--bs-accordion-btn-icon-width);\\n transition: var(--bs-accordion-btn-icon-transition);\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .accordion-button::after {\\n transition: none;\\n }\\n}\\n.accordion-button:hover {\\n z-index: 2;\\n}\\n\\n.accordion-button:focus {\\n z-index: 3;\\n border-color: var(--bs-accordion-btn-focus-border-color);\\n outline: 0;\\n box-shadow: var(--bs-accordion-btn-focus-box-shadow);\\n}\\n\\n.accordion-header {\\n margin-bottom: 0;\\n}\\n\\n.accordion-item {\\n color: var(--bs-accordion-color);\\n background-color: var(--bs-accordion-bg);\\n border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);\\n}\\n\\n.accordion-item:first-of-type {\\n border-top-left-radius: var(--bs-accordion-border-radius);\\n border-top-right-radius: var(--bs-accordion-border-radius);\\n}\\n\\n.accordion-item:first-of-type .accordion-button {\\n border-top-left-radius: var(--bs-accordion-inner-border-radius);\\n border-top-right-radius: var(--bs-accordion-inner-border-radius);\\n}\\n\\n.accordion-item:not(:first-of-type) {\\n border-top: 0;\\n}\\n\\n.accordion-item:last-of-type {\\n border-bottom-right-radius: var(--bs-accordion-border-radius);\\n border-bottom-left-radius: var(--bs-accordion-border-radius);\\n}\\n\\n.accordion-item:last-of-type .accordion-button.collapsed {\\n border-bottom-right-radius: var(--bs-accordion-inner-border-radius);\\n border-bottom-left-radius: var(--bs-accordion-inner-border-radius);\\n}\\n\\n.accordion-item:last-of-type .accordion-collapse {\\n border-bottom-right-radius: var(--bs-accordion-border-radius);\\n border-bottom-left-radius: var(--bs-accordion-border-radius);\\n}\\n\\n.accordion-body {\\n padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\\n}\\n\\n.accordion-flush .accordion-collapse {\\n border-width: 0;\\n}\\n\\n.accordion-flush .accordion-item {\\n border-right: 0;\\n border-left: 0;\\n border-radius: 0;\\n}\\n\\n.accordion-flush .accordion-item:first-child {\\n border-top: 0;\\n}\\n\\n.accordion-flush .accordion-item:last-child {\\n border-bottom: 0;\\n}\\n\\n.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {\\n border-radius: 0;\\n}\\n\\n.breadcrumb {\\n --bs-breadcrumb-padding-x: 0;\\n --bs-breadcrumb-padding-y: 0;\\n --bs-breadcrumb-margin-bottom: 1rem;\\n --bs-breadcrumb-bg: ;\\n --bs-breadcrumb-border-radius: ;\\n --bs-breadcrumb-divider-color: #6c757d;\\n --bs-breadcrumb-item-padding-x: 0.5rem;\\n --bs-breadcrumb-item-active-color: #6c757d;\\n display: flex;\\n flex-wrap: wrap;\\n padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\\n margin-bottom: var(--bs-breadcrumb-margin-bottom);\\n font-size: var(--bs-breadcrumb-font-size);\\n list-style: none;\\n background-color: var(--bs-breadcrumb-bg);\\n border-radius: var(--bs-breadcrumb-border-radius);\\n}\\n\\n.breadcrumb-item + .breadcrumb-item {\\n padding-left: var(--bs-breadcrumb-item-padding-x);\\n}\\n\\n.breadcrumb-item + .breadcrumb-item::before {\\n float: left;\\n padding-right: var(--bs-breadcrumb-item-padding-x);\\n color: var(--bs-breadcrumb-divider-color);\\n content: var(--bs-breadcrumb-divider, \\\"/\\\");\\n}\\n\\n.breadcrumb-item.active {\\n color: var(--bs-breadcrumb-item-active-color);\\n}\\n\\n.pagination {\\n --bs-pagination-padding-x: 0.75rem;\\n --bs-pagination-padding-y: 0.375rem;\\n --bs-pagination-font-size: 1rem;\\n --bs-pagination-color: var(--bs-link-color);\\n --bs-pagination-bg: #fff;\\n --bs-pagination-border-width: 1px;\\n --bs-pagination-border-color: #dee2e6;\\n --bs-pagination-border-radius: 0.375rem;\\n --bs-pagination-hover-color: var(--bs-link-hover-color);\\n --bs-pagination-hover-bg: #e9ecef;\\n --bs-pagination-hover-border-color: #dee2e6;\\n --bs-pagination-focus-color: var(--bs-link-hover-color);\\n --bs-pagination-focus-bg: #e9ecef;\\n --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\\n --bs-pagination-active-color: #fff;\\n --bs-pagination-active-bg: #0d6efd;\\n --bs-pagination-active-border-color: #0d6efd;\\n --bs-pagination-disabled-color: #6c757d;\\n --bs-pagination-disabled-bg: #fff;\\n --bs-pagination-disabled-border-color: #dee2e6;\\n display: flex;\\n padding-left: 0;\\n list-style: none;\\n}\\n\\n.page-link {\\n position: relative;\\n display: block;\\n padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\\n font-size: var(--bs-pagination-font-size);\\n color: var(--bs-pagination-color);\\n text-decoration: none;\\n background-color: var(--bs-pagination-bg);\\n border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);\\n 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;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .page-link {\\n transition: none;\\n }\\n}\\n.page-link:hover {\\n z-index: 2;\\n color: var(--bs-pagination-hover-color);\\n background-color: var(--bs-pagination-hover-bg);\\n border-color: var(--bs-pagination-hover-border-color);\\n}\\n\\n.page-link:focus {\\n z-index: 3;\\n color: var(--bs-pagination-focus-color);\\n background-color: var(--bs-pagination-focus-bg);\\n outline: 0;\\n box-shadow: var(--bs-pagination-focus-box-shadow);\\n}\\n\\n.page-link.active, .active > .page-link {\\n z-index: 3;\\n color: var(--bs-pagination-active-color);\\n background-color: var(--bs-pagination-active-bg);\\n border-color: var(--bs-pagination-active-border-color);\\n}\\n\\n.page-link.disabled, .disabled > .page-link {\\n color: var(--bs-pagination-disabled-color);\\n pointer-events: none;\\n background-color: var(--bs-pagination-disabled-bg);\\n border-color: var(--bs-pagination-disabled-border-color);\\n}\\n\\n.page-item:not(:first-child) .page-link {\\n margin-left: -1px;\\n}\\n\\n.page-item:first-child .page-link {\\n border-top-left-radius: var(--bs-pagination-border-radius);\\n border-bottom-left-radius: var(--bs-pagination-border-radius);\\n}\\n\\n.page-item:last-child .page-link {\\n border-top-right-radius: var(--bs-pagination-border-radius);\\n border-bottom-right-radius: var(--bs-pagination-border-radius);\\n}\\n\\n.pagination-lg {\\n --bs-pagination-padding-x: 1.5rem;\\n --bs-pagination-padding-y: 0.75rem;\\n --bs-pagination-font-size: 1.25rem;\\n --bs-pagination-border-radius: 0.5rem;\\n}\\n\\n.pagination-sm {\\n --bs-pagination-padding-x: 0.5rem;\\n --bs-pagination-padding-y: 0.25rem;\\n --bs-pagination-font-size: 0.875rem;\\n --bs-pagination-border-radius: 0.25rem;\\n}\\n\\n.badge {\\n --bs-badge-padding-x: 0.65em;\\n --bs-badge-padding-y: 0.35em;\\n --bs-badge-font-size: 0.75em;\\n --bs-badge-font-weight: 700;\\n --bs-badge-color: #fff;\\n --bs-badge-border-radius: 0.375rem;\\n display: inline-block;\\n padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\\n font-size: var(--bs-badge-font-size);\\n font-weight: var(--bs-badge-font-weight);\\n line-height: 1;\\n color: var(--bs-badge-color);\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: baseline;\\n border-radius: var(--bs-badge-border-radius);\\n}\\n\\n.badge:empty {\\n display: none;\\n}\\n\\n.btn .badge {\\n position: relative;\\n top: -1px;\\n}\\n\\n.alert {\\n --bs-alert-bg: transparent;\\n --bs-alert-padding-x: 1rem;\\n --bs-alert-padding-y: 1rem;\\n --bs-alert-margin-bottom: 1rem;\\n --bs-alert-color: inherit;\\n --bs-alert-border-color: transparent;\\n --bs-alert-border: 1px solid var(--bs-alert-border-color);\\n --bs-alert-border-radius: 0.375rem;\\n position: relative;\\n padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\\n margin-bottom: var(--bs-alert-margin-bottom);\\n color: var(--bs-alert-color);\\n background-color: var(--bs-alert-bg);\\n border: var(--bs-alert-border);\\n border-radius: var(--bs-alert-border-radius);\\n}\\n\\n.alert-heading {\\n color: inherit;\\n}\\n\\n.alert-link {\\n font-weight: 700;\\n}\\n\\n.alert-dismissible {\\n padding-right: 3rem;\\n}\\n\\n.alert-dismissible .btn-close {\\n position: absolute;\\n top: 0;\\n right: 0;\\n z-index: 2;\\n padding: 1.25rem 1rem;\\n}\\n\\n.alert-primary {\\n --bs-alert-color: #084298;\\n --bs-alert-bg: #cfe2ff;\\n --bs-alert-border-color: #b6d4fe;\\n}\\n\\n.alert-primary .alert-link {\\n color: #06357a;\\n}\\n\\n.alert-secondary {\\n --bs-alert-color: #41464b;\\n --bs-alert-bg: #e2e3e5;\\n --bs-alert-border-color: #d3d6d8;\\n}\\n\\n.alert-secondary .alert-link {\\n color: #34383c;\\n}\\n\\n.alert-success {\\n --bs-alert-color: #0f5132;\\n --bs-alert-bg: #d1e7dd;\\n --bs-alert-border-color: #badbcc;\\n}\\n\\n.alert-success .alert-link {\\n color: #0c4128;\\n}\\n\\n.alert-info {\\n --bs-alert-color: #055160;\\n --bs-alert-bg: #cff4fc;\\n --bs-alert-border-color: #b6effb;\\n}\\n\\n.alert-info .alert-link {\\n color: #04414d;\\n}\\n\\n.alert-warning {\\n --bs-alert-color: #664d03;\\n --bs-alert-bg: #fff3cd;\\n --bs-alert-border-color: #ffecb5;\\n}\\n\\n.alert-warning .alert-link {\\n color: #523e02;\\n}\\n\\n.alert-danger {\\n --bs-alert-color: #842029;\\n --bs-alert-bg: #f8d7da;\\n --bs-alert-border-color: #f5c2c7;\\n}\\n\\n.alert-danger .alert-link {\\n color: #6a1a21;\\n}\\n\\n.alert-light {\\n --bs-alert-color: #636464;\\n --bs-alert-bg: #fefefe;\\n --bs-alert-border-color: #fdfdfe;\\n}\\n\\n.alert-light .alert-link {\\n color: #4f5050;\\n}\\n\\n.alert-dark {\\n --bs-alert-color: #141619;\\n --bs-alert-bg: #d3d3d4;\\n --bs-alert-border-color: #bcbebf;\\n}\\n\\n.alert-dark .alert-link {\\n color: #101214;\\n}\\n\\n@keyframes progress-bar-stripes {\\n 0% {\\n background-position-x: 1rem;\\n }\\n}\\n.progress {\\n --bs-progress-height: 1rem;\\n --bs-progress-font-size: 0.75rem;\\n --bs-progress-bg: #e9ecef;\\n --bs-progress-border-radius: 0.375rem;\\n --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);\\n --bs-progress-bar-color: #fff;\\n --bs-progress-bar-bg: #0d6efd;\\n --bs-progress-bar-transition: width 0.6s ease;\\n display: flex;\\n height: var(--bs-progress-height);\\n overflow: hidden;\\n font-size: var(--bs-progress-font-size);\\n background-color: var(--bs-progress-bg);\\n border-radius: var(--bs-progress-border-radius);\\n}\\n\\n.progress-bar {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n overflow: hidden;\\n color: var(--bs-progress-bar-color);\\n text-align: center;\\n white-space: nowrap;\\n background-color: var(--bs-progress-bar-bg);\\n transition: var(--bs-progress-bar-transition);\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .progress-bar {\\n transition: none;\\n }\\n}\\n.progress-bar-striped {\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-size: var(--bs-progress-height) var(--bs-progress-height);\\n}\\n\\n.progress-bar-animated {\\n animation: 1s linear infinite progress-bar-stripes;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .progress-bar-animated {\\n animation: none;\\n }\\n}\\n.list-group {\\n --bs-list-group-color: #212529;\\n --bs-list-group-bg: #fff;\\n --bs-list-group-border-color: rgba(0, 0, 0, 0.125);\\n --bs-list-group-border-width: 1px;\\n --bs-list-group-border-radius: 0.375rem;\\n --bs-list-group-item-padding-x: 1rem;\\n --bs-list-group-item-padding-y: 0.5rem;\\n --bs-list-group-action-color: #495057;\\n --bs-list-group-action-hover-color: #495057;\\n --bs-list-group-action-hover-bg: #f8f9fa;\\n --bs-list-group-action-active-color: #212529;\\n --bs-list-group-action-active-bg: #e9ecef;\\n --bs-list-group-disabled-color: #6c757d;\\n --bs-list-group-disabled-bg: #fff;\\n --bs-list-group-active-color: #fff;\\n --bs-list-group-active-bg: #0d6efd;\\n --bs-list-group-active-border-color: #0d6efd;\\n display: flex;\\n flex-direction: column;\\n padding-left: 0;\\n margin-bottom: 0;\\n border-radius: var(--bs-list-group-border-radius);\\n}\\n\\n.list-group-numbered {\\n list-style-type: none;\\n counter-reset: section;\\n}\\n\\n.list-group-numbered > .list-group-item::before {\\n content: counters(section, \\\".\\\") \\\". \\\";\\n counter-increment: section;\\n}\\n\\n.list-group-item-action {\\n width: 100%;\\n color: var(--bs-list-group-action-color);\\n text-align: inherit;\\n}\\n\\n.list-group-item-action:hover, .list-group-item-action:focus {\\n z-index: 1;\\n color: var(--bs-list-group-action-hover-color);\\n text-decoration: none;\\n background-color: var(--bs-list-group-action-hover-bg);\\n}\\n\\n.list-group-item-action:active {\\n color: var(--bs-list-group-action-active-color);\\n background-color: var(--bs-list-group-action-active-bg);\\n}\\n\\n.list-group-item {\\n position: relative;\\n display: block;\\n padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);\\n color: var(--bs-list-group-color);\\n text-decoration: none;\\n background-color: var(--bs-list-group-bg);\\n border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);\\n}\\n\\n.list-group-item:first-child {\\n border-top-left-radius: inherit;\\n border-top-right-radius: inherit;\\n}\\n\\n.list-group-item:last-child {\\n border-bottom-right-radius: inherit;\\n border-bottom-left-radius: inherit;\\n}\\n\\n.list-group-item.disabled, .list-group-item:disabled {\\n color: var(--bs-list-group-disabled-color);\\n pointer-events: none;\\n background-color: var(--bs-list-group-disabled-bg);\\n}\\n\\n.list-group-item.active {\\n z-index: 2;\\n color: var(--bs-list-group-active-color);\\n background-color: var(--bs-list-group-active-bg);\\n border-color: var(--bs-list-group-active-border-color);\\n}\\n\\n.list-group-item + .list-group-item {\\n border-top-width: 0;\\n}\\n\\n.list-group-item + .list-group-item.active {\\n margin-top: calc(-1 * var(--bs-list-group-border-width));\\n border-top-width: var(--bs-list-group-border-width);\\n}\\n\\n.list-group-horizontal {\\n flex-direction: row;\\n}\\n\\n.list-group-horizontal > .list-group-item:first-child:not(:last-child) {\\n border-bottom-left-radius: var(--bs-list-group-border-radius);\\n border-top-right-radius: 0;\\n}\\n\\n.list-group-horizontal > .list-group-item:last-child:not(:first-child) {\\n border-top-right-radius: var(--bs-list-group-border-radius);\\n border-bottom-left-radius: 0;\\n}\\n\\n.list-group-horizontal > .list-group-item.active {\\n margin-top: 0;\\n}\\n\\n.list-group-horizontal > .list-group-item + .list-group-item {\\n border-top-width: var(--bs-list-group-border-width);\\n border-left-width: 0;\\n}\\n\\n.list-group-horizontal > .list-group-item + .list-group-item.active {\\n margin-left: calc(-1 * var(--bs-list-group-border-width));\\n border-left-width: var(--bs-list-group-border-width);\\n}\\n\\n@media (min-width: 576px) {\\n .list-group-horizontal-sm {\\n flex-direction: row;\\n }\\n .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\\n border-bottom-left-radius: var(--bs-list-group-border-radius);\\n border-top-right-radius: 0;\\n }\\n .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\\n border-top-right-radius: var(--bs-list-group-border-radius);\\n border-bottom-left-radius: 0;\\n }\\n .list-group-horizontal-sm > .list-group-item.active {\\n margin-top: 0;\\n }\\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\\n border-top-width: var(--bs-list-group-border-width);\\n border-left-width: 0;\\n }\\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\\n margin-left: calc(-1 * var(--bs-list-group-border-width));\\n border-left-width: var(--bs-list-group-border-width);\\n }\\n}\\n@media (min-width: 768px) {\\n .list-group-horizontal-md {\\n flex-direction: row;\\n }\\n .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\\n border-bottom-left-radius: var(--bs-list-group-border-radius);\\n border-top-right-radius: 0;\\n }\\n .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\\n border-top-right-radius: var(--bs-list-group-border-radius);\\n border-bottom-left-radius: 0;\\n }\\n .list-group-horizontal-md > .list-group-item.active {\\n margin-top: 0;\\n }\\n .list-group-horizontal-md > .list-group-item + .list-group-item {\\n border-top-width: var(--bs-list-group-border-width);\\n border-left-width: 0;\\n }\\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\\n margin-left: calc(-1 * var(--bs-list-group-border-width));\\n border-left-width: var(--bs-list-group-border-width);\\n }\\n}\\n@media (min-width: 992px) {\\n .list-group-horizontal-lg {\\n flex-direction: row;\\n }\\n .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\\n border-bottom-left-radius: var(--bs-list-group-border-radius);\\n border-top-right-radius: 0;\\n }\\n .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\\n border-top-right-radius: var(--bs-list-group-border-radius);\\n border-bottom-left-radius: 0;\\n }\\n .list-group-horizontal-lg > .list-group-item.active {\\n margin-top: 0;\\n }\\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\\n border-top-width: var(--bs-list-group-border-width);\\n border-left-width: 0;\\n }\\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\\n margin-left: calc(-1 * var(--bs-list-group-border-width));\\n border-left-width: var(--bs-list-group-border-width);\\n }\\n}\\n@media (min-width: 1200px) {\\n .list-group-horizontal-xl {\\n flex-direction: row;\\n }\\n .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\\n border-bottom-left-radius: var(--bs-list-group-border-radius);\\n border-top-right-radius: 0;\\n }\\n .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\\n border-top-right-radius: var(--bs-list-group-border-radius);\\n border-bottom-left-radius: 0;\\n }\\n .list-group-horizontal-xl > .list-group-item.active {\\n margin-top: 0;\\n }\\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\\n border-top-width: var(--bs-list-group-border-width);\\n border-left-width: 0;\\n }\\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\\n margin-left: calc(-1 * var(--bs-list-group-border-width));\\n border-left-width: var(--bs-list-group-border-width);\\n }\\n}\\n@media (min-width: 1400px) {\\n .list-group-horizontal-xxl {\\n flex-direction: row;\\n }\\n .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\\n border-bottom-left-radius: var(--bs-list-group-border-radius);\\n border-top-right-radius: 0;\\n }\\n .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\\n border-top-right-radius: var(--bs-list-group-border-radius);\\n border-bottom-left-radius: 0;\\n }\\n .list-group-horizontal-xxl > .list-group-item.active {\\n margin-top: 0;\\n }\\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\\n border-top-width: var(--bs-list-group-border-width);\\n border-left-width: 0;\\n }\\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\\n margin-left: calc(-1 * var(--bs-list-group-border-width));\\n border-left-width: var(--bs-list-group-border-width);\\n }\\n}\\n.list-group-flush {\\n border-radius: 0;\\n}\\n\\n.list-group-flush > .list-group-item {\\n border-width: 0 0 var(--bs-list-group-border-width);\\n}\\n\\n.list-group-flush > .list-group-item:last-child {\\n border-bottom-width: 0;\\n}\\n\\n.list-group-item-primary {\\n color: #084298;\\n background-color: #cfe2ff;\\n}\\n\\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\\n color: #084298;\\n background-color: #bacbe6;\\n}\\n\\n.list-group-item-primary.list-group-item-action.active {\\n color: #fff;\\n background-color: #084298;\\n border-color: #084298;\\n}\\n\\n.list-group-item-secondary {\\n color: #41464b;\\n background-color: #e2e3e5;\\n}\\n\\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\\n color: #41464b;\\n background-color: #cbccce;\\n}\\n\\n.list-group-item-secondary.list-group-item-action.active {\\n color: #fff;\\n background-color: #41464b;\\n border-color: #41464b;\\n}\\n\\n.list-group-item-success {\\n color: #0f5132;\\n background-color: #d1e7dd;\\n}\\n\\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\\n color: #0f5132;\\n background-color: #bcd0c7;\\n}\\n\\n.list-group-item-success.list-group-item-action.active {\\n color: #fff;\\n background-color: #0f5132;\\n border-color: #0f5132;\\n}\\n\\n.list-group-item-info {\\n color: #055160;\\n background-color: #cff4fc;\\n}\\n\\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\\n color: #055160;\\n background-color: #badce3;\\n}\\n\\n.list-group-item-info.list-group-item-action.active {\\n color: #fff;\\n background-color: #055160;\\n border-color: #055160;\\n}\\n\\n.list-group-item-warning {\\n color: #664d03;\\n background-color: #fff3cd;\\n}\\n\\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\\n color: #664d03;\\n background-color: #e6dbb9;\\n}\\n\\n.list-group-item-warning.list-group-item-action.active {\\n color: #fff;\\n background-color: #664d03;\\n border-color: #664d03;\\n}\\n\\n.list-group-item-danger {\\n color: #842029;\\n background-color: #f8d7da;\\n}\\n\\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\\n color: #842029;\\n background-color: #dfc2c4;\\n}\\n\\n.list-group-item-danger.list-group-item-action.active {\\n color: #fff;\\n background-color: #842029;\\n border-color: #842029;\\n}\\n\\n.list-group-item-light {\\n color: #636464;\\n background-color: #fefefe;\\n}\\n\\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\\n color: #636464;\\n background-color: #e5e5e5;\\n}\\n\\n.list-group-item-light.list-group-item-action.active {\\n color: #fff;\\n background-color: #636464;\\n border-color: #636464;\\n}\\n\\n.list-group-item-dark {\\n color: #141619;\\n background-color: #d3d3d4;\\n}\\n\\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\\n color: #141619;\\n background-color: #bebebf;\\n}\\n\\n.list-group-item-dark.list-group-item-action.active {\\n color: #fff;\\n background-color: #141619;\\n border-color: #141619;\\n}\\n\\n.btn-close {\\n box-sizing: content-box;\\n width: 1em;\\n height: 1em;\\n padding: 0.25em 0.25em;\\n color: #000;\\n background: transparent url(\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \") center/1em auto no-repeat;\\n border: 0;\\n border-radius: 0.375rem;\\n opacity: 0.5;\\n}\\n\\n.btn-close:hover {\\n color: #000;\\n text-decoration: none;\\n opacity: 0.75;\\n}\\n\\n.btn-close:focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\\n opacity: 1;\\n}\\n\\n.btn-close:disabled, .btn-close.disabled {\\n pointer-events: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n opacity: 0.25;\\n}\\n\\n.btn-close-white {\\n filter: invert(1) grayscale(100%) brightness(200%);\\n}\\n\\n.toast {\\n --bs-toast-zindex: 1090;\\n --bs-toast-padding-x: 0.75rem;\\n --bs-toast-padding-y: 0.5rem;\\n --bs-toast-spacing: 1.5rem;\\n --bs-toast-max-width: 350px;\\n --bs-toast-font-size: 0.875rem;\\n --bs-toast-color: ;\\n --bs-toast-bg: rgba(255, 255, 255, 0.85);\\n --bs-toast-border-width: 1px;\\n --bs-toast-border-color: var(--bs-border-color-translucent);\\n --bs-toast-border-radius: 0.375rem;\\n --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\\n --bs-toast-header-color: #6c757d;\\n --bs-toast-header-bg: rgba(255, 255, 255, 0.85);\\n --bs-toast-header-border-color: rgba(0, 0, 0, 0.05);\\n width: var(--bs-toast-max-width);\\n max-width: 100%;\\n font-size: var(--bs-toast-font-size);\\n color: var(--bs-toast-color);\\n pointer-events: auto;\\n background-color: var(--bs-toast-bg);\\n background-clip: padding-box;\\n border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\\n box-shadow: var(--bs-toast-box-shadow);\\n border-radius: var(--bs-toast-border-radius);\\n}\\n\\n.toast.showing {\\n opacity: 0;\\n}\\n\\n.toast:not(.show) {\\n display: none;\\n}\\n\\n.toast-container {\\n --bs-toast-zindex: 1090;\\n position: absolute;\\n z-index: var(--bs-toast-zindex);\\n width: -webkit-max-content;\\n width: -moz-max-content;\\n width: max-content;\\n max-width: 100%;\\n pointer-events: none;\\n}\\n\\n.toast-container > :not(:last-child) {\\n margin-bottom: var(--bs-toast-spacing);\\n}\\n\\n.toast-header {\\n display: flex;\\n align-items: center;\\n padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\\n color: var(--bs-toast-header-color);\\n background-color: var(--bs-toast-header-bg);\\n background-clip: padding-box;\\n border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);\\n border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\\n border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\\n}\\n\\n.toast-header .btn-close {\\n margin-right: calc(-0.5 * var(--bs-toast-padding-x));\\n margin-left: var(--bs-toast-padding-x);\\n}\\n\\n.toast-body {\\n padding: var(--bs-toast-padding-x);\\n word-wrap: break-word;\\n}\\n\\n.modal {\\n --bs-modal-zindex: 1055;\\n --bs-modal-width: 500px;\\n --bs-modal-padding: 1rem;\\n --bs-modal-margin: 0.5rem;\\n --bs-modal-color: ;\\n --bs-modal-bg: #fff;\\n --bs-modal-border-color: var(--bs-border-color-translucent);\\n --bs-modal-border-width: 1px;\\n --bs-modal-border-radius: 0.5rem;\\n --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\\n --bs-modal-inner-border-radius: calc(0.5rem - 1px);\\n --bs-modal-header-padding-x: 1rem;\\n --bs-modal-header-padding-y: 1rem;\\n --bs-modal-header-padding: 1rem 1rem;\\n --bs-modal-header-border-color: var(--bs-border-color);\\n --bs-modal-header-border-width: 1px;\\n --bs-modal-title-line-height: 1.5;\\n --bs-modal-footer-gap: 0.5rem;\\n --bs-modal-footer-bg: ;\\n --bs-modal-footer-border-color: var(--bs-border-color);\\n --bs-modal-footer-border-width: 1px;\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: var(--bs-modal-zindex);\\n display: none;\\n width: 100%;\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n outline: 0;\\n}\\n\\n.modal-dialog {\\n position: relative;\\n width: auto;\\n margin: var(--bs-modal-margin);\\n pointer-events: none;\\n}\\n\\n.modal.fade .modal-dialog {\\n transition: transform 0.3s ease-out;\\n transform: translate(0, -50px);\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .modal.fade .modal-dialog {\\n transition: none;\\n }\\n}\\n.modal.show .modal-dialog {\\n transform: none;\\n}\\n\\n.modal.modal-static .modal-dialog {\\n transform: scale(1.02);\\n}\\n\\n.modal-dialog-scrollable {\\n height: calc(100% - var(--bs-modal-margin) * 2);\\n}\\n\\n.modal-dialog-scrollable .modal-content {\\n max-height: 100%;\\n overflow: hidden;\\n}\\n\\n.modal-dialog-scrollable .modal-body {\\n overflow-y: auto;\\n}\\n\\n.modal-dialog-centered {\\n display: flex;\\n align-items: center;\\n min-height: calc(100% - var(--bs-modal-margin) * 2);\\n}\\n\\n.modal-content {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n color: var(--bs-modal-color);\\n pointer-events: auto;\\n background-color: var(--bs-modal-bg);\\n background-clip: padding-box;\\n border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);\\n border-radius: var(--bs-modal-border-radius);\\n outline: 0;\\n}\\n\\n.modal-backdrop {\\n --bs-backdrop-zindex: 1050;\\n --bs-backdrop-bg: #000;\\n --bs-backdrop-opacity: 0.5;\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: var(--bs-backdrop-zindex);\\n width: 100vw;\\n height: 100vh;\\n background-color: var(--bs-backdrop-bg);\\n}\\n\\n.modal-backdrop.fade {\\n opacity: 0;\\n}\\n\\n.modal-backdrop.show {\\n opacity: var(--bs-backdrop-opacity);\\n}\\n\\n.modal-header {\\n display: flex;\\n flex-shrink: 0;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--bs-modal-header-padding);\\n border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);\\n border-top-left-radius: var(--bs-modal-inner-border-radius);\\n border-top-right-radius: var(--bs-modal-inner-border-radius);\\n}\\n\\n.modal-header .btn-close {\\n padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);\\n margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;\\n}\\n\\n.modal-title {\\n margin-bottom: 0;\\n line-height: var(--bs-modal-title-line-height);\\n}\\n\\n.modal-body {\\n position: relative;\\n flex: 1 1 auto;\\n padding: var(--bs-modal-padding);\\n}\\n\\n.modal-footer {\\n display: flex;\\n flex-shrink: 0;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: flex-end;\\n padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);\\n background-color: var(--bs-modal-footer-bg);\\n border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);\\n border-bottom-right-radius: var(--bs-modal-inner-border-radius);\\n border-bottom-left-radius: var(--bs-modal-inner-border-radius);\\n}\\n\\n.modal-footer > * {\\n margin: calc(var(--bs-modal-footer-gap) * 0.5);\\n}\\n\\n@media (min-width: 576px) {\\n .modal {\\n --bs-modal-margin: 1.75rem;\\n --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\\n }\\n .modal-dialog {\\n max-width: var(--bs-modal-width);\\n margin-right: auto;\\n margin-left: auto;\\n }\\n .modal-sm {\\n --bs-modal-width: 300px;\\n }\\n}\\n@media (min-width: 992px) {\\n .modal-lg,\\n .modal-xl {\\n --bs-modal-width: 800px;\\n }\\n}\\n@media (min-width: 1200px) {\\n .modal-xl {\\n --bs-modal-width: 1140px;\\n }\\n}\\n.modal-fullscreen {\\n width: 100vw;\\n max-width: none;\\n height: 100%;\\n margin: 0;\\n}\\n\\n.modal-fullscreen .modal-content {\\n height: 100%;\\n border: 0;\\n border-radius: 0;\\n}\\n\\n.modal-fullscreen .modal-header,\\n.modal-fullscreen .modal-footer {\\n border-radius: 0;\\n}\\n\\n.modal-fullscreen .modal-body {\\n overflow-y: auto;\\n}\\n\\n@media (max-width: 575.98px) {\\n .modal-fullscreen-sm-down {\\n width: 100vw;\\n max-width: none;\\n height: 100%;\\n margin: 0;\\n }\\n .modal-fullscreen-sm-down .modal-content {\\n height: 100%;\\n border: 0;\\n border-radius: 0;\\n }\\n .modal-fullscreen-sm-down .modal-header,\\n .modal-fullscreen-sm-down .modal-footer {\\n border-radius: 0;\\n }\\n .modal-fullscreen-sm-down .modal-body {\\n overflow-y: auto;\\n }\\n}\\n@media (max-width: 767.98px) {\\n .modal-fullscreen-md-down {\\n width: 100vw;\\n max-width: none;\\n height: 100%;\\n margin: 0;\\n }\\n .modal-fullscreen-md-down .modal-content {\\n height: 100%;\\n border: 0;\\n border-radius: 0;\\n }\\n .modal-fullscreen-md-down .modal-header,\\n .modal-fullscreen-md-down .modal-footer {\\n border-radius: 0;\\n }\\n .modal-fullscreen-md-down .modal-body {\\n overflow-y: auto;\\n }\\n}\\n@media (max-width: 991.98px) {\\n .modal-fullscreen-lg-down {\\n width: 100vw;\\n max-width: none;\\n height: 100%;\\n margin: 0;\\n }\\n .modal-fullscreen-lg-down .modal-content {\\n height: 100%;\\n border: 0;\\n border-radius: 0;\\n }\\n .modal-fullscreen-lg-down .modal-header,\\n .modal-fullscreen-lg-down .modal-footer {\\n border-radius: 0;\\n }\\n .modal-fullscreen-lg-down .modal-body {\\n overflow-y: auto;\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .modal-fullscreen-xl-down {\\n width: 100vw;\\n max-width: none;\\n height: 100%;\\n margin: 0;\\n }\\n .modal-fullscreen-xl-down .modal-content {\\n height: 100%;\\n border: 0;\\n border-radius: 0;\\n }\\n .modal-fullscreen-xl-down .modal-header,\\n .modal-fullscreen-xl-down .modal-footer {\\n border-radius: 0;\\n }\\n .modal-fullscreen-xl-down .modal-body {\\n overflow-y: auto;\\n }\\n}\\n@media (max-width: 1399.98px) {\\n .modal-fullscreen-xxl-down {\\n width: 100vw;\\n max-width: none;\\n height: 100%;\\n margin: 0;\\n }\\n .modal-fullscreen-xxl-down .modal-content {\\n height: 100%;\\n border: 0;\\n border-radius: 0;\\n }\\n .modal-fullscreen-xxl-down .modal-header,\\n .modal-fullscreen-xxl-down .modal-footer {\\n border-radius: 0;\\n }\\n .modal-fullscreen-xxl-down .modal-body {\\n overflow-y: auto;\\n }\\n}\\n.tooltip {\\n --bs-tooltip-zindex: 1080;\\n --bs-tooltip-max-width: 200px;\\n --bs-tooltip-padding-x: 0.5rem;\\n --bs-tooltip-padding-y: 0.25rem;\\n --bs-tooltip-margin: ;\\n --bs-tooltip-font-size: 0.875rem;\\n --bs-tooltip-color: #fff;\\n --bs-tooltip-bg: #000;\\n --bs-tooltip-border-radius: 0.375rem;\\n --bs-tooltip-opacity: 0.9;\\n --bs-tooltip-arrow-width: 0.8rem;\\n --bs-tooltip-arrow-height: 0.4rem;\\n z-index: var(--bs-tooltip-zindex);\\n display: block;\\n padding: var(--bs-tooltip-arrow-height);\\n margin: var(--bs-tooltip-margin);\\n font-family: var(--bs-font-sans-serif);\\n font-style: normal;\\n font-weight: 400;\\n line-height: 1.5;\\n text-align: left;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n letter-spacing: normal;\\n word-break: normal;\\n white-space: normal;\\n word-spacing: normal;\\n line-break: auto;\\n font-size: var(--bs-tooltip-font-size);\\n word-wrap: break-word;\\n opacity: 0;\\n}\\n\\n.tooltip.show {\\n opacity: var(--bs-tooltip-opacity);\\n}\\n\\n.tooltip .tooltip-arrow {\\n display: block;\\n width: var(--bs-tooltip-arrow-width);\\n height: var(--bs-tooltip-arrow-height);\\n}\\n\\n.tooltip .tooltip-arrow::before {\\n position: absolute;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid;\\n}\\n\\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {\\n bottom: 0;\\n}\\n\\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {\\n top: -1px;\\n border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\\n border-top-color: var(--bs-tooltip-bg);\\n}\\n\\n/* rtl:begin:ignore */\\n.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {\\n left: 0;\\n width: var(--bs-tooltip-arrow-height);\\n height: var(--bs-tooltip-arrow-width);\\n}\\n\\n.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {\\n right: -1px;\\n border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\\n border-right-color: var(--bs-tooltip-bg);\\n}\\n\\n/* rtl:end:ignore */\\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {\\n top: 0;\\n}\\n\\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {\\n bottom: -1px;\\n border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\\n border-bottom-color: var(--bs-tooltip-bg);\\n}\\n\\n/* rtl:begin:ignore */\\n.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {\\n right: 0;\\n width: var(--bs-tooltip-arrow-height);\\n height: var(--bs-tooltip-arrow-width);\\n}\\n\\n.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {\\n left: -1px;\\n border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\\n border-left-color: var(--bs-tooltip-bg);\\n}\\n\\n/* rtl:end:ignore */\\n.tooltip-inner {\\n max-width: var(--bs-tooltip-max-width);\\n padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\\n color: var(--bs-tooltip-color);\\n text-align: center;\\n background-color: var(--bs-tooltip-bg);\\n border-radius: var(--bs-tooltip-border-radius);\\n}\\n\\n.popover {\\n --bs-popover-zindex: 1070;\\n --bs-popover-max-width: 276px;\\n --bs-popover-font-size: 0.875rem;\\n --bs-popover-bg: #fff;\\n --bs-popover-border-width: 1px;\\n --bs-popover-border-color: var(--bs-border-color-translucent);\\n --bs-popover-border-radius: 0.5rem;\\n --bs-popover-inner-border-radius: calc(0.5rem - 1px);\\n --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\\n --bs-popover-header-padding-x: 1rem;\\n --bs-popover-header-padding-y: 0.5rem;\\n --bs-popover-header-font-size: 1rem;\\n --bs-popover-header-color: ;\\n --bs-popover-header-bg: #f0f0f0;\\n --bs-popover-body-padding-x: 1rem;\\n --bs-popover-body-padding-y: 1rem;\\n --bs-popover-body-color: #212529;\\n --bs-popover-arrow-width: 1rem;\\n --bs-popover-arrow-height: 0.5rem;\\n --bs-popover-arrow-border: var(--bs-popover-border-color);\\n z-index: var(--bs-popover-zindex);\\n display: block;\\n max-width: var(--bs-popover-max-width);\\n font-family: var(--bs-font-sans-serif);\\n font-style: normal;\\n font-weight: 400;\\n line-height: 1.5;\\n text-align: left;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n letter-spacing: normal;\\n word-break: normal;\\n white-space: normal;\\n word-spacing: normal;\\n line-break: auto;\\n font-size: var(--bs-popover-font-size);\\n word-wrap: break-word;\\n background-color: var(--bs-popover-bg);\\n background-clip: padding-box;\\n border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\\n border-radius: var(--bs-popover-border-radius);\\n}\\n\\n.popover .popover-arrow {\\n display: block;\\n width: var(--bs-popover-arrow-width);\\n height: var(--bs-popover-arrow-height);\\n}\\n\\n.popover .popover-arrow::before, .popover .popover-arrow::after {\\n position: absolute;\\n display: block;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid;\\n border-width: 0;\\n}\\n\\n.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {\\n bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\\n}\\n\\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\\n border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\\n}\\n\\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {\\n bottom: 0;\\n border-top-color: var(--bs-popover-arrow-border);\\n}\\n\\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\\n bottom: var(--bs-popover-border-width);\\n border-top-color: var(--bs-popover-bg);\\n}\\n\\n/* rtl:begin:ignore */\\n.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {\\n left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\\n width: var(--bs-popover-arrow-height);\\n height: var(--bs-popover-arrow-width);\\n}\\n\\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\\n border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\\n}\\n\\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {\\n left: 0;\\n border-right-color: var(--bs-popover-arrow-border);\\n}\\n\\n.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\\n left: var(--bs-popover-border-width);\\n border-right-color: var(--bs-popover-bg);\\n}\\n\\n/* rtl:end:ignore */\\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {\\n top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\\n}\\n\\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\\n border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\\n}\\n\\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {\\n top: 0;\\n border-bottom-color: var(--bs-popover-arrow-border);\\n}\\n\\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\\n top: var(--bs-popover-border-width);\\n border-bottom-color: var(--bs-popover-bg);\\n}\\n\\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {\\n position: absolute;\\n top: 0;\\n left: 50%;\\n display: block;\\n width: var(--bs-popover-arrow-width);\\n margin-left: calc(-0.5 * var(--bs-popover-arrow-width));\\n content: \\\"\\\";\\n border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);\\n}\\n\\n/* rtl:begin:ignore */\\n.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {\\n right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\\n width: var(--bs-popover-arrow-height);\\n height: var(--bs-popover-arrow-width);\\n}\\n\\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\\n border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\\n}\\n\\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {\\n right: 0;\\n border-left-color: var(--bs-popover-arrow-border);\\n}\\n\\n.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\\n right: var(--bs-popover-border-width);\\n border-left-color: var(--bs-popover-bg);\\n}\\n\\n/* rtl:end:ignore */\\n.popover-header {\\n padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\\n margin-bottom: 0;\\n font-size: var(--bs-popover-header-font-size);\\n color: var(--bs-popover-header-color);\\n background-color: var(--bs-popover-header-bg);\\n border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\\n border-top-left-radius: var(--bs-popover-inner-border-radius);\\n border-top-right-radius: var(--bs-popover-inner-border-radius);\\n}\\n\\n.popover-header:empty {\\n display: none;\\n}\\n\\n.popover-body {\\n padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\\n color: var(--bs-popover-body-color);\\n}\\n\\n.carousel {\\n position: relative;\\n}\\n\\n.carousel.pointer-event {\\n touch-action: pan-y;\\n}\\n\\n.carousel-inner {\\n position: relative;\\n width: 100%;\\n overflow: hidden;\\n}\\n\\n.carousel-inner::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n}\\n\\n.carousel-item {\\n position: relative;\\n display: none;\\n float: left;\\n width: 100%;\\n margin-right: -100%;\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden;\\n transition: transform 0.6s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .carousel-item {\\n transition: none;\\n }\\n}\\n.carousel-item.active,\\n.carousel-item-next,\\n.carousel-item-prev {\\n display: block;\\n}\\n\\n.carousel-item-next:not(.carousel-item-start),\\n.active.carousel-item-end {\\n transform: translateX(100%);\\n}\\n\\n.carousel-item-prev:not(.carousel-item-end),\\n.active.carousel-item-start {\\n transform: translateX(-100%);\\n}\\n\\n.carousel-fade .carousel-item {\\n opacity: 0;\\n transition-property: opacity;\\n transform: none;\\n}\\n\\n.carousel-fade .carousel-item.active,\\n.carousel-fade .carousel-item-next.carousel-item-start,\\n.carousel-fade .carousel-item-prev.carousel-item-end {\\n z-index: 1;\\n opacity: 1;\\n}\\n\\n.carousel-fade .active.carousel-item-start,\\n.carousel-fade .active.carousel-item-end {\\n z-index: 0;\\n opacity: 0;\\n transition: opacity 0s 0.6s;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .carousel-fade .active.carousel-item-start,\\n .carousel-fade .active.carousel-item-end {\\n transition: none;\\n }\\n}\\n.carousel-control-prev,\\n.carousel-control-next {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n z-index: 1;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 15%;\\n padding: 0;\\n color: #fff;\\n text-align: center;\\n background: none;\\n border: 0;\\n opacity: 0.5;\\n transition: opacity 0.15s ease;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .carousel-control-prev,\\n .carousel-control-next {\\n transition: none;\\n }\\n}\\n.carousel-control-prev:hover, .carousel-control-prev:focus,\\n.carousel-control-next:hover,\\n.carousel-control-next:focus {\\n color: #fff;\\n text-decoration: none;\\n outline: 0;\\n opacity: 0.9;\\n}\\n\\n.carousel-control-prev {\\n left: 0;\\n}\\n\\n.carousel-control-next {\\n right: 0;\\n}\\n\\n.carousel-control-prev-icon,\\n.carousel-control-next-icon {\\n display: inline-block;\\n width: 2rem;\\n height: 2rem;\\n background-repeat: no-repeat;\\n background-position: 50%;\\n background-size: 100% 100%;\\n}\\n\\n/* rtl:options: {\\n \\\"autoRename\\\": true,\\n \\\"stringMap\\\":[ {\\n \\\"name\\\" : \\\"prev-next\\\",\\n \\\"search\\\" : \\\"prev\\\",\\n \\\"replace\\\" : \\\"next\\\"\\n } ]\\n} */\\n.carousel-control-prev-icon {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \");\\n}\\n\\n.carousel-control-next-icon {\\n background-image: url(\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \");\\n}\\n\\n.carousel-indicators {\\n position: absolute;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 2;\\n display: flex;\\n justify-content: center;\\n padding: 0;\\n margin-right: 15%;\\n margin-bottom: 1rem;\\n margin-left: 15%;\\n list-style: none;\\n}\\n\\n.carousel-indicators [data-bs-target] {\\n box-sizing: content-box;\\n flex: 0 1 auto;\\n width: 30px;\\n height: 3px;\\n padding: 0;\\n margin-right: 3px;\\n margin-left: 3px;\\n text-indent: -999px;\\n cursor: pointer;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 0;\\n border-top: 10px solid transparent;\\n border-bottom: 10px solid transparent;\\n opacity: 0.5;\\n transition: opacity 0.6s ease;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .carousel-indicators [data-bs-target] {\\n transition: none;\\n }\\n}\\n.carousel-indicators .active {\\n opacity: 1;\\n}\\n\\n.carousel-caption {\\n position: absolute;\\n right: 15%;\\n bottom: 1.25rem;\\n left: 15%;\\n padding-top: 1.25rem;\\n padding-bottom: 1.25rem;\\n color: #fff;\\n text-align: center;\\n}\\n\\n.carousel-dark .carousel-control-prev-icon,\\n.carousel-dark .carousel-control-next-icon {\\n filter: invert(1) grayscale(100);\\n}\\n\\n.carousel-dark .carousel-indicators [data-bs-target] {\\n background-color: #000;\\n}\\n\\n.carousel-dark .carousel-caption {\\n color: #000;\\n}\\n\\n.spinner-grow,\\n.spinner-border {\\n display: inline-block;\\n width: var(--bs-spinner-width);\\n height: var(--bs-spinner-height);\\n vertical-align: var(--bs-spinner-vertical-align);\\n border-radius: 50%;\\n animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);\\n}\\n\\n@keyframes spinner-border {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n.spinner-border {\\n --bs-spinner-width: 2rem;\\n --bs-spinner-height: 2rem;\\n --bs-spinner-vertical-align: -0.125em;\\n --bs-spinner-border-width: 0.25em;\\n --bs-spinner-animation-speed: 0.75s;\\n --bs-spinner-animation-name: spinner-border;\\n border: var(--bs-spinner-border-width) solid currentcolor;\\n border-right-color: transparent;\\n}\\n\\n.spinner-border-sm {\\n --bs-spinner-width: 1rem;\\n --bs-spinner-height: 1rem;\\n --bs-spinner-border-width: 0.2em;\\n}\\n\\n@keyframes spinner-grow {\\n 0% {\\n transform: scale(0);\\n }\\n 50% {\\n opacity: 1;\\n transform: none;\\n }\\n}\\n.spinner-grow {\\n --bs-spinner-width: 2rem;\\n --bs-spinner-height: 2rem;\\n --bs-spinner-vertical-align: -0.125em;\\n --bs-spinner-animation-speed: 0.75s;\\n --bs-spinner-animation-name: spinner-grow;\\n background-color: currentcolor;\\n opacity: 0;\\n}\\n\\n.spinner-grow-sm {\\n --bs-spinner-width: 1rem;\\n --bs-spinner-height: 1rem;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .spinner-border,\\n .spinner-grow {\\n --bs-spinner-animation-speed: 1.5s;\\n }\\n}\\n.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\\n --bs-offcanvas-zindex: 1045;\\n --bs-offcanvas-width: 400px;\\n --bs-offcanvas-height: 30vh;\\n --bs-offcanvas-padding-x: 1rem;\\n --bs-offcanvas-padding-y: 1rem;\\n --bs-offcanvas-color: ;\\n --bs-offcanvas-bg: #fff;\\n --bs-offcanvas-border-width: 1px;\\n --bs-offcanvas-border-color: var(--bs-border-color-translucent);\\n --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\\n}\\n\\n@media (max-width: 575.98px) {\\n .offcanvas-sm {\\n position: fixed;\\n bottom: 0;\\n z-index: var(--bs-offcanvas-zindex);\\n display: flex;\\n flex-direction: column;\\n max-width: 100%;\\n color: var(--bs-offcanvas-color);\\n visibility: hidden;\\n background-color: var(--bs-offcanvas-bg);\\n background-clip: padding-box;\\n outline: 0;\\n transition: transform 0.3s ease-in-out;\\n }\\n}\\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\\n .offcanvas-sm {\\n transition: none;\\n }\\n}\\n@media (max-width: 575.98px) {\\n .offcanvas-sm.offcanvas-start {\\n top: 0;\\n left: 0;\\n width: var(--bs-offcanvas-width);\\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(-100%);\\n }\\n}\\n@media (max-width: 575.98px) {\\n .offcanvas-sm.offcanvas-end {\\n top: 0;\\n right: 0;\\n width: var(--bs-offcanvas-width);\\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(100%);\\n }\\n}\\n@media (max-width: 575.98px) {\\n .offcanvas-sm.offcanvas-top {\\n top: 0;\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(-100%);\\n }\\n}\\n@media (max-width: 575.98px) {\\n .offcanvas-sm.offcanvas-bottom {\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(100%);\\n }\\n}\\n@media (max-width: 575.98px) {\\n .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\\n transform: none;\\n }\\n}\\n@media (max-width: 575.98px) {\\n .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\\n visibility: visible;\\n }\\n}\\n@media (min-width: 576px) {\\n .offcanvas-sm {\\n --bs-offcanvas-height: auto;\\n --bs-offcanvas-border-width: 0;\\n background-color: transparent !important;\\n }\\n .offcanvas-sm .offcanvas-header {\\n display: none;\\n }\\n .offcanvas-sm .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n background-color: transparent !important;\\n }\\n}\\n@media (max-width: 767.98px) {\\n .offcanvas-md {\\n position: fixed;\\n bottom: 0;\\n z-index: var(--bs-offcanvas-zindex);\\n display: flex;\\n flex-direction: column;\\n max-width: 100%;\\n color: var(--bs-offcanvas-color);\\n visibility: hidden;\\n background-color: var(--bs-offcanvas-bg);\\n background-clip: padding-box;\\n outline: 0;\\n transition: transform 0.3s ease-in-out;\\n }\\n}\\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\\n .offcanvas-md {\\n transition: none;\\n }\\n}\\n@media (max-width: 767.98px) {\\n .offcanvas-md.offcanvas-start {\\n top: 0;\\n left: 0;\\n width: var(--bs-offcanvas-width);\\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(-100%);\\n }\\n}\\n@media (max-width: 767.98px) {\\n .offcanvas-md.offcanvas-end {\\n top: 0;\\n right: 0;\\n width: var(--bs-offcanvas-width);\\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(100%);\\n }\\n}\\n@media (max-width: 767.98px) {\\n .offcanvas-md.offcanvas-top {\\n top: 0;\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(-100%);\\n }\\n}\\n@media (max-width: 767.98px) {\\n .offcanvas-md.offcanvas-bottom {\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(100%);\\n }\\n}\\n@media (max-width: 767.98px) {\\n .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\\n transform: none;\\n }\\n}\\n@media (max-width: 767.98px) {\\n .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\\n visibility: visible;\\n }\\n}\\n@media (min-width: 768px) {\\n .offcanvas-md {\\n --bs-offcanvas-height: auto;\\n --bs-offcanvas-border-width: 0;\\n background-color: transparent !important;\\n }\\n .offcanvas-md .offcanvas-header {\\n display: none;\\n }\\n .offcanvas-md .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n background-color: transparent !important;\\n }\\n}\\n@media (max-width: 991.98px) {\\n .offcanvas-lg {\\n position: fixed;\\n bottom: 0;\\n z-index: var(--bs-offcanvas-zindex);\\n display: flex;\\n flex-direction: column;\\n max-width: 100%;\\n color: var(--bs-offcanvas-color);\\n visibility: hidden;\\n background-color: var(--bs-offcanvas-bg);\\n background-clip: padding-box;\\n outline: 0;\\n transition: transform 0.3s ease-in-out;\\n }\\n}\\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\\n .offcanvas-lg {\\n transition: none;\\n }\\n}\\n@media (max-width: 991.98px) {\\n .offcanvas-lg.offcanvas-start {\\n top: 0;\\n left: 0;\\n width: var(--bs-offcanvas-width);\\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(-100%);\\n }\\n}\\n@media (max-width: 991.98px) {\\n .offcanvas-lg.offcanvas-end {\\n top: 0;\\n right: 0;\\n width: var(--bs-offcanvas-width);\\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(100%);\\n }\\n}\\n@media (max-width: 991.98px) {\\n .offcanvas-lg.offcanvas-top {\\n top: 0;\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(-100%);\\n }\\n}\\n@media (max-width: 991.98px) {\\n .offcanvas-lg.offcanvas-bottom {\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(100%);\\n }\\n}\\n@media (max-width: 991.98px) {\\n .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\\n transform: none;\\n }\\n}\\n@media (max-width: 991.98px) {\\n .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\\n visibility: visible;\\n }\\n}\\n@media (min-width: 992px) {\\n .offcanvas-lg {\\n --bs-offcanvas-height: auto;\\n --bs-offcanvas-border-width: 0;\\n background-color: transparent !important;\\n }\\n .offcanvas-lg .offcanvas-header {\\n display: none;\\n }\\n .offcanvas-lg .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n background-color: transparent !important;\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .offcanvas-xl {\\n position: fixed;\\n bottom: 0;\\n z-index: var(--bs-offcanvas-zindex);\\n display: flex;\\n flex-direction: column;\\n max-width: 100%;\\n color: var(--bs-offcanvas-color);\\n visibility: hidden;\\n background-color: var(--bs-offcanvas-bg);\\n background-clip: padding-box;\\n outline: 0;\\n transition: transform 0.3s ease-in-out;\\n }\\n}\\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\\n .offcanvas-xl {\\n transition: none;\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .offcanvas-xl.offcanvas-start {\\n top: 0;\\n left: 0;\\n width: var(--bs-offcanvas-width);\\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(-100%);\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .offcanvas-xl.offcanvas-end {\\n top: 0;\\n right: 0;\\n width: var(--bs-offcanvas-width);\\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(100%);\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .offcanvas-xl.offcanvas-top {\\n top: 0;\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(-100%);\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .offcanvas-xl.offcanvas-bottom {\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(100%);\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\\n transform: none;\\n }\\n}\\n@media (max-width: 1199.98px) {\\n .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\\n visibility: visible;\\n }\\n}\\n@media (min-width: 1200px) {\\n .offcanvas-xl {\\n --bs-offcanvas-height: auto;\\n --bs-offcanvas-border-width: 0;\\n background-color: transparent !important;\\n }\\n .offcanvas-xl .offcanvas-header {\\n display: none;\\n }\\n .offcanvas-xl .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n background-color: transparent !important;\\n }\\n}\\n@media (max-width: 1399.98px) {\\n .offcanvas-xxl {\\n position: fixed;\\n bottom: 0;\\n z-index: var(--bs-offcanvas-zindex);\\n display: flex;\\n flex-direction: column;\\n max-width: 100%;\\n color: var(--bs-offcanvas-color);\\n visibility: hidden;\\n background-color: var(--bs-offcanvas-bg);\\n background-clip: padding-box;\\n outline: 0;\\n transition: transform 0.3s ease-in-out;\\n }\\n}\\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\\n .offcanvas-xxl {\\n transition: none;\\n }\\n}\\n@media (max-width: 1399.98px) {\\n .offcanvas-xxl.offcanvas-start {\\n top: 0;\\n left: 0;\\n width: var(--bs-offcanvas-width);\\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(-100%);\\n }\\n}\\n@media (max-width: 1399.98px) {\\n .offcanvas-xxl.offcanvas-end {\\n top: 0;\\n right: 0;\\n width: var(--bs-offcanvas-width);\\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(100%);\\n }\\n}\\n@media (max-width: 1399.98px) {\\n .offcanvas-xxl.offcanvas-top {\\n top: 0;\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(-100%);\\n }\\n}\\n@media (max-width: 1399.98px) {\\n .offcanvas-xxl.offcanvas-bottom {\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(100%);\\n }\\n}\\n@media (max-width: 1399.98px) {\\n .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {\\n transform: none;\\n }\\n}\\n@media (max-width: 1399.98px) {\\n .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {\\n visibility: visible;\\n }\\n}\\n@media (min-width: 1400px) {\\n .offcanvas-xxl {\\n --bs-offcanvas-height: auto;\\n --bs-offcanvas-border-width: 0;\\n background-color: transparent !important;\\n }\\n .offcanvas-xxl .offcanvas-header {\\n display: none;\\n }\\n .offcanvas-xxl .offcanvas-body {\\n display: flex;\\n flex-grow: 0;\\n padding: 0;\\n overflow-y: visible;\\n background-color: transparent !important;\\n }\\n}\\n.offcanvas {\\n position: fixed;\\n bottom: 0;\\n z-index: var(--bs-offcanvas-zindex);\\n display: flex;\\n flex-direction: column;\\n max-width: 100%;\\n color: var(--bs-offcanvas-color);\\n visibility: hidden;\\n background-color: var(--bs-offcanvas-bg);\\n background-clip: padding-box;\\n outline: 0;\\n transition: transform 0.3s ease-in-out;\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n .offcanvas {\\n transition: none;\\n }\\n}\\n.offcanvas.offcanvas-start {\\n top: 0;\\n left: 0;\\n width: var(--bs-offcanvas-width);\\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(-100%);\\n}\\n\\n.offcanvas.offcanvas-end {\\n top: 0;\\n right: 0;\\n width: var(--bs-offcanvas-width);\\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateX(100%);\\n}\\n\\n.offcanvas.offcanvas-top {\\n top: 0;\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(-100%);\\n}\\n\\n.offcanvas.offcanvas-bottom {\\n right: 0;\\n left: 0;\\n height: var(--bs-offcanvas-height);\\n max-height: 100%;\\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\\n transform: translateY(100%);\\n}\\n\\n.offcanvas.showing, .offcanvas.show:not(.hiding) {\\n transform: none;\\n}\\n\\n.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\\n visibility: visible;\\n}\\n\\n.offcanvas-backdrop {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 1040;\\n width: 100vw;\\n height: 100vh;\\n background-color: #000;\\n}\\n\\n.offcanvas-backdrop.fade {\\n opacity: 0;\\n}\\n\\n.offcanvas-backdrop.show {\\n opacity: 0.5;\\n}\\n\\n.offcanvas-header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\\n}\\n\\n.offcanvas-header .btn-close {\\n padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);\\n margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));\\n margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));\\n margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));\\n}\\n\\n.offcanvas-title {\\n margin-bottom: 0;\\n line-height: 1.5;\\n}\\n\\n.offcanvas-body {\\n flex-grow: 1;\\n padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\\n overflow-y: auto;\\n}\\n\\n.placeholder {\\n display: inline-block;\\n min-height: 1em;\\n vertical-align: middle;\\n cursor: wait;\\n background-color: currentcolor;\\n opacity: 0.5;\\n}\\n\\n.placeholder.btn::before {\\n display: inline-block;\\n content: \\\"\\\";\\n}\\n\\n.placeholder-xs {\\n min-height: 0.6em;\\n}\\n\\n.placeholder-sm {\\n min-height: 0.8em;\\n}\\n\\n.placeholder-lg {\\n min-height: 1.2em;\\n}\\n\\n.placeholder-glow .placeholder {\\n animation: placeholder-glow 2s ease-in-out infinite;\\n}\\n\\n@keyframes placeholder-glow {\\n 50% {\\n opacity: 0.2;\\n }\\n}\\n.placeholder-wave {\\n -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\\n mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\\n -webkit-mask-size: 200% 100%;\\n mask-size: 200% 100%;\\n animation: placeholder-wave 2s linear infinite;\\n}\\n\\n@keyframes placeholder-wave {\\n 100% {\\n -webkit-mask-position: -200% 0%;\\n mask-position: -200% 0%;\\n }\\n}\\n.clearfix::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n}\\n\\n.text-bg-primary {\\n color: #fff !important;\\n background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important;\\n}\\n\\n.text-bg-secondary {\\n color: #fff !important;\\n background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important;\\n}\\n\\n.text-bg-success {\\n color: #fff !important;\\n background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important;\\n}\\n\\n.text-bg-info {\\n color: #000 !important;\\n background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important;\\n}\\n\\n.text-bg-warning {\\n color: #000 !important;\\n background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important;\\n}\\n\\n.text-bg-danger {\\n color: #fff !important;\\n background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important;\\n}\\n\\n.text-bg-light {\\n color: #000 !important;\\n background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important;\\n}\\n\\n.text-bg-dark {\\n color: #fff !important;\\n background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important;\\n}\\n\\n.link-primary {\\n color: #0d6efd !important;\\n}\\n\\n.link-primary:hover, .link-primary:focus {\\n color: #0a58ca !important;\\n}\\n\\n.link-secondary {\\n color: #6c757d !important;\\n}\\n\\n.link-secondary:hover, .link-secondary:focus {\\n color: #565e64 !important;\\n}\\n\\n.link-success {\\n color: #198754 !important;\\n}\\n\\n.link-success:hover, .link-success:focus {\\n color: #146c43 !important;\\n}\\n\\n.link-info {\\n color: #0dcaf0 !important;\\n}\\n\\n.link-info:hover, .link-info:focus {\\n color: #3dd5f3 !important;\\n}\\n\\n.link-warning {\\n color: #ffc107 !important;\\n}\\n\\n.link-warning:hover, .link-warning:focus {\\n color: #ffcd39 !important;\\n}\\n\\n.link-danger {\\n color: #dc3545 !important;\\n}\\n\\n.link-danger:hover, .link-danger:focus {\\n color: #b02a37 !important;\\n}\\n\\n.link-light {\\n color: #f8f9fa !important;\\n}\\n\\n.link-light:hover, .link-light:focus {\\n color: #f9fafb !important;\\n}\\n\\n.link-dark {\\n color: #212529 !important;\\n}\\n\\n.link-dark:hover, .link-dark:focus {\\n color: #1a1e21 !important;\\n}\\n\\n.ratio {\\n position: relative;\\n width: 100%;\\n}\\n\\n.ratio::before {\\n display: block;\\n padding-top: var(--bs-aspect-ratio);\\n content: \\\"\\\";\\n}\\n\\n.ratio > * {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.ratio-1x1 {\\n --bs-aspect-ratio: 100%;\\n}\\n\\n.ratio-4x3 {\\n --bs-aspect-ratio: 75%;\\n}\\n\\n.ratio-16x9 {\\n --bs-aspect-ratio: 56.25%;\\n}\\n\\n.ratio-21x9 {\\n --bs-aspect-ratio: 42.8571428571%;\\n}\\n\\n.fixed-top {\\n position: fixed;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 1030;\\n}\\n\\n.fixed-bottom {\\n position: fixed;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1030;\\n}\\n\\n.sticky-top {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 1020;\\n}\\n\\n.sticky-bottom {\\n position: -webkit-sticky;\\n position: sticky;\\n bottom: 0;\\n z-index: 1020;\\n}\\n\\n@media (min-width: 576px) {\\n .sticky-sm-top {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 1020;\\n }\\n .sticky-sm-bottom {\\n position: -webkit-sticky;\\n position: sticky;\\n bottom: 0;\\n z-index: 1020;\\n }\\n}\\n@media (min-width: 768px) {\\n .sticky-md-top {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 1020;\\n }\\n .sticky-md-bottom {\\n position: -webkit-sticky;\\n position: sticky;\\n bottom: 0;\\n z-index: 1020;\\n }\\n}\\n@media (min-width: 992px) {\\n .sticky-lg-top {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 1020;\\n }\\n .sticky-lg-bottom {\\n position: -webkit-sticky;\\n position: sticky;\\n bottom: 0;\\n z-index: 1020;\\n }\\n}\\n@media (min-width: 1200px) {\\n .sticky-xl-top {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 1020;\\n }\\n .sticky-xl-bottom {\\n position: -webkit-sticky;\\n position: sticky;\\n bottom: 0;\\n z-index: 1020;\\n }\\n}\\n@media (min-width: 1400px) {\\n .sticky-xxl-top {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 1020;\\n }\\n .sticky-xxl-bottom {\\n position: -webkit-sticky;\\n position: sticky;\\n bottom: 0;\\n z-index: 1020;\\n }\\n}\\n.hstack {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n align-self: stretch;\\n}\\n\\n.vstack {\\n display: flex;\\n flex: 1 1 auto;\\n flex-direction: column;\\n align-self: stretch;\\n}\\n\\n.visually-hidden,\\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\\n position: absolute !important;\\n width: 1px !important;\\n height: 1px !important;\\n padding: 0 !important;\\n margin: -1px !important;\\n overflow: hidden !important;\\n clip: rect(0, 0, 0, 0) !important;\\n white-space: nowrap !important;\\n border: 0 !important;\\n}\\n\\n.stretched-link::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1;\\n content: \\\"\\\";\\n}\\n\\n.text-truncate {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\\n.vr {\\n display: inline-block;\\n align-self: stretch;\\n width: 1px;\\n min-height: 1em;\\n background-color: currentcolor;\\n opacity: 0.25;\\n}\\n\\n.align-baseline {\\n vertical-align: baseline !important;\\n}\\n\\n.align-top {\\n vertical-align: top !important;\\n}\\n\\n.align-middle {\\n vertical-align: middle !important;\\n}\\n\\n.align-bottom {\\n vertical-align: bottom !important;\\n}\\n\\n.align-text-bottom {\\n vertical-align: text-bottom !important;\\n}\\n\\n.align-text-top {\\n vertical-align: text-top !important;\\n}\\n\\n.float-start {\\n float: left !important;\\n}\\n\\n.float-end {\\n float: right !important;\\n}\\n\\n.float-none {\\n float: none !important;\\n}\\n\\n.opacity-0 {\\n opacity: 0 !important;\\n}\\n\\n.opacity-25 {\\n opacity: 0.25 !important;\\n}\\n\\n.opacity-50 {\\n opacity: 0.5 !important;\\n}\\n\\n.opacity-75 {\\n opacity: 0.75 !important;\\n}\\n\\n.opacity-100 {\\n opacity: 1 !important;\\n}\\n\\n.overflow-auto {\\n overflow: auto !important;\\n}\\n\\n.overflow-hidden {\\n overflow: hidden !important;\\n}\\n\\n.overflow-visible {\\n overflow: visible !important;\\n}\\n\\n.overflow-scroll {\\n overflow: scroll !important;\\n}\\n\\n.d-inline {\\n display: inline !important;\\n}\\n\\n.d-inline-block {\\n display: inline-block !important;\\n}\\n\\n.d-block {\\n display: block !important;\\n}\\n\\n.d-grid {\\n display: grid !important;\\n}\\n\\n.d-table {\\n display: table !important;\\n}\\n\\n.d-table-row {\\n display: table-row !important;\\n}\\n\\n.d-table-cell {\\n display: table-cell !important;\\n}\\n\\n.d-flex {\\n display: flex !important;\\n}\\n\\n.d-inline-flex {\\n display: inline-flex !important;\\n}\\n\\n.d-none {\\n display: none !important;\\n}\\n\\n.shadow {\\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\\n}\\n\\n.shadow-sm {\\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\\n}\\n\\n.shadow-lg {\\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\\n}\\n\\n.shadow-none {\\n box-shadow: none !important;\\n}\\n\\n.position-static {\\n position: static !important;\\n}\\n\\n.position-relative {\\n position: relative !important;\\n}\\n\\n.position-absolute {\\n position: absolute !important;\\n}\\n\\n.position-fixed {\\n position: fixed !important;\\n}\\n\\n.position-sticky {\\n position: -webkit-sticky !important;\\n position: sticky !important;\\n}\\n\\n.top-0 {\\n top: 0 !important;\\n}\\n\\n.top-50 {\\n top: 50% !important;\\n}\\n\\n.top-100 {\\n top: 100% !important;\\n}\\n\\n.bottom-0 {\\n bottom: 0 !important;\\n}\\n\\n.bottom-50 {\\n bottom: 50% !important;\\n}\\n\\n.bottom-100 {\\n bottom: 100% !important;\\n}\\n\\n.start-0 {\\n left: 0 !important;\\n}\\n\\n.start-50 {\\n left: 50% !important;\\n}\\n\\n.start-100 {\\n left: 100% !important;\\n}\\n\\n.end-0 {\\n right: 0 !important;\\n}\\n\\n.end-50 {\\n right: 50% !important;\\n}\\n\\n.end-100 {\\n right: 100% !important;\\n}\\n\\n.translate-middle {\\n transform: translate(-50%, -50%) !important;\\n}\\n\\n.translate-middle-x {\\n transform: translateX(-50%) !important;\\n}\\n\\n.translate-middle-y {\\n transform: translateY(-50%) !important;\\n}\\n\\n.border {\\n border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\\n}\\n\\n.border-0 {\\n border: 0 !important;\\n}\\n\\n.border-top {\\n border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\\n}\\n\\n.border-top-0 {\\n border-top: 0 !important;\\n}\\n\\n.border-end {\\n border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\\n}\\n\\n.border-end-0 {\\n border-right: 0 !important;\\n}\\n\\n.border-bottom {\\n border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\\n}\\n\\n.border-bottom-0 {\\n border-bottom: 0 !important;\\n}\\n\\n.border-start {\\n border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\\n}\\n\\n.border-start-0 {\\n border-left: 0 !important;\\n}\\n\\n.border-primary {\\n --bs-border-opacity: 1;\\n border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;\\n}\\n\\n.border-secondary {\\n --bs-border-opacity: 1;\\n border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;\\n}\\n\\n.border-success {\\n --bs-border-opacity: 1;\\n border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;\\n}\\n\\n.border-info {\\n --bs-border-opacity: 1;\\n border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\\n}\\n\\n.border-warning {\\n --bs-border-opacity: 1;\\n border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;\\n}\\n\\n.border-danger {\\n --bs-border-opacity: 1;\\n border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\\n}\\n\\n.border-light {\\n --bs-border-opacity: 1;\\n border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;\\n}\\n\\n.border-dark {\\n --bs-border-opacity: 1;\\n border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;\\n}\\n\\n.border-white {\\n --bs-border-opacity: 1;\\n border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\\n}\\n\\n.border-1 {\\n --bs-border-width: 1px;\\n}\\n\\n.border-2 {\\n --bs-border-width: 2px;\\n}\\n\\n.border-3 {\\n --bs-border-width: 3px;\\n}\\n\\n.border-4 {\\n --bs-border-width: 4px;\\n}\\n\\n.border-5 {\\n --bs-border-width: 5px;\\n}\\n\\n.border-opacity-10 {\\n --bs-border-opacity: 0.1;\\n}\\n\\n.border-opacity-25 {\\n --bs-border-opacity: 0.25;\\n}\\n\\n.border-opacity-50 {\\n --bs-border-opacity: 0.5;\\n}\\n\\n.border-opacity-75 {\\n --bs-border-opacity: 0.75;\\n}\\n\\n.border-opacity-100 {\\n --bs-border-opacity: 1;\\n}\\n\\n.w-25 {\\n width: 25% !important;\\n}\\n\\n.w-50 {\\n width: 50% !important;\\n}\\n\\n.w-75 {\\n width: 75% !important;\\n}\\n\\n.w-100 {\\n width: 100% !important;\\n}\\n\\n.w-auto {\\n width: auto !important;\\n}\\n\\n.mw-100 {\\n max-width: 100% !important;\\n}\\n\\n.vw-100 {\\n width: 100vw !important;\\n}\\n\\n.min-vw-100 {\\n min-width: 100vw !important;\\n}\\n\\n.h-25 {\\n height: 25% !important;\\n}\\n\\n.h-50 {\\n height: 50% !important;\\n}\\n\\n.h-75 {\\n height: 75% !important;\\n}\\n\\n.h-100 {\\n height: 100% !important;\\n}\\n\\n.h-auto {\\n height: auto !important;\\n}\\n\\n.mh-100 {\\n max-height: 100% !important;\\n}\\n\\n.vh-100 {\\n height: 100vh !important;\\n}\\n\\n.min-vh-100 {\\n min-height: 100vh !important;\\n}\\n\\n.flex-fill {\\n flex: 1 1 auto !important;\\n}\\n\\n.flex-row {\\n flex-direction: row !important;\\n}\\n\\n.flex-column {\\n flex-direction: column !important;\\n}\\n\\n.flex-row-reverse {\\n flex-direction: row-reverse !important;\\n}\\n\\n.flex-column-reverse {\\n flex-direction: column-reverse !important;\\n}\\n\\n.flex-grow-0 {\\n flex-grow: 0 !important;\\n}\\n\\n.flex-grow-1 {\\n flex-grow: 1 !important;\\n}\\n\\n.flex-shrink-0 {\\n flex-shrink: 0 !important;\\n}\\n\\n.flex-shrink-1 {\\n flex-shrink: 1 !important;\\n}\\n\\n.flex-wrap {\\n flex-wrap: wrap !important;\\n}\\n\\n.flex-nowrap {\\n flex-wrap: nowrap !important;\\n}\\n\\n.flex-wrap-reverse {\\n flex-wrap: wrap-reverse !important;\\n}\\n\\n.justify-content-start {\\n justify-content: flex-start !important;\\n}\\n\\n.justify-content-end {\\n justify-content: flex-end !important;\\n}\\n\\n.justify-content-center {\\n justify-content: center !important;\\n}\\n\\n.justify-content-between {\\n justify-content: space-between !important;\\n}\\n\\n.justify-content-around {\\n justify-content: space-around !important;\\n}\\n\\n.justify-content-evenly {\\n justify-content: space-evenly !important;\\n}\\n\\n.align-items-start {\\n align-items: flex-start !important;\\n}\\n\\n.align-items-end {\\n align-items: flex-end !important;\\n}\\n\\n.align-items-center {\\n align-items: center !important;\\n}\\n\\n.align-items-baseline {\\n align-items: baseline !important;\\n}\\n\\n.align-items-stretch {\\n align-items: stretch !important;\\n}\\n\\n.align-content-start {\\n align-content: flex-start !important;\\n}\\n\\n.align-content-end {\\n align-content: flex-end !important;\\n}\\n\\n.align-content-center {\\n align-content: center !important;\\n}\\n\\n.align-content-between {\\n align-content: space-between !important;\\n}\\n\\n.align-content-around {\\n align-content: space-around !important;\\n}\\n\\n.align-content-stretch {\\n align-content: stretch !important;\\n}\\n\\n.align-self-auto {\\n align-self: auto !important;\\n}\\n\\n.align-self-start {\\n align-self: flex-start !important;\\n}\\n\\n.align-self-end {\\n align-self: flex-end !important;\\n}\\n\\n.align-self-center {\\n align-self: center !important;\\n}\\n\\n.align-self-baseline {\\n align-self: baseline !important;\\n}\\n\\n.align-self-stretch {\\n align-self: stretch !important;\\n}\\n\\n.order-first {\\n order: -1 !important;\\n}\\n\\n.order-0 {\\n order: 0 !important;\\n}\\n\\n.order-1 {\\n order: 1 !important;\\n}\\n\\n.order-2 {\\n order: 2 !important;\\n}\\n\\n.order-3 {\\n order: 3 !important;\\n}\\n\\n.order-4 {\\n order: 4 !important;\\n}\\n\\n.order-5 {\\n order: 5 !important;\\n}\\n\\n.order-last {\\n order: 6 !important;\\n}\\n\\n.m-0 {\\n margin: 0 !important;\\n}\\n\\n.m-1 {\\n margin: 0.25rem !important;\\n}\\n\\n.m-2 {\\n margin: 0.5rem !important;\\n}\\n\\n.m-3 {\\n margin: 1rem !important;\\n}\\n\\n.m-4 {\\n margin: 1.5rem !important;\\n}\\n\\n.m-5 {\\n margin: 3rem !important;\\n}\\n\\n.m-auto {\\n margin: auto !important;\\n}\\n\\n.mx-0 {\\n margin-right: 0 !important;\\n margin-left: 0 !important;\\n}\\n\\n.mx-1 {\\n margin-right: 0.25rem !important;\\n margin-left: 0.25rem !important;\\n}\\n\\n.mx-2 {\\n margin-right: 0.5rem !important;\\n margin-left: 0.5rem !important;\\n}\\n\\n.mx-3 {\\n margin-right: 1rem !important;\\n margin-left: 1rem !important;\\n}\\n\\n.mx-4 {\\n margin-right: 1.5rem !important;\\n margin-left: 1.5rem !important;\\n}\\n\\n.mx-5 {\\n margin-right: 3rem !important;\\n margin-left: 3rem !important;\\n}\\n\\n.mx-auto {\\n margin-right: auto !important;\\n margin-left: auto !important;\\n}\\n\\n.my-0 {\\n margin-top: 0 !important;\\n margin-bottom: 0 !important;\\n}\\n\\n.my-1 {\\n margin-top: 0.25rem !important;\\n margin-bottom: 0.25rem !important;\\n}\\n\\n.my-2 {\\n margin-top: 0.5rem !important;\\n margin-bottom: 0.5rem !important;\\n}\\n\\n.my-3 {\\n margin-top: 1rem !important;\\n margin-bottom: 1rem !important;\\n}\\n\\n.my-4 {\\n margin-top: 1.5rem !important;\\n margin-bottom: 1.5rem !important;\\n}\\n\\n.my-5 {\\n margin-top: 3rem !important;\\n margin-bottom: 3rem !important;\\n}\\n\\n.my-auto {\\n margin-top: auto !important;\\n margin-bottom: auto !important;\\n}\\n\\n.mt-0 {\\n margin-top: 0 !important;\\n}\\n\\n.mt-1 {\\n margin-top: 0.25rem !important;\\n}\\n\\n.mt-2 {\\n margin-top: 0.5rem !important;\\n}\\n\\n.mt-3 {\\n margin-top: 1rem !important;\\n}\\n\\n.mt-4 {\\n margin-top: 1.5rem !important;\\n}\\n\\n.mt-5 {\\n margin-top: 3rem !important;\\n}\\n\\n.mt-auto {\\n margin-top: auto !important;\\n}\\n\\n.me-0 {\\n margin-right: 0 !important;\\n}\\n\\n.me-1 {\\n margin-right: 0.25rem !important;\\n}\\n\\n.me-2 {\\n margin-right: 0.5rem !important;\\n}\\n\\n.me-3 {\\n margin-right: 1rem !important;\\n}\\n\\n.me-4 {\\n margin-right: 1.5rem !important;\\n}\\n\\n.me-5 {\\n margin-right: 3rem !important;\\n}\\n\\n.me-auto {\\n margin-right: auto !important;\\n}\\n\\n.mb-0 {\\n margin-bottom: 0 !important;\\n}\\n\\n.mb-1 {\\n margin-bottom: 0.25rem !important;\\n}\\n\\n.mb-2 {\\n margin-bottom: 0.5rem !important;\\n}\\n\\n.mb-3 {\\n margin-bottom: 1rem !important;\\n}\\n\\n.mb-4 {\\n margin-bottom: 1.5rem !important;\\n}\\n\\n.mb-5 {\\n margin-bottom: 3rem !important;\\n}\\n\\n.mb-auto {\\n margin-bottom: auto !important;\\n}\\n\\n.ms-0 {\\n margin-left: 0 !important;\\n}\\n\\n.ms-1 {\\n margin-left: 0.25rem !important;\\n}\\n\\n.ms-2 {\\n margin-left: 0.5rem !important;\\n}\\n\\n.ms-3 {\\n margin-left: 1rem !important;\\n}\\n\\n.ms-4 {\\n margin-left: 1.5rem !important;\\n}\\n\\n.ms-5 {\\n margin-left: 3rem !important;\\n}\\n\\n.ms-auto {\\n margin-left: auto !important;\\n}\\n\\n.p-0 {\\n padding: 0 !important;\\n}\\n\\n.p-1 {\\n padding: 0.25rem !important;\\n}\\n\\n.p-2 {\\n padding: 0.5rem !important;\\n}\\n\\n.p-3 {\\n padding: 1rem !important;\\n}\\n\\n.p-4 {\\n padding: 1.5rem !important;\\n}\\n\\n.p-5 {\\n padding: 3rem !important;\\n}\\n\\n.px-0 {\\n padding-right: 0 !important;\\n padding-left: 0 !important;\\n}\\n\\n.px-1 {\\n padding-right: 0.25rem !important;\\n padding-left: 0.25rem !important;\\n}\\n\\n.px-2 {\\n padding-right: 0.5rem !important;\\n padding-left: 0.5rem !important;\\n}\\n\\n.px-3 {\\n padding-right: 1rem !important;\\n padding-left: 1rem !important;\\n}\\n\\n.px-4 {\\n padding-right: 1.5rem !important;\\n padding-left: 1.5rem !important;\\n}\\n\\n.px-5 {\\n padding-right: 3rem !important;\\n padding-left: 3rem !important;\\n}\\n\\n.py-0 {\\n padding-top: 0 !important;\\n padding-bottom: 0 !important;\\n}\\n\\n.py-1 {\\n padding-top: 0.25rem !important;\\n padding-bottom: 0.25rem !important;\\n}\\n\\n.py-2 {\\n padding-top: 0.5rem !important;\\n padding-bottom: 0.5rem !important;\\n}\\n\\n.py-3 {\\n padding-top: 1rem !important;\\n padding-bottom: 1rem !important;\\n}\\n\\n.py-4 {\\n padding-top: 1.5rem !important;\\n padding-bottom: 1.5rem !important;\\n}\\n\\n.py-5 {\\n padding-top: 3rem !important;\\n padding-bottom: 3rem !important;\\n}\\n\\n.pt-0 {\\n padding-top: 0 !important;\\n}\\n\\n.pt-1 {\\n padding-top: 0.25rem !important;\\n}\\n\\n.pt-2 {\\n padding-top: 0.5rem !important;\\n}\\n\\n.pt-3 {\\n padding-top: 1rem !important;\\n}\\n\\n.pt-4 {\\n padding-top: 1.5rem !important;\\n}\\n\\n.pt-5 {\\n padding-top: 3rem !important;\\n}\\n\\n.pe-0 {\\n padding-right: 0 !important;\\n}\\n\\n.pe-1 {\\n padding-right: 0.25rem !important;\\n}\\n\\n.pe-2 {\\n padding-right: 0.5rem !important;\\n}\\n\\n.pe-3 {\\n padding-right: 1rem !important;\\n}\\n\\n.pe-4 {\\n padding-right: 1.5rem !important;\\n}\\n\\n.pe-5 {\\n padding-right: 3rem !important;\\n}\\n\\n.pb-0 {\\n padding-bottom: 0 !important;\\n}\\n\\n.pb-1 {\\n padding-bottom: 0.25rem !important;\\n}\\n\\n.pb-2 {\\n padding-bottom: 0.5rem !important;\\n}\\n\\n.pb-3 {\\n padding-bottom: 1rem !important;\\n}\\n\\n.pb-4 {\\n padding-bottom: 1.5rem !important;\\n}\\n\\n.pb-5 {\\n padding-bottom: 3rem !important;\\n}\\n\\n.ps-0 {\\n padding-left: 0 !important;\\n}\\n\\n.ps-1 {\\n padding-left: 0.25rem !important;\\n}\\n\\n.ps-2 {\\n padding-left: 0.5rem !important;\\n}\\n\\n.ps-3 {\\n padding-left: 1rem !important;\\n}\\n\\n.ps-4 {\\n padding-left: 1.5rem !important;\\n}\\n\\n.ps-5 {\\n padding-left: 3rem !important;\\n}\\n\\n.gap-0 {\\n gap: 0 !important;\\n}\\n\\n.gap-1 {\\n gap: 0.25rem !important;\\n}\\n\\n.gap-2 {\\n gap: 0.5rem !important;\\n}\\n\\n.gap-3 {\\n gap: 1rem !important;\\n}\\n\\n.gap-4 {\\n gap: 1.5rem !important;\\n}\\n\\n.gap-5 {\\n gap: 3rem !important;\\n}\\n\\n.font-monospace {\\n font-family: var(--bs-font-monospace) !important;\\n}\\n\\n.fs-1 {\\n font-size: calc(1.375rem + 1.5vw) !important;\\n}\\n\\n.fs-2 {\\n font-size: calc(1.325rem + 0.9vw) !important;\\n}\\n\\n.fs-3 {\\n font-size: calc(1.3rem + 0.6vw) !important;\\n}\\n\\n.fs-4 {\\n font-size: calc(1.275rem + 0.3vw) !important;\\n}\\n\\n.fs-5 {\\n font-size: 1.25rem !important;\\n}\\n\\n.fs-6 {\\n font-size: 1rem !important;\\n}\\n\\n.fst-italic {\\n font-style: italic !important;\\n}\\n\\n.fst-normal {\\n font-style: normal !important;\\n}\\n\\n.fw-light {\\n font-weight: 300 !important;\\n}\\n\\n.fw-lighter {\\n font-weight: lighter !important;\\n}\\n\\n.fw-normal {\\n font-weight: 400 !important;\\n}\\n\\n.fw-bold {\\n font-weight: 700 !important;\\n}\\n\\n.fw-semibold {\\n font-weight: 600 !important;\\n}\\n\\n.fw-bolder {\\n font-weight: bolder !important;\\n}\\n\\n.lh-1 {\\n line-height: 1 !important;\\n}\\n\\n.lh-sm {\\n line-height: 1.25 !important;\\n}\\n\\n.lh-base {\\n line-height: 1.5 !important;\\n}\\n\\n.lh-lg {\\n line-height: 2 !important;\\n}\\n\\n.text-start {\\n text-align: left !important;\\n}\\n\\n.text-end {\\n text-align: right !important;\\n}\\n\\n.text-center {\\n text-align: center !important;\\n}\\n\\n.text-decoration-none {\\n text-decoration: none !important;\\n}\\n\\n.text-decoration-underline {\\n text-decoration: underline !important;\\n}\\n\\n.text-decoration-line-through {\\n text-decoration: line-through !important;\\n}\\n\\n.text-lowercase {\\n text-transform: lowercase !important;\\n}\\n\\n.text-uppercase {\\n text-transform: uppercase !important;\\n}\\n\\n.text-capitalize {\\n text-transform: capitalize !important;\\n}\\n\\n.text-wrap {\\n white-space: normal !important;\\n}\\n\\n.text-nowrap {\\n white-space: nowrap !important;\\n}\\n\\n/* rtl:begin:remove */\\n.text-break {\\n word-wrap: break-word !important;\\n word-break: break-word !important;\\n}\\n\\n/* rtl:end:remove */\\n.text-primary {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-secondary {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-success {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-info {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-warning {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-danger {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-light {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-dark {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-black {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-white {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-body {\\n --bs-text-opacity: 1;\\n color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;\\n}\\n\\n.text-muted {\\n --bs-text-opacity: 1;\\n color: #6c757d !important;\\n}\\n\\n.text-black-50 {\\n --bs-text-opacity: 1;\\n color: rgba(0, 0, 0, 0.5) !important;\\n}\\n\\n.text-white-50 {\\n --bs-text-opacity: 1;\\n color: rgba(255, 255, 255, 0.5) !important;\\n}\\n\\n.text-reset {\\n --bs-text-opacity: 1;\\n color: inherit !important;\\n}\\n\\n.text-opacity-25 {\\n --bs-text-opacity: 0.25;\\n}\\n\\n.text-opacity-50 {\\n --bs-text-opacity: 0.5;\\n}\\n\\n.text-opacity-75 {\\n --bs-text-opacity: 0.75;\\n}\\n\\n.text-opacity-100 {\\n --bs-text-opacity: 1;\\n}\\n\\n.bg-primary {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-secondary {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-success {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-info {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-warning {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-danger {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-light {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-dark {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-black {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-white {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-body {\\n --bs-bg-opacity: 1;\\n background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;\\n}\\n\\n.bg-transparent {\\n --bs-bg-opacity: 1;\\n background-color: transparent !important;\\n}\\n\\n.bg-opacity-10 {\\n --bs-bg-opacity: 0.1;\\n}\\n\\n.bg-opacity-25 {\\n --bs-bg-opacity: 0.25;\\n}\\n\\n.bg-opacity-50 {\\n --bs-bg-opacity: 0.5;\\n}\\n\\n.bg-opacity-75 {\\n --bs-bg-opacity: 0.75;\\n}\\n\\n.bg-opacity-100 {\\n --bs-bg-opacity: 1;\\n}\\n\\n.bg-gradient {\\n background-image: var(--bs-gradient) !important;\\n}\\n\\n.user-select-all {\\n -webkit-user-select: all !important;\\n -moz-user-select: all !important;\\n user-select: all !important;\\n}\\n\\n.user-select-auto {\\n -webkit-user-select: auto !important;\\n -moz-user-select: auto !important;\\n user-select: auto !important;\\n}\\n\\n.user-select-none {\\n -webkit-user-select: none !important;\\n -moz-user-select: none !important;\\n user-select: none !important;\\n}\\n\\n.pe-none {\\n pointer-events: none !important;\\n}\\n\\n.pe-auto {\\n pointer-events: auto !important;\\n}\\n\\n.rounded {\\n border-radius: var(--bs-border-radius) !important;\\n}\\n\\n.rounded-0 {\\n border-radius: 0 !important;\\n}\\n\\n.rounded-1 {\\n border-radius: var(--bs-border-radius-sm) !important;\\n}\\n\\n.rounded-2 {\\n border-radius: var(--bs-border-radius) !important;\\n}\\n\\n.rounded-3 {\\n border-radius: var(--bs-border-radius-lg) !important;\\n}\\n\\n.rounded-4 {\\n border-radius: var(--bs-border-radius-xl) !important;\\n}\\n\\n.rounded-5 {\\n border-radius: var(--bs-border-radius-2xl) !important;\\n}\\n\\n.rounded-circle {\\n border-radius: 50% !important;\\n}\\n\\n.rounded-pill {\\n border-radius: var(--bs-border-radius-pill) !important;\\n}\\n\\n.rounded-top {\\n border-top-left-radius: var(--bs-border-radius) !important;\\n border-top-right-radius: var(--bs-border-radius) !important;\\n}\\n\\n.rounded-end {\\n border-top-right-radius: var(--bs-border-radius) !important;\\n border-bottom-right-radius: var(--bs-border-radius) !important;\\n}\\n\\n.rounded-bottom {\\n border-bottom-right-radius: var(--bs-border-radius) !important;\\n border-bottom-left-radius: var(--bs-border-radius) !important;\\n}\\n\\n.rounded-start {\\n border-bottom-left-radius: var(--bs-border-radius) !important;\\n border-top-left-radius: var(--bs-border-radius) !important;\\n}\\n\\n.visible {\\n visibility: visible !important;\\n}\\n\\n.invisible {\\n visibility: hidden !important;\\n}\\n\\n@media (min-width: 576px) {\\n .float-sm-start {\\n float: left !important;\\n }\\n .float-sm-end {\\n float: right !important;\\n }\\n .float-sm-none {\\n float: none !important;\\n }\\n .d-sm-inline {\\n display: inline !important;\\n }\\n .d-sm-inline-block {\\n display: inline-block !important;\\n }\\n .d-sm-block {\\n display: block !important;\\n }\\n .d-sm-grid {\\n display: grid !important;\\n }\\n .d-sm-table {\\n display: table !important;\\n }\\n .d-sm-table-row {\\n display: table-row !important;\\n }\\n .d-sm-table-cell {\\n display: table-cell !important;\\n }\\n .d-sm-flex {\\n display: flex !important;\\n }\\n .d-sm-inline-flex {\\n display: inline-flex !important;\\n }\\n .d-sm-none {\\n display: none !important;\\n }\\n .flex-sm-fill {\\n flex: 1 1 auto !important;\\n }\\n .flex-sm-row {\\n flex-direction: row !important;\\n }\\n .flex-sm-column {\\n flex-direction: column !important;\\n }\\n .flex-sm-row-reverse {\\n flex-direction: row-reverse !important;\\n }\\n .flex-sm-column-reverse {\\n flex-direction: column-reverse !important;\\n }\\n .flex-sm-grow-0 {\\n flex-grow: 0 !important;\\n }\\n .flex-sm-grow-1 {\\n flex-grow: 1 !important;\\n }\\n .flex-sm-shrink-0 {\\n flex-shrink: 0 !important;\\n }\\n .flex-sm-shrink-1 {\\n flex-shrink: 1 !important;\\n }\\n .flex-sm-wrap {\\n flex-wrap: wrap !important;\\n }\\n .flex-sm-nowrap {\\n flex-wrap: nowrap !important;\\n }\\n .flex-sm-wrap-reverse {\\n flex-wrap: wrap-reverse !important;\\n }\\n .justify-content-sm-start {\\n justify-content: flex-start !important;\\n }\\n .justify-content-sm-end {\\n justify-content: flex-end !important;\\n }\\n .justify-content-sm-center {\\n justify-content: center !important;\\n }\\n .justify-content-sm-between {\\n justify-content: space-between !important;\\n }\\n .justify-content-sm-around {\\n justify-content: space-around !important;\\n }\\n .justify-content-sm-evenly {\\n justify-content: space-evenly !important;\\n }\\n .align-items-sm-start {\\n align-items: flex-start !important;\\n }\\n .align-items-sm-end {\\n align-items: flex-end !important;\\n }\\n .align-items-sm-center {\\n align-items: center !important;\\n }\\n .align-items-sm-baseline {\\n align-items: baseline !important;\\n }\\n .align-items-sm-stretch {\\n align-items: stretch !important;\\n }\\n .align-content-sm-start {\\n align-content: flex-start !important;\\n }\\n .align-content-sm-end {\\n align-content: flex-end !important;\\n }\\n .align-content-sm-center {\\n align-content: center !important;\\n }\\n .align-content-sm-between {\\n align-content: space-between !important;\\n }\\n .align-content-sm-around {\\n align-content: space-around !important;\\n }\\n .align-content-sm-stretch {\\n align-content: stretch !important;\\n }\\n .align-self-sm-auto {\\n align-self: auto !important;\\n }\\n .align-self-sm-start {\\n align-self: flex-start !important;\\n }\\n .align-self-sm-end {\\n align-self: flex-end !important;\\n }\\n .align-self-sm-center {\\n align-self: center !important;\\n }\\n .align-self-sm-baseline {\\n align-self: baseline !important;\\n }\\n .align-self-sm-stretch {\\n align-self: stretch !important;\\n }\\n .order-sm-first {\\n order: -1 !important;\\n }\\n .order-sm-0 {\\n order: 0 !important;\\n }\\n .order-sm-1 {\\n order: 1 !important;\\n }\\n .order-sm-2 {\\n order: 2 !important;\\n }\\n .order-sm-3 {\\n order: 3 !important;\\n }\\n .order-sm-4 {\\n order: 4 !important;\\n }\\n .order-sm-5 {\\n order: 5 !important;\\n }\\n .order-sm-last {\\n order: 6 !important;\\n }\\n .m-sm-0 {\\n margin: 0 !important;\\n }\\n .m-sm-1 {\\n margin: 0.25rem !important;\\n }\\n .m-sm-2 {\\n margin: 0.5rem !important;\\n }\\n .m-sm-3 {\\n margin: 1rem !important;\\n }\\n .m-sm-4 {\\n margin: 1.5rem !important;\\n }\\n .m-sm-5 {\\n margin: 3rem !important;\\n }\\n .m-sm-auto {\\n margin: auto !important;\\n }\\n .mx-sm-0 {\\n margin-right: 0 !important;\\n margin-left: 0 !important;\\n }\\n .mx-sm-1 {\\n margin-right: 0.25rem !important;\\n margin-left: 0.25rem !important;\\n }\\n .mx-sm-2 {\\n margin-right: 0.5rem !important;\\n margin-left: 0.5rem !important;\\n }\\n .mx-sm-3 {\\n margin-right: 1rem !important;\\n margin-left: 1rem !important;\\n }\\n .mx-sm-4 {\\n margin-right: 1.5rem !important;\\n margin-left: 1.5rem !important;\\n }\\n .mx-sm-5 {\\n margin-right: 3rem !important;\\n margin-left: 3rem !important;\\n }\\n .mx-sm-auto {\\n margin-right: auto !important;\\n margin-left: auto !important;\\n }\\n .my-sm-0 {\\n margin-top: 0 !important;\\n margin-bottom: 0 !important;\\n }\\n .my-sm-1 {\\n margin-top: 0.25rem !important;\\n margin-bottom: 0.25rem !important;\\n }\\n .my-sm-2 {\\n margin-top: 0.5rem !important;\\n margin-bottom: 0.5rem !important;\\n }\\n .my-sm-3 {\\n margin-top: 1rem !important;\\n margin-bottom: 1rem !important;\\n }\\n .my-sm-4 {\\n margin-top: 1.5rem !important;\\n margin-bottom: 1.5rem !important;\\n }\\n .my-sm-5 {\\n margin-top: 3rem !important;\\n margin-bottom: 3rem !important;\\n }\\n .my-sm-auto {\\n margin-top: auto !important;\\n margin-bottom: auto !important;\\n }\\n .mt-sm-0 {\\n margin-top: 0 !important;\\n }\\n .mt-sm-1 {\\n margin-top: 0.25rem !important;\\n }\\n .mt-sm-2 {\\n margin-top: 0.5rem !important;\\n }\\n .mt-sm-3 {\\n margin-top: 1rem !important;\\n }\\n .mt-sm-4 {\\n margin-top: 1.5rem !important;\\n }\\n .mt-sm-5 {\\n margin-top: 3rem !important;\\n }\\n .mt-sm-auto {\\n margin-top: auto !important;\\n }\\n .me-sm-0 {\\n margin-right: 0 !important;\\n }\\n .me-sm-1 {\\n margin-right: 0.25rem !important;\\n }\\n .me-sm-2 {\\n margin-right: 0.5rem !important;\\n }\\n .me-sm-3 {\\n margin-right: 1rem !important;\\n }\\n .me-sm-4 {\\n margin-right: 1.5rem !important;\\n }\\n .me-sm-5 {\\n margin-right: 3rem !important;\\n }\\n .me-sm-auto {\\n margin-right: auto !important;\\n }\\n .mb-sm-0 {\\n margin-bottom: 0 !important;\\n }\\n .mb-sm-1 {\\n margin-bottom: 0.25rem !important;\\n }\\n .mb-sm-2 {\\n margin-bottom: 0.5rem !important;\\n }\\n .mb-sm-3 {\\n margin-bottom: 1rem !important;\\n }\\n .mb-sm-4 {\\n margin-bottom: 1.5rem !important;\\n }\\n .mb-sm-5 {\\n margin-bottom: 3rem !important;\\n }\\n .mb-sm-auto {\\n margin-bottom: auto !important;\\n }\\n .ms-sm-0 {\\n margin-left: 0 !important;\\n }\\n .ms-sm-1 {\\n margin-left: 0.25rem !important;\\n }\\n .ms-sm-2 {\\n margin-left: 0.5rem !important;\\n }\\n .ms-sm-3 {\\n margin-left: 1rem !important;\\n }\\n .ms-sm-4 {\\n margin-left: 1.5rem !important;\\n }\\n .ms-sm-5 {\\n margin-left: 3rem !important;\\n }\\n .ms-sm-auto {\\n margin-left: auto !important;\\n }\\n .p-sm-0 {\\n padding: 0 !important;\\n }\\n .p-sm-1 {\\n padding: 0.25rem !important;\\n }\\n .p-sm-2 {\\n padding: 0.5rem !important;\\n }\\n .p-sm-3 {\\n padding: 1rem !important;\\n }\\n .p-sm-4 {\\n padding: 1.5rem !important;\\n }\\n .p-sm-5 {\\n padding: 3rem !important;\\n }\\n .px-sm-0 {\\n padding-right: 0 !important;\\n padding-left: 0 !important;\\n }\\n .px-sm-1 {\\n padding-right: 0.25rem !important;\\n padding-left: 0.25rem !important;\\n }\\n .px-sm-2 {\\n padding-right: 0.5rem !important;\\n padding-left: 0.5rem !important;\\n }\\n .px-sm-3 {\\n padding-right: 1rem !important;\\n padding-left: 1rem !important;\\n }\\n .px-sm-4 {\\n padding-right: 1.5rem !important;\\n padding-left: 1.5rem !important;\\n }\\n .px-sm-5 {\\n padding-right: 3rem !important;\\n padding-left: 3rem !important;\\n }\\n .py-sm-0 {\\n padding-top: 0 !important;\\n padding-bottom: 0 !important;\\n }\\n .py-sm-1 {\\n padding-top: 0.25rem !important;\\n padding-bottom: 0.25rem !important;\\n }\\n .py-sm-2 {\\n padding-top: 0.5rem !important;\\n padding-bottom: 0.5rem !important;\\n }\\n .py-sm-3 {\\n padding-top: 1rem !important;\\n padding-bottom: 1rem !important;\\n }\\n .py-sm-4 {\\n padding-top: 1.5rem !important;\\n padding-bottom: 1.5rem !important;\\n }\\n .py-sm-5 {\\n padding-top: 3rem !important;\\n padding-bottom: 3rem !important;\\n }\\n .pt-sm-0 {\\n padding-top: 0 !important;\\n }\\n .pt-sm-1 {\\n padding-top: 0.25rem !important;\\n }\\n .pt-sm-2 {\\n padding-top: 0.5rem !important;\\n }\\n .pt-sm-3 {\\n padding-top: 1rem !important;\\n }\\n .pt-sm-4 {\\n padding-top: 1.5rem !important;\\n }\\n .pt-sm-5 {\\n padding-top: 3rem !important;\\n }\\n .pe-sm-0 {\\n padding-right: 0 !important;\\n }\\n .pe-sm-1 {\\n padding-right: 0.25rem !important;\\n }\\n .pe-sm-2 {\\n padding-right: 0.5rem !important;\\n }\\n .pe-sm-3 {\\n padding-right: 1rem !important;\\n }\\n .pe-sm-4 {\\n padding-right: 1.5rem !important;\\n }\\n .pe-sm-5 {\\n padding-right: 3rem !important;\\n }\\n .pb-sm-0 {\\n padding-bottom: 0 !important;\\n }\\n .pb-sm-1 {\\n padding-bottom: 0.25rem !important;\\n }\\n .pb-sm-2 {\\n padding-bottom: 0.5rem !important;\\n }\\n .pb-sm-3 {\\n padding-bottom: 1rem !important;\\n }\\n .pb-sm-4 {\\n padding-bottom: 1.5rem !important;\\n }\\n .pb-sm-5 {\\n padding-bottom: 3rem !important;\\n }\\n .ps-sm-0 {\\n padding-left: 0 !important;\\n }\\n .ps-sm-1 {\\n padding-left: 0.25rem !important;\\n }\\n .ps-sm-2 {\\n padding-left: 0.5rem !important;\\n }\\n .ps-sm-3 {\\n padding-left: 1rem !important;\\n }\\n .ps-sm-4 {\\n padding-left: 1.5rem !important;\\n }\\n .ps-sm-5 {\\n padding-left: 3rem !important;\\n }\\n .gap-sm-0 {\\n gap: 0 !important;\\n }\\n .gap-sm-1 {\\n gap: 0.25rem !important;\\n }\\n .gap-sm-2 {\\n gap: 0.5rem !important;\\n }\\n .gap-sm-3 {\\n gap: 1rem !important;\\n }\\n .gap-sm-4 {\\n gap: 1.5rem !important;\\n }\\n .gap-sm-5 {\\n gap: 3rem !important;\\n }\\n .text-sm-start {\\n text-align: left !important;\\n }\\n .text-sm-end {\\n text-align: right !important;\\n }\\n .text-sm-center {\\n text-align: center !important;\\n }\\n}\\n@media (min-width: 768px) {\\n .float-md-start {\\n float: left !important;\\n }\\n .float-md-end {\\n float: right !important;\\n }\\n .float-md-none {\\n float: none !important;\\n }\\n .d-md-inline {\\n display: inline !important;\\n }\\n .d-md-inline-block {\\n display: inline-block !important;\\n }\\n .d-md-block {\\n display: block !important;\\n }\\n .d-md-grid {\\n display: grid !important;\\n }\\n .d-md-table {\\n display: table !important;\\n }\\n .d-md-table-row {\\n display: table-row !important;\\n }\\n .d-md-table-cell {\\n display: table-cell !important;\\n }\\n .d-md-flex {\\n display: flex !important;\\n }\\n .d-md-inline-flex {\\n display: inline-flex !important;\\n }\\n .d-md-none {\\n display: none !important;\\n }\\n .flex-md-fill {\\n flex: 1 1 auto !important;\\n }\\n .flex-md-row {\\n flex-direction: row !important;\\n }\\n .flex-md-column {\\n flex-direction: column !important;\\n }\\n .flex-md-row-reverse {\\n flex-direction: row-reverse !important;\\n }\\n .flex-md-column-reverse {\\n flex-direction: column-reverse !important;\\n }\\n .flex-md-grow-0 {\\n flex-grow: 0 !important;\\n }\\n .flex-md-grow-1 {\\n flex-grow: 1 !important;\\n }\\n .flex-md-shrink-0 {\\n flex-shrink: 0 !important;\\n }\\n .flex-md-shrink-1 {\\n flex-shrink: 1 !important;\\n }\\n .flex-md-wrap {\\n flex-wrap: wrap !important;\\n }\\n .flex-md-nowrap {\\n flex-wrap: nowrap !important;\\n }\\n .flex-md-wrap-reverse {\\n flex-wrap: wrap-reverse !important;\\n }\\n .justify-content-md-start {\\n justify-content: flex-start !important;\\n }\\n .justify-content-md-end {\\n justify-content: flex-end !important;\\n }\\n .justify-content-md-center {\\n justify-content: center !important;\\n }\\n .justify-content-md-between {\\n justify-content: space-between !important;\\n }\\n .justify-content-md-around {\\n justify-content: space-around !important;\\n }\\n .justify-content-md-evenly {\\n justify-content: space-evenly !important;\\n }\\n .align-items-md-start {\\n align-items: flex-start !important;\\n }\\n .align-items-md-end {\\n align-items: flex-end !important;\\n }\\n .align-items-md-center {\\n align-items: center !important;\\n }\\n .align-items-md-baseline {\\n align-items: baseline !important;\\n }\\n .align-items-md-stretch {\\n align-items: stretch !important;\\n }\\n .align-content-md-start {\\n align-content: flex-start !important;\\n }\\n .align-content-md-end {\\n align-content: flex-end !important;\\n }\\n .align-content-md-center {\\n align-content: center !important;\\n }\\n .align-content-md-between {\\n align-content: space-between !important;\\n }\\n .align-content-md-around {\\n align-content: space-around !important;\\n }\\n .align-content-md-stretch {\\n align-content: stretch !important;\\n }\\n .align-self-md-auto {\\n align-self: auto !important;\\n }\\n .align-self-md-start {\\n align-self: flex-start !important;\\n }\\n .align-self-md-end {\\n align-self: flex-end !important;\\n }\\n .align-self-md-center {\\n align-self: center !important;\\n }\\n .align-self-md-baseline {\\n align-self: baseline !important;\\n }\\n .align-self-md-stretch {\\n align-self: stretch !important;\\n }\\n .order-md-first {\\n order: -1 !important;\\n }\\n .order-md-0 {\\n order: 0 !important;\\n }\\n .order-md-1 {\\n order: 1 !important;\\n }\\n .order-md-2 {\\n order: 2 !important;\\n }\\n .order-md-3 {\\n order: 3 !important;\\n }\\n .order-md-4 {\\n order: 4 !important;\\n }\\n .order-md-5 {\\n order: 5 !important;\\n }\\n .order-md-last {\\n order: 6 !important;\\n }\\n .m-md-0 {\\n margin: 0 !important;\\n }\\n .m-md-1 {\\n margin: 0.25rem !important;\\n }\\n .m-md-2 {\\n margin: 0.5rem !important;\\n }\\n .m-md-3 {\\n margin: 1rem !important;\\n }\\n .m-md-4 {\\n margin: 1.5rem !important;\\n }\\n .m-md-5 {\\n margin: 3rem !important;\\n }\\n .m-md-auto {\\n margin: auto !important;\\n }\\n .mx-md-0 {\\n margin-right: 0 !important;\\n margin-left: 0 !important;\\n }\\n .mx-md-1 {\\n margin-right: 0.25rem !important;\\n margin-left: 0.25rem !important;\\n }\\n .mx-md-2 {\\n margin-right: 0.5rem !important;\\n margin-left: 0.5rem !important;\\n }\\n .mx-md-3 {\\n margin-right: 1rem !important;\\n margin-left: 1rem !important;\\n }\\n .mx-md-4 {\\n margin-right: 1.5rem !important;\\n margin-left: 1.5rem !important;\\n }\\n .mx-md-5 {\\n margin-right: 3rem !important;\\n margin-left: 3rem !important;\\n }\\n .mx-md-auto {\\n margin-right: auto !important;\\n margin-left: auto !important;\\n }\\n .my-md-0 {\\n margin-top: 0 !important;\\n margin-bottom: 0 !important;\\n }\\n .my-md-1 {\\n margin-top: 0.25rem !important;\\n margin-bottom: 0.25rem !important;\\n }\\n .my-md-2 {\\n margin-top: 0.5rem !important;\\n margin-bottom: 0.5rem !important;\\n }\\n .my-md-3 {\\n margin-top: 1rem !important;\\n margin-bottom: 1rem !important;\\n }\\n .my-md-4 {\\n margin-top: 1.5rem !important;\\n margin-bottom: 1.5rem !important;\\n }\\n .my-md-5 {\\n margin-top: 3rem !important;\\n margin-bottom: 3rem !important;\\n }\\n .my-md-auto {\\n margin-top: auto !important;\\n margin-bottom: auto !important;\\n }\\n .mt-md-0 {\\n margin-top: 0 !important;\\n }\\n .mt-md-1 {\\n margin-top: 0.25rem !important;\\n }\\n .mt-md-2 {\\n margin-top: 0.5rem !important;\\n }\\n .mt-md-3 {\\n margin-top: 1rem !important;\\n }\\n .mt-md-4 {\\n margin-top: 1.5rem !important;\\n }\\n .mt-md-5 {\\n margin-top: 3rem !important;\\n }\\n .mt-md-auto {\\n margin-top: auto !important;\\n }\\n .me-md-0 {\\n margin-right: 0 !important;\\n }\\n .me-md-1 {\\n margin-right: 0.25rem !important;\\n }\\n .me-md-2 {\\n margin-right: 0.5rem !important;\\n }\\n .me-md-3 {\\n margin-right: 1rem !important;\\n }\\n .me-md-4 {\\n margin-right: 1.5rem !important;\\n }\\n .me-md-5 {\\n margin-right: 3rem !important;\\n }\\n .me-md-auto {\\n margin-right: auto !important;\\n }\\n .mb-md-0 {\\n margin-bottom: 0 !important;\\n }\\n .mb-md-1 {\\n margin-bottom: 0.25rem !important;\\n }\\n .mb-md-2 {\\n margin-bottom: 0.5rem !important;\\n }\\n .mb-md-3 {\\n margin-bottom: 1rem !important;\\n }\\n .mb-md-4 {\\n margin-bottom: 1.5rem !important;\\n }\\n .mb-md-5 {\\n margin-bottom: 3rem !important;\\n }\\n .mb-md-auto {\\n margin-bottom: auto !important;\\n }\\n .ms-md-0 {\\n margin-left: 0 !important;\\n }\\n .ms-md-1 {\\n margin-left: 0.25rem !important;\\n }\\n .ms-md-2 {\\n margin-left: 0.5rem !important;\\n }\\n .ms-md-3 {\\n margin-left: 1rem !important;\\n }\\n .ms-md-4 {\\n margin-left: 1.5rem !important;\\n }\\n .ms-md-5 {\\n margin-left: 3rem !important;\\n }\\n .ms-md-auto {\\n margin-left: auto !important;\\n }\\n .p-md-0 {\\n padding: 0 !important;\\n }\\n .p-md-1 {\\n padding: 0.25rem !important;\\n }\\n .p-md-2 {\\n padding: 0.5rem !important;\\n }\\n .p-md-3 {\\n padding: 1rem !important;\\n }\\n .p-md-4 {\\n padding: 1.5rem !important;\\n }\\n .p-md-5 {\\n padding: 3rem !important;\\n }\\n .px-md-0 {\\n padding-right: 0 !important;\\n padding-left: 0 !important;\\n }\\n .px-md-1 {\\n padding-right: 0.25rem !important;\\n padding-left: 0.25rem !important;\\n }\\n .px-md-2 {\\n padding-right: 0.5rem !important;\\n padding-left: 0.5rem !important;\\n }\\n .px-md-3 {\\n padding-right: 1rem !important;\\n padding-left: 1rem !important;\\n }\\n .px-md-4 {\\n padding-right: 1.5rem !important;\\n padding-left: 1.5rem !important;\\n }\\n .px-md-5 {\\n padding-right: 3rem !important;\\n padding-left: 3rem !important;\\n }\\n .py-md-0 {\\n padding-top: 0 !important;\\n padding-bottom: 0 !important;\\n }\\n .py-md-1 {\\n padding-top: 0.25rem !important;\\n padding-bottom: 0.25rem !important;\\n }\\n .py-md-2 {\\n padding-top: 0.5rem !important;\\n padding-bottom: 0.5rem !important;\\n }\\n .py-md-3 {\\n padding-top: 1rem !important;\\n padding-bottom: 1rem !important;\\n }\\n .py-md-4 {\\n padding-top: 1.5rem !important;\\n padding-bottom: 1.5rem !important;\\n }\\n .py-md-5 {\\n padding-top: 3rem !important;\\n padding-bottom: 3rem !important;\\n }\\n .pt-md-0 {\\n padding-top: 0 !important;\\n }\\n .pt-md-1 {\\n padding-top: 0.25rem !important;\\n }\\n .pt-md-2 {\\n padding-top: 0.5rem !important;\\n }\\n .pt-md-3 {\\n padding-top: 1rem !important;\\n }\\n .pt-md-4 {\\n padding-top: 1.5rem !important;\\n }\\n .pt-md-5 {\\n padding-top: 3rem !important;\\n }\\n .pe-md-0 {\\n padding-right: 0 !important;\\n }\\n .pe-md-1 {\\n padding-right: 0.25rem !important;\\n }\\n .pe-md-2 {\\n padding-right: 0.5rem !important;\\n }\\n .pe-md-3 {\\n padding-right: 1rem !important;\\n }\\n .pe-md-4 {\\n padding-right: 1.5rem !important;\\n }\\n .pe-md-5 {\\n padding-right: 3rem !important;\\n }\\n .pb-md-0 {\\n padding-bottom: 0 !important;\\n }\\n .pb-md-1 {\\n padding-bottom: 0.25rem !important;\\n }\\n .pb-md-2 {\\n padding-bottom: 0.5rem !important;\\n }\\n .pb-md-3 {\\n padding-bottom: 1rem !important;\\n }\\n .pb-md-4 {\\n padding-bottom: 1.5rem !important;\\n }\\n .pb-md-5 {\\n padding-bottom: 3rem !important;\\n }\\n .ps-md-0 {\\n padding-left: 0 !important;\\n }\\n .ps-md-1 {\\n padding-left: 0.25rem !important;\\n }\\n .ps-md-2 {\\n padding-left: 0.5rem !important;\\n }\\n .ps-md-3 {\\n padding-left: 1rem !important;\\n }\\n .ps-md-4 {\\n padding-left: 1.5rem !important;\\n }\\n .ps-md-5 {\\n padding-left: 3rem !important;\\n }\\n .gap-md-0 {\\n gap: 0 !important;\\n }\\n .gap-md-1 {\\n gap: 0.25rem !important;\\n }\\n .gap-md-2 {\\n gap: 0.5rem !important;\\n }\\n .gap-md-3 {\\n gap: 1rem !important;\\n }\\n .gap-md-4 {\\n gap: 1.5rem !important;\\n }\\n .gap-md-5 {\\n gap: 3rem !important;\\n }\\n .text-md-start {\\n text-align: left !important;\\n }\\n .text-md-end {\\n text-align: right !important;\\n }\\n .text-md-center {\\n text-align: center !important;\\n }\\n}\\n@media (min-width: 992px) {\\n .float-lg-start {\\n float: left !important;\\n }\\n .float-lg-end {\\n float: right !important;\\n }\\n .float-lg-none {\\n float: none !important;\\n }\\n .d-lg-inline {\\n display: inline !important;\\n }\\n .d-lg-inline-block {\\n display: inline-block !important;\\n }\\n .d-lg-block {\\n display: block !important;\\n }\\n .d-lg-grid {\\n display: grid !important;\\n }\\n .d-lg-table {\\n display: table !important;\\n }\\n .d-lg-table-row {\\n display: table-row !important;\\n }\\n .d-lg-table-cell {\\n display: table-cell !important;\\n }\\n .d-lg-flex {\\n display: flex !important;\\n }\\n .d-lg-inline-flex {\\n display: inline-flex !important;\\n }\\n .d-lg-none {\\n display: none !important;\\n }\\n .flex-lg-fill {\\n flex: 1 1 auto !important;\\n }\\n .flex-lg-row {\\n flex-direction: row !important;\\n }\\n .flex-lg-column {\\n flex-direction: column !important;\\n }\\n .flex-lg-row-reverse {\\n flex-direction: row-reverse !important;\\n }\\n .flex-lg-column-reverse {\\n flex-direction: column-reverse !important;\\n }\\n .flex-lg-grow-0 {\\n flex-grow: 0 !important;\\n }\\n .flex-lg-grow-1 {\\n flex-grow: 1 !important;\\n }\\n .flex-lg-shrink-0 {\\n flex-shrink: 0 !important;\\n }\\n .flex-lg-shrink-1 {\\n flex-shrink: 1 !important;\\n }\\n .flex-lg-wrap {\\n flex-wrap: wrap !important;\\n }\\n .flex-lg-nowrap {\\n flex-wrap: nowrap !important;\\n }\\n .flex-lg-wrap-reverse {\\n flex-wrap: wrap-reverse !important;\\n }\\n .justify-content-lg-start {\\n justify-content: flex-start !important;\\n }\\n .justify-content-lg-end {\\n justify-content: flex-end !important;\\n }\\n .justify-content-lg-center {\\n justify-content: center !important;\\n }\\n .justify-content-lg-between {\\n justify-content: space-between !important;\\n }\\n .justify-content-lg-around {\\n justify-content: space-around !important;\\n }\\n .justify-content-lg-evenly {\\n justify-content: space-evenly !important;\\n }\\n .align-items-lg-start {\\n align-items: flex-start !important;\\n }\\n .align-items-lg-end {\\n align-items: flex-end !important;\\n }\\n .align-items-lg-center {\\n align-items: center !important;\\n }\\n .align-items-lg-baseline {\\n align-items: baseline !important;\\n }\\n .align-items-lg-stretch {\\n align-items: stretch !important;\\n }\\n .align-content-lg-start {\\n align-content: flex-start !important;\\n }\\n .align-content-lg-end {\\n align-content: flex-end !important;\\n }\\n .align-content-lg-center {\\n align-content: center !important;\\n }\\n .align-content-lg-between {\\n align-content: space-between !important;\\n }\\n .align-content-lg-around {\\n align-content: space-around !important;\\n }\\n .align-content-lg-stretch {\\n align-content: stretch !important;\\n }\\n .align-self-lg-auto {\\n align-self: auto !important;\\n }\\n .align-self-lg-start {\\n align-self: flex-start !important;\\n }\\n .align-self-lg-end {\\n align-self: flex-end !important;\\n }\\n .align-self-lg-center {\\n align-self: center !important;\\n }\\n .align-self-lg-baseline {\\n align-self: baseline !important;\\n }\\n .align-self-lg-stretch {\\n align-self: stretch !important;\\n }\\n .order-lg-first {\\n order: -1 !important;\\n }\\n .order-lg-0 {\\n order: 0 !important;\\n }\\n .order-lg-1 {\\n order: 1 !important;\\n }\\n .order-lg-2 {\\n order: 2 !important;\\n }\\n .order-lg-3 {\\n order: 3 !important;\\n }\\n .order-lg-4 {\\n order: 4 !important;\\n }\\n .order-lg-5 {\\n order: 5 !important;\\n }\\n .order-lg-last {\\n order: 6 !important;\\n }\\n .m-lg-0 {\\n margin: 0 !important;\\n }\\n .m-lg-1 {\\n margin: 0.25rem !important;\\n }\\n .m-lg-2 {\\n margin: 0.5rem !important;\\n }\\n .m-lg-3 {\\n margin: 1rem !important;\\n }\\n .m-lg-4 {\\n margin: 1.5rem !important;\\n }\\n .m-lg-5 {\\n margin: 3rem !important;\\n }\\n .m-lg-auto {\\n margin: auto !important;\\n }\\n .mx-lg-0 {\\n margin-right: 0 !important;\\n margin-left: 0 !important;\\n }\\n .mx-lg-1 {\\n margin-right: 0.25rem !important;\\n margin-left: 0.25rem !important;\\n }\\n .mx-lg-2 {\\n margin-right: 0.5rem !important;\\n margin-left: 0.5rem !important;\\n }\\n .mx-lg-3 {\\n margin-right: 1rem !important;\\n margin-left: 1rem !important;\\n }\\n .mx-lg-4 {\\n margin-right: 1.5rem !important;\\n margin-left: 1.5rem !important;\\n }\\n .mx-lg-5 {\\n margin-right: 3rem !important;\\n margin-left: 3rem !important;\\n }\\n .mx-lg-auto {\\n margin-right: auto !important;\\n margin-left: auto !important;\\n }\\n .my-lg-0 {\\n margin-top: 0 !important;\\n margin-bottom: 0 !important;\\n }\\n .my-lg-1 {\\n margin-top: 0.25rem !important;\\n margin-bottom: 0.25rem !important;\\n }\\n .my-lg-2 {\\n margin-top: 0.5rem !important;\\n margin-bottom: 0.5rem !important;\\n }\\n .my-lg-3 {\\n margin-top: 1rem !important;\\n margin-bottom: 1rem !important;\\n }\\n .my-lg-4 {\\n margin-top: 1.5rem !important;\\n margin-bottom: 1.5rem !important;\\n }\\n .my-lg-5 {\\n margin-top: 3rem !important;\\n margin-bottom: 3rem !important;\\n }\\n .my-lg-auto {\\n margin-top: auto !important;\\n margin-bottom: auto !important;\\n }\\n .mt-lg-0 {\\n margin-top: 0 !important;\\n }\\n .mt-lg-1 {\\n margin-top: 0.25rem !important;\\n }\\n .mt-lg-2 {\\n margin-top: 0.5rem !important;\\n }\\n .mt-lg-3 {\\n margin-top: 1rem !important;\\n }\\n .mt-lg-4 {\\n margin-top: 1.5rem !important;\\n }\\n .mt-lg-5 {\\n margin-top: 3rem !important;\\n }\\n .mt-lg-auto {\\n margin-top: auto !important;\\n }\\n .me-lg-0 {\\n margin-right: 0 !important;\\n }\\n .me-lg-1 {\\n margin-right: 0.25rem !important;\\n }\\n .me-lg-2 {\\n margin-right: 0.5rem !important;\\n }\\n .me-lg-3 {\\n margin-right: 1rem !important;\\n }\\n .me-lg-4 {\\n margin-right: 1.5rem !important;\\n }\\n .me-lg-5 {\\n margin-right: 3rem !important;\\n }\\n .me-lg-auto {\\n margin-right: auto !important;\\n }\\n .mb-lg-0 {\\n margin-bottom: 0 !important;\\n }\\n .mb-lg-1 {\\n margin-bottom: 0.25rem !important;\\n }\\n .mb-lg-2 {\\n margin-bottom: 0.5rem !important;\\n }\\n .mb-lg-3 {\\n margin-bottom: 1rem !important;\\n }\\n .mb-lg-4 {\\n margin-bottom: 1.5rem !important;\\n }\\n .mb-lg-5 {\\n margin-bottom: 3rem !important;\\n }\\n .mb-lg-auto {\\n margin-bottom: auto !important;\\n }\\n .ms-lg-0 {\\n margin-left: 0 !important;\\n }\\n .ms-lg-1 {\\n margin-left: 0.25rem !important;\\n }\\n .ms-lg-2 {\\n margin-left: 0.5rem !important;\\n }\\n .ms-lg-3 {\\n margin-left: 1rem !important;\\n }\\n .ms-lg-4 {\\n margin-left: 1.5rem !important;\\n }\\n .ms-lg-5 {\\n margin-left: 3rem !important;\\n }\\n .ms-lg-auto {\\n margin-left: auto !important;\\n }\\n .p-lg-0 {\\n padding: 0 !important;\\n }\\n .p-lg-1 {\\n padding: 0.25rem !important;\\n }\\n .p-lg-2 {\\n padding: 0.5rem !important;\\n }\\n .p-lg-3 {\\n padding: 1rem !important;\\n }\\n .p-lg-4 {\\n padding: 1.5rem !important;\\n }\\n .p-lg-5 {\\n padding: 3rem !important;\\n }\\n .px-lg-0 {\\n padding-right: 0 !important;\\n padding-left: 0 !important;\\n }\\n .px-lg-1 {\\n padding-right: 0.25rem !important;\\n padding-left: 0.25rem !important;\\n }\\n .px-lg-2 {\\n padding-right: 0.5rem !important;\\n padding-left: 0.5rem !important;\\n }\\n .px-lg-3 {\\n padding-right: 1rem !important;\\n padding-left: 1rem !important;\\n }\\n .px-lg-4 {\\n padding-right: 1.5rem !important;\\n padding-left: 1.5rem !important;\\n }\\n .px-lg-5 {\\n padding-right: 3rem !important;\\n padding-left: 3rem !important;\\n }\\n .py-lg-0 {\\n padding-top: 0 !important;\\n padding-bottom: 0 !important;\\n }\\n .py-lg-1 {\\n padding-top: 0.25rem !important;\\n padding-bottom: 0.25rem !important;\\n }\\n .py-lg-2 {\\n padding-top: 0.5rem !important;\\n padding-bottom: 0.5rem !important;\\n }\\n .py-lg-3 {\\n padding-top: 1rem !important;\\n padding-bottom: 1rem !important;\\n }\\n .py-lg-4 {\\n padding-top: 1.5rem !important;\\n padding-bottom: 1.5rem !important;\\n }\\n .py-lg-5 {\\n padding-top: 3rem !important;\\n padding-bottom: 3rem !important;\\n }\\n .pt-lg-0 {\\n padding-top: 0 !important;\\n }\\n .pt-lg-1 {\\n padding-top: 0.25rem !important;\\n }\\n .pt-lg-2 {\\n padding-top: 0.5rem !important;\\n }\\n .pt-lg-3 {\\n padding-top: 1rem !important;\\n }\\n .pt-lg-4 {\\n padding-top: 1.5rem !important;\\n }\\n .pt-lg-5 {\\n padding-top: 3rem !important;\\n }\\n .pe-lg-0 {\\n padding-right: 0 !important;\\n }\\n .pe-lg-1 {\\n padding-right: 0.25rem !important;\\n }\\n .pe-lg-2 {\\n padding-right: 0.5rem !important;\\n }\\n .pe-lg-3 {\\n padding-right: 1rem !important;\\n }\\n .pe-lg-4 {\\n padding-right: 1.5rem !important;\\n }\\n .pe-lg-5 {\\n padding-right: 3rem !important;\\n }\\n .pb-lg-0 {\\n padding-bottom: 0 !important;\\n }\\n .pb-lg-1 {\\n padding-bottom: 0.25rem !important;\\n }\\n .pb-lg-2 {\\n padding-bottom: 0.5rem !important;\\n }\\n .pb-lg-3 {\\n padding-bottom: 1rem !important;\\n }\\n .pb-lg-4 {\\n padding-bottom: 1.5rem !important;\\n }\\n .pb-lg-5 {\\n padding-bottom: 3rem !important;\\n }\\n .ps-lg-0 {\\n padding-left: 0 !important;\\n }\\n .ps-lg-1 {\\n padding-left: 0.25rem !important;\\n }\\n .ps-lg-2 {\\n padding-left: 0.5rem !important;\\n }\\n .ps-lg-3 {\\n padding-left: 1rem !important;\\n }\\n .ps-lg-4 {\\n padding-left: 1.5rem !important;\\n }\\n .ps-lg-5 {\\n padding-left: 3rem !important;\\n }\\n .gap-lg-0 {\\n gap: 0 !important;\\n }\\n .gap-lg-1 {\\n gap: 0.25rem !important;\\n }\\n .gap-lg-2 {\\n gap: 0.5rem !important;\\n }\\n .gap-lg-3 {\\n gap: 1rem !important;\\n }\\n .gap-lg-4 {\\n gap: 1.5rem !important;\\n }\\n .gap-lg-5 {\\n gap: 3rem !important;\\n }\\n .text-lg-start {\\n text-align: left !important;\\n }\\n .text-lg-end {\\n text-align: right !important;\\n }\\n .text-lg-center {\\n text-align: center !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .float-xl-start {\\n float: left !important;\\n }\\n .float-xl-end {\\n float: right !important;\\n }\\n .float-xl-none {\\n float: none !important;\\n }\\n .d-xl-inline {\\n display: inline !important;\\n }\\n .d-xl-inline-block {\\n display: inline-block !important;\\n }\\n .d-xl-block {\\n display: block !important;\\n }\\n .d-xl-grid {\\n display: grid !important;\\n }\\n .d-xl-table {\\n display: table !important;\\n }\\n .d-xl-table-row {\\n display: table-row !important;\\n }\\n .d-xl-table-cell {\\n display: table-cell !important;\\n }\\n .d-xl-flex {\\n display: flex !important;\\n }\\n .d-xl-inline-flex {\\n display: inline-flex !important;\\n }\\n .d-xl-none {\\n display: none !important;\\n }\\n .flex-xl-fill {\\n flex: 1 1 auto !important;\\n }\\n .flex-xl-row {\\n flex-direction: row !important;\\n }\\n .flex-xl-column {\\n flex-direction: column !important;\\n }\\n .flex-xl-row-reverse {\\n flex-direction: row-reverse !important;\\n }\\n .flex-xl-column-reverse {\\n flex-direction: column-reverse !important;\\n }\\n .flex-xl-grow-0 {\\n flex-grow: 0 !important;\\n }\\n .flex-xl-grow-1 {\\n flex-grow: 1 !important;\\n }\\n .flex-xl-shrink-0 {\\n flex-shrink: 0 !important;\\n }\\n .flex-xl-shrink-1 {\\n flex-shrink: 1 !important;\\n }\\n .flex-xl-wrap {\\n flex-wrap: wrap !important;\\n }\\n .flex-xl-nowrap {\\n flex-wrap: nowrap !important;\\n }\\n .flex-xl-wrap-reverse {\\n flex-wrap: wrap-reverse !important;\\n }\\n .justify-content-xl-start {\\n justify-content: flex-start !important;\\n }\\n .justify-content-xl-end {\\n justify-content: flex-end !important;\\n }\\n .justify-content-xl-center {\\n justify-content: center !important;\\n }\\n .justify-content-xl-between {\\n justify-content: space-between !important;\\n }\\n .justify-content-xl-around {\\n justify-content: space-around !important;\\n }\\n .justify-content-xl-evenly {\\n justify-content: space-evenly !important;\\n }\\n .align-items-xl-start {\\n align-items: flex-start !important;\\n }\\n .align-items-xl-end {\\n align-items: flex-end !important;\\n }\\n .align-items-xl-center {\\n align-items: center !important;\\n }\\n .align-items-xl-baseline {\\n align-items: baseline !important;\\n }\\n .align-items-xl-stretch {\\n align-items: stretch !important;\\n }\\n .align-content-xl-start {\\n align-content: flex-start !important;\\n }\\n .align-content-xl-end {\\n align-content: flex-end !important;\\n }\\n .align-content-xl-center {\\n align-content: center !important;\\n }\\n .align-content-xl-between {\\n align-content: space-between !important;\\n }\\n .align-content-xl-around {\\n align-content: space-around !important;\\n }\\n .align-content-xl-stretch {\\n align-content: stretch !important;\\n }\\n .align-self-xl-auto {\\n align-self: auto !important;\\n }\\n .align-self-xl-start {\\n align-self: flex-start !important;\\n }\\n .align-self-xl-end {\\n align-self: flex-end !important;\\n }\\n .align-self-xl-center {\\n align-self: center !important;\\n }\\n .align-self-xl-baseline {\\n align-self: baseline !important;\\n }\\n .align-self-xl-stretch {\\n align-self: stretch !important;\\n }\\n .order-xl-first {\\n order: -1 !important;\\n }\\n .order-xl-0 {\\n order: 0 !important;\\n }\\n .order-xl-1 {\\n order: 1 !important;\\n }\\n .order-xl-2 {\\n order: 2 !important;\\n }\\n .order-xl-3 {\\n order: 3 !important;\\n }\\n .order-xl-4 {\\n order: 4 !important;\\n }\\n .order-xl-5 {\\n order: 5 !important;\\n }\\n .order-xl-last {\\n order: 6 !important;\\n }\\n .m-xl-0 {\\n margin: 0 !important;\\n }\\n .m-xl-1 {\\n margin: 0.25rem !important;\\n }\\n .m-xl-2 {\\n margin: 0.5rem !important;\\n }\\n .m-xl-3 {\\n margin: 1rem !important;\\n }\\n .m-xl-4 {\\n margin: 1.5rem !important;\\n }\\n .m-xl-5 {\\n margin: 3rem !important;\\n }\\n .m-xl-auto {\\n margin: auto !important;\\n }\\n .mx-xl-0 {\\n margin-right: 0 !important;\\n margin-left: 0 !important;\\n }\\n .mx-xl-1 {\\n margin-right: 0.25rem !important;\\n margin-left: 0.25rem !important;\\n }\\n .mx-xl-2 {\\n margin-right: 0.5rem !important;\\n margin-left: 0.5rem !important;\\n }\\n .mx-xl-3 {\\n margin-right: 1rem !important;\\n margin-left: 1rem !important;\\n }\\n .mx-xl-4 {\\n margin-right: 1.5rem !important;\\n margin-left: 1.5rem !important;\\n }\\n .mx-xl-5 {\\n margin-right: 3rem !important;\\n margin-left: 3rem !important;\\n }\\n .mx-xl-auto {\\n margin-right: auto !important;\\n margin-left: auto !important;\\n }\\n .my-xl-0 {\\n margin-top: 0 !important;\\n margin-bottom: 0 !important;\\n }\\n .my-xl-1 {\\n margin-top: 0.25rem !important;\\n margin-bottom: 0.25rem !important;\\n }\\n .my-xl-2 {\\n margin-top: 0.5rem !important;\\n margin-bottom: 0.5rem !important;\\n }\\n .my-xl-3 {\\n margin-top: 1rem !important;\\n margin-bottom: 1rem !important;\\n }\\n .my-xl-4 {\\n margin-top: 1.5rem !important;\\n margin-bottom: 1.5rem !important;\\n }\\n .my-xl-5 {\\n margin-top: 3rem !important;\\n margin-bottom: 3rem !important;\\n }\\n .my-xl-auto {\\n margin-top: auto !important;\\n margin-bottom: auto !important;\\n }\\n .mt-xl-0 {\\n margin-top: 0 !important;\\n }\\n .mt-xl-1 {\\n margin-top: 0.25rem !important;\\n }\\n .mt-xl-2 {\\n margin-top: 0.5rem !important;\\n }\\n .mt-xl-3 {\\n margin-top: 1rem !important;\\n }\\n .mt-xl-4 {\\n margin-top: 1.5rem !important;\\n }\\n .mt-xl-5 {\\n margin-top: 3rem !important;\\n }\\n .mt-xl-auto {\\n margin-top: auto !important;\\n }\\n .me-xl-0 {\\n margin-right: 0 !important;\\n }\\n .me-xl-1 {\\n margin-right: 0.25rem !important;\\n }\\n .me-xl-2 {\\n margin-right: 0.5rem !important;\\n }\\n .me-xl-3 {\\n margin-right: 1rem !important;\\n }\\n .me-xl-4 {\\n margin-right: 1.5rem !important;\\n }\\n .me-xl-5 {\\n margin-right: 3rem !important;\\n }\\n .me-xl-auto {\\n margin-right: auto !important;\\n }\\n .mb-xl-0 {\\n margin-bottom: 0 !important;\\n }\\n .mb-xl-1 {\\n margin-bottom: 0.25rem !important;\\n }\\n .mb-xl-2 {\\n margin-bottom: 0.5rem !important;\\n }\\n .mb-xl-3 {\\n margin-bottom: 1rem !important;\\n }\\n .mb-xl-4 {\\n margin-bottom: 1.5rem !important;\\n }\\n .mb-xl-5 {\\n margin-bottom: 3rem !important;\\n }\\n .mb-xl-auto {\\n margin-bottom: auto !important;\\n }\\n .ms-xl-0 {\\n margin-left: 0 !important;\\n }\\n .ms-xl-1 {\\n margin-left: 0.25rem !important;\\n }\\n .ms-xl-2 {\\n margin-left: 0.5rem !important;\\n }\\n .ms-xl-3 {\\n margin-left: 1rem !important;\\n }\\n .ms-xl-4 {\\n margin-left: 1.5rem !important;\\n }\\n .ms-xl-5 {\\n margin-left: 3rem !important;\\n }\\n .ms-xl-auto {\\n margin-left: auto !important;\\n }\\n .p-xl-0 {\\n padding: 0 !important;\\n }\\n .p-xl-1 {\\n padding: 0.25rem !important;\\n }\\n .p-xl-2 {\\n padding: 0.5rem !important;\\n }\\n .p-xl-3 {\\n padding: 1rem !important;\\n }\\n .p-xl-4 {\\n padding: 1.5rem !important;\\n }\\n .p-xl-5 {\\n padding: 3rem !important;\\n }\\n .px-xl-0 {\\n padding-right: 0 !important;\\n padding-left: 0 !important;\\n }\\n .px-xl-1 {\\n padding-right: 0.25rem !important;\\n padding-left: 0.25rem !important;\\n }\\n .px-xl-2 {\\n padding-right: 0.5rem !important;\\n padding-left: 0.5rem !important;\\n }\\n .px-xl-3 {\\n padding-right: 1rem !important;\\n padding-left: 1rem !important;\\n }\\n .px-xl-4 {\\n padding-right: 1.5rem !important;\\n padding-left: 1.5rem !important;\\n }\\n .px-xl-5 {\\n padding-right: 3rem !important;\\n padding-left: 3rem !important;\\n }\\n .py-xl-0 {\\n padding-top: 0 !important;\\n padding-bottom: 0 !important;\\n }\\n .py-xl-1 {\\n padding-top: 0.25rem !important;\\n padding-bottom: 0.25rem !important;\\n }\\n .py-xl-2 {\\n padding-top: 0.5rem !important;\\n padding-bottom: 0.5rem !important;\\n }\\n .py-xl-3 {\\n padding-top: 1rem !important;\\n padding-bottom: 1rem !important;\\n }\\n .py-xl-4 {\\n padding-top: 1.5rem !important;\\n padding-bottom: 1.5rem !important;\\n }\\n .py-xl-5 {\\n padding-top: 3rem !important;\\n padding-bottom: 3rem !important;\\n }\\n .pt-xl-0 {\\n padding-top: 0 !important;\\n }\\n .pt-xl-1 {\\n padding-top: 0.25rem !important;\\n }\\n .pt-xl-2 {\\n padding-top: 0.5rem !important;\\n }\\n .pt-xl-3 {\\n padding-top: 1rem !important;\\n }\\n .pt-xl-4 {\\n padding-top: 1.5rem !important;\\n }\\n .pt-xl-5 {\\n padding-top: 3rem !important;\\n }\\n .pe-xl-0 {\\n padding-right: 0 !important;\\n }\\n .pe-xl-1 {\\n padding-right: 0.25rem !important;\\n }\\n .pe-xl-2 {\\n padding-right: 0.5rem !important;\\n }\\n .pe-xl-3 {\\n padding-right: 1rem !important;\\n }\\n .pe-xl-4 {\\n padding-right: 1.5rem !important;\\n }\\n .pe-xl-5 {\\n padding-right: 3rem !important;\\n }\\n .pb-xl-0 {\\n padding-bottom: 0 !important;\\n }\\n .pb-xl-1 {\\n padding-bottom: 0.25rem !important;\\n }\\n .pb-xl-2 {\\n padding-bottom: 0.5rem !important;\\n }\\n .pb-xl-3 {\\n padding-bottom: 1rem !important;\\n }\\n .pb-xl-4 {\\n padding-bottom: 1.5rem !important;\\n }\\n .pb-xl-5 {\\n padding-bottom: 3rem !important;\\n }\\n .ps-xl-0 {\\n padding-left: 0 !important;\\n }\\n .ps-xl-1 {\\n padding-left: 0.25rem !important;\\n }\\n .ps-xl-2 {\\n padding-left: 0.5rem !important;\\n }\\n .ps-xl-3 {\\n padding-left: 1rem !important;\\n }\\n .ps-xl-4 {\\n padding-left: 1.5rem !important;\\n }\\n .ps-xl-5 {\\n padding-left: 3rem !important;\\n }\\n .gap-xl-0 {\\n gap: 0 !important;\\n }\\n .gap-xl-1 {\\n gap: 0.25rem !important;\\n }\\n .gap-xl-2 {\\n gap: 0.5rem !important;\\n }\\n .gap-xl-3 {\\n gap: 1rem !important;\\n }\\n .gap-xl-4 {\\n gap: 1.5rem !important;\\n }\\n .gap-xl-5 {\\n gap: 3rem !important;\\n }\\n .text-xl-start {\\n text-align: left !important;\\n }\\n .text-xl-end {\\n text-align: right !important;\\n }\\n .text-xl-center {\\n text-align: center !important;\\n }\\n}\\n@media (min-width: 1400px) {\\n .float-xxl-start {\\n float: left !important;\\n }\\n .float-xxl-end {\\n float: right !important;\\n }\\n .float-xxl-none {\\n float: none !important;\\n }\\n .d-xxl-inline {\\n display: inline !important;\\n }\\n .d-xxl-inline-block {\\n display: inline-block !important;\\n }\\n .d-xxl-block {\\n display: block !important;\\n }\\n .d-xxl-grid {\\n display: grid !important;\\n }\\n .d-xxl-table {\\n display: table !important;\\n }\\n .d-xxl-table-row {\\n display: table-row !important;\\n }\\n .d-xxl-table-cell {\\n display: table-cell !important;\\n }\\n .d-xxl-flex {\\n display: flex !important;\\n }\\n .d-xxl-inline-flex {\\n display: inline-flex !important;\\n }\\n .d-xxl-none {\\n display: none !important;\\n }\\n .flex-xxl-fill {\\n flex: 1 1 auto !important;\\n }\\n .flex-xxl-row {\\n flex-direction: row !important;\\n }\\n .flex-xxl-column {\\n flex-direction: column !important;\\n }\\n .flex-xxl-row-reverse {\\n flex-direction: row-reverse !important;\\n }\\n .flex-xxl-column-reverse {\\n flex-direction: column-reverse !important;\\n }\\n .flex-xxl-grow-0 {\\n flex-grow: 0 !important;\\n }\\n .flex-xxl-grow-1 {\\n flex-grow: 1 !important;\\n }\\n .flex-xxl-shrink-0 {\\n flex-shrink: 0 !important;\\n }\\n .flex-xxl-shrink-1 {\\n flex-shrink: 1 !important;\\n }\\n .flex-xxl-wrap {\\n flex-wrap: wrap !important;\\n }\\n .flex-xxl-nowrap {\\n flex-wrap: nowrap !important;\\n }\\n .flex-xxl-wrap-reverse {\\n flex-wrap: wrap-reverse !important;\\n }\\n .justify-content-xxl-start {\\n justify-content: flex-start !important;\\n }\\n .justify-content-xxl-end {\\n justify-content: flex-end !important;\\n }\\n .justify-content-xxl-center {\\n justify-content: center !important;\\n }\\n .justify-content-xxl-between {\\n justify-content: space-between !important;\\n }\\n .justify-content-xxl-around {\\n justify-content: space-around !important;\\n }\\n .justify-content-xxl-evenly {\\n justify-content: space-evenly !important;\\n }\\n .align-items-xxl-start {\\n align-items: flex-start !important;\\n }\\n .align-items-xxl-end {\\n align-items: flex-end !important;\\n }\\n .align-items-xxl-center {\\n align-items: center !important;\\n }\\n .align-items-xxl-baseline {\\n align-items: baseline !important;\\n }\\n .align-items-xxl-stretch {\\n align-items: stretch !important;\\n }\\n .align-content-xxl-start {\\n align-content: flex-start !important;\\n }\\n .align-content-xxl-end {\\n align-content: flex-end !important;\\n }\\n .align-content-xxl-center {\\n align-content: center !important;\\n }\\n .align-content-xxl-between {\\n align-content: space-between !important;\\n }\\n .align-content-xxl-around {\\n align-content: space-around !important;\\n }\\n .align-content-xxl-stretch {\\n align-content: stretch !important;\\n }\\n .align-self-xxl-auto {\\n align-self: auto !important;\\n }\\n .align-self-xxl-start {\\n align-self: flex-start !important;\\n }\\n .align-self-xxl-end {\\n align-self: flex-end !important;\\n }\\n .align-self-xxl-center {\\n align-self: center !important;\\n }\\n .align-self-xxl-baseline {\\n align-self: baseline !important;\\n }\\n .align-self-xxl-stretch {\\n align-self: stretch !important;\\n }\\n .order-xxl-first {\\n order: -1 !important;\\n }\\n .order-xxl-0 {\\n order: 0 !important;\\n }\\n .order-xxl-1 {\\n order: 1 !important;\\n }\\n .order-xxl-2 {\\n order: 2 !important;\\n }\\n .order-xxl-3 {\\n order: 3 !important;\\n }\\n .order-xxl-4 {\\n order: 4 !important;\\n }\\n .order-xxl-5 {\\n order: 5 !important;\\n }\\n .order-xxl-last {\\n order: 6 !important;\\n }\\n .m-xxl-0 {\\n margin: 0 !important;\\n }\\n .m-xxl-1 {\\n margin: 0.25rem !important;\\n }\\n .m-xxl-2 {\\n margin: 0.5rem !important;\\n }\\n .m-xxl-3 {\\n margin: 1rem !important;\\n }\\n .m-xxl-4 {\\n margin: 1.5rem !important;\\n }\\n .m-xxl-5 {\\n margin: 3rem !important;\\n }\\n .m-xxl-auto {\\n margin: auto !important;\\n }\\n .mx-xxl-0 {\\n margin-right: 0 !important;\\n margin-left: 0 !important;\\n }\\n .mx-xxl-1 {\\n margin-right: 0.25rem !important;\\n margin-left: 0.25rem !important;\\n }\\n .mx-xxl-2 {\\n margin-right: 0.5rem !important;\\n margin-left: 0.5rem !important;\\n }\\n .mx-xxl-3 {\\n margin-right: 1rem !important;\\n margin-left: 1rem !important;\\n }\\n .mx-xxl-4 {\\n margin-right: 1.5rem !important;\\n margin-left: 1.5rem !important;\\n }\\n .mx-xxl-5 {\\n margin-right: 3rem !important;\\n margin-left: 3rem !important;\\n }\\n .mx-xxl-auto {\\n margin-right: auto !important;\\n margin-left: auto !important;\\n }\\n .my-xxl-0 {\\n margin-top: 0 !important;\\n margin-bottom: 0 !important;\\n }\\n .my-xxl-1 {\\n margin-top: 0.25rem !important;\\n margin-bottom: 0.25rem !important;\\n }\\n .my-xxl-2 {\\n margin-top: 0.5rem !important;\\n margin-bottom: 0.5rem !important;\\n }\\n .my-xxl-3 {\\n margin-top: 1rem !important;\\n margin-bottom: 1rem !important;\\n }\\n .my-xxl-4 {\\n margin-top: 1.5rem !important;\\n margin-bottom: 1.5rem !important;\\n }\\n .my-xxl-5 {\\n margin-top: 3rem !important;\\n margin-bottom: 3rem !important;\\n }\\n .my-xxl-auto {\\n margin-top: auto !important;\\n margin-bottom: auto !important;\\n }\\n .mt-xxl-0 {\\n margin-top: 0 !important;\\n }\\n .mt-xxl-1 {\\n margin-top: 0.25rem !important;\\n }\\n .mt-xxl-2 {\\n margin-top: 0.5rem !important;\\n }\\n .mt-xxl-3 {\\n margin-top: 1rem !important;\\n }\\n .mt-xxl-4 {\\n margin-top: 1.5rem !important;\\n }\\n .mt-xxl-5 {\\n margin-top: 3rem !important;\\n }\\n .mt-xxl-auto {\\n margin-top: auto !important;\\n }\\n .me-xxl-0 {\\n margin-right: 0 !important;\\n }\\n .me-xxl-1 {\\n margin-right: 0.25rem !important;\\n }\\n .me-xxl-2 {\\n margin-right: 0.5rem !important;\\n }\\n .me-xxl-3 {\\n margin-right: 1rem !important;\\n }\\n .me-xxl-4 {\\n margin-right: 1.5rem !important;\\n }\\n .me-xxl-5 {\\n margin-right: 3rem !important;\\n }\\n .me-xxl-auto {\\n margin-right: auto !important;\\n }\\n .mb-xxl-0 {\\n margin-bottom: 0 !important;\\n }\\n .mb-xxl-1 {\\n margin-bottom: 0.25rem !important;\\n }\\n .mb-xxl-2 {\\n margin-bottom: 0.5rem !important;\\n }\\n .mb-xxl-3 {\\n margin-bottom: 1rem !important;\\n }\\n .mb-xxl-4 {\\n margin-bottom: 1.5rem !important;\\n }\\n .mb-xxl-5 {\\n margin-bottom: 3rem !important;\\n }\\n .mb-xxl-auto {\\n margin-bottom: auto !important;\\n }\\n .ms-xxl-0 {\\n margin-left: 0 !important;\\n }\\n .ms-xxl-1 {\\n margin-left: 0.25rem !important;\\n }\\n .ms-xxl-2 {\\n margin-left: 0.5rem !important;\\n }\\n .ms-xxl-3 {\\n margin-left: 1rem !important;\\n }\\n .ms-xxl-4 {\\n margin-left: 1.5rem !important;\\n }\\n .ms-xxl-5 {\\n margin-left: 3rem !important;\\n }\\n .ms-xxl-auto {\\n margin-left: auto !important;\\n }\\n .p-xxl-0 {\\n padding: 0 !important;\\n }\\n .p-xxl-1 {\\n padding: 0.25rem !important;\\n }\\n .p-xxl-2 {\\n padding: 0.5rem !important;\\n }\\n .p-xxl-3 {\\n padding: 1rem !important;\\n }\\n .p-xxl-4 {\\n padding: 1.5rem !important;\\n }\\n .p-xxl-5 {\\n padding: 3rem !important;\\n }\\n .px-xxl-0 {\\n padding-right: 0 !important;\\n padding-left: 0 !important;\\n }\\n .px-xxl-1 {\\n padding-right: 0.25rem !important;\\n padding-left: 0.25rem !important;\\n }\\n .px-xxl-2 {\\n padding-right: 0.5rem !important;\\n padding-left: 0.5rem !important;\\n }\\n .px-xxl-3 {\\n padding-right: 1rem !important;\\n padding-left: 1rem !important;\\n }\\n .px-xxl-4 {\\n padding-right: 1.5rem !important;\\n padding-left: 1.5rem !important;\\n }\\n .px-xxl-5 {\\n padding-right: 3rem !important;\\n padding-left: 3rem !important;\\n }\\n .py-xxl-0 {\\n padding-top: 0 !important;\\n padding-bottom: 0 !important;\\n }\\n .py-xxl-1 {\\n padding-top: 0.25rem !important;\\n padding-bottom: 0.25rem !important;\\n }\\n .py-xxl-2 {\\n padding-top: 0.5rem !important;\\n padding-bottom: 0.5rem !important;\\n }\\n .py-xxl-3 {\\n padding-top: 1rem !important;\\n padding-bottom: 1rem !important;\\n }\\n .py-xxl-4 {\\n padding-top: 1.5rem !important;\\n padding-bottom: 1.5rem !important;\\n }\\n .py-xxl-5 {\\n padding-top: 3rem !important;\\n padding-bottom: 3rem !important;\\n }\\n .pt-xxl-0 {\\n padding-top: 0 !important;\\n }\\n .pt-xxl-1 {\\n padding-top: 0.25rem !important;\\n }\\n .pt-xxl-2 {\\n padding-top: 0.5rem !important;\\n }\\n .pt-xxl-3 {\\n padding-top: 1rem !important;\\n }\\n .pt-xxl-4 {\\n padding-top: 1.5rem !important;\\n }\\n .pt-xxl-5 {\\n padding-top: 3rem !important;\\n }\\n .pe-xxl-0 {\\n padding-right: 0 !important;\\n }\\n .pe-xxl-1 {\\n padding-right: 0.25rem !important;\\n }\\n .pe-xxl-2 {\\n padding-right: 0.5rem !important;\\n }\\n .pe-xxl-3 {\\n padding-right: 1rem !important;\\n }\\n .pe-xxl-4 {\\n padding-right: 1.5rem !important;\\n }\\n .pe-xxl-5 {\\n padding-right: 3rem !important;\\n }\\n .pb-xxl-0 {\\n padding-bottom: 0 !important;\\n }\\n .pb-xxl-1 {\\n padding-bottom: 0.25rem !important;\\n }\\n .pb-xxl-2 {\\n padding-bottom: 0.5rem !important;\\n }\\n .pb-xxl-3 {\\n padding-bottom: 1rem !important;\\n }\\n .pb-xxl-4 {\\n padding-bottom: 1.5rem !important;\\n }\\n .pb-xxl-5 {\\n padding-bottom: 3rem !important;\\n }\\n .ps-xxl-0 {\\n padding-left: 0 !important;\\n }\\n .ps-xxl-1 {\\n padding-left: 0.25rem !important;\\n }\\n .ps-xxl-2 {\\n padding-left: 0.5rem !important;\\n }\\n .ps-xxl-3 {\\n padding-left: 1rem !important;\\n }\\n .ps-xxl-4 {\\n padding-left: 1.5rem !important;\\n }\\n .ps-xxl-5 {\\n padding-left: 3rem !important;\\n }\\n .gap-xxl-0 {\\n gap: 0 !important;\\n }\\n .gap-xxl-1 {\\n gap: 0.25rem !important;\\n }\\n .gap-xxl-2 {\\n gap: 0.5rem !important;\\n }\\n .gap-xxl-3 {\\n gap: 1rem !important;\\n }\\n .gap-xxl-4 {\\n gap: 1.5rem !important;\\n }\\n .gap-xxl-5 {\\n gap: 3rem !important;\\n }\\n .text-xxl-start {\\n text-align: left !important;\\n }\\n .text-xxl-end {\\n text-align: right !important;\\n }\\n .text-xxl-center {\\n text-align: center !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .fs-1 {\\n font-size: 2.5rem !important;\\n }\\n .fs-2 {\\n font-size: 2rem !important;\\n }\\n .fs-3 {\\n font-size: 1.75rem !important;\\n }\\n .fs-4 {\\n font-size: 1.5rem !important;\\n }\\n}\\n@media print {\\n .d-print-inline {\\n display: inline !important;\\n }\\n .d-print-inline-block {\\n display: inline-block !important;\\n }\\n .d-print-block {\\n display: block !important;\\n }\\n .d-print-grid {\\n display: grid !important;\\n }\\n .d-print-table {\\n display: table !important;\\n }\\n .d-print-table-row {\\n display: table-row !important;\\n }\\n .d-print-table-cell {\\n display: table-cell !important;\\n }\\n .d-print-flex {\\n display: flex !important;\\n }\\n .d-print-inline-flex {\\n display: inline-flex !important;\\n }\\n .d-print-none {\\n display: none !important;\\n }\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://frontend/./node_modules/bootstrap/dist/css/bootstrap.css?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ applyStyles: () => (/* reexport safe */ _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n/* harmony export */ arrow: () => (/* reexport safe */ _arrow_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n/* harmony export */ computeStyles: () => (/* reexport safe */ _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n/* harmony export */ eventListeners: () => (/* reexport safe */ _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n/* harmony export */ flip: () => (/* reexport safe */ _flip_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]),\n/* harmony export */ hide: () => (/* reexport safe */ _hide_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n/* harmony export */ offset: () => (/* reexport safe */ _offset_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n/* harmony export */ popperOffsets: () => (/* reexport safe */ _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]),\n/* harmony export */ preventOverflow: () => (/* reexport safe */ _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _applyStyles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./applyStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/applyStyles.js\");\n/* harmony import */ var _arrow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arrow.js */ \"./node_modules/@popperjs/core/lib/modifiers/arrow.js\");\n/* harmony import */ var _computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./computeStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/computeStyles.js\");\n/* harmony import */ var _eventListeners_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./eventListeners.js */ \"./node_modules/@popperjs/core/lib/modifiers/eventListeners.js\");\n/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./flip.js */ \"./node_modules/@popperjs/core/lib/modifiers/flip.js\");\n/* harmony import */ var _hide_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hide.js */ \"./node_modules/@popperjs/core/lib/modifiers/hide.js\");\n/* harmony import */ var _offset_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./offset.js */ \"./node_modules/@popperjs/core/lib/modifiers/offset.js\");\n/* harmony import */ var _popperOffsets_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./popperOffsets.js */ \"./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\");\n/* harmony import */ var _preventOverflow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./preventOverflow.js */ \"./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js\");\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/modifiers/index.js?");
/***/ }),
-/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/ol/ol.css":
-/*!*************************************************************************************************************!*\
- !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/ol/ol.css ***!
- \*************************************************************************************************************/
-/***/ ((module, __webpack_exports__, __webpack_require__) => {
+/***/ "./node_modules/@popperjs/core/lib/modifiers/offset.js":
+/*!*************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/offset.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root,\\n:host {\\n --ol-background-color: white;\\n --ol-accent-background-color: #F5F5F5;\\n --ol-subtle-background-color: rgba(128, 128, 128, 0.25);\\n --ol-partial-background-color: rgba(255, 255, 255, 0.75);\\n --ol-foreground-color: #333333;\\n --ol-subtle-foreground-color: #666666;\\n --ol-brand-color: #00AAFF;\\n}\\n\\n.ol-box {\\n box-sizing: border-box;\\n border-radius: 2px;\\n border: 1.5px solid var(--ol-background-color);\\n background-color: var(--ol-partial-background-color);\\n}\\n\\n.ol-mouse-position {\\n top: 8px;\\n right: 8px;\\n position: absolute;\\n}\\n\\n.ol-scale-line {\\n background: var(--ol-partial-background-color);\\n border-radius: 4px;\\n bottom: 8px;\\n left: 8px;\\n padding: 2px;\\n position: absolute;\\n}\\n\\n.ol-scale-line-inner {\\n border: 1px solid var(--ol-subtle-foreground-color);\\n border-top: none;\\n color: var(--ol-foreground-color);\\n font-size: 10px;\\n text-align: center;\\n margin: 1px;\\n will-change: contents, width;\\n transition: all 0.25s;\\n}\\n\\n.ol-scale-bar {\\n position: absolute;\\n bottom: 8px;\\n left: 8px;\\n}\\n\\n.ol-scale-bar-inner {\\n display: flex;\\n}\\n\\n.ol-scale-step-marker {\\n width: 1px;\\n height: 15px;\\n background-color: var(--ol-foreground-color);\\n float: right;\\n z-index: 10;\\n}\\n\\n.ol-scale-step-text {\\n position: absolute;\\n bottom: -5px;\\n font-size: 10px;\\n z-index: 11;\\n color: var(--ol-foreground-color);\\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\\n}\\n\\n.ol-scale-text {\\n position: absolute;\\n font-size: 12px;\\n text-align: center;\\n bottom: 25px;\\n color: var(--ol-foreground-color);\\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\\n}\\n\\n.ol-scale-singlebar {\\n position: relative;\\n height: 10px;\\n z-index: 9;\\n box-sizing: border-box;\\n border: 1px solid var(--ol-foreground-color);\\n}\\n\\n.ol-scale-singlebar-even {\\n background-color: var(--ol-subtle-foreground-color);\\n}\\n\\n.ol-scale-singlebar-odd {\\n background-color: var(--ol-background-color);\\n}\\n\\n.ol-unsupported {\\n display: none;\\n}\\n\\n.ol-viewport,\\n.ol-unselectable {\\n -webkit-touch-callout: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n -webkit-tap-highlight-color: transparent;\\n}\\n\\n.ol-viewport canvas {\\n all: unset;\\n}\\n\\n.ol-selectable {\\n -webkit-touch-callout: default;\\n -webkit-user-select: text;\\n -moz-user-select: text;\\n user-select: text;\\n}\\n\\n.ol-grabbing {\\n cursor: -webkit-grabbing;\\n cursor: -moz-grabbing;\\n cursor: grabbing;\\n}\\n\\n.ol-grab {\\n cursor: move;\\n cursor: -webkit-grab;\\n cursor: -moz-grab;\\n cursor: grab;\\n}\\n\\n.ol-control {\\n position: absolute;\\n background-color: var(--ol-subtle-background-color);\\n border-radius: 4px;\\n}\\n\\n.ol-zoom {\\n top: 0.5em;\\n left: 0.5em;\\n}\\n\\n.ol-rotate {\\n top: 0.5em;\\n right: 0.5em;\\n transition: opacity 0.25s linear, visibility 0s linear;\\n}\\n\\n.ol-rotate.ol-hidden {\\n opacity: 0;\\n visibility: hidden;\\n transition: opacity 0.25s linear, visibility 0s linear 0.25s;\\n}\\n\\n.ol-zoom-extent {\\n top: 4.643em;\\n left: 0.5em;\\n}\\n\\n.ol-full-screen {\\n right: 0.5em;\\n top: 0.5em;\\n}\\n\\n.ol-control button {\\n display: block;\\n margin: 1px;\\n padding: 0;\\n color: var(--ol-subtle-foreground-color);\\n font-weight: bold;\\n text-decoration: none;\\n font-size: inherit;\\n text-align: center;\\n height: 1.375em;\\n width: 1.375em;\\n line-height: 0.4em;\\n background-color: var(--ol-background-color);\\n border: none;\\n border-radius: 2px;\\n}\\n\\n.ol-control button::-moz-focus-inner {\\n border: none;\\n padding: 0;\\n}\\n\\n.ol-zoom-extent button {\\n line-height: 1.4em;\\n}\\n\\n.ol-compass {\\n display: block;\\n font-weight: normal;\\n will-change: transform;\\n}\\n\\n.ol-touch .ol-control button {\\n font-size: 1.5em;\\n}\\n\\n.ol-touch .ol-zoom-extent {\\n top: 5.5em;\\n}\\n\\n.ol-control button:hover,\\n.ol-control button:focus {\\n text-decoration: none;\\n outline: 1px solid var(--ol-subtle-foreground-color);\\n color: var(--ol-foreground-color);\\n}\\n\\n.ol-zoom .ol-zoom-in {\\n border-radius: 2px 2px 0 0;\\n}\\n\\n.ol-zoom .ol-zoom-out {\\n border-radius: 0 0 2px 2px;\\n}\\n\\n.ol-attribution {\\n text-align: right;\\n bottom: 0.5em;\\n right: 0.5em;\\n max-width: calc(100% - 1.3em);\\n display: flex;\\n flex-flow: row-reverse;\\n align-items: center;\\n}\\n\\n.ol-attribution a {\\n color: var(--ol-subtle-foreground-color);\\n text-decoration: none;\\n}\\n\\n.ol-attribution ul {\\n margin: 0;\\n padding: 1px 0.5em;\\n color: var(--ol-foreground-color);\\n text-shadow: 0 0 2px var(--ol-background-color);\\n font-size: 12px;\\n}\\n\\n.ol-attribution li {\\n display: inline;\\n list-style: none;\\n}\\n\\n.ol-attribution li:not(:last-child):after {\\n content: \\\" \\\";\\n}\\n\\n.ol-attribution img {\\n max-height: 2em;\\n max-width: inherit;\\n vertical-align: middle;\\n}\\n\\n.ol-attribution button {\\n flex-shrink: 0;\\n}\\n\\n.ol-attribution.ol-collapsed ul {\\n display: none;\\n}\\n\\n.ol-attribution:not(.ol-collapsed) {\\n background: var(--ol-partial-background-color);\\n}\\n\\n.ol-attribution.ol-uncollapsible {\\n bottom: 0;\\n right: 0;\\n border-radius: 4px 0 0;\\n}\\n\\n.ol-attribution.ol-uncollapsible img {\\n margin-top: -0.2em;\\n max-height: 1.6em;\\n}\\n\\n.ol-attribution.ol-uncollapsible button {\\n display: none;\\n}\\n\\n.ol-zoomslider {\\n top: 4.5em;\\n left: 0.5em;\\n height: 200px;\\n}\\n\\n.ol-zoomslider button {\\n position: relative;\\n height: 10px;\\n}\\n\\n.ol-touch .ol-zoomslider {\\n top: 5.5em;\\n}\\n\\n.ol-overviewmap {\\n left: 0.5em;\\n bottom: 0.5em;\\n}\\n\\n.ol-overviewmap.ol-uncollapsible {\\n bottom: 0;\\n left: 0;\\n border-radius: 0 4px 0 0;\\n}\\n\\n.ol-overviewmap .ol-overviewmap-map,\\n.ol-overviewmap button {\\n display: block;\\n}\\n\\n.ol-overviewmap .ol-overviewmap-map {\\n border: 1px solid var(--ol-subtle-foreground-color);\\n height: 150px;\\n width: 150px;\\n}\\n\\n.ol-overviewmap:not(.ol-collapsed) button {\\n bottom: 0;\\n left: 0;\\n position: absolute;\\n}\\n\\n.ol-overviewmap.ol-collapsed .ol-overviewmap-map,\\n.ol-overviewmap.ol-uncollapsible button {\\n display: none;\\n}\\n\\n.ol-overviewmap:not(.ol-collapsed) {\\n background: var(--ol-subtle-background-color);\\n}\\n\\n.ol-overviewmap-box {\\n border: 1.5px dotted var(--ol-subtle-foreground-color);\\n}\\n\\n.ol-overviewmap .ol-overviewmap-box:hover {\\n cursor: move;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://frontend/./node_modules/ol/ol.css?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ distanceAndSkiddingToXY: () => (/* binding */ distanceAndSkiddingToXY)\n/* harmony export */ });\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n\n // eslint-disable-next-line import/no-unused-modules\n\nfunction distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(placement);\n var invertDistance = [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [_enums_js__WEBPACK_IMPORTED_MODULE_1__.left, _enums_js__WEBPACK_IMPORTED_MODULE_1__.right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = _enums_js__WEBPACK_IMPORTED_MODULE_1__.placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n});\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/modifiers/offset.js?");
/***/ }),
-/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/stylesheets/main.scss":
-/*!****************************************************************************************************************!*\
- !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/stylesheets/main.scss ***!
- \****************************************************************************************************************/
-/***/ ((module, __webpack_exports__, __webpack_require__) => {
+/***/ "./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js":
+/*!********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* http://meyerweb.com/eric/tools/css/reset/ \\n v2.0 | 20110126\\n License: none (public domain)\\n*/\\nhtml, body, div, span, applet, object, iframe,\\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\\na, abbr, acronym, address, big, cite, code,\\ndel, dfn, em, img, ins, kbd, q, s, samp,\\nsmall, strike, strong, sub, sup, tt, var,\\nb, u, i, center,\\ndl, dt, dd, ol, ul, li,\\nfieldset, form, label, legend,\\ntable, caption, tbody, tfoot, thead, tr, th, td,\\narticle, aside, canvas, details, embed,\\nfigure, figcaption, footer, header, hgroup,\\nmenu, nav, output, ruby, section, summary,\\ntime, mark, audio, video {\\n margin: 0;\\n padding: 0;\\n border: 0;\\n font-size: 100%;\\n font: inherit;\\n vertical-align: baseline;\\n}\\n\\n/* HTML5 display-role reset for older browsers */\\narticle, aside, details, figcaption, figure,\\nfooter, header, hgroup, menu, nav, section {\\n display: block;\\n}\\n\\nbody {\\n line-height: 1;\\n}\\n\\nol, ul {\\n list-style: none;\\n}\\n\\nblockquote, q {\\n quotes: none;\\n}\\n\\nblockquote:before, blockquote:after,\\nq:before, q:after {\\n content: \\\"\\\";\\n content: none;\\n}\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0;\\n}\\n\\nhtml, body {\\n height: 100%;\\n}\\n\\n::selection {\\n background: #a8d1ff; /* WebKit/Blink Browsers */\\n}\\n\\n::-moz-selection {\\n background: #a8d1ff; /* Gecko Browsers */\\n}\\n\\n.full-screen-modal {\\n width: calc(100% - 2 * 1em);\\n margin: 1em;\\n}\\n.full-screen-modal .modal-content {\\n min-height: calc(100% - 2 * 1em);\\n display: flex;\\n flex-direction: column;\\n}\\n.full-screen-modal .modal-content .modal-header .modal-title {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n text-align: center;\\n flex: 0 1 auto;\\n}\\n.full-screen-modal .modal-content .modal-body {\\n flex: 1 1 auto;\\n}\\n.full-screen-modal .modal-content .modal-footer {\\n flex: 0 1 auto;\\n}\\n\\n.modal-header {\\n color: #fff;\\n background-color: #008cba;\\n}\\n.modal-header .close {\\n opacity: 1;\\n color: #fff;\\n text-decoration: none;\\n}\\n\\ntextarea {\\n min-height: 15em !important;\\n}\\n\\nbr.clear {\\n clear: both;\\n}\\n\\n.disabled {\\n cursor: not-allowed;\\n}\\n\\nbody {\\n font-family: sans-serif;\\n}\\nbody input, body select {\\n font-size: 0.75em;\\n}\\nbody .nav-tabs {\\n font-size: 0.8em;\\n}\\n\\n.OceanNavigator .MapInputs {\\n width: 0;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n transition: left 0.3s ease-in-out;\\n}\\n.OceanNavigator > .content {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n display: flex;\\n flex-flow: column;\\n transition: left 0.3s ease-in-out;\\n}\\n.OceanNavigator > .content .MapToolbar {\\n flex: 0 1 auto;\\n}\\n.OceanNavigator > .content .Map {\\n flex: 1 1 auto;\\n}\\n\\n.checkbox, .alert, .control-label {\\n font-size: 95%;\\n}\\n\\n.content.open {\\n left: 17%;\\n}\\n\\n.permalink-modal textarea {\\n font-size: 1em;\\n width: 100%;\\n}\\n\\n.busy-modal {\\n height: 100%;\\n margin: 0 auto;\\n}\\n.busy-modal .modal-content {\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n}\\n.busy-modal .modal-content img {\\n display: block;\\n margin: 0 auto;\\n}\\n\\n.rc-slider {\\n position: relative;\\n width: 100%;\\n height: 14px;\\n padding: 5px 0;\\n border-radius: 6px;\\n touch-action: none;\\n box-sizing: border-box;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n\\n.rc-slider-rail {\\n position: absolute;\\n width: 100%;\\n height: 4px;\\n background-color: #e9e9e9;\\n border-radius: 6px;\\n box-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;\\n}\\n\\n.rc-slider-dot {\\n position: absolute;\\n bottom: -2px;\\n height: 10px;\\n vertical-align: middle;\\n background-color: #fff;\\n border: 2px solid #e9e9e9;\\n box-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;\\n cursor: pointer;\\n}\\n\\n.rc-slider-step {\\n position: absolute;\\n width: 100%;\\n height: 4px;\\n background: transparent;\\n pointer-events: none;\\n}\\n\\n.rc-slider-handle {\\n position: absolute;\\n width: 14px;\\n height: 14px;\\n margin-top: -5px;\\n background-color: #fff;\\n border: 3px solid #96dbfa;\\n border-radius: 50%;\\n cursor: pointer;\\n cursor: -webkit-grab;\\n cursor: grab;\\n touch-action: pan-x;\\n}\\n\\n.rc-slider-mark {\\n position: absolute;\\n top: 18px;\\n left: 0;\\n width: 100%;\\n font-size: 12px;\\n}\\n\\n.rc-slider-mark-text {\\n position: absolute;\\n display: inline-block;\\n color: #fff;\\n text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;\\n text-align: center;\\n vertical-align: middle;\\n overflow-wrap: break-word;\\n cursor: pointer;\\n}\\n\\n.ol-zoom {\\n left: unset;\\n right: 8px;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://frontend/./src/stylesheets/main.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/computeOffsets.js */ \"./node_modules/@popperjs/core/lib/utils/computeOffsets.js\");\n\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = (0,_utils_computeOffsets_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n});\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js?");
/***/ }),
-/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/stylesheets/utils/bootstrap.css":
-/*!**************************************************************************************************************************!*\
- !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/stylesheets/utils/bootstrap.css ***!
- \**************************************************************************************************************************/
-/***/ ((module, __webpack_exports__, __webpack_require__) => {
+/***/ "./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js":
+/*!**********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,700);\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@charset \\\"UTF-8\\\";\\n/*!\\n * bootswatch v3.3.7\\n * Homepage: http://bootswatch.com\\n * Copyright 2012-2016 Thomas Park\\n * Licensed under MIT\\n * Based on Bootstrap\\n*/\\n/*!\\n * Bootstrap v3.3.7 (http://getbootstrap.com)\\n * Copyright 2011-2016 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n */\\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\\nhtml {\\n font-family: sans-serif;\\n -ms-text-size-adjust: 100%;\\n -webkit-text-size-adjust: 100%;\\n}\\n\\nbody {\\n margin: 0;\\n}\\n\\narticle,\\naside,\\ndetails,\\nfigcaption,\\nfigure,\\nfooter,\\nheader,\\nhgroup,\\nmain,\\nmenu,\\nnav,\\nsection,\\nsummary {\\n display: block;\\n}\\n\\naudio,\\ncanvas,\\nprogress,\\nvideo {\\n display: inline-block;\\n vertical-align: baseline;\\n}\\n\\naudio:not([controls]) {\\n display: none;\\n height: 0;\\n}\\n\\n[hidden],\\ntemplate {\\n display: none;\\n}\\n\\na {\\n background-color: transparent;\\n}\\n\\na:active,\\na:hover {\\n outline: 0;\\n}\\n\\nabbr[title] {\\n border-bottom: 1px dotted;\\n}\\n\\nb,\\nstrong {\\n font-weight: bold;\\n}\\n\\ndfn {\\n font-style: italic;\\n}\\n\\nh1 {\\n font-size: 2em;\\n margin: 0.67em 0;\\n}\\n\\nmark {\\n background: #ff0;\\n color: #000;\\n}\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nimg {\\n border: 0;\\n}\\n\\nsvg:not(:root) {\\n overflow: hidden;\\n}\\n\\nfigure {\\n margin: 1em 40px;\\n}\\n\\nhr {\\n -webkit-box-sizing: content-box;\\n -moz-box-sizing: content-box;\\n box-sizing: content-box;\\n height: 0;\\n}\\n\\npre {\\n overflow: auto;\\n}\\n\\ncode,\\nkbd,\\npre,\\nsamp {\\n font-family: monospace, monospace;\\n font-size: 1em;\\n}\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n color: inherit;\\n font: inherit;\\n margin: 0;\\n}\\n\\nbutton {\\n overflow: visible;\\n}\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\nbutton,\\nhtml input[type=button],\\ninput[type=reset],\\ninput[type=submit] {\\n -webkit-appearance: button;\\n cursor: pointer;\\n}\\n\\nbutton[disabled],\\nhtml input[disabled] {\\n cursor: default;\\n}\\n\\nbutton::-moz-focus-inner,\\ninput::-moz-focus-inner {\\n border: 0;\\n padding: 0;\\n}\\n\\ninput {\\n line-height: normal;\\n}\\n\\ninput[type=checkbox],\\ninput[type=radio] {\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n padding: 0;\\n}\\n\\ninput[type=number]::-webkit-inner-spin-button,\\ninput[type=number]::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\ninput[type=search] {\\n -webkit-appearance: textfield;\\n -webkit-box-sizing: content-box;\\n -moz-box-sizing: content-box;\\n box-sizing: content-box;\\n}\\n\\ninput[type=search]::-webkit-search-cancel-button,\\ninput[type=search]::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\nfieldset {\\n border: 1px solid #c0c0c0;\\n margin: 0 2px;\\n padding: 0.35em 0.625em 0.75em;\\n}\\n\\nlegend {\\n border: 0;\\n padding: 0;\\n}\\n\\ntextarea {\\n overflow: auto;\\n}\\n\\noptgroup {\\n font-weight: bold;\\n}\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0;\\n}\\n\\ntd,\\nth {\\n padding: 0;\\n}\\n\\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\\n@media print {\\n *,\\n *:before,\\n *:after {\\n background: transparent !important;\\n color: #000 !important;\\n -webkit-box-shadow: none !important;\\n box-shadow: none !important;\\n text-shadow: none !important;\\n }\\n a,\\n a:visited {\\n text-decoration: underline;\\n }\\n a[href]:after {\\n content: \\\" (\\\" attr(href) \\\")\\\";\\n }\\n abbr[title]:after {\\n content: \\\" (\\\" attr(title) \\\")\\\";\\n }\\n a[href^=\\\"#\\\"]:after,\\n a[href^=\\\"javascript:\\\"]:after {\\n content: \\\"\\\";\\n }\\n pre,\\n blockquote {\\n border: 1px solid #999;\\n page-break-inside: avoid;\\n }\\n thead {\\n display: table-header-group;\\n }\\n tr,\\n img {\\n page-break-inside: avoid;\\n }\\n img {\\n max-width: 100% !important;\\n }\\n p,\\n h2,\\n h3 {\\n orphans: 3;\\n widows: 3;\\n }\\n h2,\\n h3 {\\n page-break-after: avoid;\\n }\\n .navbar {\\n display: none;\\n }\\n .btn > .caret,\\n .dropup > .btn > .caret {\\n border-top-color: #000 !important;\\n }\\n .label {\\n border: 1px solid #000;\\n }\\n .table {\\n border-collapse: collapse !important;\\n }\\n .table td,\\n .table th {\\n background-color: #fff !important;\\n }\\n .table-bordered th,\\n .table-bordered td {\\n border: 1px solid #ddd !important;\\n }\\n}\\n.glyphicon {\\n position: relative;\\n top: 1px;\\n display: inline-block;\\n font-family: \\\"Glyphicons Halflings\\\";\\n font-style: normal;\\n font-weight: normal;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.glyphicon-asterisk:before {\\n content: \\\"*\\\";\\n}\\n\\n.glyphicon-plus:before {\\n content: \\\"+\\\";\\n}\\n\\n.glyphicon-euro:before,\\n.glyphicon-eur:before {\\n content: \\\"€\\\";\\n}\\n\\n.glyphicon-minus:before {\\n content: \\\"−\\\";\\n}\\n\\n.glyphicon-cloud:before {\\n content: \\\"☁\\\";\\n}\\n\\n.glyphicon-envelope:before {\\n content: \\\"✉\\\";\\n}\\n\\n.glyphicon-pencil:before {\\n content: \\\"✏\\\";\\n}\\n\\n.glyphicon-glass:before {\\n content: \\\"\\\\e001\\\";\\n}\\n\\n.glyphicon-music:before {\\n content: \\\"\\\\e002\\\";\\n}\\n\\n.glyphicon-search:before {\\n content: \\\"\\\\e003\\\";\\n}\\n\\n.glyphicon-heart:before {\\n content: \\\"\\\\e005\\\";\\n}\\n\\n.glyphicon-star:before {\\n content: \\\"\\\\e006\\\";\\n}\\n\\n.glyphicon-star-empty:before {\\n content: \\\"\\\\e007\\\";\\n}\\n\\n.glyphicon-user:before {\\n content: \\\"\\\\e008\\\";\\n}\\n\\n.glyphicon-film:before {\\n content: \\\"\\\\e009\\\";\\n}\\n\\n.glyphicon-th-large:before {\\n content: \\\"\\\\e010\\\";\\n}\\n\\n.glyphicon-th:before {\\n content: \\\"\\\\e011\\\";\\n}\\n\\n.glyphicon-th-list:before {\\n content: \\\"\\\\e012\\\";\\n}\\n\\n.glyphicon-ok:before {\\n content: \\\"\\\\e013\\\";\\n}\\n\\n.glyphicon-remove:before {\\n content: \\\"\\\\e014\\\";\\n}\\n\\n.glyphicon-zoom-in:before {\\n content: \\\"\\\\e015\\\";\\n}\\n\\n.glyphicon-zoom-out:before {\\n content: \\\"\\\\e016\\\";\\n}\\n\\n.glyphicon-off:before {\\n content: \\\"\\\\e017\\\";\\n}\\n\\n.glyphicon-signal:before {\\n content: \\\"\\\\e018\\\";\\n}\\n\\n.glyphicon-cog:before {\\n content: \\\"\\\\e019\\\";\\n}\\n\\n.glyphicon-trash:before {\\n content: \\\"\\\\e020\\\";\\n}\\n\\n.glyphicon-home:before {\\n content: \\\"\\\\e021\\\";\\n}\\n\\n.glyphicon-file:before {\\n content: \\\"\\\\e022\\\";\\n}\\n\\n.glyphicon-time:before {\\n content: \\\"\\\\e023\\\";\\n}\\n\\n.glyphicon-road:before {\\n content: \\\"\\\\e024\\\";\\n}\\n\\n.glyphicon-download-alt:before {\\n content: \\\"\\\\e025\\\";\\n}\\n\\n.glyphicon-download:before {\\n content: \\\"\\\\e026\\\";\\n}\\n\\n.glyphicon-upload:before {\\n content: \\\"\\\\e027\\\";\\n}\\n\\n.glyphicon-inbox:before {\\n content: \\\"\\\\e028\\\";\\n}\\n\\n.glyphicon-play-circle:before {\\n content: \\\"\\\\e029\\\";\\n}\\n\\n.glyphicon-repeat:before {\\n content: \\\"\\\\e030\\\";\\n}\\n\\n.glyphicon-refresh:before {\\n content: \\\"\\\\e031\\\";\\n}\\n\\n.glyphicon-list-alt:before {\\n content: \\\"\\\\e032\\\";\\n}\\n\\n.glyphicon-lock:before {\\n content: \\\"\\\\e033\\\";\\n}\\n\\n.glyphicon-flag:before {\\n content: \\\"\\\\e034\\\";\\n}\\n\\n.glyphicon-headphones:before {\\n content: \\\"\\\\e035\\\";\\n}\\n\\n.glyphicon-volume-off:before {\\n content: \\\"\\\\e036\\\";\\n}\\n\\n.glyphicon-volume-down:before {\\n content: \\\"\\\\e037\\\";\\n}\\n\\n.glyphicon-volume-up:before {\\n content: \\\"\\\\e038\\\";\\n}\\n\\n.glyphicon-qrcode:before {\\n content: \\\"\\\\e039\\\";\\n}\\n\\n.glyphicon-barcode:before {\\n content: \\\"\\\\e040\\\";\\n}\\n\\n.glyphicon-tag:before {\\n content: \\\"\\\\e041\\\";\\n}\\n\\n.glyphicon-tags:before {\\n content: \\\"\\\\e042\\\";\\n}\\n\\n.glyphicon-book:before {\\n content: \\\"\\\\e043\\\";\\n}\\n\\n.glyphicon-bookmark:before {\\n content: \\\"\\\\e044\\\";\\n}\\n\\n.glyphicon-print:before {\\n content: \\\"\\\\e045\\\";\\n}\\n\\n.glyphicon-camera:before {\\n content: \\\"\\\\e046\\\";\\n}\\n\\n.glyphicon-font:before {\\n content: \\\"\\\\e047\\\";\\n}\\n\\n.glyphicon-bold:before {\\n content: \\\"\\\\e048\\\";\\n}\\n\\n.glyphicon-italic:before {\\n content: \\\"\\\\e049\\\";\\n}\\n\\n.glyphicon-text-height:before {\\n content: \\\"\\\\e050\\\";\\n}\\n\\n.glyphicon-text-width:before {\\n content: \\\"\\\\e051\\\";\\n}\\n\\n.glyphicon-align-left:before {\\n content: \\\"\\\\e052\\\";\\n}\\n\\n.glyphicon-align-center:before {\\n content: \\\"\\\\e053\\\";\\n}\\n\\n.glyphicon-align-right:before {\\n content: \\\"\\\\e054\\\";\\n}\\n\\n.glyphicon-align-justify:before {\\n content: \\\"\\\\e055\\\";\\n}\\n\\n.glyphicon-list:before {\\n content: \\\"\\\\e056\\\";\\n}\\n\\n.glyphicon-indent-left:before {\\n content: \\\"\\\\e057\\\";\\n}\\n\\n.glyphicon-indent-right:before {\\n content: \\\"\\\\e058\\\";\\n}\\n\\n.glyphicon-facetime-video:before {\\n content: \\\"\\\\e059\\\";\\n}\\n\\n.glyphicon-picture:before {\\n content: \\\"\\\\e060\\\";\\n}\\n\\n.glyphicon-map-marker:before {\\n content: \\\"\\\\e062\\\";\\n}\\n\\n.glyphicon-adjust:before {\\n content: \\\"\\\\e063\\\";\\n}\\n\\n.glyphicon-tint:before {\\n content: \\\"\\\\e064\\\";\\n}\\n\\n.glyphicon-edit:before {\\n content: \\\"\\\\e065\\\";\\n}\\n\\n.glyphicon-share:before {\\n content: \\\"\\\\e066\\\";\\n}\\n\\n.glyphicon-check:before {\\n content: \\\"\\\\e067\\\";\\n}\\n\\n.glyphicon-move:before {\\n content: \\\"\\\\e068\\\";\\n}\\n\\n.glyphicon-step-backward:before {\\n content: \\\"\\\\e069\\\";\\n}\\n\\n.glyphicon-fast-backward:before {\\n content: \\\"\\\\e070\\\";\\n}\\n\\n.glyphicon-backward:before {\\n content: \\\"\\\\e071\\\";\\n}\\n\\n.glyphicon-play:before {\\n content: \\\"\\\\e072\\\";\\n}\\n\\n.glyphicon-pause:before {\\n content: \\\"\\\\e073\\\";\\n}\\n\\n.glyphicon-stop:before {\\n content: \\\"\\\\e074\\\";\\n}\\n\\n.glyphicon-forward:before {\\n content: \\\"\\\\e075\\\";\\n}\\n\\n.glyphicon-fast-forward:before {\\n content: \\\"\\\\e076\\\";\\n}\\n\\n.glyphicon-step-forward:before {\\n content: \\\"\\\\e077\\\";\\n}\\n\\n.glyphicon-eject:before {\\n content: \\\"\\\\e078\\\";\\n}\\n\\n.glyphicon-chevron-left:before {\\n content: \\\"\\\\e079\\\";\\n}\\n\\n.glyphicon-chevron-right:before {\\n content: \\\"\\\\e080\\\";\\n}\\n\\n.glyphicon-plus-sign:before {\\n content: \\\"\\\\e081\\\";\\n}\\n\\n.glyphicon-minus-sign:before {\\n content: \\\"\\\\e082\\\";\\n}\\n\\n.glyphicon-remove-sign:before {\\n content: \\\"\\\\e083\\\";\\n}\\n\\n.glyphicon-ok-sign:before {\\n content: \\\"\\\\e084\\\";\\n}\\n\\n.glyphicon-question-sign:before {\\n content: \\\"\\\\e085\\\";\\n}\\n\\n.glyphicon-info-sign:before {\\n content: \\\"\\\\e086\\\";\\n}\\n\\n.glyphicon-screenshot:before {\\n content: \\\"\\\\e087\\\";\\n}\\n\\n.glyphicon-remove-circle:before {\\n content: \\\"\\\\e088\\\";\\n}\\n\\n.glyphicon-ok-circle:before {\\n content: \\\"\\\\e089\\\";\\n}\\n\\n.glyphicon-ban-circle:before {\\n content: \\\"\\\\e090\\\";\\n}\\n\\n.glyphicon-arrow-left:before {\\n content: \\\"\\\\e091\\\";\\n}\\n\\n.glyphicon-arrow-right:before {\\n content: \\\"\\\\e092\\\";\\n}\\n\\n.glyphicon-arrow-up:before {\\n content: \\\"\\\\e093\\\";\\n}\\n\\n.glyphicon-arrow-down:before {\\n content: \\\"\\\\e094\\\";\\n}\\n\\n.glyphicon-share-alt:before {\\n content: \\\"\\\\e095\\\";\\n}\\n\\n.glyphicon-resize-full:before {\\n content: \\\"\\\\e096\\\";\\n}\\n\\n.glyphicon-resize-small:before {\\n content: \\\"\\\\e097\\\";\\n}\\n\\n.glyphicon-exclamation-sign:before {\\n content: \\\"\\\\e101\\\";\\n}\\n\\n.glyphicon-gift:before {\\n content: \\\"\\\\e102\\\";\\n}\\n\\n.glyphicon-leaf:before {\\n content: \\\"\\\\e103\\\";\\n}\\n\\n.glyphicon-fire:before {\\n content: \\\"\\\\e104\\\";\\n}\\n\\n.glyphicon-eye-open:before {\\n content: \\\"\\\\e105\\\";\\n}\\n\\n.glyphicon-eye-close:before {\\n content: \\\"\\\\e106\\\";\\n}\\n\\n.glyphicon-warning-sign:before {\\n content: \\\"\\\\e107\\\";\\n}\\n\\n.glyphicon-plane:before {\\n content: \\\"\\\\e108\\\";\\n}\\n\\n.glyphicon-calendar:before {\\n content: \\\"\\\\e109\\\";\\n}\\n\\n.glyphicon-random:before {\\n content: \\\"\\\\e110\\\";\\n}\\n\\n.glyphicon-comment:before {\\n content: \\\"\\\\e111\\\";\\n}\\n\\n.glyphicon-magnet:before {\\n content: \\\"\\\\e112\\\";\\n}\\n\\n.glyphicon-chevron-up:before {\\n content: \\\"\\\\e113\\\";\\n}\\n\\n.glyphicon-chevron-down:before {\\n content: \\\"\\\\e114\\\";\\n}\\n\\n.glyphicon-retweet:before {\\n content: \\\"\\\\e115\\\";\\n}\\n\\n.glyphicon-shopping-cart:before {\\n content: \\\"\\\\e116\\\";\\n}\\n\\n.glyphicon-folder-close:before {\\n content: \\\"\\\\e117\\\";\\n}\\n\\n.glyphicon-folder-open:before {\\n content: \\\"\\\\e118\\\";\\n}\\n\\n.glyphicon-resize-vertical:before {\\n content: \\\"\\\\e119\\\";\\n}\\n\\n.glyphicon-resize-horizontal:before {\\n content: \\\"\\\\e120\\\";\\n}\\n\\n.glyphicon-hdd:before {\\n content: \\\"\\\\e121\\\";\\n}\\n\\n.glyphicon-bullhorn:before {\\n content: \\\"\\\\e122\\\";\\n}\\n\\n.glyphicon-bell:before {\\n content: \\\"\\\\e123\\\";\\n}\\n\\n.glyphicon-certificate:before {\\n content: \\\"\\\\e124\\\";\\n}\\n\\n.glyphicon-thumbs-up:before {\\n content: \\\"\\\\e125\\\";\\n}\\n\\n.glyphicon-thumbs-down:before {\\n content: \\\"\\\\e126\\\";\\n}\\n\\n.glyphicon-hand-right:before {\\n content: \\\"\\\\e127\\\";\\n}\\n\\n.glyphicon-hand-left:before {\\n content: \\\"\\\\e128\\\";\\n}\\n\\n.glyphicon-hand-up:before {\\n content: \\\"\\\\e129\\\";\\n}\\n\\n.glyphicon-hand-down:before {\\n content: \\\"\\\\e130\\\";\\n}\\n\\n.glyphicon-circle-arrow-right:before {\\n content: \\\"\\\\e131\\\";\\n}\\n\\n.glyphicon-circle-arrow-left:before {\\n content: \\\"\\\\e132\\\";\\n}\\n\\n.glyphicon-circle-arrow-up:before {\\n content: \\\"\\\\e133\\\";\\n}\\n\\n.glyphicon-circle-arrow-down:before {\\n content: \\\"\\\\e134\\\";\\n}\\n\\n.glyphicon-globe:before {\\n content: \\\"\\\\e135\\\";\\n}\\n\\n.glyphicon-wrench:before {\\n content: \\\"\\\\e136\\\";\\n}\\n\\n.glyphicon-tasks:before {\\n content: \\\"\\\\e137\\\";\\n}\\n\\n.glyphicon-filter:before {\\n content: \\\"\\\\e138\\\";\\n}\\n\\n.glyphicon-briefcase:before {\\n content: \\\"\\\\e139\\\";\\n}\\n\\n.glyphicon-fullscreen:before {\\n content: \\\"\\\\e140\\\";\\n}\\n\\n.glyphicon-dashboard:before {\\n content: \\\"\\\\e141\\\";\\n}\\n\\n.glyphicon-paperclip:before {\\n content: \\\"\\\\e142\\\";\\n}\\n\\n.glyphicon-heart-empty:before {\\n content: \\\"\\\\e143\\\";\\n}\\n\\n.glyphicon-link:before {\\n content: \\\"\\\\e144\\\";\\n}\\n\\n.glyphicon-phone:before {\\n content: \\\"\\\\e145\\\";\\n}\\n\\n.glyphicon-pushpin:before {\\n content: \\\"\\\\e146\\\";\\n}\\n\\n.glyphicon-usd:before {\\n content: \\\"\\\\e148\\\";\\n}\\n\\n.glyphicon-gbp:before {\\n content: \\\"\\\\e149\\\";\\n}\\n\\n.glyphicon-sort:before {\\n content: \\\"\\\\e150\\\";\\n}\\n\\n.glyphicon-sort-by-alphabet:before {\\n content: \\\"\\\\e151\\\";\\n}\\n\\n.glyphicon-sort-by-alphabet-alt:before {\\n content: \\\"\\\\e152\\\";\\n}\\n\\n.glyphicon-sort-by-order:before {\\n content: \\\"\\\\e153\\\";\\n}\\n\\n.glyphicon-sort-by-order-alt:before {\\n content: \\\"\\\\e154\\\";\\n}\\n\\n.glyphicon-sort-by-attributes:before {\\n content: \\\"\\\\e155\\\";\\n}\\n\\n.glyphicon-sort-by-attributes-alt:before {\\n content: \\\"\\\\e156\\\";\\n}\\n\\n.glyphicon-unchecked:before {\\n content: \\\"\\\\e157\\\";\\n}\\n\\n.glyphicon-expand:before {\\n content: \\\"\\\\e158\\\";\\n}\\n\\n.glyphicon-collapse-down:before {\\n content: \\\"\\\\e159\\\";\\n}\\n\\n.glyphicon-collapse-up:before {\\n content: \\\"\\\\e160\\\";\\n}\\n\\n.glyphicon-log-in:before {\\n content: \\\"\\\\e161\\\";\\n}\\n\\n.glyphicon-flash:before {\\n content: \\\"\\\\e162\\\";\\n}\\n\\n.glyphicon-log-out:before {\\n content: \\\"\\\\e163\\\";\\n}\\n\\n.glyphicon-new-window:before {\\n content: \\\"\\\\e164\\\";\\n}\\n\\n.glyphicon-record:before {\\n content: \\\"\\\\e165\\\";\\n}\\n\\n.glyphicon-save:before {\\n content: \\\"\\\\e166\\\";\\n}\\n\\n.glyphicon-open:before {\\n content: \\\"\\\\e167\\\";\\n}\\n\\n.glyphicon-saved:before {\\n content: \\\"\\\\e168\\\";\\n}\\n\\n.glyphicon-import:before {\\n content: \\\"\\\\e169\\\";\\n}\\n\\n.glyphicon-export:before {\\n content: \\\"\\\\e170\\\";\\n}\\n\\n.glyphicon-send:before {\\n content: \\\"\\\\e171\\\";\\n}\\n\\n.glyphicon-floppy-disk:before {\\n content: \\\"\\\\e172\\\";\\n}\\n\\n.glyphicon-floppy-saved:before {\\n content: \\\"\\\\e173\\\";\\n}\\n\\n.glyphicon-floppy-remove:before {\\n content: \\\"\\\\e174\\\";\\n}\\n\\n.glyphicon-floppy-save:before {\\n content: \\\"\\\\e175\\\";\\n}\\n\\n.glyphicon-floppy-open:before {\\n content: \\\"\\\\e176\\\";\\n}\\n\\n.glyphicon-credit-card:before {\\n content: \\\"\\\\e177\\\";\\n}\\n\\n.glyphicon-transfer:before {\\n content: \\\"\\\\e178\\\";\\n}\\n\\n.glyphicon-cutlery:before {\\n content: \\\"\\\\e179\\\";\\n}\\n\\n.glyphicon-header:before {\\n content: \\\"\\\\e180\\\";\\n}\\n\\n.glyphicon-compressed:before {\\n content: \\\"\\\\e181\\\";\\n}\\n\\n.glyphicon-earphone:before {\\n content: \\\"\\\\e182\\\";\\n}\\n\\n.glyphicon-phone-alt:before {\\n content: \\\"\\\\e183\\\";\\n}\\n\\n.glyphicon-tower:before {\\n content: \\\"\\\\e184\\\";\\n}\\n\\n.glyphicon-stats:before {\\n content: \\\"\\\\e185\\\";\\n}\\n\\n.glyphicon-sd-video:before {\\n content: \\\"\\\\e186\\\";\\n}\\n\\n.glyphicon-hd-video:before {\\n content: \\\"\\\\e187\\\";\\n}\\n\\n.glyphicon-subtitles:before {\\n content: \\\"\\\\e188\\\";\\n}\\n\\n.glyphicon-sound-stereo:before {\\n content: \\\"\\\\e189\\\";\\n}\\n\\n.glyphicon-sound-dolby:before {\\n content: \\\"\\\\e190\\\";\\n}\\n\\n.glyphicon-sound-5-1:before {\\n content: \\\"\\\\e191\\\";\\n}\\n\\n.glyphicon-sound-6-1:before {\\n content: \\\"\\\\e192\\\";\\n}\\n\\n.glyphicon-sound-7-1:before {\\n content: \\\"\\\\e193\\\";\\n}\\n\\n.glyphicon-copyright-mark:before {\\n content: \\\"\\\\e194\\\";\\n}\\n\\n.glyphicon-registration-mark:before {\\n content: \\\"\\\\e195\\\";\\n}\\n\\n.glyphicon-cloud-download:before {\\n content: \\\"\\\\e197\\\";\\n}\\n\\n.glyphicon-cloud-upload:before {\\n content: \\\"\\\\e198\\\";\\n}\\n\\n.glyphicon-tree-conifer:before {\\n content: \\\"\\\\e199\\\";\\n}\\n\\n.glyphicon-tree-deciduous:before {\\n content: \\\"\\\\e200\\\";\\n}\\n\\n.glyphicon-cd:before {\\n content: \\\"\\\\e201\\\";\\n}\\n\\n.glyphicon-save-file:before {\\n content: \\\"\\\\e202\\\";\\n}\\n\\n.glyphicon-open-file:before {\\n content: \\\"\\\\e203\\\";\\n}\\n\\n.glyphicon-level-up:before {\\n content: \\\"\\\\e204\\\";\\n}\\n\\n.glyphicon-copy:before {\\n content: \\\"\\\\e205\\\";\\n}\\n\\n.glyphicon-paste:before {\\n content: \\\"\\\\e206\\\";\\n}\\n\\n.glyphicon-alert:before {\\n content: \\\"\\\\e209\\\";\\n}\\n\\n.glyphicon-equalizer:before {\\n content: \\\"\\\\e210\\\";\\n}\\n\\n.glyphicon-king:before {\\n content: \\\"\\\\e211\\\";\\n}\\n\\n.glyphicon-queen:before {\\n content: \\\"\\\\e212\\\";\\n}\\n\\n.glyphicon-pawn:before {\\n content: \\\"\\\\e213\\\";\\n}\\n\\n.glyphicon-bishop:before {\\n content: \\\"\\\\e214\\\";\\n}\\n\\n.glyphicon-knight:before {\\n content: \\\"\\\\e215\\\";\\n}\\n\\n.glyphicon-baby-formula:before {\\n content: \\\"\\\\e216\\\";\\n}\\n\\n.glyphicon-tent:before {\\n content: \\\"⛺\\\";\\n}\\n\\n.glyphicon-blackboard:before {\\n content: \\\"\\\\e218\\\";\\n}\\n\\n.glyphicon-bed:before {\\n content: \\\"\\\\e219\\\";\\n}\\n\\n.glyphicon-apple:before {\\n content: \\\"\\\\f8ff\\\";\\n}\\n\\n.glyphicon-erase:before {\\n content: \\\"\\\\e221\\\";\\n}\\n\\n.glyphicon-hourglass:before {\\n content: \\\"⌛\\\";\\n}\\n\\n.glyphicon-lamp:before {\\n content: \\\"\\\\e223\\\";\\n}\\n\\n.glyphicon-duplicate:before {\\n content: \\\"\\\\e224\\\";\\n}\\n\\n.glyphicon-piggy-bank:before {\\n content: \\\"\\\\e225\\\";\\n}\\n\\n.glyphicon-scissors:before {\\n content: \\\"\\\\e226\\\";\\n}\\n\\n.glyphicon-bitcoin:before {\\n content: \\\"\\\\e227\\\";\\n}\\n\\n.glyphicon-btc:before {\\n content: \\\"\\\\e227\\\";\\n}\\n\\n.glyphicon-xbt:before {\\n content: \\\"\\\\e227\\\";\\n}\\n\\n.glyphicon-yen:before {\\n content: \\\"¥\\\";\\n}\\n\\n.glyphicon-jpy:before {\\n content: \\\"¥\\\";\\n}\\n\\n.glyphicon-ruble:before {\\n content: \\\"₽\\\";\\n}\\n\\n.glyphicon-rub:before {\\n content: \\\"₽\\\";\\n}\\n\\n.glyphicon-scale:before {\\n content: \\\"\\\\e230\\\";\\n}\\n\\n.glyphicon-ice-lolly:before {\\n content: \\\"\\\\e231\\\";\\n}\\n\\n.glyphicon-ice-lolly-tasted:before {\\n content: \\\"\\\\e232\\\";\\n}\\n\\n.glyphicon-education:before {\\n content: \\\"\\\\e233\\\";\\n}\\n\\n.glyphicon-option-horizontal:before {\\n content: \\\"\\\\e234\\\";\\n}\\n\\n.glyphicon-option-vertical:before {\\n content: \\\"\\\\e235\\\";\\n}\\n\\n.glyphicon-menu-hamburger:before {\\n content: \\\"\\\\e236\\\";\\n}\\n\\n.glyphicon-modal-window:before {\\n content: \\\"\\\\e237\\\";\\n}\\n\\n.glyphicon-oil:before {\\n content: \\\"\\\\e238\\\";\\n}\\n\\n.glyphicon-grain:before {\\n content: \\\"\\\\e239\\\";\\n}\\n\\n.glyphicon-sunglasses:before {\\n content: \\\"\\\\e240\\\";\\n}\\n\\n.glyphicon-text-size:before {\\n content: \\\"\\\\e241\\\";\\n}\\n\\n.glyphicon-text-color:before {\\n content: \\\"\\\\e242\\\";\\n}\\n\\n.glyphicon-text-background:before {\\n content: \\\"\\\\e243\\\";\\n}\\n\\n.glyphicon-object-align-top:before {\\n content: \\\"\\\\e244\\\";\\n}\\n\\n.glyphicon-object-align-bottom:before {\\n content: \\\"\\\\e245\\\";\\n}\\n\\n.glyphicon-object-align-horizontal:before {\\n content: \\\"\\\\e246\\\";\\n}\\n\\n.glyphicon-object-align-left:before {\\n content: \\\"\\\\e247\\\";\\n}\\n\\n.glyphicon-object-align-vertical:before {\\n content: \\\"\\\\e248\\\";\\n}\\n\\n.glyphicon-object-align-right:before {\\n content: \\\"\\\\e249\\\";\\n}\\n\\n.glyphicon-triangle-right:before {\\n content: \\\"\\\\e250\\\";\\n}\\n\\n.glyphicon-triangle-left:before {\\n content: \\\"\\\\e251\\\";\\n}\\n\\n.glyphicon-triangle-bottom:before {\\n content: \\\"\\\\e252\\\";\\n}\\n\\n.glyphicon-triangle-top:before {\\n content: \\\"\\\\e253\\\";\\n}\\n\\n.glyphicon-console:before {\\n content: \\\"\\\\e254\\\";\\n}\\n\\n.glyphicon-superscript:before {\\n content: \\\"\\\\e255\\\";\\n}\\n\\n.glyphicon-subscript:before {\\n content: \\\"\\\\e256\\\";\\n}\\n\\n.glyphicon-menu-left:before {\\n content: \\\"\\\\e257\\\";\\n}\\n\\n.glyphicon-menu-right:before {\\n content: \\\"\\\\e258\\\";\\n}\\n\\n.glyphicon-menu-down:before {\\n content: \\\"\\\\e259\\\";\\n}\\n\\n.glyphicon-menu-up:before {\\n content: \\\"\\\\e260\\\";\\n}\\n\\n* {\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n\\n*:before,\\n*:after {\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n\\nhtml {\\n font-size: 10px;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n}\\n\\nbody {\\n font-family: \\\"Open Sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 15px;\\n line-height: 1.4;\\n color: #222222;\\n background-color: #ffffff;\\n}\\n\\ninput,\\nbutton,\\nselect,\\ntextarea {\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n}\\n\\na {\\n color: #008cba;\\n text-decoration: none;\\n}\\n\\na:hover,\\na:focus {\\n color: #008cba;\\n text-decoration: underline;\\n}\\n\\na:focus {\\n outline: 5px auto -webkit-focus-ring-color;\\n outline-offset: -2px;\\n}\\n\\nfigure {\\n margin: 0;\\n}\\n\\nimg {\\n vertical-align: middle;\\n}\\n\\n.img-responsive,\\n.thumbnail > img,\\n.thumbnail a > img,\\n.carousel-inner > .item > img,\\n.carousel-inner > .item > a > img {\\n display: block;\\n max-width: 100%;\\n height: auto;\\n}\\n\\n.img-rounded {\\n border-radius: 0;\\n}\\n\\n.img-thumbnail {\\n padding: 4px;\\n line-height: 1.4;\\n background-color: #ffffff;\\n border: 1px solid #dddddd;\\n border-radius: 0;\\n -webkit-transition: all 0.2s ease-in-out;\\n -o-transition: all 0.2s ease-in-out;\\n transition: all 0.2s ease-in-out;\\n display: inline-block;\\n max-width: 100%;\\n height: auto;\\n}\\n\\n.img-circle {\\n border-radius: 50%;\\n}\\n\\nhr {\\n margin-top: 21px;\\n margin-bottom: 21px;\\n border: 0;\\n border-top: 1px solid #dddddd;\\n}\\n\\n.sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n margin: -1px;\\n padding: 0;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n border: 0;\\n}\\n\\n.sr-only-focusable:active,\\n.sr-only-focusable:focus {\\n position: static;\\n width: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n clip: auto;\\n}\\n\\n[role=button] {\\n cursor: pointer;\\n}\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\n.h1,\\n.h2,\\n.h3,\\n.h4,\\n.h5,\\n.h6 {\\n font-family: \\\"Open Sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-weight: 300;\\n line-height: 1.1;\\n color: inherit;\\n}\\n\\nh1 small,\\nh2 small,\\nh3 small,\\nh4 small,\\nh5 small,\\nh6 small,\\n.h1 small,\\n.h2 small,\\n.h3 small,\\n.h4 small,\\n.h5 small,\\n.h6 small,\\nh1 .small,\\nh2 .small,\\nh3 .small,\\nh4 .small,\\nh5 .small,\\nh6 .small,\\n.h1 .small,\\n.h2 .small,\\n.h3 .small,\\n.h4 .small,\\n.h5 .small,\\n.h6 .small {\\n font-weight: normal;\\n line-height: 1;\\n color: #999999;\\n}\\n\\nh1,\\n.h1,\\nh2,\\n.h2,\\nh3,\\n.h3 {\\n margin-top: 21px;\\n margin-bottom: 10.5px;\\n}\\n\\nh1 small,\\n.h1 small,\\nh2 small,\\n.h2 small,\\nh3 small,\\n.h3 small,\\nh1 .small,\\n.h1 .small,\\nh2 .small,\\n.h2 .small,\\nh3 .small,\\n.h3 .small {\\n font-size: 65%;\\n}\\n\\nh4,\\n.h4,\\nh5,\\n.h5,\\nh6,\\n.h6 {\\n margin-top: 10.5px;\\n margin-bottom: 10.5px;\\n}\\n\\nh4 small,\\n.h4 small,\\nh5 small,\\n.h5 small,\\nh6 small,\\n.h6 small,\\nh4 .small,\\n.h4 .small,\\nh5 .small,\\n.h5 .small,\\nh6 .small,\\n.h6 .small {\\n font-size: 75%;\\n}\\n\\nh1,\\n.h1 {\\n font-size: 39px;\\n}\\n\\nh2,\\n.h2 {\\n font-size: 32px;\\n}\\n\\nh3,\\n.h3 {\\n font-size: 26px;\\n}\\n\\nh4,\\n.h4 {\\n font-size: 19px;\\n}\\n\\nh5,\\n.h5 {\\n font-size: 15px;\\n}\\n\\nh6,\\n.h6 {\\n font-size: 13px;\\n}\\n\\np {\\n margin: 0 0 10.5px;\\n}\\n\\n.lead {\\n margin-bottom: 21px;\\n font-size: 17px;\\n font-weight: 300;\\n line-height: 1.4;\\n}\\n\\n@media (min-width: 768px) {\\n .lead {\\n font-size: 22.5px;\\n }\\n}\\nsmall,\\n.small {\\n font-size: 80%;\\n}\\n\\nmark,\\n.mark {\\n background-color: #fcf8e3;\\n padding: 0.2em;\\n}\\n\\n.text-left {\\n text-align: left;\\n}\\n\\n.text-right {\\n text-align: right;\\n}\\n\\n.text-center {\\n text-align: center;\\n}\\n\\n.text-justify {\\n text-align: justify;\\n}\\n\\n.text-nowrap {\\n white-space: nowrap;\\n}\\n\\n.text-lowercase {\\n text-transform: lowercase;\\n}\\n\\n.text-uppercase {\\n text-transform: uppercase;\\n}\\n\\n.text-capitalize {\\n text-transform: capitalize;\\n}\\n\\n.text-muted {\\n color: #999999;\\n}\\n\\n.text-primary {\\n color: #008cba;\\n}\\n\\na.text-primary:hover,\\na.text-primary:focus {\\n color: #006687;\\n}\\n\\n.text-success {\\n color: #43ac6a;\\n}\\n\\na.text-success:hover,\\na.text-success:focus {\\n color: #358753;\\n}\\n\\n.text-info {\\n color: #5bc0de;\\n}\\n\\na.text-info:hover,\\na.text-info:focus {\\n color: #31b0d5;\\n}\\n\\n.text-warning {\\n color: #e99002;\\n}\\n\\na.text-warning:hover,\\na.text-warning:focus {\\n color: #b67102;\\n}\\n\\n.text-danger {\\n color: #f04124;\\n}\\n\\na.text-danger:hover,\\na.text-danger:focus {\\n color: #d32a0e;\\n}\\n\\n.bg-primary {\\n color: #fff;\\n background-color: #008cba;\\n}\\n\\na.bg-primary:hover,\\na.bg-primary:focus {\\n background-color: #006687;\\n}\\n\\n.bg-success {\\n background-color: #dff0d8;\\n}\\n\\na.bg-success:hover,\\na.bg-success:focus {\\n background-color: #c1e2b3;\\n}\\n\\n.bg-info {\\n background-color: #d9edf7;\\n}\\n\\na.bg-info:hover,\\na.bg-info:focus {\\n background-color: #afd9ee;\\n}\\n\\n.bg-warning {\\n background-color: #fcf8e3;\\n}\\n\\na.bg-warning:hover,\\na.bg-warning:focus {\\n background-color: #f7ecb5;\\n}\\n\\n.bg-danger {\\n background-color: #f2dede;\\n}\\n\\na.bg-danger:hover,\\na.bg-danger:focus {\\n background-color: #e4b9b9;\\n}\\n\\n.page-header {\\n padding-bottom: 9.5px;\\n margin: 42px 0 21px;\\n border-bottom: 1px solid #dddddd;\\n}\\n\\nul,\\nol {\\n margin-top: 0;\\n margin-bottom: 10.5px;\\n}\\n\\nul ul,\\nol ul,\\nul ol,\\nol ol {\\n margin-bottom: 0;\\n}\\n\\n.list-unstyled {\\n padding-left: 0;\\n list-style: none;\\n}\\n\\n.list-inline {\\n padding-left: 0;\\n list-style: none;\\n margin-left: -5px;\\n}\\n\\n.list-inline > li {\\n display: inline-block;\\n padding-left: 5px;\\n padding-right: 5px;\\n}\\n\\ndl {\\n margin-top: 0;\\n margin-bottom: 21px;\\n}\\n\\ndt,\\ndd {\\n line-height: 1.4;\\n}\\n\\ndt {\\n font-weight: bold;\\n}\\n\\ndd {\\n margin-left: 0;\\n}\\n\\n@media (min-width: 768px) {\\n .dl-horizontal dt {\\n float: left;\\n width: 160px;\\n clear: left;\\n text-align: right;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n }\\n .dl-horizontal dd {\\n margin-left: 180px;\\n }\\n}\\nabbr[title],\\nabbr[data-original-title] {\\n cursor: help;\\n border-bottom: 1px dotted #999999;\\n}\\n\\n.initialism {\\n font-size: 90%;\\n text-transform: uppercase;\\n}\\n\\nblockquote {\\n padding: 10.5px 21px;\\n margin: 0 0 21px;\\n font-size: 18.75px;\\n border-left: 5px solid #dddddd;\\n}\\n\\nblockquote p:last-child,\\nblockquote ul:last-child,\\nblockquote ol:last-child {\\n margin-bottom: 0;\\n}\\n\\nblockquote footer,\\nblockquote small,\\nblockquote .small {\\n display: block;\\n font-size: 80%;\\n line-height: 1.4;\\n color: #6f6f6f;\\n}\\n\\nblockquote footer:before,\\nblockquote small:before,\\nblockquote .small:before {\\n content: \\\"— \\\";\\n}\\n\\n.blockquote-reverse,\\nblockquote.pull-right {\\n padding-right: 15px;\\n padding-left: 0;\\n border-right: 5px solid #dddddd;\\n border-left: 0;\\n text-align: right;\\n}\\n\\n.blockquote-reverse footer:before,\\nblockquote.pull-right footer:before,\\n.blockquote-reverse small:before,\\nblockquote.pull-right small:before,\\n.blockquote-reverse .small:before,\\nblockquote.pull-right .small:before {\\n content: \\\"\\\";\\n}\\n\\n.blockquote-reverse footer:after,\\nblockquote.pull-right footer:after,\\n.blockquote-reverse small:after,\\nblockquote.pull-right small:after,\\n.blockquote-reverse .small:after,\\nblockquote.pull-right .small:after {\\n content: \\\" —\\\";\\n}\\n\\naddress {\\n margin-bottom: 21px;\\n font-style: normal;\\n line-height: 1.4;\\n}\\n\\ncode,\\nkbd,\\npre,\\nsamp {\\n font-family: Menlo, Monaco, Consolas, \\\"Courier New\\\", monospace;\\n}\\n\\ncode {\\n padding: 2px 4px;\\n font-size: 90%;\\n color: #c7254e;\\n background-color: #f9f2f4;\\n border-radius: 0;\\n}\\n\\nkbd {\\n padding: 2px 4px;\\n font-size: 90%;\\n color: #ffffff;\\n background-color: #333333;\\n border-radius: 0;\\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\\n}\\n\\nkbd kbd {\\n padding: 0;\\n font-size: 100%;\\n font-weight: bold;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n}\\n\\npre {\\n display: block;\\n padding: 10px;\\n margin: 0 0 10.5px;\\n font-size: 14px;\\n line-height: 1.4;\\n word-break: break-all;\\n word-wrap: break-word;\\n color: #333333;\\n background-color: #f5f5f5;\\n border: 1px solid #cccccc;\\n border-radius: 0;\\n}\\n\\npre code {\\n padding: 0;\\n font-size: inherit;\\n color: inherit;\\n white-space: pre-wrap;\\n background-color: transparent;\\n border-radius: 0;\\n}\\n\\n.pre-scrollable {\\n max-height: 340px;\\n overflow-y: scroll;\\n}\\n\\n.container {\\n margin-right: auto;\\n margin-left: auto;\\n padding-left: 15px;\\n padding-right: 15px;\\n}\\n\\n@media (min-width: 768px) {\\n .container {\\n width: 750px;\\n }\\n}\\n@media (min-width: 992px) {\\n .container {\\n width: 970px;\\n }\\n}\\n@media (min-width: 1200px) {\\n .container {\\n width: 1170px;\\n }\\n}\\n.container-fluid {\\n margin-right: auto;\\n margin-left: auto;\\n padding-left: 15px;\\n padding-right: 15px;\\n}\\n\\n.row {\\n margin-left: -15px;\\n margin-right: -15px;\\n}\\n\\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\\n position: relative;\\n min-height: 1px;\\n padding-left: 15px;\\n padding-right: 15px;\\n}\\n\\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\\n float: left;\\n}\\n\\n.col-xs-12 {\\n width: 100%;\\n}\\n\\n.col-xs-11 {\\n width: 91.66666667%;\\n}\\n\\n.col-xs-10 {\\n width: 83.33333333%;\\n}\\n\\n.col-xs-9 {\\n width: 75%;\\n}\\n\\n.col-xs-8 {\\n width: 66.66666667%;\\n}\\n\\n.col-xs-7 {\\n width: 58.33333333%;\\n}\\n\\n.col-xs-6 {\\n width: 50%;\\n}\\n\\n.col-xs-5 {\\n width: 41.66666667%;\\n}\\n\\n.col-xs-4 {\\n width: 33.33333333%;\\n}\\n\\n.col-xs-3 {\\n width: 25%;\\n}\\n\\n.col-xs-2 {\\n width: 16.66666667%;\\n}\\n\\n.col-xs-1 {\\n width: 8.33333333%;\\n}\\n\\n.col-xs-pull-12 {\\n right: 100%;\\n}\\n\\n.col-xs-pull-11 {\\n right: 91.66666667%;\\n}\\n\\n.col-xs-pull-10 {\\n right: 83.33333333%;\\n}\\n\\n.col-xs-pull-9 {\\n right: 75%;\\n}\\n\\n.col-xs-pull-8 {\\n right: 66.66666667%;\\n}\\n\\n.col-xs-pull-7 {\\n right: 58.33333333%;\\n}\\n\\n.col-xs-pull-6 {\\n right: 50%;\\n}\\n\\n.col-xs-pull-5 {\\n right: 41.66666667%;\\n}\\n\\n.col-xs-pull-4 {\\n right: 33.33333333%;\\n}\\n\\n.col-xs-pull-3 {\\n right: 25%;\\n}\\n\\n.col-xs-pull-2 {\\n right: 16.66666667%;\\n}\\n\\n.col-xs-pull-1 {\\n right: 8.33333333%;\\n}\\n\\n.col-xs-pull-0 {\\n right: auto;\\n}\\n\\n.col-xs-push-12 {\\n left: 100%;\\n}\\n\\n.col-xs-push-11 {\\n left: 91.66666667%;\\n}\\n\\n.col-xs-push-10 {\\n left: 83.33333333%;\\n}\\n\\n.col-xs-push-9 {\\n left: 75%;\\n}\\n\\n.col-xs-push-8 {\\n left: 66.66666667%;\\n}\\n\\n.col-xs-push-7 {\\n left: 58.33333333%;\\n}\\n\\n.col-xs-push-6 {\\n left: 50%;\\n}\\n\\n.col-xs-push-5 {\\n left: 41.66666667%;\\n}\\n\\n.col-xs-push-4 {\\n left: 33.33333333%;\\n}\\n\\n.col-xs-push-3 {\\n left: 25%;\\n}\\n\\n.col-xs-push-2 {\\n left: 16.66666667%;\\n}\\n\\n.col-xs-push-1 {\\n left: 8.33333333%;\\n}\\n\\n.col-xs-push-0 {\\n left: auto;\\n}\\n\\n.col-xs-offset-12 {\\n margin-left: 100%;\\n}\\n\\n.col-xs-offset-11 {\\n margin-left: 91.66666667%;\\n}\\n\\n.col-xs-offset-10 {\\n margin-left: 83.33333333%;\\n}\\n\\n.col-xs-offset-9 {\\n margin-left: 75%;\\n}\\n\\n.col-xs-offset-8 {\\n margin-left: 66.66666667%;\\n}\\n\\n.col-xs-offset-7 {\\n margin-left: 58.33333333%;\\n}\\n\\n.col-xs-offset-6 {\\n margin-left: 50%;\\n}\\n\\n.col-xs-offset-5 {\\n margin-left: 41.66666667%;\\n}\\n\\n.col-xs-offset-4 {\\n margin-left: 33.33333333%;\\n}\\n\\n.col-xs-offset-3 {\\n margin-left: 25%;\\n}\\n\\n.col-xs-offset-2 {\\n margin-left: 16.66666667%;\\n}\\n\\n.col-xs-offset-1 {\\n margin-left: 8.33333333%;\\n}\\n\\n.col-xs-offset-0 {\\n margin-left: 0%;\\n}\\n\\n@media (min-width: 768px) {\\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\\n float: left;\\n }\\n .col-sm-12 {\\n width: 100%;\\n }\\n .col-sm-11 {\\n width: 91.66666667%;\\n }\\n .col-sm-10 {\\n width: 83.33333333%;\\n }\\n .col-sm-9 {\\n width: 75%;\\n }\\n .col-sm-8 {\\n width: 66.66666667%;\\n }\\n .col-sm-7 {\\n width: 58.33333333%;\\n }\\n .col-sm-6 {\\n width: 50%;\\n }\\n .col-sm-5 {\\n width: 41.66666667%;\\n }\\n .col-sm-4 {\\n width: 33.33333333%;\\n }\\n .col-sm-3 {\\n width: 25%;\\n }\\n .col-sm-2 {\\n width: 16.66666667%;\\n }\\n .col-sm-1 {\\n width: 8.33333333%;\\n }\\n .col-sm-pull-12 {\\n right: 100%;\\n }\\n .col-sm-pull-11 {\\n right: 91.66666667%;\\n }\\n .col-sm-pull-10 {\\n right: 83.33333333%;\\n }\\n .col-sm-pull-9 {\\n right: 75%;\\n }\\n .col-sm-pull-8 {\\n right: 66.66666667%;\\n }\\n .col-sm-pull-7 {\\n right: 58.33333333%;\\n }\\n .col-sm-pull-6 {\\n right: 50%;\\n }\\n .col-sm-pull-5 {\\n right: 41.66666667%;\\n }\\n .col-sm-pull-4 {\\n right: 33.33333333%;\\n }\\n .col-sm-pull-3 {\\n right: 25%;\\n }\\n .col-sm-pull-2 {\\n right: 16.66666667%;\\n }\\n .col-sm-pull-1 {\\n right: 8.33333333%;\\n }\\n .col-sm-pull-0 {\\n right: auto;\\n }\\n .col-sm-push-12 {\\n left: 100%;\\n }\\n .col-sm-push-11 {\\n left: 91.66666667%;\\n }\\n .col-sm-push-10 {\\n left: 83.33333333%;\\n }\\n .col-sm-push-9 {\\n left: 75%;\\n }\\n .col-sm-push-8 {\\n left: 66.66666667%;\\n }\\n .col-sm-push-7 {\\n left: 58.33333333%;\\n }\\n .col-sm-push-6 {\\n left: 50%;\\n }\\n .col-sm-push-5 {\\n left: 41.66666667%;\\n }\\n .col-sm-push-4 {\\n left: 33.33333333%;\\n }\\n .col-sm-push-3 {\\n left: 25%;\\n }\\n .col-sm-push-2 {\\n left: 16.66666667%;\\n }\\n .col-sm-push-1 {\\n left: 8.33333333%;\\n }\\n .col-sm-push-0 {\\n left: auto;\\n }\\n .col-sm-offset-12 {\\n margin-left: 100%;\\n }\\n .col-sm-offset-11 {\\n margin-left: 91.66666667%;\\n }\\n .col-sm-offset-10 {\\n margin-left: 83.33333333%;\\n }\\n .col-sm-offset-9 {\\n margin-left: 75%;\\n }\\n .col-sm-offset-8 {\\n margin-left: 66.66666667%;\\n }\\n .col-sm-offset-7 {\\n margin-left: 58.33333333%;\\n }\\n .col-sm-offset-6 {\\n margin-left: 50%;\\n }\\n .col-sm-offset-5 {\\n margin-left: 41.66666667%;\\n }\\n .col-sm-offset-4 {\\n margin-left: 33.33333333%;\\n }\\n .col-sm-offset-3 {\\n margin-left: 25%;\\n }\\n .col-sm-offset-2 {\\n margin-left: 16.66666667%;\\n }\\n .col-sm-offset-1 {\\n margin-left: 8.33333333%;\\n }\\n .col-sm-offset-0 {\\n margin-left: 0%;\\n }\\n}\\n@media (min-width: 992px) {\\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\\n float: left;\\n }\\n .col-md-12 {\\n width: 100%;\\n }\\n .col-md-11 {\\n width: 91.66666667%;\\n }\\n .col-md-10 {\\n width: 83.33333333%;\\n }\\n .col-md-9 {\\n width: 75%;\\n }\\n .col-md-8 {\\n width: 66.66666667%;\\n }\\n .col-md-7 {\\n width: 58.33333333%;\\n }\\n .col-md-6 {\\n width: 50%;\\n }\\n .col-md-5 {\\n width: 41.66666667%;\\n }\\n .col-md-4 {\\n width: 33.33333333%;\\n }\\n .col-md-3 {\\n width: 25%;\\n }\\n .col-md-2 {\\n width: 16.66666667%;\\n }\\n .col-md-1 {\\n width: 8.33333333%;\\n }\\n .col-md-pull-12 {\\n right: 100%;\\n }\\n .col-md-pull-11 {\\n right: 91.66666667%;\\n }\\n .col-md-pull-10 {\\n right: 83.33333333%;\\n }\\n .col-md-pull-9 {\\n right: 75%;\\n }\\n .col-md-pull-8 {\\n right: 66.66666667%;\\n }\\n .col-md-pull-7 {\\n right: 58.33333333%;\\n }\\n .col-md-pull-6 {\\n right: 50%;\\n }\\n .col-md-pull-5 {\\n right: 41.66666667%;\\n }\\n .col-md-pull-4 {\\n right: 33.33333333%;\\n }\\n .col-md-pull-3 {\\n right: 25%;\\n }\\n .col-md-pull-2 {\\n right: 16.66666667%;\\n }\\n .col-md-pull-1 {\\n right: 8.33333333%;\\n }\\n .col-md-pull-0 {\\n right: auto;\\n }\\n .col-md-push-12 {\\n left: 100%;\\n }\\n .col-md-push-11 {\\n left: 91.66666667%;\\n }\\n .col-md-push-10 {\\n left: 83.33333333%;\\n }\\n .col-md-push-9 {\\n left: 75%;\\n }\\n .col-md-push-8 {\\n left: 66.66666667%;\\n }\\n .col-md-push-7 {\\n left: 58.33333333%;\\n }\\n .col-md-push-6 {\\n left: 50%;\\n }\\n .col-md-push-5 {\\n left: 41.66666667%;\\n }\\n .col-md-push-4 {\\n left: 33.33333333%;\\n }\\n .col-md-push-3 {\\n left: 25%;\\n }\\n .col-md-push-2 {\\n left: 16.66666667%;\\n }\\n .col-md-push-1 {\\n left: 8.33333333%;\\n }\\n .col-md-push-0 {\\n left: auto;\\n }\\n .col-md-offset-12 {\\n margin-left: 100%;\\n }\\n .col-md-offset-11 {\\n margin-left: 91.66666667%;\\n }\\n .col-md-offset-10 {\\n margin-left: 83.33333333%;\\n }\\n .col-md-offset-9 {\\n margin-left: 75%;\\n }\\n .col-md-offset-8 {\\n margin-left: 66.66666667%;\\n }\\n .col-md-offset-7 {\\n margin-left: 58.33333333%;\\n }\\n .col-md-offset-6 {\\n margin-left: 50%;\\n }\\n .col-md-offset-5 {\\n margin-left: 41.66666667%;\\n }\\n .col-md-offset-4 {\\n margin-left: 33.33333333%;\\n }\\n .col-md-offset-3 {\\n margin-left: 25%;\\n }\\n .col-md-offset-2 {\\n margin-left: 16.66666667%;\\n }\\n .col-md-offset-1 {\\n margin-left: 8.33333333%;\\n }\\n .col-md-offset-0 {\\n margin-left: 0%;\\n }\\n}\\n@media (min-width: 1200px) {\\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\\n float: left;\\n }\\n .col-lg-12 {\\n width: 100%;\\n }\\n .col-lg-11 {\\n width: 91.66666667%;\\n }\\n .col-lg-10 {\\n width: 83.33333333%;\\n }\\n .col-lg-9 {\\n width: 75%;\\n }\\n .col-lg-8 {\\n width: 66.66666667%;\\n }\\n .col-lg-7 {\\n width: 58.33333333%;\\n }\\n .col-lg-6 {\\n width: 50%;\\n }\\n .col-lg-5 {\\n width: 41.66666667%;\\n }\\n .col-lg-4 {\\n width: 33.33333333%;\\n }\\n .col-lg-3 {\\n width: 25%;\\n }\\n .col-lg-2 {\\n width: 16.66666667%;\\n }\\n .col-lg-1 {\\n width: 8.33333333%;\\n }\\n .col-lg-pull-12 {\\n right: 100%;\\n }\\n .col-lg-pull-11 {\\n right: 91.66666667%;\\n }\\n .col-lg-pull-10 {\\n right: 83.33333333%;\\n }\\n .col-lg-pull-9 {\\n right: 75%;\\n }\\n .col-lg-pull-8 {\\n right: 66.66666667%;\\n }\\n .col-lg-pull-7 {\\n right: 58.33333333%;\\n }\\n .col-lg-pull-6 {\\n right: 50%;\\n }\\n .col-lg-pull-5 {\\n right: 41.66666667%;\\n }\\n .col-lg-pull-4 {\\n right: 33.33333333%;\\n }\\n .col-lg-pull-3 {\\n right: 25%;\\n }\\n .col-lg-pull-2 {\\n right: 16.66666667%;\\n }\\n .col-lg-pull-1 {\\n right: 8.33333333%;\\n }\\n .col-lg-pull-0 {\\n right: auto;\\n }\\n .col-lg-push-12 {\\n left: 100%;\\n }\\n .col-lg-push-11 {\\n left: 91.66666667%;\\n }\\n .col-lg-push-10 {\\n left: 83.33333333%;\\n }\\n .col-lg-push-9 {\\n left: 75%;\\n }\\n .col-lg-push-8 {\\n left: 66.66666667%;\\n }\\n .col-lg-push-7 {\\n left: 58.33333333%;\\n }\\n .col-lg-push-6 {\\n left: 50%;\\n }\\n .col-lg-push-5 {\\n left: 41.66666667%;\\n }\\n .col-lg-push-4 {\\n left: 33.33333333%;\\n }\\n .col-lg-push-3 {\\n left: 25%;\\n }\\n .col-lg-push-2 {\\n left: 16.66666667%;\\n }\\n .col-lg-push-1 {\\n left: 8.33333333%;\\n }\\n .col-lg-push-0 {\\n left: auto;\\n }\\n .col-lg-offset-12 {\\n margin-left: 100%;\\n }\\n .col-lg-offset-11 {\\n margin-left: 91.66666667%;\\n }\\n .col-lg-offset-10 {\\n margin-left: 83.33333333%;\\n }\\n .col-lg-offset-9 {\\n margin-left: 75%;\\n }\\n .col-lg-offset-8 {\\n margin-left: 66.66666667%;\\n }\\n .col-lg-offset-7 {\\n margin-left: 58.33333333%;\\n }\\n .col-lg-offset-6 {\\n margin-left: 50%;\\n }\\n .col-lg-offset-5 {\\n margin-left: 41.66666667%;\\n }\\n .col-lg-offset-4 {\\n margin-left: 33.33333333%;\\n }\\n .col-lg-offset-3 {\\n margin-left: 25%;\\n }\\n .col-lg-offset-2 {\\n margin-left: 16.66666667%;\\n }\\n .col-lg-offset-1 {\\n margin-left: 8.33333333%;\\n }\\n .col-lg-offset-0 {\\n margin-left: 0%;\\n }\\n}\\ntable {\\n background-color: transparent;\\n}\\n\\ncaption {\\n padding-top: 8px;\\n padding-bottom: 8px;\\n color: #999999;\\n text-align: left;\\n}\\n\\nth {\\n text-align: left;\\n}\\n\\n.table {\\n width: 100%;\\n max-width: 100%;\\n margin-bottom: 21px;\\n}\\n\\n.table > thead > tr > th,\\n.table > tbody > tr > th,\\n.table > tfoot > tr > th,\\n.table > thead > tr > td,\\n.table > tbody > tr > td,\\n.table > tfoot > tr > td {\\n padding: 8px;\\n line-height: 1.4;\\n vertical-align: top;\\n border-top: 1px solid #dddddd;\\n}\\n\\n.table > thead > tr > th {\\n vertical-align: bottom;\\n border-bottom: 2px solid #dddddd;\\n}\\n\\n.table > caption + thead > tr:first-child > th,\\n.table > colgroup + thead > tr:first-child > th,\\n.table > thead:first-child > tr:first-child > th,\\n.table > caption + thead > tr:first-child > td,\\n.table > colgroup + thead > tr:first-child > td,\\n.table > thead:first-child > tr:first-child > td {\\n border-top: 0;\\n}\\n\\n.table > tbody + tbody {\\n border-top: 2px solid #dddddd;\\n}\\n\\n.table .table {\\n background-color: #ffffff;\\n}\\n\\n.table-condensed > thead > tr > th,\\n.table-condensed > tbody > tr > th,\\n.table-condensed > tfoot > tr > th,\\n.table-condensed > thead > tr > td,\\n.table-condensed > tbody > tr > td,\\n.table-condensed > tfoot > tr > td {\\n padding: 5px;\\n}\\n\\n.table-bordered {\\n border: 1px solid #dddddd;\\n}\\n\\n.table-bordered > thead > tr > th,\\n.table-bordered > tbody > tr > th,\\n.table-bordered > tfoot > tr > th,\\n.table-bordered > thead > tr > td,\\n.table-bordered > tbody > tr > td,\\n.table-bordered > tfoot > tr > td {\\n border: 1px solid #dddddd;\\n}\\n\\n.table-bordered > thead > tr > th,\\n.table-bordered > thead > tr > td {\\n border-bottom-width: 2px;\\n}\\n\\n.table-striped > tbody > tr:nth-of-type(odd) {\\n background-color: #f9f9f9;\\n}\\n\\n.table-hover > tbody > tr:hover {\\n background-color: #f5f5f5;\\n}\\n\\ntable col[class*=col-] {\\n position: static;\\n float: none;\\n display: table-column;\\n}\\n\\ntable td[class*=col-],\\ntable th[class*=col-] {\\n position: static;\\n float: none;\\n display: table-cell;\\n}\\n\\n.table > thead > tr > td.active,\\n.table > tbody > tr > td.active,\\n.table > tfoot > tr > td.active,\\n.table > thead > tr > th.active,\\n.table > tbody > tr > th.active,\\n.table > tfoot > tr > th.active,\\n.table > thead > tr.active > td,\\n.table > tbody > tr.active > td,\\n.table > tfoot > tr.active > td,\\n.table > thead > tr.active > th,\\n.table > tbody > tr.active > th,\\n.table > tfoot > tr.active > th {\\n background-color: #f5f5f5;\\n}\\n\\n.table-hover > tbody > tr > td.active:hover,\\n.table-hover > tbody > tr > th.active:hover,\\n.table-hover > tbody > tr.active:hover > td,\\n.table-hover > tbody > tr:hover > .active,\\n.table-hover > tbody > tr.active:hover > th {\\n background-color: #e8e8e8;\\n}\\n\\n.table > thead > tr > td.success,\\n.table > tbody > tr > td.success,\\n.table > tfoot > tr > td.success,\\n.table > thead > tr > th.success,\\n.table > tbody > tr > th.success,\\n.table > tfoot > tr > th.success,\\n.table > thead > tr.success > td,\\n.table > tbody > tr.success > td,\\n.table > tfoot > tr.success > td,\\n.table > thead > tr.success > th,\\n.table > tbody > tr.success > th,\\n.table > tfoot > tr.success > th {\\n background-color: #dff0d8;\\n}\\n\\n.table-hover > tbody > tr > td.success:hover,\\n.table-hover > tbody > tr > th.success:hover,\\n.table-hover > tbody > tr.success:hover > td,\\n.table-hover > tbody > tr:hover > .success,\\n.table-hover > tbody > tr.success:hover > th {\\n background-color: #d0e9c6;\\n}\\n\\n.table > thead > tr > td.info,\\n.table > tbody > tr > td.info,\\n.table > tfoot > tr > td.info,\\n.table > thead > tr > th.info,\\n.table > tbody > tr > th.info,\\n.table > tfoot > tr > th.info,\\n.table > thead > tr.info > td,\\n.table > tbody > tr.info > td,\\n.table > tfoot > tr.info > td,\\n.table > thead > tr.info > th,\\n.table > tbody > tr.info > th,\\n.table > tfoot > tr.info > th {\\n background-color: #d9edf7;\\n}\\n\\n.table-hover > tbody > tr > td.info:hover,\\n.table-hover > tbody > tr > th.info:hover,\\n.table-hover > tbody > tr.info:hover > td,\\n.table-hover > tbody > tr:hover > .info,\\n.table-hover > tbody > tr.info:hover > th {\\n background-color: #c4e3f3;\\n}\\n\\n.table > thead > tr > td.warning,\\n.table > tbody > tr > td.warning,\\n.table > tfoot > tr > td.warning,\\n.table > thead > tr > th.warning,\\n.table > tbody > tr > th.warning,\\n.table > tfoot > tr > th.warning,\\n.table > thead > tr.warning > td,\\n.table > tbody > tr.warning > td,\\n.table > tfoot > tr.warning > td,\\n.table > thead > tr.warning > th,\\n.table > tbody > tr.warning > th,\\n.table > tfoot > tr.warning > th {\\n background-color: #fcf8e3;\\n}\\n\\n.table-hover > tbody > tr > td.warning:hover,\\n.table-hover > tbody > tr > th.warning:hover,\\n.table-hover > tbody > tr.warning:hover > td,\\n.table-hover > tbody > tr:hover > .warning,\\n.table-hover > tbody > tr.warning:hover > th {\\n background-color: #faf2cc;\\n}\\n\\n.table > thead > tr > td.danger,\\n.table > tbody > tr > td.danger,\\n.table > tfoot > tr > td.danger,\\n.table > thead > tr > th.danger,\\n.table > tbody > tr > th.danger,\\n.table > tfoot > tr > th.danger,\\n.table > thead > tr.danger > td,\\n.table > tbody > tr.danger > td,\\n.table > tfoot > tr.danger > td,\\n.table > thead > tr.danger > th,\\n.table > tbody > tr.danger > th,\\n.table > tfoot > tr.danger > th {\\n background-color: #f2dede;\\n}\\n\\n.table-hover > tbody > tr > td.danger:hover,\\n.table-hover > tbody > tr > th.danger:hover,\\n.table-hover > tbody > tr.danger:hover > td,\\n.table-hover > tbody > tr:hover > .danger,\\n.table-hover > tbody > tr.danger:hover > th {\\n background-color: #ebcccc;\\n}\\n\\n.table-responsive {\\n overflow-x: auto;\\n min-height: 0.01%;\\n}\\n\\n@media screen and (max-width: 767px) {\\n .table-responsive {\\n width: 100%;\\n margin-bottom: 15.75px;\\n overflow-y: hidden;\\n -ms-overflow-style: -ms-autohiding-scrollbar;\\n border: 1px solid #dddddd;\\n }\\n .table-responsive > .table {\\n margin-bottom: 0;\\n }\\n .table-responsive > .table > thead > tr > th,\\n .table-responsive > .table > tbody > tr > th,\\n .table-responsive > .table > tfoot > tr > th,\\n .table-responsive > .table > thead > tr > td,\\n .table-responsive > .table > tbody > tr > td,\\n .table-responsive > .table > tfoot > tr > td {\\n white-space: nowrap;\\n }\\n .table-responsive > .table-bordered {\\n border: 0;\\n }\\n .table-responsive > .table-bordered > thead > tr > th:first-child,\\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\\n .table-responsive > .table-bordered > thead > tr > td:first-child,\\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\\n border-left: 0;\\n }\\n .table-responsive > .table-bordered > thead > tr > th:last-child,\\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\\n .table-responsive > .table-bordered > thead > tr > td:last-child,\\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\\n border-right: 0;\\n }\\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\\n border-bottom: 0;\\n }\\n}\\nfieldset {\\n padding: 0;\\n margin: 0;\\n border: 0;\\n min-width: 0;\\n}\\n\\nlegend {\\n display: block;\\n width: 100%;\\n padding: 0;\\n margin-bottom: 21px;\\n font-size: 22.5px;\\n line-height: inherit;\\n color: #333333;\\n border: 0;\\n border-bottom: 1px solid #e5e5e5;\\n}\\n\\nlabel {\\n display: inline-block;\\n max-width: 100%;\\n margin-bottom: 5px;\\n font-weight: bold;\\n}\\n\\ninput[type=search] {\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n}\\n\\ninput[type=radio],\\ninput[type=checkbox] {\\n margin: 4px 0 0;\\n margin-top: 1px \\\\9 ;\\n line-height: normal;\\n}\\n\\ninput[type=file] {\\n display: block;\\n}\\n\\ninput[type=range] {\\n display: block;\\n width: 100%;\\n}\\n\\nselect[multiple],\\nselect[size] {\\n height: auto;\\n}\\n\\ninput[type=file]:focus,\\ninput[type=radio]:focus,\\ninput[type=checkbox]:focus {\\n outline: 5px auto -webkit-focus-ring-color;\\n outline-offset: -2px;\\n}\\n\\noutput {\\n display: block;\\n padding-top: 9px;\\n font-size: 15px;\\n line-height: 1.4;\\n color: #6f6f6f;\\n}\\n\\n.form-control {\\n display: block;\\n width: 100%;\\n height: 39px;\\n padding: 8px 12px;\\n font-size: 15px;\\n line-height: 1.4;\\n color: #6f6f6f;\\n background-color: #ffffff;\\n background-image: none;\\n border: 1px solid #cccccc;\\n border-radius: 0;\\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;\\n -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\\n}\\n\\n.form-control:focus {\\n border-color: #66afe9;\\n outline: 0;\\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\\n}\\n\\n.form-control::-moz-placeholder {\\n color: #999999;\\n opacity: 1;\\n}\\n\\n.form-control:-ms-input-placeholder {\\n color: #999999;\\n}\\n\\n.form-control::-webkit-input-placeholder {\\n color: #999999;\\n}\\n\\n.form-control::-ms-expand {\\n border: 0;\\n background-color: transparent;\\n}\\n\\n.form-control[disabled],\\n.form-control[readonly],\\nfieldset[disabled] .form-control {\\n background-color: #eeeeee;\\n opacity: 1;\\n}\\n\\n.form-control[disabled],\\nfieldset[disabled] .form-control {\\n cursor: not-allowed;\\n}\\n\\ntextarea.form-control {\\n height: auto;\\n}\\n\\ninput[type=search] {\\n -webkit-appearance: none;\\n}\\n\\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\\n input[type=date].form-control,\\n input[type=time].form-control,\\n input[type=datetime-local].form-control,\\n input[type=month].form-control {\\n line-height: 39px;\\n }\\n input[type=date].input-sm,\\n input[type=time].input-sm,\\n input[type=datetime-local].input-sm,\\n input[type=month].input-sm,\\n .input-group-sm input[type=date],\\n .input-group-sm input[type=time],\\n .input-group-sm input[type=datetime-local],\\n .input-group-sm input[type=month] {\\n line-height: 36px;\\n }\\n input[type=date].input-lg,\\n input[type=time].input-lg,\\n input[type=datetime-local].input-lg,\\n input[type=month].input-lg,\\n .input-group-lg input[type=date],\\n .input-group-lg input[type=time],\\n .input-group-lg input[type=datetime-local],\\n .input-group-lg input[type=month] {\\n line-height: 60px;\\n }\\n}\\n.form-group {\\n margin-bottom: 15px;\\n}\\n\\n.radio,\\n.checkbox {\\n position: relative;\\n display: block;\\n margin-top: 10px;\\n margin-bottom: 10px;\\n}\\n\\n.radio label,\\n.checkbox label {\\n min-height: 21px;\\n padding-left: 20px;\\n margin-bottom: 0;\\n font-weight: normal;\\n cursor: pointer;\\n}\\n\\n.radio input[type=radio],\\n.radio-inline input[type=radio],\\n.checkbox input[type=checkbox],\\n.checkbox-inline input[type=checkbox] {\\n position: absolute;\\n margin-left: -20px;\\n margin-top: 4px \\\\9 ;\\n}\\n\\n.radio + .radio,\\n.checkbox + .checkbox {\\n margin-top: -5px;\\n}\\n\\n.radio-inline,\\n.checkbox-inline {\\n position: relative;\\n display: inline-block;\\n padding-left: 20px;\\n margin-bottom: 0;\\n vertical-align: middle;\\n font-weight: normal;\\n cursor: pointer;\\n}\\n\\n.radio-inline + .radio-inline,\\n.checkbox-inline + .checkbox-inline {\\n margin-top: 0;\\n margin-left: 10px;\\n}\\n\\ninput[type=radio][disabled],\\ninput[type=checkbox][disabled],\\ninput[type=radio].disabled,\\ninput[type=checkbox].disabled,\\nfieldset[disabled] input[type=radio],\\nfieldset[disabled] input[type=checkbox] {\\n cursor: not-allowed;\\n}\\n\\n.radio-inline.disabled,\\n.checkbox-inline.disabled,\\nfieldset[disabled] .radio-inline,\\nfieldset[disabled] .checkbox-inline {\\n cursor: not-allowed;\\n}\\n\\n.radio.disabled label,\\n.checkbox.disabled label,\\nfieldset[disabled] .radio label,\\nfieldset[disabled] .checkbox label {\\n cursor: not-allowed;\\n}\\n\\n.form-control-static {\\n padding-top: 9px;\\n padding-bottom: 9px;\\n margin-bottom: 0;\\n min-height: 36px;\\n}\\n\\n.form-control-static.input-lg,\\n.form-control-static.input-sm {\\n padding-left: 0;\\n padding-right: 0;\\n}\\n\\n.input-sm {\\n height: 36px;\\n padding: 8px 12px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 0;\\n}\\n\\nselect.input-sm {\\n height: 36px;\\n line-height: 36px;\\n}\\n\\ntextarea.input-sm,\\nselect[multiple].input-sm {\\n height: auto;\\n}\\n\\n.form-group-sm .form-control {\\n height: 36px;\\n padding: 8px 12px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 0;\\n}\\n\\n.form-group-sm select.form-control {\\n height: 36px;\\n line-height: 36px;\\n}\\n\\n.form-group-sm textarea.form-control,\\n.form-group-sm select[multiple].form-control {\\n height: auto;\\n}\\n\\n.form-group-sm .form-control-static {\\n height: 36px;\\n min-height: 33px;\\n padding: 9px 12px;\\n font-size: 12px;\\n line-height: 1.5;\\n}\\n\\n.input-lg {\\n height: 60px;\\n padding: 16px 20px;\\n font-size: 19px;\\n line-height: 1.3333333;\\n border-radius: 0;\\n}\\n\\nselect.input-lg {\\n height: 60px;\\n line-height: 60px;\\n}\\n\\ntextarea.input-lg,\\nselect[multiple].input-lg {\\n height: auto;\\n}\\n\\n.form-group-lg .form-control {\\n height: 60px;\\n padding: 16px 20px;\\n font-size: 19px;\\n line-height: 1.3333333;\\n border-radius: 0;\\n}\\n\\n.form-group-lg select.form-control {\\n height: 60px;\\n line-height: 60px;\\n}\\n\\n.form-group-lg textarea.form-control,\\n.form-group-lg select[multiple].form-control {\\n height: auto;\\n}\\n\\n.form-group-lg .form-control-static {\\n height: 60px;\\n min-height: 40px;\\n padding: 17px 20px;\\n font-size: 19px;\\n line-height: 1.3333333;\\n}\\n\\n.has-feedback {\\n position: relative;\\n}\\n\\n.has-feedback .form-control {\\n padding-right: 48.75px;\\n}\\n\\n.form-control-feedback {\\n position: absolute;\\n top: 0;\\n right: 0;\\n z-index: 2;\\n display: block;\\n width: 39px;\\n height: 39px;\\n line-height: 39px;\\n text-align: center;\\n pointer-events: none;\\n}\\n\\n.input-lg + .form-control-feedback,\\n.input-group-lg + .form-control-feedback,\\n.form-group-lg .form-control + .form-control-feedback {\\n width: 60px;\\n height: 60px;\\n line-height: 60px;\\n}\\n\\n.input-sm + .form-control-feedback,\\n.input-group-sm + .form-control-feedback,\\n.form-group-sm .form-control + .form-control-feedback {\\n width: 36px;\\n height: 36px;\\n line-height: 36px;\\n}\\n\\n.has-success .help-block,\\n.has-success .control-label,\\n.has-success .radio,\\n.has-success .checkbox,\\n.has-success .radio-inline,\\n.has-success .checkbox-inline,\\n.has-success.radio label,\\n.has-success.checkbox label,\\n.has-success.radio-inline label,\\n.has-success.checkbox-inline label {\\n color: #43ac6a;\\n}\\n\\n.has-success .form-control {\\n border-color: #43ac6a;\\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n}\\n\\n.has-success .form-control:focus {\\n border-color: #358753;\\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #85d0a1;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #85d0a1;\\n}\\n\\n.has-success .input-group-addon {\\n color: #43ac6a;\\n border-color: #43ac6a;\\n background-color: #dff0d8;\\n}\\n\\n.has-success .form-control-feedback {\\n color: #43ac6a;\\n}\\n\\n.has-warning .help-block,\\n.has-warning .control-label,\\n.has-warning .radio,\\n.has-warning .checkbox,\\n.has-warning .radio-inline,\\n.has-warning .checkbox-inline,\\n.has-warning.radio label,\\n.has-warning.checkbox label,\\n.has-warning.radio-inline label,\\n.has-warning.checkbox-inline label {\\n color: #e99002;\\n}\\n\\n.has-warning .form-control {\\n border-color: #e99002;\\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n}\\n\\n.has-warning .form-control:focus {\\n border-color: #b67102;\\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #febc53;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #febc53;\\n}\\n\\n.has-warning .input-group-addon {\\n color: #e99002;\\n border-color: #e99002;\\n background-color: #fcf8e3;\\n}\\n\\n.has-warning .form-control-feedback {\\n color: #e99002;\\n}\\n\\n.has-error .help-block,\\n.has-error .control-label,\\n.has-error .radio,\\n.has-error .checkbox,\\n.has-error .radio-inline,\\n.has-error .checkbox-inline,\\n.has-error.radio label,\\n.has-error.checkbox label,\\n.has-error.radio-inline label,\\n.has-error.checkbox-inline label {\\n color: #f04124;\\n}\\n\\n.has-error .form-control {\\n border-color: #f04124;\\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n}\\n\\n.has-error .form-control:focus {\\n border-color: #d32a0e;\\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f79483;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f79483;\\n}\\n\\n.has-error .input-group-addon {\\n color: #f04124;\\n border-color: #f04124;\\n background-color: #f2dede;\\n}\\n\\n.has-error .form-control-feedback {\\n color: #f04124;\\n}\\n\\n.has-feedback label ~ .form-control-feedback {\\n top: 26px;\\n}\\n\\n.has-feedback label.sr-only ~ .form-control-feedback {\\n top: 0;\\n}\\n\\n.help-block {\\n display: block;\\n margin-top: 5px;\\n margin-bottom: 10px;\\n color: #626262;\\n}\\n\\n@media (min-width: 768px) {\\n .form-inline .form-group {\\n display: inline-block;\\n margin-bottom: 0;\\n vertical-align: middle;\\n }\\n .form-inline .form-control {\\n display: inline-block;\\n width: auto;\\n vertical-align: middle;\\n }\\n .form-inline .form-control-static {\\n display: inline-block;\\n }\\n .form-inline .input-group {\\n display: inline-table;\\n vertical-align: middle;\\n }\\n .form-inline .input-group .input-group-addon,\\n .form-inline .input-group .input-group-btn,\\n .form-inline .input-group .form-control {\\n width: auto;\\n }\\n .form-inline .input-group > .form-control {\\n width: 100%;\\n }\\n .form-inline .control-label {\\n margin-bottom: 0;\\n vertical-align: middle;\\n }\\n .form-inline .radio,\\n .form-inline .checkbox {\\n display: inline-block;\\n margin-top: 0;\\n margin-bottom: 0;\\n vertical-align: middle;\\n }\\n .form-inline .radio label,\\n .form-inline .checkbox label {\\n padding-left: 0;\\n }\\n .form-inline .radio input[type=radio],\\n .form-inline .checkbox input[type=checkbox] {\\n position: relative;\\n margin-left: 0;\\n }\\n .form-inline .has-feedback .form-control-feedback {\\n top: 0;\\n }\\n}\\n.form-horizontal .radio,\\n.form-horizontal .checkbox,\\n.form-horizontal .radio-inline,\\n.form-horizontal .checkbox-inline {\\n margin-top: 0;\\n margin-bottom: 0;\\n padding-top: 9px;\\n}\\n\\n.form-horizontal .radio,\\n.form-horizontal .checkbox {\\n min-height: 30px;\\n}\\n\\n.form-horizontal .form-group {\\n margin-left: -15px;\\n margin-right: -15px;\\n}\\n\\n@media (min-width: 768px) {\\n .form-horizontal .control-label {\\n text-align: right;\\n margin-bottom: 0;\\n padding-top: 9px;\\n }\\n}\\n.form-horizontal .has-feedback .form-control-feedback {\\n right: 15px;\\n}\\n\\n@media (min-width: 768px) {\\n .form-horizontal .form-group-lg .control-label {\\n padding-top: 17px;\\n font-size: 19px;\\n }\\n}\\n@media (min-width: 768px) {\\n .form-horizontal .form-group-sm .control-label {\\n padding-top: 9px;\\n font-size: 12px;\\n }\\n}\\n.btn {\\n display: inline-block;\\n margin-bottom: 0;\\n font-weight: normal;\\n text-align: center;\\n vertical-align: middle;\\n -ms-touch-action: manipulation;\\n touch-action: manipulation;\\n cursor: pointer;\\n background-image: none;\\n border: 1px solid transparent;\\n white-space: nowrap;\\n padding: 8px 12px;\\n font-size: 15px;\\n line-height: 1.4;\\n border-radius: 0;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\\n.btn:focus,\\n.btn:active:focus,\\n.btn.active:focus,\\n.btn.focus,\\n.btn:active.focus,\\n.btn.active.focus {\\n outline: 5px auto -webkit-focus-ring-color;\\n outline-offset: -2px;\\n}\\n\\n.btn:hover,\\n.btn:focus,\\n.btn.focus {\\n color: #333333;\\n text-decoration: none;\\n}\\n\\n.btn:active,\\n.btn.active {\\n outline: 0;\\n background-image: none;\\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n}\\n\\n.btn.disabled,\\n.btn[disabled],\\nfieldset[disabled] .btn {\\n cursor: not-allowed;\\n opacity: 0.65;\\n filter: alpha(opacity=65);\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n}\\n\\na.btn.disabled,\\nfieldset[disabled] a.btn {\\n pointer-events: none;\\n}\\n\\n.btn-default {\\n color: #333333;\\n background-color: #e7e7e7;\\n border-color: #cccccc;\\n}\\n\\n.btn-default:focus,\\n.btn-default.focus {\\n color: #333333;\\n background-color: #cecece;\\n border-color: #8c8c8c;\\n}\\n\\n.btn-default:hover {\\n color: #333333;\\n background-color: #cecece;\\n border-color: #adadad;\\n}\\n\\n.btn-default:active,\\n.btn-default.active,\\n.open > .dropdown-toggle.btn-default {\\n color: #333333;\\n background-color: #cecece;\\n border-color: #adadad;\\n}\\n\\n.btn-default:active:hover,\\n.btn-default.active:hover,\\n.open > .dropdown-toggle.btn-default:hover,\\n.btn-default:active:focus,\\n.btn-default.active:focus,\\n.open > .dropdown-toggle.btn-default:focus,\\n.btn-default:active.focus,\\n.btn-default.active.focus,\\n.open > .dropdown-toggle.btn-default.focus {\\n color: #333333;\\n background-color: #bcbcbc;\\n border-color: #8c8c8c;\\n}\\n\\n.btn-default:active,\\n.btn-default.active,\\n.open > .dropdown-toggle.btn-default {\\n background-image: none;\\n}\\n\\n.btn-default.disabled:hover,\\n.btn-default[disabled]:hover,\\nfieldset[disabled] .btn-default:hover,\\n.btn-default.disabled:focus,\\n.btn-default[disabled]:focus,\\nfieldset[disabled] .btn-default:focus,\\n.btn-default.disabled.focus,\\n.btn-default[disabled].focus,\\nfieldset[disabled] .btn-default.focus {\\n background-color: #e7e7e7;\\n border-color: #cccccc;\\n}\\n\\n.btn-default .badge {\\n color: #e7e7e7;\\n background-color: #333333;\\n}\\n\\n.btn-primary {\\n color: #ffffff;\\n background-color: #008cba;\\n border-color: #0079a1;\\n}\\n\\n.btn-primary:focus,\\n.btn-primary.focus {\\n color: #ffffff;\\n background-color: #006687;\\n border-color: #001921;\\n}\\n\\n.btn-primary:hover {\\n color: #ffffff;\\n background-color: #006687;\\n border-color: #004b63;\\n}\\n\\n.btn-primary:active,\\n.btn-primary.active,\\n.open > .dropdown-toggle.btn-primary {\\n color: #ffffff;\\n background-color: #006687;\\n border-color: #004b63;\\n}\\n\\n.btn-primary:active:hover,\\n.btn-primary.active:hover,\\n.open > .dropdown-toggle.btn-primary:hover,\\n.btn-primary:active:focus,\\n.btn-primary.active:focus,\\n.open > .dropdown-toggle.btn-primary:focus,\\n.btn-primary:active.focus,\\n.btn-primary.active.focus,\\n.open > .dropdown-toggle.btn-primary.focus {\\n color: #ffffff;\\n background-color: #004b63;\\n border-color: #001921;\\n}\\n\\n.btn-primary:active,\\n.btn-primary.active,\\n.open > .dropdown-toggle.btn-primary {\\n background-image: none;\\n}\\n\\n.btn-primary.disabled:hover,\\n.btn-primary[disabled]:hover,\\nfieldset[disabled] .btn-primary:hover,\\n.btn-primary.disabled:focus,\\n.btn-primary[disabled]:focus,\\nfieldset[disabled] .btn-primary:focus,\\n.btn-primary.disabled.focus,\\n.btn-primary[disabled].focus,\\nfieldset[disabled] .btn-primary.focus {\\n background-color: #008cba;\\n border-color: #0079a1;\\n}\\n\\n.btn-primary .badge {\\n color: #008cba;\\n background-color: #ffffff;\\n}\\n\\n.btn-success {\\n color: #ffffff;\\n background-color: #43ac6a;\\n border-color: #3c9a5f;\\n}\\n\\n.btn-success:focus,\\n.btn-success.focus {\\n color: #ffffff;\\n background-color: #358753;\\n border-color: #183e26;\\n}\\n\\n.btn-success:hover {\\n color: #ffffff;\\n background-color: #358753;\\n border-color: #2b6e44;\\n}\\n\\n.btn-success:active,\\n.btn-success.active,\\n.open > .dropdown-toggle.btn-success {\\n color: #ffffff;\\n background-color: #358753;\\n border-color: #2b6e44;\\n}\\n\\n.btn-success:active:hover,\\n.btn-success.active:hover,\\n.open > .dropdown-toggle.btn-success:hover,\\n.btn-success:active:focus,\\n.btn-success.active:focus,\\n.open > .dropdown-toggle.btn-success:focus,\\n.btn-success:active.focus,\\n.btn-success.active.focus,\\n.open > .dropdown-toggle.btn-success.focus {\\n color: #ffffff;\\n background-color: #2b6e44;\\n border-color: #183e26;\\n}\\n\\n.btn-success:active,\\n.btn-success.active,\\n.open > .dropdown-toggle.btn-success {\\n background-image: none;\\n}\\n\\n.btn-success.disabled:hover,\\n.btn-success[disabled]:hover,\\nfieldset[disabled] .btn-success:hover,\\n.btn-success.disabled:focus,\\n.btn-success[disabled]:focus,\\nfieldset[disabled] .btn-success:focus,\\n.btn-success.disabled.focus,\\n.btn-success[disabled].focus,\\nfieldset[disabled] .btn-success.focus {\\n background-color: #43ac6a;\\n border-color: #3c9a5f;\\n}\\n\\n.btn-success .badge {\\n color: #43ac6a;\\n background-color: #ffffff;\\n}\\n\\n.btn-info {\\n color: #ffffff;\\n background-color: #5bc0de;\\n border-color: #46b8da;\\n}\\n\\n.btn-info:focus,\\n.btn-info.focus {\\n color: #ffffff;\\n background-color: #31b0d5;\\n border-color: #1b6d85;\\n}\\n\\n.btn-info:hover {\\n color: #ffffff;\\n background-color: #31b0d5;\\n border-color: #269abc;\\n}\\n\\n.btn-info:active,\\n.btn-info.active,\\n.open > .dropdown-toggle.btn-info {\\n color: #ffffff;\\n background-color: #31b0d5;\\n border-color: #269abc;\\n}\\n\\n.btn-info:active:hover,\\n.btn-info.active:hover,\\n.open > .dropdown-toggle.btn-info:hover,\\n.btn-info:active:focus,\\n.btn-info.active:focus,\\n.open > .dropdown-toggle.btn-info:focus,\\n.btn-info:active.focus,\\n.btn-info.active.focus,\\n.open > .dropdown-toggle.btn-info.focus {\\n color: #ffffff;\\n background-color: #269abc;\\n border-color: #1b6d85;\\n}\\n\\n.btn-info:active,\\n.btn-info.active,\\n.open > .dropdown-toggle.btn-info {\\n background-image: none;\\n}\\n\\n.btn-info.disabled:hover,\\n.btn-info[disabled]:hover,\\nfieldset[disabled] .btn-info:hover,\\n.btn-info.disabled:focus,\\n.btn-info[disabled]:focus,\\nfieldset[disabled] .btn-info:focus,\\n.btn-info.disabled.focus,\\n.btn-info[disabled].focus,\\nfieldset[disabled] .btn-info.focus {\\n background-color: #5bc0de;\\n border-color: #46b8da;\\n}\\n\\n.btn-info .badge {\\n color: #5bc0de;\\n background-color: #ffffff;\\n}\\n\\n.btn-warning {\\n color: #ffffff;\\n background-color: #e99002;\\n border-color: #d08002;\\n}\\n\\n.btn-warning:focus,\\n.btn-warning.focus {\\n color: #ffffff;\\n background-color: #b67102;\\n border-color: #513201;\\n}\\n\\n.btn-warning:hover {\\n color: #ffffff;\\n background-color: #b67102;\\n border-color: #935b01;\\n}\\n\\n.btn-warning:active,\\n.btn-warning.active,\\n.open > .dropdown-toggle.btn-warning {\\n color: #ffffff;\\n background-color: #b67102;\\n border-color: #935b01;\\n}\\n\\n.btn-warning:active:hover,\\n.btn-warning.active:hover,\\n.open > .dropdown-toggle.btn-warning:hover,\\n.btn-warning:active:focus,\\n.btn-warning.active:focus,\\n.open > .dropdown-toggle.btn-warning:focus,\\n.btn-warning:active.focus,\\n.btn-warning.active.focus,\\n.open > .dropdown-toggle.btn-warning.focus {\\n color: #ffffff;\\n background-color: #935b01;\\n border-color: #513201;\\n}\\n\\n.btn-warning:active,\\n.btn-warning.active,\\n.open > .dropdown-toggle.btn-warning {\\n background-image: none;\\n}\\n\\n.btn-warning.disabled:hover,\\n.btn-warning[disabled]:hover,\\nfieldset[disabled] .btn-warning:hover,\\n.btn-warning.disabled:focus,\\n.btn-warning[disabled]:focus,\\nfieldset[disabled] .btn-warning:focus,\\n.btn-warning.disabled.focus,\\n.btn-warning[disabled].focus,\\nfieldset[disabled] .btn-warning.focus {\\n background-color: #e99002;\\n border-color: #d08002;\\n}\\n\\n.btn-warning .badge {\\n color: #e99002;\\n background-color: #ffffff;\\n}\\n\\n.btn-danger {\\n color: #ffffff;\\n background-color: #f04124;\\n border-color: #ea2f10;\\n}\\n\\n.btn-danger:focus,\\n.btn-danger.focus {\\n color: #ffffff;\\n background-color: #d32a0e;\\n border-color: #731708;\\n}\\n\\n.btn-danger:hover {\\n color: #ffffff;\\n background-color: #d32a0e;\\n border-color: #b1240c;\\n}\\n\\n.btn-danger:active,\\n.btn-danger.active,\\n.open > .dropdown-toggle.btn-danger {\\n color: #ffffff;\\n background-color: #d32a0e;\\n border-color: #b1240c;\\n}\\n\\n.btn-danger:active:hover,\\n.btn-danger.active:hover,\\n.open > .dropdown-toggle.btn-danger:hover,\\n.btn-danger:active:focus,\\n.btn-danger.active:focus,\\n.open > .dropdown-toggle.btn-danger:focus,\\n.btn-danger:active.focus,\\n.btn-danger.active.focus,\\n.open > .dropdown-toggle.btn-danger.focus {\\n color: #ffffff;\\n background-color: #b1240c;\\n border-color: #731708;\\n}\\n\\n.btn-danger:active,\\n.btn-danger.active,\\n.open > .dropdown-toggle.btn-danger {\\n background-image: none;\\n}\\n\\n.btn-danger.disabled:hover,\\n.btn-danger[disabled]:hover,\\nfieldset[disabled] .btn-danger:hover,\\n.btn-danger.disabled:focus,\\n.btn-danger[disabled]:focus,\\nfieldset[disabled] .btn-danger:focus,\\n.btn-danger.disabled.focus,\\n.btn-danger[disabled].focus,\\nfieldset[disabled] .btn-danger.focus {\\n background-color: #f04124;\\n border-color: #ea2f10;\\n}\\n\\n.btn-danger .badge {\\n color: #f04124;\\n background-color: #ffffff;\\n}\\n\\n.btn-link {\\n color: #008cba;\\n font-weight: normal;\\n border-radius: 0;\\n}\\n\\n.btn-link,\\n.btn-link:active,\\n.btn-link.active,\\n.btn-link[disabled],\\nfieldset[disabled] .btn-link {\\n background-color: transparent;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n}\\n\\n.btn-link,\\n.btn-link:hover,\\n.btn-link:focus,\\n.btn-link:active {\\n border-color: transparent;\\n}\\n\\n.btn-link:hover,\\n.btn-link:focus {\\n color: #008cba;\\n text-decoration: underline;\\n background-color: transparent;\\n}\\n\\n.btn-link[disabled]:hover,\\nfieldset[disabled] .btn-link:hover,\\n.btn-link[disabled]:focus,\\nfieldset[disabled] .btn-link:focus {\\n color: #999999;\\n text-decoration: none;\\n}\\n\\n.btn-lg,\\n.btn-group-lg > .btn {\\n padding: 16px 20px;\\n font-size: 19px;\\n line-height: 1.3333333;\\n border-radius: 0;\\n}\\n\\n.btn-sm,\\n.btn-group-sm > .btn {\\n padding: 8px 12px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 0;\\n}\\n\\n.btn-xs,\\n.btn-group-xs > .btn {\\n padding: 4px 6px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 0;\\n}\\n\\n.btn-block {\\n display: block;\\n width: 100%;\\n}\\n\\n.btn-block + .btn-block {\\n margin-top: 5px;\\n}\\n\\ninput[type=submit].btn-block,\\ninput[type=reset].btn-block,\\ninput[type=button].btn-block {\\n width: 100%;\\n}\\n\\n.fade {\\n opacity: 0;\\n -webkit-transition: opacity 0.15s linear;\\n -o-transition: opacity 0.15s linear;\\n transition: opacity 0.15s linear;\\n}\\n\\n.fade.in {\\n opacity: 1;\\n}\\n\\n.collapse {\\n display: none;\\n}\\n\\n.collapse.in {\\n display: block;\\n}\\n\\ntr.collapse.in {\\n display: table-row;\\n}\\n\\ntbody.collapse.in {\\n display: table-row-group;\\n}\\n\\n.collapsing {\\n position: relative;\\n height: 0;\\n overflow: hidden;\\n -webkit-transition-property: height, visibility;\\n -o-transition-property: height, visibility;\\n transition-property: height, visibility;\\n -webkit-transition-duration: 0.35s;\\n -o-transition-duration: 0.35s;\\n transition-duration: 0.35s;\\n -webkit-transition-timing-function: ease;\\n -o-transition-timing-function: ease;\\n transition-timing-function: ease;\\n}\\n\\n.caret {\\n display: inline-block;\\n width: 0;\\n height: 0;\\n margin-left: 2px;\\n vertical-align: middle;\\n border-top: 4px dashed;\\n border-top: 4px solid \\\\9 ;\\n border-right: 4px solid transparent;\\n border-left: 4px solid transparent;\\n}\\n\\n.dropup,\\n.dropdown {\\n position: relative;\\n}\\n\\n.dropdown-toggle:focus {\\n outline: 0;\\n}\\n\\n.dropdown-menu {\\n position: absolute;\\n top: 100%;\\n left: 0;\\n z-index: 1000;\\n display: none;\\n float: left;\\n min-width: 160px;\\n padding: 5px 0;\\n margin: 2px 0 0;\\n list-style: none;\\n font-size: 15px;\\n text-align: left;\\n background-color: #ffffff;\\n border: 1px solid #cccccc;\\n border: 1px solid rgba(0, 0, 0, 0.15);\\n border-radius: 0;\\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n -webkit-background-clip: padding-box;\\n background-clip: padding-box;\\n}\\n\\n.dropdown-menu.pull-right {\\n right: 0;\\n left: auto;\\n}\\n\\n.dropdown-menu .divider {\\n height: 1px;\\n margin: 9.5px 0;\\n overflow: hidden;\\n background-color: rgba(0, 0, 0, 0.2);\\n}\\n\\n.dropdown-menu > li > a {\\n display: block;\\n padding: 3px 20px;\\n clear: both;\\n font-weight: normal;\\n line-height: 1.4;\\n color: #555555;\\n white-space: nowrap;\\n}\\n\\n.dropdown-menu > li > a:hover,\\n.dropdown-menu > li > a:focus {\\n text-decoration: none;\\n color: #262626;\\n background-color: #eeeeee;\\n}\\n\\n.dropdown-menu > .active > a,\\n.dropdown-menu > .active > a:hover,\\n.dropdown-menu > .active > a:focus {\\n color: #ffffff;\\n text-decoration: none;\\n outline: 0;\\n background-color: #008cba;\\n}\\n\\n.dropdown-menu > .disabled > a,\\n.dropdown-menu > .disabled > a:hover,\\n.dropdown-menu > .disabled > a:focus {\\n color: #999999;\\n}\\n\\n.dropdown-menu > .disabled > a:hover,\\n.dropdown-menu > .disabled > a:focus {\\n text-decoration: none;\\n background-color: transparent;\\n background-image: none;\\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\\n cursor: not-allowed;\\n}\\n\\n.open > .dropdown-menu {\\n display: block;\\n}\\n\\n.open > a {\\n outline: 0;\\n}\\n\\n.dropdown-menu-right {\\n left: auto;\\n right: 0;\\n}\\n\\n.dropdown-menu-left {\\n left: 0;\\n right: auto;\\n}\\n\\n.dropdown-header {\\n display: block;\\n padding: 3px 20px;\\n font-size: 12px;\\n line-height: 1.4;\\n color: #999999;\\n white-space: nowrap;\\n}\\n\\n.dropdown-backdrop {\\n position: fixed;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n top: 0;\\n z-index: 990;\\n}\\n\\n.pull-right > .dropdown-menu {\\n right: 0;\\n left: auto;\\n}\\n\\n.dropup .caret,\\n.navbar-fixed-bottom .dropdown .caret {\\n border-top: 0;\\n border-bottom: 4px dashed;\\n border-bottom: 4px solid \\\\9 ;\\n content: \\\"\\\";\\n}\\n\\n.dropup .dropdown-menu,\\n.navbar-fixed-bottom .dropdown .dropdown-menu {\\n top: auto;\\n bottom: 100%;\\n margin-bottom: 2px;\\n}\\n\\n@media (min-width: 768px) {\\n .navbar-right .dropdown-menu {\\n left: auto;\\n right: 0;\\n }\\n .navbar-right .dropdown-menu-left {\\n left: 0;\\n right: auto;\\n }\\n}\\n.btn-group,\\n.btn-group-vertical {\\n position: relative;\\n display: inline-block;\\n vertical-align: middle;\\n}\\n\\n.btn-group > .btn,\\n.btn-group-vertical > .btn {\\n position: relative;\\n float: left;\\n}\\n\\n.btn-group > .btn:hover,\\n.btn-group-vertical > .btn:hover,\\n.btn-group > .btn:focus,\\n.btn-group-vertical > .btn:focus,\\n.btn-group > .btn:active,\\n.btn-group-vertical > .btn:active,\\n.btn-group > .btn.active,\\n.btn-group-vertical > .btn.active {\\n z-index: 2;\\n}\\n\\n.btn-group .btn + .btn,\\n.btn-group .btn + .btn-group,\\n.btn-group .btn-group + .btn,\\n.btn-group .btn-group + .btn-group {\\n margin-left: -1px;\\n}\\n\\n.btn-toolbar {\\n margin-left: -5px;\\n}\\n\\n.btn-toolbar .btn,\\n.btn-toolbar .btn-group,\\n.btn-toolbar .input-group {\\n float: left;\\n}\\n\\n.btn-toolbar > .btn,\\n.btn-toolbar > .btn-group,\\n.btn-toolbar > .input-group {\\n margin-left: 5px;\\n}\\n\\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\\n border-radius: 0;\\n}\\n\\n.btn-group > .btn:first-child {\\n margin-left: 0;\\n}\\n\\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.btn-group > .btn:last-child:not(:first-child),\\n.btn-group > .dropdown-toggle:not(:first-child) {\\n border-bottom-left-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.btn-group > .btn-group {\\n float: left;\\n}\\n\\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\\n border-radius: 0;\\n}\\n\\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\\n border-bottom-left-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.btn-group .dropdown-toggle:active,\\n.btn-group.open .dropdown-toggle {\\n outline: 0;\\n}\\n\\n.btn-group > .btn + .dropdown-toggle {\\n padding-left: 8px;\\n padding-right: 8px;\\n}\\n\\n.btn-group > .btn-lg + .dropdown-toggle {\\n padding-left: 12px;\\n padding-right: 12px;\\n}\\n\\n.btn-group.open .dropdown-toggle {\\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\\n}\\n\\n.btn-group.open .dropdown-toggle.btn-link {\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n}\\n\\n.btn .caret {\\n margin-left: 0;\\n}\\n\\n.btn-lg .caret {\\n border-width: 5px 5px 0;\\n border-bottom-width: 0;\\n}\\n\\n.dropup .btn-lg .caret {\\n border-width: 0 5px 5px;\\n}\\n\\n.btn-group-vertical > .btn,\\n.btn-group-vertical > .btn-group,\\n.btn-group-vertical > .btn-group > .btn {\\n display: block;\\n float: none;\\n width: 100%;\\n max-width: 100%;\\n}\\n\\n.btn-group-vertical > .btn-group > .btn {\\n float: none;\\n}\\n\\n.btn-group-vertical > .btn + .btn,\\n.btn-group-vertical > .btn + .btn-group,\\n.btn-group-vertical > .btn-group + .btn,\\n.btn-group-vertical > .btn-group + .btn-group {\\n margin-top: -1px;\\n margin-left: 0;\\n}\\n\\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\\n border-radius: 0;\\n}\\n\\n.btn-group-vertical > .btn:first-child:not(:last-child) {\\n border-top-right-radius: 0;\\n border-top-left-radius: 0;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.btn-group-vertical > .btn:last-child:not(:first-child) {\\n border-top-right-radius: 0;\\n border-top-left-radius: 0;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\\n border-radius: 0;\\n}\\n\\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\\n border-top-right-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.btn-group-justified {\\n display: table;\\n width: 100%;\\n table-layout: fixed;\\n border-collapse: separate;\\n}\\n\\n.btn-group-justified > .btn,\\n.btn-group-justified > .btn-group {\\n float: none;\\n display: table-cell;\\n width: 1%;\\n}\\n\\n.btn-group-justified > .btn-group .btn {\\n width: 100%;\\n}\\n\\n.btn-group-justified > .btn-group .dropdown-menu {\\n left: auto;\\n}\\n\\n[data-toggle=buttons] > .btn input[type=radio],\\n[data-toggle=buttons] > .btn-group > .btn input[type=radio],\\n[data-toggle=buttons] > .btn input[type=checkbox],\\n[data-toggle=buttons] > .btn-group > .btn input[type=checkbox] {\\n position: absolute;\\n clip: rect(0, 0, 0, 0);\\n pointer-events: none;\\n}\\n\\n.input-group {\\n position: relative;\\n display: table;\\n border-collapse: separate;\\n}\\n\\n.input-group[class*=col-] {\\n float: none;\\n padding-left: 0;\\n padding-right: 0;\\n}\\n\\n.input-group .form-control {\\n position: relative;\\n z-index: 2;\\n float: left;\\n width: 100%;\\n margin-bottom: 0;\\n}\\n\\n.input-group .form-control:focus {\\n z-index: 3;\\n}\\n\\n.input-group-lg > .form-control,\\n.input-group-lg > .input-group-addon,\\n.input-group-lg > .input-group-btn > .btn {\\n height: 60px;\\n padding: 16px 20px;\\n font-size: 19px;\\n line-height: 1.3333333;\\n border-radius: 0;\\n}\\n\\nselect.input-group-lg > .form-control,\\nselect.input-group-lg > .input-group-addon,\\nselect.input-group-lg > .input-group-btn > .btn {\\n height: 60px;\\n line-height: 60px;\\n}\\n\\ntextarea.input-group-lg > .form-control,\\ntextarea.input-group-lg > .input-group-addon,\\ntextarea.input-group-lg > .input-group-btn > .btn,\\nselect[multiple].input-group-lg > .form-control,\\nselect[multiple].input-group-lg > .input-group-addon,\\nselect[multiple].input-group-lg > .input-group-btn > .btn {\\n height: auto;\\n}\\n\\n.input-group-sm > .form-control,\\n.input-group-sm > .input-group-addon,\\n.input-group-sm > .input-group-btn > .btn {\\n height: 36px;\\n padding: 8px 12px;\\n font-size: 12px;\\n line-height: 1.5;\\n border-radius: 0;\\n}\\n\\nselect.input-group-sm > .form-control,\\nselect.input-group-sm > .input-group-addon,\\nselect.input-group-sm > .input-group-btn > .btn {\\n height: 36px;\\n line-height: 36px;\\n}\\n\\ntextarea.input-group-sm > .form-control,\\ntextarea.input-group-sm > .input-group-addon,\\ntextarea.input-group-sm > .input-group-btn > .btn,\\nselect[multiple].input-group-sm > .form-control,\\nselect[multiple].input-group-sm > .input-group-addon,\\nselect[multiple].input-group-sm > .input-group-btn > .btn {\\n height: auto;\\n}\\n\\n.input-group-addon,\\n.input-group-btn,\\n.input-group .form-control {\\n display: table-cell;\\n}\\n\\n.input-group-addon:not(:first-child):not(:last-child),\\n.input-group-btn:not(:first-child):not(:last-child),\\n.input-group .form-control:not(:first-child):not(:last-child) {\\n border-radius: 0;\\n}\\n\\n.input-group-addon,\\n.input-group-btn {\\n width: 1%;\\n white-space: nowrap;\\n vertical-align: middle;\\n}\\n\\n.input-group-addon {\\n padding: 8px 12px;\\n font-size: 15px;\\n font-weight: normal;\\n line-height: 1;\\n color: #6f6f6f;\\n text-align: center;\\n background-color: #eeeeee;\\n border: 1px solid #cccccc;\\n border-radius: 0;\\n}\\n\\n.input-group-addon.input-sm {\\n padding: 8px 12px;\\n font-size: 12px;\\n border-radius: 0;\\n}\\n\\n.input-group-addon.input-lg {\\n padding: 16px 20px;\\n font-size: 19px;\\n border-radius: 0;\\n}\\n\\n.input-group-addon input[type=radio],\\n.input-group-addon input[type=checkbox] {\\n margin-top: 0;\\n}\\n\\n.input-group .form-control:first-child,\\n.input-group-addon:first-child,\\n.input-group-btn:first-child > .btn,\\n.input-group-btn:first-child > .btn-group > .btn,\\n.input-group-btn:first-child > .dropdown-toggle,\\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.input-group-addon:first-child {\\n border-right: 0;\\n}\\n\\n.input-group .form-control:last-child,\\n.input-group-addon:last-child,\\n.input-group-btn:last-child > .btn,\\n.input-group-btn:last-child > .btn-group > .btn,\\n.input-group-btn:last-child > .dropdown-toggle,\\n.input-group-btn:first-child > .btn:not(:first-child),\\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\\n border-bottom-left-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.input-group-addon:last-child {\\n border-left: 0;\\n}\\n\\n.input-group-btn {\\n position: relative;\\n font-size: 0;\\n white-space: nowrap;\\n}\\n\\n.input-group-btn > .btn {\\n position: relative;\\n}\\n\\n.input-group-btn > .btn + .btn {\\n margin-left: -1px;\\n}\\n\\n.input-group-btn > .btn:hover,\\n.input-group-btn > .btn:focus,\\n.input-group-btn > .btn:active {\\n z-index: 2;\\n}\\n\\n.input-group-btn:first-child > .btn,\\n.input-group-btn:first-child > .btn-group {\\n margin-right: -1px;\\n}\\n\\n.input-group-btn:last-child > .btn,\\n.input-group-btn:last-child > .btn-group {\\n z-index: 2;\\n margin-left: -1px;\\n}\\n\\n.nav {\\n margin-bottom: 0;\\n padding-left: 0;\\n list-style: none;\\n}\\n\\n.nav > li {\\n position: relative;\\n display: block;\\n}\\n\\n.nav > li > a {\\n position: relative;\\n display: block;\\n padding: 10px 15px;\\n}\\n\\n.nav > li > a:hover,\\n.nav > li > a:focus {\\n text-decoration: none;\\n background-color: #eeeeee;\\n}\\n\\n.nav > li.disabled > a {\\n color: #999999;\\n}\\n\\n.nav > li.disabled > a:hover,\\n.nav > li.disabled > a:focus {\\n color: #999999;\\n text-decoration: none;\\n background-color: transparent;\\n cursor: not-allowed;\\n}\\n\\n.nav .open > a,\\n.nav .open > a:hover,\\n.nav .open > a:focus {\\n background-color: #eeeeee;\\n border-color: #008cba;\\n}\\n\\n.nav .nav-divider {\\n height: 1px;\\n margin: 9.5px 0;\\n overflow: hidden;\\n background-color: #e5e5e5;\\n}\\n\\n.nav > li > a > img {\\n max-width: none;\\n}\\n\\n.nav-tabs {\\n border-bottom: 1px solid #dddddd;\\n}\\n\\n.nav-tabs > li {\\n float: left;\\n margin-bottom: -1px;\\n}\\n\\n.nav-tabs > li > a {\\n margin-right: 2px;\\n line-height: 1.4;\\n border: 1px solid transparent;\\n border-radius: 0 0 0 0;\\n}\\n\\n.nav-tabs > li > a:hover {\\n border-color: #eeeeee #eeeeee #dddddd;\\n}\\n\\n.nav-tabs > li.active > a,\\n.nav-tabs > li.active > a:hover,\\n.nav-tabs > li.active > a:focus {\\n color: #6f6f6f;\\n background-color: #ffffff;\\n border: 1px solid #dddddd;\\n border-bottom-color: transparent;\\n cursor: default;\\n}\\n\\n.nav-tabs.nav-justified {\\n width: 100%;\\n border-bottom: 0;\\n}\\n\\n.nav-tabs.nav-justified > li {\\n float: none;\\n}\\n\\n.nav-tabs.nav-justified > li > a {\\n text-align: center;\\n margin-bottom: 5px;\\n}\\n\\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\\n top: auto;\\n left: auto;\\n}\\n\\n@media (min-width: 768px) {\\n .nav-tabs.nav-justified > li {\\n display: table-cell;\\n width: 1%;\\n }\\n .nav-tabs.nav-justified > li > a {\\n margin-bottom: 0;\\n }\\n}\\n.nav-tabs.nav-justified > li > a {\\n margin-right: 0;\\n border-radius: 0;\\n}\\n\\n.nav-tabs.nav-justified > .active > a,\\n.nav-tabs.nav-justified > .active > a:hover,\\n.nav-tabs.nav-justified > .active > a:focus {\\n border: 1px solid #dddddd;\\n}\\n\\n@media (min-width: 768px) {\\n .nav-tabs.nav-justified > li > a {\\n border-bottom: 1px solid #dddddd;\\n border-radius: 0 0 0 0;\\n }\\n .nav-tabs.nav-justified > .active > a,\\n .nav-tabs.nav-justified > .active > a:hover,\\n .nav-tabs.nav-justified > .active > a:focus {\\n border-bottom-color: #ffffff;\\n }\\n}\\n.nav-pills > li {\\n float: left;\\n}\\n\\n.nav-pills > li > a {\\n border-radius: 0;\\n}\\n\\n.nav-pills > li + li {\\n margin-left: 2px;\\n}\\n\\n.nav-pills > li.active > a,\\n.nav-pills > li.active > a:hover,\\n.nav-pills > li.active > a:focus {\\n color: #ffffff;\\n background-color: #008cba;\\n}\\n\\n.nav-stacked > li {\\n float: none;\\n}\\n\\n.nav-stacked > li + li {\\n margin-top: 2px;\\n margin-left: 0;\\n}\\n\\n.nav-justified {\\n width: 100%;\\n}\\n\\n.nav-justified > li {\\n float: none;\\n}\\n\\n.nav-justified > li > a {\\n text-align: center;\\n margin-bottom: 5px;\\n}\\n\\n.nav-justified > .dropdown .dropdown-menu {\\n top: auto;\\n left: auto;\\n}\\n\\n@media (min-width: 768px) {\\n .nav-justified > li {\\n display: table-cell;\\n width: 1%;\\n }\\n .nav-justified > li > a {\\n margin-bottom: 0;\\n }\\n}\\n.nav-tabs-justified {\\n border-bottom: 0;\\n}\\n\\n.nav-tabs-justified > li > a {\\n margin-right: 0;\\n border-radius: 0;\\n}\\n\\n.nav-tabs-justified > .active > a,\\n.nav-tabs-justified > .active > a:hover,\\n.nav-tabs-justified > .active > a:focus {\\n border: 1px solid #dddddd;\\n}\\n\\n@media (min-width: 768px) {\\n .nav-tabs-justified > li > a {\\n border-bottom: 1px solid #dddddd;\\n border-radius: 0 0 0 0;\\n }\\n .nav-tabs-justified > .active > a,\\n .nav-tabs-justified > .active > a:hover,\\n .nav-tabs-justified > .active > a:focus {\\n border-bottom-color: #ffffff;\\n }\\n}\\n.tab-content > .tab-pane {\\n display: none;\\n}\\n\\n.tab-content > .active {\\n display: block;\\n}\\n\\n.nav-tabs .dropdown-menu {\\n margin-top: -1px;\\n border-top-right-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.navbar {\\n position: relative;\\n min-height: 45px;\\n margin-bottom: 21px;\\n border: 1px solid transparent;\\n}\\n\\n@media (min-width: 768px) {\\n .navbar {\\n border-radius: 0;\\n }\\n}\\n@media (min-width: 768px) {\\n .navbar-header {\\n float: left;\\n }\\n}\\n.navbar-collapse {\\n overflow-x: visible;\\n padding-right: 15px;\\n padding-left: 15px;\\n border-top: 1px solid transparent;\\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\\n -webkit-overflow-scrolling: touch;\\n}\\n\\n.navbar-collapse.in {\\n overflow-y: auto;\\n}\\n\\n@media (min-width: 768px) {\\n .navbar-collapse {\\n width: auto;\\n border-top: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n }\\n .navbar-collapse.collapse {\\n display: block !important;\\n height: auto !important;\\n padding-bottom: 0;\\n overflow: visible !important;\\n }\\n .navbar-collapse.in {\\n overflow-y: visible;\\n }\\n .navbar-fixed-top .navbar-collapse,\\n .navbar-static-top .navbar-collapse,\\n .navbar-fixed-bottom .navbar-collapse {\\n padding-left: 0;\\n padding-right: 0;\\n }\\n}\\n.navbar-fixed-top .navbar-collapse,\\n.navbar-fixed-bottom .navbar-collapse {\\n max-height: 340px;\\n}\\n\\n@media (max-device-width: 480px) and (orientation: landscape) {\\n .navbar-fixed-top .navbar-collapse,\\n .navbar-fixed-bottom .navbar-collapse {\\n max-height: 200px;\\n }\\n}\\n.container > .navbar-header,\\n.container-fluid > .navbar-header,\\n.container > .navbar-collapse,\\n.container-fluid > .navbar-collapse {\\n margin-right: -15px;\\n margin-left: -15px;\\n}\\n\\n@media (min-width: 768px) {\\n .container > .navbar-header,\\n .container-fluid > .navbar-header,\\n .container > .navbar-collapse,\\n .container-fluid > .navbar-collapse {\\n margin-right: 0;\\n margin-left: 0;\\n }\\n}\\n.navbar-static-top {\\n z-index: 1000;\\n border-width: 0 0 1px;\\n}\\n\\n@media (min-width: 768px) {\\n .navbar-static-top {\\n border-radius: 0;\\n }\\n}\\n.navbar-fixed-top,\\n.navbar-fixed-bottom {\\n position: fixed;\\n right: 0;\\n left: 0;\\n z-index: 1030;\\n}\\n\\n@media (min-width: 768px) {\\n .navbar-fixed-top,\\n .navbar-fixed-bottom {\\n border-radius: 0;\\n }\\n}\\n.navbar-fixed-top {\\n top: 0;\\n border-width: 0 0 1px;\\n}\\n\\n.navbar-fixed-bottom {\\n bottom: 0;\\n margin-bottom: 0;\\n border-width: 1px 0 0;\\n}\\n\\n.navbar-brand {\\n float: left;\\n padding: 12px 15px;\\n font-size: 19px;\\n line-height: 21px;\\n height: 45px;\\n}\\n\\n.navbar-brand:hover,\\n.navbar-brand:focus {\\n text-decoration: none;\\n}\\n\\n.navbar-brand > img {\\n display: block;\\n}\\n\\n@media (min-width: 768px) {\\n .navbar > .container .navbar-brand,\\n .navbar > .container-fluid .navbar-brand {\\n margin-left: -15px;\\n }\\n}\\n.navbar-toggle {\\n position: relative;\\n float: right;\\n margin-right: 15px;\\n padding: 9px 10px;\\n margin-top: 5.5px;\\n margin-bottom: 5.5px;\\n background-color: transparent;\\n background-image: none;\\n border: 1px solid transparent;\\n border-radius: 0;\\n}\\n\\n.navbar-toggle:focus {\\n outline: 0;\\n}\\n\\n.navbar-toggle .icon-bar {\\n display: block;\\n width: 22px;\\n height: 2px;\\n border-radius: 1px;\\n}\\n\\n.navbar-toggle .icon-bar + .icon-bar {\\n margin-top: 4px;\\n}\\n\\n@media (min-width: 768px) {\\n .navbar-toggle {\\n display: none;\\n }\\n}\\n.navbar-nav {\\n margin: 6px -15px;\\n}\\n\\n.navbar-nav > li > a {\\n padding-top: 10px;\\n padding-bottom: 10px;\\n line-height: 21px;\\n}\\n\\n@media (max-width: 767px) {\\n .navbar-nav .open .dropdown-menu {\\n position: static;\\n float: none;\\n width: auto;\\n margin-top: 0;\\n background-color: transparent;\\n border: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n }\\n .navbar-nav .open .dropdown-menu > li > a,\\n .navbar-nav .open .dropdown-menu .dropdown-header {\\n padding: 5px 15px 5px 25px;\\n }\\n .navbar-nav .open .dropdown-menu > li > a {\\n line-height: 21px;\\n }\\n .navbar-nav .open .dropdown-menu > li > a:hover,\\n .navbar-nav .open .dropdown-menu > li > a:focus {\\n background-image: none;\\n }\\n}\\n@media (min-width: 768px) {\\n .navbar-nav {\\n float: left;\\n margin: 0;\\n }\\n .navbar-nav > li {\\n float: left;\\n }\\n .navbar-nav > li > a {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n }\\n}\\n.navbar-form {\\n margin-left: -15px;\\n margin-right: -15px;\\n padding: 10px 15px;\\n border-top: 1px solid transparent;\\n border-bottom: 1px solid transparent;\\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\\n margin-top: 3px;\\n margin-bottom: 3px;\\n}\\n\\n@media (min-width: 768px) {\\n .navbar-form .form-group {\\n display: inline-block;\\n margin-bottom: 0;\\n vertical-align: middle;\\n }\\n .navbar-form .form-control {\\n display: inline-block;\\n width: auto;\\n vertical-align: middle;\\n }\\n .navbar-form .form-control-static {\\n display: inline-block;\\n }\\n .navbar-form .input-group {\\n display: inline-table;\\n vertical-align: middle;\\n }\\n .navbar-form .input-group .input-group-addon,\\n .navbar-form .input-group .input-group-btn,\\n .navbar-form .input-group .form-control {\\n width: auto;\\n }\\n .navbar-form .input-group > .form-control {\\n width: 100%;\\n }\\n .navbar-form .control-label {\\n margin-bottom: 0;\\n vertical-align: middle;\\n }\\n .navbar-form .radio,\\n .navbar-form .checkbox {\\n display: inline-block;\\n margin-top: 0;\\n margin-bottom: 0;\\n vertical-align: middle;\\n }\\n .navbar-form .radio label,\\n .navbar-form .checkbox label {\\n padding-left: 0;\\n }\\n .navbar-form .radio input[type=radio],\\n .navbar-form .checkbox input[type=checkbox] {\\n position: relative;\\n margin-left: 0;\\n }\\n .navbar-form .has-feedback .form-control-feedback {\\n top: 0;\\n }\\n}\\n@media (max-width: 767px) {\\n .navbar-form .form-group {\\n margin-bottom: 5px;\\n }\\n .navbar-form .form-group:last-child {\\n margin-bottom: 0;\\n }\\n}\\n@media (min-width: 768px) {\\n .navbar-form {\\n width: auto;\\n border: 0;\\n margin-left: 0;\\n margin-right: 0;\\n padding-top: 0;\\n padding-bottom: 0;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n }\\n}\\n.navbar-nav > li > .dropdown-menu {\\n margin-top: 0;\\n border-top-right-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\\n margin-bottom: 0;\\n border-top-right-radius: 0;\\n border-top-left-radius: 0;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\n.navbar-btn {\\n margin-top: 3px;\\n margin-bottom: 3px;\\n}\\n\\n.navbar-btn.btn-sm {\\n margin-top: 4.5px;\\n margin-bottom: 4.5px;\\n}\\n\\n.navbar-btn.btn-xs {\\n margin-top: 11.5px;\\n margin-bottom: 11.5px;\\n}\\n\\n.navbar-text {\\n margin-top: 12px;\\n margin-bottom: 12px;\\n}\\n\\n@media (min-width: 768px) {\\n .navbar-text {\\n float: left;\\n margin-left: 15px;\\n margin-right: 15px;\\n }\\n}\\n@media (min-width: 768px) {\\n .navbar-left {\\n float: left !important;\\n }\\n .navbar-right {\\n float: right !important;\\n margin-right: -15px;\\n }\\n .navbar-right ~ .navbar-right {\\n margin-right: 0;\\n }\\n}\\n.navbar-default {\\n background-color: #333333;\\n border-color: #222222;\\n}\\n\\n.navbar-default .navbar-brand {\\n color: #ffffff;\\n}\\n\\n.navbar-default .navbar-brand:hover,\\n.navbar-default .navbar-brand:focus {\\n color: #ffffff;\\n background-color: transparent;\\n}\\n\\n.navbar-default .navbar-text {\\n color: #ffffff;\\n}\\n\\n.navbar-default .navbar-nav > li > a {\\n color: #ffffff;\\n}\\n\\n.navbar-default .navbar-nav > li > a:hover,\\n.navbar-default .navbar-nav > li > a:focus {\\n color: #ffffff;\\n background-color: #272727;\\n}\\n\\n.navbar-default .navbar-nav > .active > a,\\n.navbar-default .navbar-nav > .active > a:hover,\\n.navbar-default .navbar-nav > .active > a:focus {\\n color: #ffffff;\\n background-color: #272727;\\n}\\n\\n.navbar-default .navbar-nav > .disabled > a,\\n.navbar-default .navbar-nav > .disabled > a:hover,\\n.navbar-default .navbar-nav > .disabled > a:focus {\\n color: #cccccc;\\n background-color: transparent;\\n}\\n\\n.navbar-default .navbar-toggle {\\n border-color: transparent;\\n}\\n\\n.navbar-default .navbar-toggle:hover,\\n.navbar-default .navbar-toggle:focus {\\n background-color: transparent;\\n}\\n\\n.navbar-default .navbar-toggle .icon-bar {\\n background-color: #ffffff;\\n}\\n\\n.navbar-default .navbar-collapse,\\n.navbar-default .navbar-form {\\n border-color: #222222;\\n}\\n\\n.navbar-default .navbar-nav > .open > a,\\n.navbar-default .navbar-nav > .open > a:hover,\\n.navbar-default .navbar-nav > .open > a:focus {\\n background-color: #272727;\\n color: #ffffff;\\n}\\n\\n@media (max-width: 767px) {\\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\\n color: #ffffff;\\n }\\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\\n color: #ffffff;\\n background-color: #272727;\\n }\\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\\n color: #ffffff;\\n background-color: #272727;\\n }\\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\\n color: #cccccc;\\n background-color: transparent;\\n }\\n}\\n.navbar-default .navbar-link {\\n color: #ffffff;\\n}\\n\\n.navbar-default .navbar-link:hover {\\n color: #ffffff;\\n}\\n\\n.navbar-default .btn-link {\\n color: #ffffff;\\n}\\n\\n.navbar-default .btn-link:hover,\\n.navbar-default .btn-link:focus {\\n color: #ffffff;\\n}\\n\\n.navbar-default .btn-link[disabled]:hover,\\nfieldset[disabled] .navbar-default .btn-link:hover,\\n.navbar-default .btn-link[disabled]:focus,\\nfieldset[disabled] .navbar-default .btn-link:focus {\\n color: #cccccc;\\n}\\n\\n.navbar-inverse {\\n background-color: #008cba;\\n border-color: #006687;\\n}\\n\\n.navbar-inverse .navbar-brand {\\n color: #ffffff;\\n}\\n\\n.navbar-inverse .navbar-brand:hover,\\n.navbar-inverse .navbar-brand:focus {\\n color: #ffffff;\\n background-color: transparent;\\n}\\n\\n.navbar-inverse .navbar-text {\\n color: #ffffff;\\n}\\n\\n.navbar-inverse .navbar-nav > li > a {\\n color: #ffffff;\\n}\\n\\n.navbar-inverse .navbar-nav > li > a:hover,\\n.navbar-inverse .navbar-nav > li > a:focus {\\n color: #ffffff;\\n background-color: #006687;\\n}\\n\\n.navbar-inverse .navbar-nav > .active > a,\\n.navbar-inverse .navbar-nav > .active > a:hover,\\n.navbar-inverse .navbar-nav > .active > a:focus {\\n color: #ffffff;\\n background-color: #006687;\\n}\\n\\n.navbar-inverse .navbar-nav > .disabled > a,\\n.navbar-inverse .navbar-nav > .disabled > a:hover,\\n.navbar-inverse .navbar-nav > .disabled > a:focus {\\n color: #444444;\\n background-color: transparent;\\n}\\n\\n.navbar-inverse .navbar-toggle {\\n border-color: transparent;\\n}\\n\\n.navbar-inverse .navbar-toggle:hover,\\n.navbar-inverse .navbar-toggle:focus {\\n background-color: transparent;\\n}\\n\\n.navbar-inverse .navbar-toggle .icon-bar {\\n background-color: #ffffff;\\n}\\n\\n.navbar-inverse .navbar-collapse,\\n.navbar-inverse .navbar-form {\\n border-color: #007196;\\n}\\n\\n.navbar-inverse .navbar-nav > .open > a,\\n.navbar-inverse .navbar-nav > .open > a:hover,\\n.navbar-inverse .navbar-nav > .open > a:focus {\\n background-color: #006687;\\n color: #ffffff;\\n}\\n\\n@media (max-width: 767px) {\\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\\n border-color: #006687;\\n }\\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\\n background-color: #006687;\\n }\\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\\n color: #ffffff;\\n }\\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\\n color: #ffffff;\\n background-color: #006687;\\n }\\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\\n color: #ffffff;\\n background-color: #006687;\\n }\\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\\n color: #444444;\\n background-color: transparent;\\n }\\n}\\n.navbar-inverse .navbar-link {\\n color: #ffffff;\\n}\\n\\n.navbar-inverse .navbar-link:hover {\\n color: #ffffff;\\n}\\n\\n.navbar-inverse .btn-link {\\n color: #ffffff;\\n}\\n\\n.navbar-inverse .btn-link:hover,\\n.navbar-inverse .btn-link:focus {\\n color: #ffffff;\\n}\\n\\n.navbar-inverse .btn-link[disabled]:hover,\\nfieldset[disabled] .navbar-inverse .btn-link:hover,\\n.navbar-inverse .btn-link[disabled]:focus,\\nfieldset[disabled] .navbar-inverse .btn-link:focus {\\n color: #444444;\\n}\\n\\n.breadcrumb {\\n padding: 8px 15px;\\n margin-bottom: 21px;\\n list-style: none;\\n background-color: #f5f5f5;\\n border-radius: 0;\\n}\\n\\n.breadcrumb > li {\\n display: inline-block;\\n}\\n\\n.breadcrumb > li + li:before {\\n content: \\\"/ \\\";\\n padding: 0 5px;\\n color: #999999;\\n}\\n\\n.breadcrumb > .active {\\n color: #333333;\\n}\\n\\n.pagination {\\n display: inline-block;\\n padding-left: 0;\\n margin: 21px 0;\\n border-radius: 0;\\n}\\n\\n.pagination > li {\\n display: inline;\\n}\\n\\n.pagination > li > a,\\n.pagination > li > span {\\n position: relative;\\n float: left;\\n padding: 8px 12px;\\n line-height: 1.4;\\n text-decoration: none;\\n color: #008cba;\\n background-color: transparent;\\n border: 1px solid transparent;\\n margin-left: -1px;\\n}\\n\\n.pagination > li:first-child > a,\\n.pagination > li:first-child > span {\\n margin-left: 0;\\n border-bottom-left-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.pagination > li:last-child > a,\\n.pagination > li:last-child > span {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.pagination > li > a:hover,\\n.pagination > li > span:hover,\\n.pagination > li > a:focus,\\n.pagination > li > span:focus {\\n z-index: 2;\\n color: #008cba;\\n background-color: #eeeeee;\\n border-color: transparent;\\n}\\n\\n.pagination > .active > a,\\n.pagination > .active > span,\\n.pagination > .active > a:hover,\\n.pagination > .active > span:hover,\\n.pagination > .active > a:focus,\\n.pagination > .active > span:focus {\\n z-index: 3;\\n color: #ffffff;\\n background-color: #008cba;\\n border-color: transparent;\\n cursor: default;\\n}\\n\\n.pagination > .disabled > span,\\n.pagination > .disabled > span:hover,\\n.pagination > .disabled > span:focus,\\n.pagination > .disabled > a,\\n.pagination > .disabled > a:hover,\\n.pagination > .disabled > a:focus {\\n color: #999999;\\n background-color: #ffffff;\\n border-color: transparent;\\n cursor: not-allowed;\\n}\\n\\n.pagination-lg > li > a,\\n.pagination-lg > li > span {\\n padding: 16px 20px;\\n font-size: 19px;\\n line-height: 1.3333333;\\n}\\n\\n.pagination-lg > li:first-child > a,\\n.pagination-lg > li:first-child > span {\\n border-bottom-left-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.pagination-lg > li:last-child > a,\\n.pagination-lg > li:last-child > span {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.pagination-sm > li > a,\\n.pagination-sm > li > span {\\n padding: 8px 12px;\\n font-size: 12px;\\n line-height: 1.5;\\n}\\n\\n.pagination-sm > li:first-child > a,\\n.pagination-sm > li:first-child > span {\\n border-bottom-left-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.pagination-sm > li:last-child > a,\\n.pagination-sm > li:last-child > span {\\n border-bottom-right-radius: 0;\\n border-top-right-radius: 0;\\n}\\n\\n.pager {\\n padding-left: 0;\\n margin: 21px 0;\\n list-style: none;\\n text-align: center;\\n}\\n\\n.pager li {\\n display: inline;\\n}\\n\\n.pager li > a,\\n.pager li > span {\\n display: inline-block;\\n padding: 5px 14px;\\n background-color: transparent;\\n border: 1px solid transparent;\\n border-radius: 3px;\\n}\\n\\n.pager li > a:hover,\\n.pager li > a:focus {\\n text-decoration: none;\\n background-color: #eeeeee;\\n}\\n\\n.pager .next > a,\\n.pager .next > span {\\n float: right;\\n}\\n\\n.pager .previous > a,\\n.pager .previous > span {\\n float: left;\\n}\\n\\n.pager .disabled > a,\\n.pager .disabled > a:hover,\\n.pager .disabled > a:focus,\\n.pager .disabled > span {\\n color: #999999;\\n background-color: transparent;\\n cursor: not-allowed;\\n}\\n\\n.label {\\n display: inline;\\n padding: 0.2em 0.6em 0.3em;\\n font-size: 75%;\\n font-weight: bold;\\n line-height: 1;\\n color: #ffffff;\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: baseline;\\n border-radius: 0.25em;\\n}\\n\\na.label:hover,\\na.label:focus {\\n color: #ffffff;\\n text-decoration: none;\\n cursor: pointer;\\n}\\n\\n.label:empty {\\n display: none;\\n}\\n\\n.btn .label {\\n position: relative;\\n top: -1px;\\n}\\n\\n.label-default {\\n background-color: #999999;\\n}\\n\\n.label-default[href]:hover,\\n.label-default[href]:focus {\\n background-color: #808080;\\n}\\n\\n.label-primary {\\n background-color: #008cba;\\n}\\n\\n.label-primary[href]:hover,\\n.label-primary[href]:focus {\\n background-color: #006687;\\n}\\n\\n.label-success {\\n background-color: #43ac6a;\\n}\\n\\n.label-success[href]:hover,\\n.label-success[href]:focus {\\n background-color: #358753;\\n}\\n\\n.label-info {\\n background-color: #5bc0de;\\n}\\n\\n.label-info[href]:hover,\\n.label-info[href]:focus {\\n background-color: #31b0d5;\\n}\\n\\n.label-warning {\\n background-color: #e99002;\\n}\\n\\n.label-warning[href]:hover,\\n.label-warning[href]:focus {\\n background-color: #b67102;\\n}\\n\\n.label-danger {\\n background-color: #f04124;\\n}\\n\\n.label-danger[href]:hover,\\n.label-danger[href]:focus {\\n background-color: #d32a0e;\\n}\\n\\n.badge {\\n display: inline-block;\\n min-width: 10px;\\n padding: 3px 7px;\\n font-size: 12px;\\n font-weight: bold;\\n color: #ffffff;\\n line-height: 1;\\n vertical-align: middle;\\n white-space: nowrap;\\n text-align: center;\\n background-color: #008cba;\\n border-radius: 10px;\\n}\\n\\n.badge:empty {\\n display: none;\\n}\\n\\n.btn .badge {\\n position: relative;\\n top: -1px;\\n}\\n\\n.btn-xs .badge,\\n.btn-group-xs > .btn .badge {\\n top: 0;\\n padding: 1px 5px;\\n}\\n\\na.badge:hover,\\na.badge:focus {\\n color: #ffffff;\\n text-decoration: none;\\n cursor: pointer;\\n}\\n\\n.list-group-item.active > .badge,\\n.nav-pills > .active > a > .badge {\\n color: #008cba;\\n background-color: #ffffff;\\n}\\n\\n.list-group-item > .badge {\\n float: right;\\n}\\n\\n.list-group-item > .badge + .badge {\\n margin-right: 5px;\\n}\\n\\n.nav-pills > li > a > .badge {\\n margin-left: 3px;\\n}\\n\\n.jumbotron {\\n padding-top: 30px;\\n padding-bottom: 30px;\\n margin-bottom: 30px;\\n color: inherit;\\n background-color: #fafafa;\\n}\\n\\n.jumbotron h1,\\n.jumbotron .h1 {\\n color: inherit;\\n}\\n\\n.jumbotron p {\\n margin-bottom: 15px;\\n font-size: 23px;\\n font-weight: 200;\\n}\\n\\n.jumbotron > hr {\\n border-top-color: #e1e1e1;\\n}\\n\\n.container .jumbotron,\\n.container-fluid .jumbotron {\\n border-radius: 0;\\n padding-left: 15px;\\n padding-right: 15px;\\n}\\n\\n.jumbotron .container {\\n max-width: 100%;\\n}\\n\\n@media screen and (min-width: 768px) {\\n .jumbotron {\\n padding-top: 48px;\\n padding-bottom: 48px;\\n }\\n .container .jumbotron,\\n .container-fluid .jumbotron {\\n padding-left: 60px;\\n padding-right: 60px;\\n }\\n .jumbotron h1,\\n .jumbotron .h1 {\\n font-size: 68px;\\n }\\n}\\n.thumbnail {\\n display: block;\\n padding: 4px;\\n margin-bottom: 21px;\\n line-height: 1.4;\\n background-color: #ffffff;\\n border: 1px solid #dddddd;\\n border-radius: 0;\\n -webkit-transition: border 0.2s ease-in-out;\\n -o-transition: border 0.2s ease-in-out;\\n transition: border 0.2s ease-in-out;\\n}\\n\\n.thumbnail > img,\\n.thumbnail a > img {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n\\na.thumbnail:hover,\\na.thumbnail:focus,\\na.thumbnail.active {\\n border-color: #008cba;\\n}\\n\\n.thumbnail .caption {\\n padding: 9px;\\n color: #222222;\\n}\\n\\n.alert {\\n padding: 15px;\\n margin-bottom: 21px;\\n border: 1px solid transparent;\\n border-radius: 0;\\n}\\n\\n.alert h4 {\\n margin-top: 0;\\n color: inherit;\\n}\\n\\n.alert .alert-link {\\n font-weight: bold;\\n}\\n\\n.alert > p,\\n.alert > ul {\\n margin-bottom: 0;\\n}\\n\\n.alert > p + p {\\n margin-top: 5px;\\n}\\n\\n.alert-dismissable,\\n.alert-dismissible {\\n padding-right: 35px;\\n}\\n\\n.alert-dismissable .close,\\n.alert-dismissible .close {\\n position: relative;\\n top: -2px;\\n right: -21px;\\n color: inherit;\\n}\\n\\n.alert-success {\\n background-color: #43ac6a;\\n border-color: #3c9a5f;\\n color: #ffffff;\\n}\\n\\n.alert-success hr {\\n border-top-color: #358753;\\n}\\n\\n.alert-success .alert-link {\\n color: #e6e6e6;\\n}\\n\\n.alert-info {\\n background-color: #5bc0de;\\n border-color: #3db5d8;\\n color: #ffffff;\\n}\\n\\n.alert-info hr {\\n border-top-color: #2aabd2;\\n}\\n\\n.alert-info .alert-link {\\n color: #e6e6e6;\\n}\\n\\n.alert-warning {\\n background-color: #e99002;\\n border-color: #d08002;\\n color: #ffffff;\\n}\\n\\n.alert-warning hr {\\n border-top-color: #b67102;\\n}\\n\\n.alert-warning .alert-link {\\n color: #e6e6e6;\\n}\\n\\n.alert-danger {\\n background-color: #f04124;\\n border-color: #ea2f10;\\n color: #ffffff;\\n}\\n\\n.alert-danger hr {\\n border-top-color: #d32a0e;\\n}\\n\\n.alert-danger .alert-link {\\n color: #e6e6e6;\\n}\\n\\n@-webkit-keyframes progress-bar-stripes {\\n from {\\n background-position: 40px 0;\\n }\\n to {\\n background-position: 0 0;\\n }\\n}\\n@-o-keyframes progress-bar-stripes {\\n from {\\n background-position: 40px 0;\\n }\\n to {\\n background-position: 0 0;\\n }\\n}\\n@keyframes progress-bar-stripes {\\n from {\\n background-position: 40px 0;\\n }\\n to {\\n background-position: 0 0;\\n }\\n}\\n.progress {\\n overflow: hidden;\\n height: 21px;\\n margin-bottom: 21px;\\n background-color: #f5f5f5;\\n border-radius: 0;\\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\\n}\\n\\n.progress-bar {\\n float: left;\\n width: 0%;\\n height: 100%;\\n font-size: 12px;\\n line-height: 21px;\\n color: #ffffff;\\n text-align: center;\\n background-color: #008cba;\\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\\n -webkit-transition: width 0.6s ease;\\n -o-transition: width 0.6s ease;\\n transition: width 0.6s ease;\\n}\\n\\n.progress-striped .progress-bar,\\n.progress-bar-striped {\\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n -webkit-background-size: 40px 40px;\\n background-size: 40px 40px;\\n}\\n\\n.progress.active .progress-bar,\\n.progress-bar.active {\\n -webkit-animation: progress-bar-stripes 2s linear infinite;\\n -o-animation: progress-bar-stripes 2s linear infinite;\\n animation: progress-bar-stripes 2s linear infinite;\\n}\\n\\n.progress-bar-success {\\n background-color: #43ac6a;\\n}\\n\\n.progress-striped .progress-bar-success {\\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n}\\n\\n.progress-bar-info {\\n background-color: #5bc0de;\\n}\\n\\n.progress-striped .progress-bar-info {\\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n}\\n\\n.progress-bar-warning {\\n background-color: #e99002;\\n}\\n\\n.progress-striped .progress-bar-warning {\\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n}\\n\\n.progress-bar-danger {\\n background-color: #f04124;\\n}\\n\\n.progress-striped .progress-bar-danger {\\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\\n}\\n\\n.media {\\n margin-top: 15px;\\n}\\n\\n.media:first-child {\\n margin-top: 0;\\n}\\n\\n.media,\\n.media-body {\\n zoom: 1;\\n overflow: hidden;\\n}\\n\\n.media-body {\\n width: 10000px;\\n}\\n\\n.media-object {\\n display: block;\\n}\\n\\n.media-object.img-thumbnail {\\n max-width: none;\\n}\\n\\n.media-right,\\n.media > .pull-right {\\n padding-left: 10px;\\n}\\n\\n.media-left,\\n.media > .pull-left {\\n padding-right: 10px;\\n}\\n\\n.media-left,\\n.media-right,\\n.media-body {\\n display: table-cell;\\n vertical-align: top;\\n}\\n\\n.media-middle {\\n vertical-align: middle;\\n}\\n\\n.media-bottom {\\n vertical-align: bottom;\\n}\\n\\n.media-heading {\\n margin-top: 0;\\n margin-bottom: 5px;\\n}\\n\\n.media-list {\\n padding-left: 0;\\n list-style: none;\\n}\\n\\n.list-group {\\n margin-bottom: 20px;\\n padding-left: 0;\\n}\\n\\n.list-group-item {\\n position: relative;\\n display: block;\\n padding: 10px 15px;\\n margin-bottom: -1px;\\n background-color: #ffffff;\\n border: 1px solid #dddddd;\\n}\\n\\n.list-group-item:first-child {\\n border-top-right-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.list-group-item:last-child {\\n margin-bottom: 0;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0;\\n}\\n\\na.list-group-item,\\nbutton.list-group-item {\\n color: #555555;\\n}\\n\\na.list-group-item .list-group-item-heading,\\nbutton.list-group-item .list-group-item-heading {\\n color: #333333;\\n}\\n\\na.list-group-item:hover,\\nbutton.list-group-item:hover,\\na.list-group-item:focus,\\nbutton.list-group-item:focus {\\n text-decoration: none;\\n color: #555555;\\n background-color: #f5f5f5;\\n}\\n\\nbutton.list-group-item {\\n width: 100%;\\n text-align: left;\\n}\\n\\n.list-group-item.disabled,\\n.list-group-item.disabled:hover,\\n.list-group-item.disabled:focus {\\n background-color: #eeeeee;\\n color: #999999;\\n cursor: not-allowed;\\n}\\n\\n.list-group-item.disabled .list-group-item-heading,\\n.list-group-item.disabled:hover .list-group-item-heading,\\n.list-group-item.disabled:focus .list-group-item-heading {\\n color: inherit;\\n}\\n\\n.list-group-item.disabled .list-group-item-text,\\n.list-group-item.disabled:hover .list-group-item-text,\\n.list-group-item.disabled:focus .list-group-item-text {\\n color: #999999;\\n}\\n\\n.list-group-item.active,\\n.list-group-item.active:hover,\\n.list-group-item.active:focus {\\n z-index: 2;\\n color: #ffffff;\\n background-color: #008cba;\\n border-color: #008cba;\\n}\\n\\n.list-group-item.active .list-group-item-heading,\\n.list-group-item.active:hover .list-group-item-heading,\\n.list-group-item.active:focus .list-group-item-heading,\\n.list-group-item.active .list-group-item-heading > small,\\n.list-group-item.active:hover .list-group-item-heading > small,\\n.list-group-item.active:focus .list-group-item-heading > small,\\n.list-group-item.active .list-group-item-heading > .small,\\n.list-group-item.active:hover .list-group-item-heading > .small,\\n.list-group-item.active:focus .list-group-item-heading > .small {\\n color: inherit;\\n}\\n\\n.list-group-item.active .list-group-item-text,\\n.list-group-item.active:hover .list-group-item-text,\\n.list-group-item.active:focus .list-group-item-text {\\n color: #87e1ff;\\n}\\n\\n.list-group-item-success {\\n color: #43ac6a;\\n background-color: #dff0d8;\\n}\\n\\na.list-group-item-success,\\nbutton.list-group-item-success {\\n color: #43ac6a;\\n}\\n\\na.list-group-item-success .list-group-item-heading,\\nbutton.list-group-item-success .list-group-item-heading {\\n color: inherit;\\n}\\n\\na.list-group-item-success:hover,\\nbutton.list-group-item-success:hover,\\na.list-group-item-success:focus,\\nbutton.list-group-item-success:focus {\\n color: #43ac6a;\\n background-color: #d0e9c6;\\n}\\n\\na.list-group-item-success.active,\\nbutton.list-group-item-success.active,\\na.list-group-item-success.active:hover,\\nbutton.list-group-item-success.active:hover,\\na.list-group-item-success.active:focus,\\nbutton.list-group-item-success.active:focus {\\n color: #fff;\\n background-color: #43ac6a;\\n border-color: #43ac6a;\\n}\\n\\n.list-group-item-info {\\n color: #5bc0de;\\n background-color: #d9edf7;\\n}\\n\\na.list-group-item-info,\\nbutton.list-group-item-info {\\n color: #5bc0de;\\n}\\n\\na.list-group-item-info .list-group-item-heading,\\nbutton.list-group-item-info .list-group-item-heading {\\n color: inherit;\\n}\\n\\na.list-group-item-info:hover,\\nbutton.list-group-item-info:hover,\\na.list-group-item-info:focus,\\nbutton.list-group-item-info:focus {\\n color: #5bc0de;\\n background-color: #c4e3f3;\\n}\\n\\na.list-group-item-info.active,\\nbutton.list-group-item-info.active,\\na.list-group-item-info.active:hover,\\nbutton.list-group-item-info.active:hover,\\na.list-group-item-info.active:focus,\\nbutton.list-group-item-info.active:focus {\\n color: #fff;\\n background-color: #5bc0de;\\n border-color: #5bc0de;\\n}\\n\\n.list-group-item-warning {\\n color: #e99002;\\n background-color: #fcf8e3;\\n}\\n\\na.list-group-item-warning,\\nbutton.list-group-item-warning {\\n color: #e99002;\\n}\\n\\na.list-group-item-warning .list-group-item-heading,\\nbutton.list-group-item-warning .list-group-item-heading {\\n color: inherit;\\n}\\n\\na.list-group-item-warning:hover,\\nbutton.list-group-item-warning:hover,\\na.list-group-item-warning:focus,\\nbutton.list-group-item-warning:focus {\\n color: #e99002;\\n background-color: #faf2cc;\\n}\\n\\na.list-group-item-warning.active,\\nbutton.list-group-item-warning.active,\\na.list-group-item-warning.active:hover,\\nbutton.list-group-item-warning.active:hover,\\na.list-group-item-warning.active:focus,\\nbutton.list-group-item-warning.active:focus {\\n color: #fff;\\n background-color: #e99002;\\n border-color: #e99002;\\n}\\n\\n.list-group-item-danger {\\n color: #f04124;\\n background-color: #f2dede;\\n}\\n\\na.list-group-item-danger,\\nbutton.list-group-item-danger {\\n color: #f04124;\\n}\\n\\na.list-group-item-danger .list-group-item-heading,\\nbutton.list-group-item-danger .list-group-item-heading {\\n color: inherit;\\n}\\n\\na.list-group-item-danger:hover,\\nbutton.list-group-item-danger:hover,\\na.list-group-item-danger:focus,\\nbutton.list-group-item-danger:focus {\\n color: #f04124;\\n background-color: #ebcccc;\\n}\\n\\na.list-group-item-danger.active,\\nbutton.list-group-item-danger.active,\\na.list-group-item-danger.active:hover,\\nbutton.list-group-item-danger.active:hover,\\na.list-group-item-danger.active:focus,\\nbutton.list-group-item-danger.active:focus {\\n color: #fff;\\n background-color: #f04124;\\n border-color: #f04124;\\n}\\n\\n.list-group-item-heading {\\n margin-top: 0;\\n margin-bottom: 5px;\\n}\\n\\n.list-group-item-text {\\n margin-bottom: 0;\\n line-height: 1.3;\\n}\\n\\n.panel {\\n margin-bottom: 21px;\\n background-color: #ffffff;\\n border: 1px solid transparent;\\n border-radius: 0;\\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\\n}\\n\\n.panel-body {\\n padding: 15px;\\n}\\n\\n.panel-heading {\\n padding: 10px 15px;\\n border-bottom: 1px solid transparent;\\n border-top-right-radius: -1;\\n border-top-left-radius: -1;\\n}\\n\\n.panel-heading > .dropdown .dropdown-toggle {\\n color: inherit;\\n}\\n\\n.panel-title {\\n margin-top: 0;\\n margin-bottom: 0;\\n font-size: 17px;\\n color: inherit;\\n}\\n\\n.panel-title > a,\\n.panel-title > small,\\n.panel-title > .small,\\n.panel-title > small > a,\\n.panel-title > .small > a {\\n color: inherit;\\n}\\n\\n.panel-footer {\\n padding: 10px 15px;\\n background-color: #f5f5f5;\\n border-top: 1px solid #dddddd;\\n border-bottom-right-radius: -1;\\n border-bottom-left-radius: -1;\\n}\\n\\n.panel > .list-group,\\n.panel > .panel-collapse > .list-group {\\n margin-bottom: 0;\\n}\\n\\n.panel > .list-group .list-group-item,\\n.panel > .panel-collapse > .list-group .list-group-item {\\n border-width: 1px 0;\\n border-radius: 0;\\n}\\n\\n.panel > .list-group:first-child .list-group-item:first-child,\\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\\n border-top: 0;\\n border-top-right-radius: -1;\\n border-top-left-radius: -1;\\n}\\n\\n.panel > .list-group:last-child .list-group-item:last-child,\\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\\n border-bottom: 0;\\n border-bottom-right-radius: -1;\\n border-bottom-left-radius: -1;\\n}\\n\\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\\n border-top-right-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.panel-heading + .list-group .list-group-item:first-child {\\n border-top-width: 0;\\n}\\n\\n.list-group + .panel-footer {\\n border-top-width: 0;\\n}\\n\\n.panel > .table,\\n.panel > .table-responsive > .table,\\n.panel > .panel-collapse > .table {\\n margin-bottom: 0;\\n}\\n\\n.panel > .table caption,\\n.panel > .table-responsive > .table caption,\\n.panel > .panel-collapse > .table caption {\\n padding-left: 15px;\\n padding-right: 15px;\\n}\\n\\n.panel > .table:first-child,\\n.panel > .table-responsive:first-child > .table:first-child {\\n border-top-right-radius: -1;\\n border-top-left-radius: -1;\\n}\\n\\n.panel > .table:first-child > thead:first-child > tr:first-child,\\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\\n.panel > .table:first-child > tbody:first-child > tr:first-child,\\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\\n border-top-left-radius: -1;\\n border-top-right-radius: -1;\\n}\\n\\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\\n border-top-left-radius: -1;\\n}\\n\\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\\n border-top-right-radius: -1;\\n}\\n\\n.panel > .table:last-child,\\n.panel > .table-responsive:last-child > .table:last-child {\\n border-bottom-right-radius: -1;\\n border-bottom-left-radius: -1;\\n}\\n\\n.panel > .table:last-child > tbody:last-child > tr:last-child,\\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\\n border-bottom-left-radius: -1;\\n border-bottom-right-radius: -1;\\n}\\n\\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\\n border-bottom-left-radius: -1;\\n}\\n\\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\\n border-bottom-right-radius: -1;\\n}\\n\\n.panel > .panel-body + .table,\\n.panel > .panel-body + .table-responsive,\\n.panel > .table + .panel-body,\\n.panel > .table-responsive + .panel-body {\\n border-top: 1px solid #dddddd;\\n}\\n\\n.panel > .table > tbody:first-child > tr:first-child th,\\n.panel > .table > tbody:first-child > tr:first-child td {\\n border-top: 0;\\n}\\n\\n.panel > .table-bordered,\\n.panel > .table-responsive > .table-bordered {\\n border: 0;\\n}\\n\\n.panel > .table-bordered > thead > tr > th:first-child,\\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\\n.panel > .table-bordered > tbody > tr > th:first-child,\\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\\n.panel > .table-bordered > tfoot > tr > th:first-child,\\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\\n.panel > .table-bordered > thead > tr > td:first-child,\\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\\n.panel > .table-bordered > tbody > tr > td:first-child,\\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\\n.panel > .table-bordered > tfoot > tr > td:first-child,\\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\\n border-left: 0;\\n}\\n\\n.panel > .table-bordered > thead > tr > th:last-child,\\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\\n.panel > .table-bordered > tbody > tr > th:last-child,\\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\\n.panel > .table-bordered > tfoot > tr > th:last-child,\\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\\n.panel > .table-bordered > thead > tr > td:last-child,\\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\\n.panel > .table-bordered > tbody > tr > td:last-child,\\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\\n.panel > .table-bordered > tfoot > tr > td:last-child,\\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\\n border-right: 0;\\n}\\n\\n.panel > .table-bordered > thead > tr:first-child > td,\\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\\n.panel > .table-bordered > tbody > tr:first-child > td,\\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\\n.panel > .table-bordered > thead > tr:first-child > th,\\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\\n.panel > .table-bordered > tbody > tr:first-child > th,\\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\\n border-bottom: 0;\\n}\\n\\n.panel > .table-bordered > tbody > tr:last-child > td,\\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\\n.panel > .table-bordered > tfoot > tr:last-child > td,\\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\\n.panel > .table-bordered > tbody > tr:last-child > th,\\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\\n.panel > .table-bordered > tfoot > tr:last-child > th,\\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\\n border-bottom: 0;\\n}\\n\\n.panel > .table-responsive {\\n border: 0;\\n margin-bottom: 0;\\n}\\n\\n.panel-group {\\n margin-bottom: 21px;\\n}\\n\\n.panel-group .panel {\\n margin-bottom: 0;\\n border-radius: 0;\\n}\\n\\n.panel-group .panel + .panel {\\n margin-top: 5px;\\n}\\n\\n.panel-group .panel-heading {\\n border-bottom: 0;\\n}\\n\\n.panel-group .panel-heading + .panel-collapse > .panel-body,\\n.panel-group .panel-heading + .panel-collapse > .list-group {\\n border-top: 1px solid #dddddd;\\n}\\n\\n.panel-group .panel-footer {\\n border-top: 0;\\n}\\n\\n.panel-group .panel-footer + .panel-collapse .panel-body {\\n border-bottom: 1px solid #dddddd;\\n}\\n\\n.panel-default {\\n border-color: #dddddd;\\n}\\n\\n.panel-default > .panel-heading {\\n color: #333333;\\n background-color: #f5f5f5;\\n border-color: #dddddd;\\n}\\n\\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #dddddd;\\n}\\n\\n.panel-default > .panel-heading .badge {\\n color: #f5f5f5;\\n background-color: #333333;\\n}\\n\\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #dddddd;\\n}\\n\\n.panel-primary {\\n border-color: #008cba;\\n}\\n\\n.panel-primary > .panel-heading {\\n color: #ffffff;\\n background-color: #008cba;\\n border-color: #008cba;\\n}\\n\\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #008cba;\\n}\\n\\n.panel-primary > .panel-heading .badge {\\n color: #008cba;\\n background-color: #ffffff;\\n}\\n\\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #008cba;\\n}\\n\\n.panel-success {\\n border-color: #3c9a5f;\\n}\\n\\n.panel-success > .panel-heading {\\n color: #ffffff;\\n background-color: #43ac6a;\\n border-color: #3c9a5f;\\n}\\n\\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #3c9a5f;\\n}\\n\\n.panel-success > .panel-heading .badge {\\n color: #43ac6a;\\n background-color: #ffffff;\\n}\\n\\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #3c9a5f;\\n}\\n\\n.panel-info {\\n border-color: #3db5d8;\\n}\\n\\n.panel-info > .panel-heading {\\n color: #ffffff;\\n background-color: #5bc0de;\\n border-color: #3db5d8;\\n}\\n\\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #3db5d8;\\n}\\n\\n.panel-info > .panel-heading .badge {\\n color: #5bc0de;\\n background-color: #ffffff;\\n}\\n\\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #3db5d8;\\n}\\n\\n.panel-warning {\\n border-color: #d08002;\\n}\\n\\n.panel-warning > .panel-heading {\\n color: #ffffff;\\n background-color: #e99002;\\n border-color: #d08002;\\n}\\n\\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #d08002;\\n}\\n\\n.panel-warning > .panel-heading .badge {\\n color: #e99002;\\n background-color: #ffffff;\\n}\\n\\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #d08002;\\n}\\n\\n.panel-danger {\\n border-color: #ea2f10;\\n}\\n\\n.panel-danger > .panel-heading {\\n color: #ffffff;\\n background-color: #f04124;\\n border-color: #ea2f10;\\n}\\n\\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\\n border-top-color: #ea2f10;\\n}\\n\\n.panel-danger > .panel-heading .badge {\\n color: #f04124;\\n background-color: #ffffff;\\n}\\n\\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\\n border-bottom-color: #ea2f10;\\n}\\n\\n.embed-responsive {\\n position: relative;\\n display: block;\\n height: 0;\\n padding: 0;\\n overflow: hidden;\\n}\\n\\n.embed-responsive .embed-responsive-item,\\n.embed-responsive iframe,\\n.embed-responsive embed,\\n.embed-responsive object,\\n.embed-responsive video {\\n position: absolute;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n height: 100%;\\n width: 100%;\\n border: 0;\\n}\\n\\n.embed-responsive-16by9 {\\n padding-bottom: 56.25%;\\n}\\n\\n.embed-responsive-4by3 {\\n padding-bottom: 75%;\\n}\\n\\n.well {\\n min-height: 20px;\\n padding: 19px;\\n margin-bottom: 20px;\\n background-color: #fafafa;\\n border: 1px solid #e8e8e8;\\n border-radius: 0;\\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\\n}\\n\\n.well blockquote {\\n border-color: #ddd;\\n border-color: rgba(0, 0, 0, 0.15);\\n}\\n\\n.well-lg {\\n padding: 24px;\\n border-radius: 0;\\n}\\n\\n.well-sm {\\n padding: 9px;\\n border-radius: 0;\\n}\\n\\n.close {\\n float: right;\\n font-size: 22.5px;\\n font-weight: bold;\\n line-height: 1;\\n color: #ffffff;\\n text-shadow: 0 1px 0 #ffffff;\\n opacity: 0.2;\\n filter: alpha(opacity=20);\\n}\\n\\n.close:hover,\\n.close:focus {\\n color: #ffffff;\\n text-decoration: none;\\n cursor: pointer;\\n opacity: 0.5;\\n filter: alpha(opacity=50);\\n}\\n\\nbutton.close {\\n padding: 0;\\n cursor: pointer;\\n background: transparent;\\n border: 0;\\n -webkit-appearance: none;\\n}\\n\\n.modal-open {\\n overflow: hidden;\\n}\\n\\n.modal {\\n display: none;\\n overflow: hidden;\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1050;\\n -webkit-overflow-scrolling: touch;\\n outline: 0;\\n}\\n\\n.modal.fade .modal-dialog {\\n -webkit-transform: translate(0, -25%);\\n -ms-transform: translate(0, -25%);\\n -o-transform: translate(0, -25%);\\n transform: translate(0, -25%);\\n -webkit-transition: -webkit-transform 0.3s ease-out;\\n -o-transition: -o-transform 0.3s ease-out;\\n transition: transform 0.3s ease-out;\\n}\\n\\n.modal.in .modal-dialog {\\n -webkit-transform: translate(0, 0);\\n -ms-transform: translate(0, 0);\\n -o-transform: translate(0, 0);\\n transform: translate(0, 0);\\n}\\n\\n.modal-open .modal {\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.modal-dialog {\\n position: relative;\\n width: auto;\\n margin: 10px;\\n}\\n\\n.modal-content {\\n position: relative;\\n background-color: #ffffff;\\n border: 1px solid #999999;\\n border: 1px solid rgba(0, 0, 0, 0.2);\\n border-radius: 0;\\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\\n -webkit-background-clip: padding-box;\\n background-clip: padding-box;\\n outline: 0;\\n}\\n\\n.modal-backdrop {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1040;\\n background-color: #000000;\\n}\\n\\n.modal-backdrop.fade {\\n opacity: 0;\\n filter: alpha(opacity=0);\\n}\\n\\n.modal-backdrop.in {\\n opacity: 0.5;\\n filter: alpha(opacity=50);\\n}\\n\\n.modal-header {\\n padding: 15px;\\n border-bottom: 1px solid #e5e5e5;\\n}\\n\\n.modal-header .close {\\n margin-top: -2px;\\n}\\n\\n.modal-title {\\n margin: 0;\\n line-height: 1.4;\\n}\\n\\n.modal-body {\\n position: relative;\\n padding: 20px;\\n}\\n\\n.modal-footer {\\n padding: 20px;\\n text-align: right;\\n border-top: 1px solid #e5e5e5;\\n}\\n\\n.modal-footer .btn + .btn {\\n margin-left: 5px;\\n margin-bottom: 0;\\n}\\n\\n.modal-footer .btn-group .btn + .btn {\\n margin-left: -1px;\\n}\\n\\n.modal-footer .btn-block + .btn-block {\\n margin-left: 0;\\n}\\n\\n.modal-scrollbar-measure {\\n position: absolute;\\n top: -9999px;\\n width: 50px;\\n height: 50px;\\n overflow: scroll;\\n}\\n\\n@media (min-width: 768px) {\\n .modal-dialog {\\n width: 600px;\\n margin: 30px auto;\\n }\\n .modal-content {\\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\\n }\\n .modal-sm {\\n width: 300px;\\n }\\n}\\n@media (min-width: 992px) {\\n .modal-lg {\\n width: 900px;\\n }\\n}\\n.tooltip {\\n position: absolute;\\n z-index: 1070;\\n display: block;\\n font-family: \\\"Open Sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-style: normal;\\n font-weight: normal;\\n letter-spacing: normal;\\n line-break: auto;\\n line-height: 1.4;\\n text-align: left;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n white-space: normal;\\n word-break: normal;\\n word-spacing: normal;\\n word-wrap: normal;\\n font-size: 12px;\\n opacity: 0;\\n filter: alpha(opacity=0);\\n}\\n\\n.tooltip.in {\\n opacity: 0.9;\\n filter: alpha(opacity=90);\\n}\\n\\n.tooltip.top {\\n margin-top: -3px;\\n padding: 5px 0;\\n}\\n\\n.tooltip.right {\\n margin-left: 3px;\\n padding: 0 5px;\\n}\\n\\n.tooltip.bottom {\\n margin-top: 3px;\\n padding: 5px 0;\\n}\\n\\n.tooltip.left {\\n margin-left: -3px;\\n padding: 0 5px;\\n}\\n\\n.tooltip-inner {\\n max-width: 200px;\\n padding: 3px 8px;\\n color: #ffffff;\\n text-align: center;\\n background-color: #333333;\\n border-radius: 0;\\n}\\n\\n.tooltip-arrow {\\n position: absolute;\\n width: 0;\\n height: 0;\\n border-color: transparent;\\n border-style: solid;\\n}\\n\\n.tooltip.top .tooltip-arrow {\\n bottom: 0;\\n left: 50%;\\n margin-left: -5px;\\n border-width: 5px 5px 0;\\n border-top-color: #333333;\\n}\\n\\n.tooltip.top-left .tooltip-arrow {\\n bottom: 0;\\n right: 5px;\\n margin-bottom: -5px;\\n border-width: 5px 5px 0;\\n border-top-color: #333333;\\n}\\n\\n.tooltip.top-right .tooltip-arrow {\\n bottom: 0;\\n left: 5px;\\n margin-bottom: -5px;\\n border-width: 5px 5px 0;\\n border-top-color: #333333;\\n}\\n\\n.tooltip.right .tooltip-arrow {\\n top: 50%;\\n left: 0;\\n margin-top: -5px;\\n border-width: 5px 5px 5px 0;\\n border-right-color: #333333;\\n}\\n\\n.tooltip.left .tooltip-arrow {\\n top: 50%;\\n right: 0;\\n margin-top: -5px;\\n border-width: 5px 0 5px 5px;\\n border-left-color: #333333;\\n}\\n\\n.tooltip.bottom .tooltip-arrow {\\n top: 0;\\n left: 50%;\\n margin-left: -5px;\\n border-width: 0 5px 5px;\\n border-bottom-color: #333333;\\n}\\n\\n.tooltip.bottom-left .tooltip-arrow {\\n top: 0;\\n right: 5px;\\n margin-top: -5px;\\n border-width: 0 5px 5px;\\n border-bottom-color: #333333;\\n}\\n\\n.tooltip.bottom-right .tooltip-arrow {\\n top: 0;\\n left: 5px;\\n margin-top: -5px;\\n border-width: 0 5px 5px;\\n border-bottom-color: #333333;\\n}\\n\\n.popover {\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: 1060;\\n display: none;\\n max-width: 276px;\\n padding: 1px;\\n font-family: \\\"Open Sans\\\", \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-style: normal;\\n font-weight: normal;\\n letter-spacing: normal;\\n line-break: auto;\\n line-height: 1.4;\\n text-align: left;\\n text-align: start;\\n text-decoration: none;\\n text-shadow: none;\\n text-transform: none;\\n white-space: normal;\\n word-break: normal;\\n word-spacing: normal;\\n word-wrap: normal;\\n font-size: 15px;\\n background-color: #333333;\\n -webkit-background-clip: padding-box;\\n background-clip: padding-box;\\n border: 1px solid #333333;\\n border: 1px solid transparent;\\n border-radius: 0;\\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\\n}\\n\\n.popover.top {\\n margin-top: -10px;\\n}\\n\\n.popover.right {\\n margin-left: 10px;\\n}\\n\\n.popover.bottom {\\n margin-top: 10px;\\n}\\n\\n.popover.left {\\n margin-left: -10px;\\n}\\n\\n.popover-title {\\n margin: 0;\\n padding: 8px 14px;\\n font-size: 15px;\\n background-color: #333333;\\n border-bottom: 1px solid #262626;\\n border-radius: -1 -1 0 0;\\n}\\n\\n.popover-content {\\n padding: 9px 14px;\\n}\\n\\n.popover > .arrow,\\n.popover > .arrow:after {\\n position: absolute;\\n display: block;\\n width: 0;\\n height: 0;\\n border-color: transparent;\\n border-style: solid;\\n}\\n\\n.popover > .arrow {\\n border-width: 11px;\\n}\\n\\n.popover > .arrow:after {\\n border-width: 10px;\\n content: \\\"\\\";\\n}\\n\\n.popover.top > .arrow {\\n left: 50%;\\n margin-left: -11px;\\n border-bottom-width: 0;\\n border-top-color: #000000;\\n border-top-color: rgba(0, 0, 0, 0.05);\\n bottom: -11px;\\n}\\n\\n.popover.top > .arrow:after {\\n content: \\\" \\\";\\n bottom: 1px;\\n margin-left: -10px;\\n border-bottom-width: 0;\\n border-top-color: #333333;\\n}\\n\\n.popover.right > .arrow {\\n top: 50%;\\n left: -11px;\\n margin-top: -11px;\\n border-left-width: 0;\\n border-right-color: #000000;\\n border-right-color: rgba(0, 0, 0, 0.05);\\n}\\n\\n.popover.right > .arrow:after {\\n content: \\\" \\\";\\n left: 1px;\\n bottom: -10px;\\n border-left-width: 0;\\n border-right-color: #333333;\\n}\\n\\n.popover.bottom > .arrow {\\n left: 50%;\\n margin-left: -11px;\\n border-top-width: 0;\\n border-bottom-color: #000000;\\n border-bottom-color: rgba(0, 0, 0, 0.05);\\n top: -11px;\\n}\\n\\n.popover.bottom > .arrow:after {\\n content: \\\" \\\";\\n top: 1px;\\n margin-left: -10px;\\n border-top-width: 0;\\n border-bottom-color: #333333;\\n}\\n\\n.popover.left > .arrow {\\n top: 50%;\\n right: -11px;\\n margin-top: -11px;\\n border-right-width: 0;\\n border-left-color: #000000;\\n border-left-color: rgba(0, 0, 0, 0.05);\\n}\\n\\n.popover.left > .arrow:after {\\n content: \\\" \\\";\\n right: 1px;\\n border-right-width: 0;\\n border-left-color: #333333;\\n bottom: -10px;\\n}\\n\\n.carousel {\\n position: relative;\\n}\\n\\n.carousel-inner {\\n position: relative;\\n overflow: hidden;\\n width: 100%;\\n}\\n\\n.carousel-inner > .item {\\n display: none;\\n position: relative;\\n -webkit-transition: 0.6s ease-in-out left;\\n -o-transition: 0.6s ease-in-out left;\\n transition: 0.6s ease-in-out left;\\n}\\n\\n.carousel-inner > .item > img,\\n.carousel-inner > .item > a > img {\\n line-height: 1;\\n}\\n\\n@media all and (transform-3d), (-webkit-transform-3d) {\\n .carousel-inner > .item {\\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\\n -o-transition: -o-transform 0.6s ease-in-out;\\n transition: transform 0.6s ease-in-out;\\n -webkit-backface-visibility: hidden;\\n backface-visibility: hidden;\\n -webkit-perspective: 1000px;\\n perspective: 1000px;\\n }\\n .carousel-inner > .item.next,\\n .carousel-inner > .item.active.right {\\n -webkit-transform: translate3d(100%, 0, 0);\\n transform: translate3d(100%, 0, 0);\\n left: 0;\\n }\\n .carousel-inner > .item.prev,\\n .carousel-inner > .item.active.left {\\n -webkit-transform: translate3d(-100%, 0, 0);\\n transform: translate3d(-100%, 0, 0);\\n left: 0;\\n }\\n .carousel-inner > .item.next.left,\\n .carousel-inner > .item.prev.right,\\n .carousel-inner > .item.active {\\n -webkit-transform: translate3d(0, 0, 0);\\n transform: translate3d(0, 0, 0);\\n left: 0;\\n }\\n}\\n.carousel-inner > .active,\\n.carousel-inner > .next,\\n.carousel-inner > .prev {\\n display: block;\\n}\\n\\n.carousel-inner > .active {\\n left: 0;\\n}\\n\\n.carousel-inner > .next,\\n.carousel-inner > .prev {\\n position: absolute;\\n top: 0;\\n width: 100%;\\n}\\n\\n.carousel-inner > .next {\\n left: 100%;\\n}\\n\\n.carousel-inner > .prev {\\n left: -100%;\\n}\\n\\n.carousel-inner > .next.left,\\n.carousel-inner > .prev.right {\\n left: 0;\\n}\\n\\n.carousel-inner > .active.left {\\n left: -100%;\\n}\\n\\n.carousel-inner > .active.right {\\n left: 100%;\\n}\\n\\n.carousel-control {\\n position: absolute;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n width: 15%;\\n opacity: 0.5;\\n filter: alpha(opacity=50);\\n font-size: 20px;\\n color: #ffffff;\\n text-align: center;\\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\\n background-color: rgba(0, 0, 0, 0);\\n}\\n\\n.carousel-control.left {\\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));\\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\\\"#80000000\\\", endColorstr=\\\"#00000000\\\", GradientType=1);\\n}\\n\\n.carousel-control.right {\\n left: auto;\\n right: 0;\\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));\\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\\n background-repeat: repeat-x;\\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\\\"#00000000\\\", endColorstr=\\\"#80000000\\\", GradientType=1);\\n}\\n\\n.carousel-control:hover,\\n.carousel-control:focus {\\n outline: 0;\\n color: #ffffff;\\n text-decoration: none;\\n opacity: 0.9;\\n filter: alpha(opacity=90);\\n}\\n\\n.carousel-control .icon-prev,\\n.carousel-control .icon-next,\\n.carousel-control .glyphicon-chevron-left,\\n.carousel-control .glyphicon-chevron-right {\\n position: absolute;\\n top: 50%;\\n margin-top: -10px;\\n z-index: 5;\\n display: inline-block;\\n}\\n\\n.carousel-control .icon-prev,\\n.carousel-control .glyphicon-chevron-left {\\n left: 50%;\\n margin-left: -10px;\\n}\\n\\n.carousel-control .icon-next,\\n.carousel-control .glyphicon-chevron-right {\\n right: 50%;\\n margin-right: -10px;\\n}\\n\\n.carousel-control .icon-prev,\\n.carousel-control .icon-next {\\n width: 20px;\\n height: 20px;\\n line-height: 1;\\n font-family: serif;\\n}\\n\\n.carousel-control .icon-prev:before {\\n content: \\\"‹\\\";\\n}\\n\\n.carousel-control .icon-next:before {\\n content: \\\"›\\\";\\n}\\n\\n.carousel-indicators {\\n position: absolute;\\n bottom: 10px;\\n left: 50%;\\n z-index: 15;\\n width: 60%;\\n margin-left: -30%;\\n padding-left: 0;\\n list-style: none;\\n text-align: center;\\n}\\n\\n.carousel-indicators li {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n margin: 1px;\\n text-indent: -999px;\\n border: 1px solid #ffffff;\\n border-radius: 10px;\\n cursor: pointer;\\n background-color: #000 \\\\9 ;\\n background-color: rgba(0, 0, 0, 0);\\n}\\n\\n.carousel-indicators .active {\\n margin: 0;\\n width: 12px;\\n height: 12px;\\n background-color: #ffffff;\\n}\\n\\n.carousel-caption {\\n position: absolute;\\n left: 15%;\\n right: 15%;\\n bottom: 20px;\\n z-index: 10;\\n padding-top: 20px;\\n padding-bottom: 20px;\\n color: #ffffff;\\n text-align: center;\\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\\n}\\n\\n.carousel-caption .btn {\\n text-shadow: none;\\n}\\n\\n@media screen and (min-width: 768px) {\\n .carousel-control .glyphicon-chevron-left,\\n .carousel-control .glyphicon-chevron-right,\\n .carousel-control .icon-prev,\\n .carousel-control .icon-next {\\n width: 30px;\\n height: 30px;\\n margin-top: -10px;\\n font-size: 30px;\\n }\\n .carousel-control .glyphicon-chevron-left,\\n .carousel-control .icon-prev {\\n margin-left: -10px;\\n }\\n .carousel-control .glyphicon-chevron-right,\\n .carousel-control .icon-next {\\n margin-right: -10px;\\n }\\n .carousel-caption {\\n left: 20%;\\n right: 20%;\\n padding-bottom: 30px;\\n }\\n .carousel-indicators {\\n bottom: 20px;\\n }\\n}\\n.clearfix:before,\\n.clearfix:after,\\n.dl-horizontal dd:before,\\n.dl-horizontal dd:after,\\n.container:before,\\n.container:after,\\n.container-fluid:before,\\n.container-fluid:after,\\n.row:before,\\n.row:after,\\n.form-horizontal .form-group:before,\\n.form-horizontal .form-group:after,\\n.btn-toolbar:before,\\n.btn-toolbar:after,\\n.btn-group-vertical > .btn-group:before,\\n.btn-group-vertical > .btn-group:after,\\n.nav:before,\\n.nav:after,\\n.navbar:before,\\n.navbar:after,\\n.navbar-header:before,\\n.navbar-header:after,\\n.navbar-collapse:before,\\n.navbar-collapse:after,\\n.pager:before,\\n.pager:after,\\n.panel-body:before,\\n.panel-body:after,\\n.modal-header:before,\\n.modal-header:after,\\n.modal-footer:before,\\n.modal-footer:after {\\n content: \\\" \\\";\\n display: table;\\n}\\n\\n.clearfix:after,\\n.dl-horizontal dd:after,\\n.container:after,\\n.container-fluid:after,\\n.row:after,\\n.form-horizontal .form-group:after,\\n.btn-toolbar:after,\\n.btn-group-vertical > .btn-group:after,\\n.nav:after,\\n.navbar:after,\\n.navbar-header:after,\\n.navbar-collapse:after,\\n.pager:after,\\n.panel-body:after,\\n.modal-header:after,\\n.modal-footer:after {\\n clear: both;\\n}\\n\\n.center-block {\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n\\n.pull-right {\\n float: right !important;\\n}\\n\\n.pull-left {\\n float: left !important;\\n}\\n\\n.hide {\\n display: none !important;\\n}\\n\\n.show {\\n display: block !important;\\n}\\n\\n.invisible {\\n visibility: hidden;\\n}\\n\\n.text-hide {\\n font: 0/0 a;\\n color: transparent;\\n text-shadow: none;\\n background-color: transparent;\\n border: 0;\\n}\\n\\n.hidden {\\n display: none !important;\\n}\\n\\n.affix {\\n position: fixed;\\n}\\n\\n@-ms-viewport {\\n width: device-width;\\n}\\n.visible-xs,\\n.visible-sm,\\n.visible-md,\\n.visible-lg {\\n display: none !important;\\n}\\n\\n.visible-xs-block,\\n.visible-xs-inline,\\n.visible-xs-inline-block,\\n.visible-sm-block,\\n.visible-sm-inline,\\n.visible-sm-inline-block,\\n.visible-md-block,\\n.visible-md-inline,\\n.visible-md-inline-block,\\n.visible-lg-block,\\n.visible-lg-inline,\\n.visible-lg-inline-block {\\n display: none !important;\\n}\\n\\n@media (max-width: 767px) {\\n .visible-xs {\\n display: block !important;\\n }\\n table.visible-xs {\\n display: table !important;\\n }\\n tr.visible-xs {\\n display: table-row !important;\\n }\\n th.visible-xs,\\n td.visible-xs {\\n display: table-cell !important;\\n }\\n}\\n@media (max-width: 767px) {\\n .visible-xs-block {\\n display: block !important;\\n }\\n}\\n@media (max-width: 767px) {\\n .visible-xs-inline {\\n display: inline !important;\\n }\\n}\\n@media (max-width: 767px) {\\n .visible-xs-inline-block {\\n display: inline-block !important;\\n }\\n}\\n@media (min-width: 768px) and (max-width: 991px) {\\n .visible-sm {\\n display: block !important;\\n }\\n table.visible-sm {\\n display: table !important;\\n }\\n tr.visible-sm {\\n display: table-row !important;\\n }\\n th.visible-sm,\\n td.visible-sm {\\n display: table-cell !important;\\n }\\n}\\n@media (min-width: 768px) and (max-width: 991px) {\\n .visible-sm-block {\\n display: block !important;\\n }\\n}\\n@media (min-width: 768px) and (max-width: 991px) {\\n .visible-sm-inline {\\n display: inline !important;\\n }\\n}\\n@media (min-width: 768px) and (max-width: 991px) {\\n .visible-sm-inline-block {\\n display: inline-block !important;\\n }\\n}\\n@media (min-width: 992px) and (max-width: 1199px) {\\n .visible-md {\\n display: block !important;\\n }\\n table.visible-md {\\n display: table !important;\\n }\\n tr.visible-md {\\n display: table-row !important;\\n }\\n th.visible-md,\\n td.visible-md {\\n display: table-cell !important;\\n }\\n}\\n@media (min-width: 992px) and (max-width: 1199px) {\\n .visible-md-block {\\n display: block !important;\\n }\\n}\\n@media (min-width: 992px) and (max-width: 1199px) {\\n .visible-md-inline {\\n display: inline !important;\\n }\\n}\\n@media (min-width: 992px) and (max-width: 1199px) {\\n .visible-md-inline-block {\\n display: inline-block !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .visible-lg {\\n display: block !important;\\n }\\n table.visible-lg {\\n display: table !important;\\n }\\n tr.visible-lg {\\n display: table-row !important;\\n }\\n th.visible-lg,\\n td.visible-lg {\\n display: table-cell !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .visible-lg-block {\\n display: block !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .visible-lg-inline {\\n display: inline !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .visible-lg-inline-block {\\n display: inline-block !important;\\n }\\n}\\n@media (max-width: 767px) {\\n .hidden-xs {\\n display: none !important;\\n }\\n}\\n@media (min-width: 768px) and (max-width: 991px) {\\n .hidden-sm {\\n display: none !important;\\n }\\n}\\n@media (min-width: 992px) and (max-width: 1199px) {\\n .hidden-md {\\n display: none !important;\\n }\\n}\\n@media (min-width: 1200px) {\\n .hidden-lg {\\n display: none !important;\\n }\\n}\\n.visible-print {\\n display: none !important;\\n}\\n\\n@media print {\\n .visible-print {\\n display: block !important;\\n }\\n table.visible-print {\\n display: table !important;\\n }\\n tr.visible-print {\\n display: table-row !important;\\n }\\n th.visible-print,\\n td.visible-print {\\n display: table-cell !important;\\n }\\n}\\n.visible-print-block {\\n display: none !important;\\n}\\n\\n@media print {\\n .visible-print-block {\\n display: block !important;\\n }\\n}\\n.visible-print-inline {\\n display: none !important;\\n}\\n\\n@media print {\\n .visible-print-inline {\\n display: inline !important;\\n }\\n}\\n.visible-print-inline-block {\\n display: none !important;\\n}\\n\\n@media print {\\n .visible-print-inline-block {\\n display: inline-block !important;\\n }\\n}\\n@media print {\\n .hidden-print {\\n display: none !important;\\n }\\n}\\n.navbar {\\n border: none;\\n font-size: 13px;\\n font-weight: 300;\\n}\\n\\n.navbar .navbar-toggle:hover .icon-bar {\\n background-color: #b3b3b3;\\n}\\n\\n.navbar-collapse {\\n border-top-color: rgba(0, 0, 0, 0.2);\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n}\\n\\n.navbar .btn {\\n padding-top: 6px;\\n padding-bottom: 6px;\\n}\\n\\n.navbar-form {\\n margin-top: 7px;\\n margin-bottom: 5px;\\n}\\n\\n.navbar-form .form-control {\\n height: auto;\\n padding: 4px 6px;\\n}\\n\\n.navbar-text {\\n margin: 12px 15px;\\n line-height: 21px;\\n}\\n\\n.navbar .dropdown-menu {\\n border: none;\\n}\\n\\n.navbar .dropdown-menu > li > a,\\n.navbar .dropdown-menu > li > a:focus {\\n background-color: transparent;\\n font-size: 13px;\\n font-weight: 300;\\n}\\n\\n.navbar .dropdown-header {\\n color: rgba(255, 255, 255, 0.5);\\n}\\n\\n.navbar-default .dropdown-menu {\\n background-color: #333333;\\n}\\n\\n.navbar-default .dropdown-menu > li > a,\\n.navbar-default .dropdown-menu > li > a:focus {\\n color: #ffffff;\\n}\\n\\n.navbar-default .dropdown-menu > li > a:hover,\\n.navbar-default .dropdown-menu > .active > a,\\n.navbar-default .dropdown-menu > .active > a:hover {\\n background-color: #272727;\\n}\\n\\n.navbar-inverse .dropdown-menu {\\n background-color: #008cba;\\n}\\n\\n.navbar-inverse .dropdown-menu > li > a,\\n.navbar-inverse .dropdown-menu > li > a:focus {\\n color: #ffffff;\\n}\\n\\n.navbar-inverse .dropdown-menu > li > a:hover,\\n.navbar-inverse .dropdown-menu > .active > a,\\n.navbar-inverse .dropdown-menu > .active > a:hover {\\n background-color: #006687;\\n}\\n\\n.btn {\\n padding: 8px 12px;\\n}\\n\\n.btn-lg {\\n padding: 16px 20px;\\n}\\n\\n.btn-sm {\\n padding: 8px 12px;\\n}\\n\\n.btn-xs {\\n padding: 4px 6px;\\n}\\n\\n.btn-group .btn ~ .dropdown-toggle {\\n padding-left: 16px;\\n padding-right: 16px;\\n}\\n\\n.btn-group .dropdown-menu {\\n border-top-width: 0;\\n}\\n\\n.btn-group.dropup .dropdown-menu {\\n border-top-width: 1px;\\n border-bottom-width: 0;\\n margin-bottom: 0;\\n}\\n\\n.btn-group .dropdown-toggle.btn-default ~ .dropdown-menu {\\n background-color: #e7e7e7;\\n border-color: #cccccc;\\n}\\n\\n.btn-group .dropdown-toggle.btn-default ~ .dropdown-menu > li > a {\\n color: #333333;\\n}\\n\\n.btn-group .dropdown-toggle.btn-default ~ .dropdown-menu > li > a:hover {\\n background-color: #d3d3d3;\\n}\\n\\n.btn-group .dropdown-toggle.btn-primary ~ .dropdown-menu {\\n background-color: #008cba;\\n border-color: #0079a1;\\n}\\n\\n.btn-group .dropdown-toggle.btn-primary ~ .dropdown-menu > li > a {\\n color: #ffffff;\\n}\\n\\n.btn-group .dropdown-toggle.btn-primary ~ .dropdown-menu > li > a:hover {\\n background-color: #006d91;\\n}\\n\\n.btn-group .dropdown-toggle.btn-success ~ .dropdown-menu {\\n background-color: #43ac6a;\\n border-color: #3c9a5f;\\n}\\n\\n.btn-group .dropdown-toggle.btn-success ~ .dropdown-menu > li > a {\\n color: #ffffff;\\n}\\n\\n.btn-group .dropdown-toggle.btn-success ~ .dropdown-menu > li > a:hover {\\n background-color: #388f58;\\n}\\n\\n.btn-group .dropdown-toggle.btn-info ~ .dropdown-menu {\\n background-color: #5bc0de;\\n border-color: #46b8da;\\n}\\n\\n.btn-group .dropdown-toggle.btn-info ~ .dropdown-menu > li > a {\\n color: #ffffff;\\n}\\n\\n.btn-group .dropdown-toggle.btn-info ~ .dropdown-menu > li > a:hover {\\n background-color: #39b3d7;\\n}\\n\\n.btn-group .dropdown-toggle.btn-warning ~ .dropdown-menu {\\n background-color: #e99002;\\n border-color: #d08002;\\n}\\n\\n.btn-group .dropdown-toggle.btn-warning ~ .dropdown-menu > li > a {\\n color: #ffffff;\\n}\\n\\n.btn-group .dropdown-toggle.btn-warning ~ .dropdown-menu > li > a:hover {\\n background-color: #c17702;\\n}\\n\\n.btn-group .dropdown-toggle.btn-danger ~ .dropdown-menu {\\n background-color: #f04124;\\n border-color: #ea2f10;\\n}\\n\\n.btn-group .dropdown-toggle.btn-danger ~ .dropdown-menu > li > a {\\n color: #ffffff;\\n}\\n\\n.btn-group .dropdown-toggle.btn-danger ~ .dropdown-menu > li > a:hover {\\n background-color: #dc2c0f;\\n}\\n\\n.lead {\\n color: #6f6f6f;\\n}\\n\\ncite {\\n font-style: italic;\\n}\\n\\nblockquote {\\n border-left-width: 1px;\\n color: #6f6f6f;\\n}\\n\\nblockquote.pull-right {\\n border-right-width: 1px;\\n}\\n\\nblockquote small {\\n font-size: 12px;\\n font-weight: 300;\\n}\\n\\ntable {\\n font-size: 12px;\\n}\\n\\nlabel,\\n.control-label,\\n.help-block,\\n.checkbox,\\n.radio {\\n font-size: 12px;\\n font-weight: normal;\\n}\\n\\ninput[type=radio],\\ninput[type=checkbox] {\\n margin-top: 1px;\\n}\\n\\n.nav .open > a,\\n.nav .open > a:hover,\\n.nav .open > a:focus {\\n border-color: transparent;\\n}\\n\\n.nav-tabs > li > a {\\n background-color: #e7e7e7;\\n color: #222222;\\n}\\n\\n.nav-tabs .caret {\\n border-top-color: #222222;\\n border-bottom-color: #222222;\\n}\\n\\n.nav-pills {\\n font-weight: 300;\\n}\\n\\n.breadcrumb {\\n border: 1px solid #dddddd;\\n border-radius: 3px;\\n font-size: 10px;\\n font-weight: 300;\\n text-transform: uppercase;\\n}\\n\\n.pagination {\\n font-size: 12px;\\n font-weight: 300;\\n color: #999999;\\n}\\n\\n.pagination > li > a,\\n.pagination > li > span {\\n margin-left: 4px;\\n color: #999999;\\n}\\n\\n.pagination > .active > a,\\n.pagination > .active > span {\\n color: #fff;\\n}\\n\\n.pagination > li > a,\\n.pagination > li:first-child > a,\\n.pagination > li:last-child > a,\\n.pagination > li > span,\\n.pagination > li:first-child > span,\\n.pagination > li:last-child > span {\\n border-radius: 3px;\\n}\\n\\n.pagination-lg > li > a,\\n.pagination-lg > li > span {\\n padding-left: 22px;\\n padding-right: 22px;\\n}\\n\\n.pagination-sm > li > a,\\n.pagination-sm > li > span {\\n padding: 0 5px;\\n}\\n\\n.pager {\\n font-size: 12px;\\n font-weight: 300;\\n color: #999999;\\n}\\n\\n.list-group {\\n font-size: 12px;\\n font-weight: 300;\\n}\\n\\n.close {\\n opacity: 0.4;\\n text-decoration: none;\\n text-shadow: none;\\n}\\n\\n.close:hover,\\n.close:focus {\\n opacity: 1;\\n}\\n\\n.alert {\\n font-size: 12px;\\n font-weight: 300;\\n}\\n\\n.alert .alert-link {\\n font-weight: normal;\\n color: #fff;\\n text-decoration: underline;\\n}\\n\\n.label {\\n padding-left: 1em;\\n padding-right: 1em;\\n border-radius: 0;\\n font-weight: 300;\\n}\\n\\n.label-default {\\n background-color: #e7e7e7;\\n color: #333333;\\n}\\n\\n.badge {\\n font-weight: 300;\\n}\\n\\n.progress {\\n height: 22px;\\n padding: 2px;\\n background-color: #f6f6f6;\\n border: 1px solid #ccc;\\n -webkit-box-shadow: none;\\n box-shadow: none;\\n}\\n\\n.dropdown-menu {\\n padding: 0;\\n margin-top: 0;\\n font-size: 12px;\\n}\\n\\n.dropdown-menu > li > a {\\n padding: 12px 15px;\\n}\\n\\n.dropdown-header {\\n padding-left: 15px;\\n padding-right: 15px;\\n font-size: 9px;\\n text-transform: uppercase;\\n}\\n\\n.popover {\\n color: #fff;\\n font-size: 12px;\\n font-weight: 300;\\n}\\n\\n.panel-heading,\\n.panel-footer {\\n border-top-right-radius: 0;\\n border-top-left-radius: 0;\\n}\\n\\n.panel-default .close {\\n color: #222222;\\n}\\n\\n.modal .close {\\n color: #222222;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://frontend/./src/stylesheets/utils/bootstrap.css?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n/* harmony import */ var _utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/getMainAxisFromPlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js\");\n/* harmony import */ var _utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/getAltAxis.js */ \"./node_modules/@popperjs/core/lib/utils/getAltAxis.js\");\n/* harmony import */ var _utils_within_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/within.js */ \"./node_modules/@popperjs/core/lib/utils/within.js\");\n/* harmony import */ var _dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../dom-utils/getLayoutRect.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js\");\n/* harmony import */ var _dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../dom-utils/getOffsetParent.js */ \"./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js\");\n/* harmony import */ var _utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/detectOverflow.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n/* harmony import */ var _utils_getVariation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/getVariation.js */ \"./node_modules/@popperjs/core/lib/utils/getVariation.js\");\n/* harmony import */ var _utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/getFreshSideObject.js */ \"./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js\");\n/* harmony import */ var _utils_math_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/math.js */ \"./node_modules/@popperjs/core/lib/utils/math.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = (0,_utils_detectOverflow_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = (0,_utils_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(state.placement);\n var variation = (0,_utils_getVariation_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = (0,_utils_getMainAxisFromPlacement_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(basePlacement);\n var altAxis = (0,_utils_getAltAxis_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.top : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left;\n var altSide = mainAxis === 'y' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_5__.start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === _enums_js__WEBPACK_IMPORTED_MODULE_5__.start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? (0,_dom_utils_getLayoutRect_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : (0,_utils_getFreshSideObject_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && (0,_dom_utils_getOffsetParent_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(tether ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_10__.min)(min, tetherMin) : min, offset, tether ? (0,_utils_math_js__WEBPACK_IMPORTED_MODULE_10__.max)(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.top : _enums_js__WEBPACK_IMPORTED_MODULE_5__.left;\n\n var _altSide = mainAxis === 'x' ? _enums_js__WEBPACK_IMPORTED_MODULE_5__.bottom : _enums_js__WEBPACK_IMPORTED_MODULE_5__.right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [_enums_js__WEBPACK_IMPORTED_MODULE_5__.top, _enums_js__WEBPACK_IMPORTED_MODULE_5__.left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.withinMaxClamp)(_tetherMin, _offset, _tetherMax) : (0,_utils_within_js__WEBPACK_IMPORTED_MODULE_8__.within)(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n});\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js?");
/***/ }),
-/***/ "./node_modules/css-loader/dist/runtime/api.js":
-/*!*****************************************************!*\
- !*** ./node_modules/css-loader/dist/runtime/api.js ***!
- \*****************************************************/
-/***/ ((module) => {
+/***/ "./node_modules/@popperjs/core/lib/popper-lite.js":
+/*!********************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/popper-lite.js ***!
+ \********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};\n\n//# sourceURL=webpack://frontend/./node_modules/css-loader/dist/runtime/api.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createPopper: () => (/* binding */ createPopper),\n/* harmony export */ defaultModifiers: () => (/* binding */ defaultModifiers),\n/* harmony export */ detectOverflow: () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n/* harmony export */ popperGenerator: () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_4__.popperGenerator)\n/* harmony export */ });\n/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./createPopper.js */ \"./node_modules/@popperjs/core/lib/createPopper.js\");\n/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./createPopper.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ \"./node_modules/@popperjs/core/lib/modifiers/eventListeners.js\");\n/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ \"./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\");\n/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/computeStyles.js\");\n/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/applyStyles.js\");\n\n\n\n\n\nvar defaultModifiers = [_modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]];\nvar createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_4__.popperGenerator)({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\n\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/popper-lite.js?");
/***/ }),
-/***/ "./node_modules/css-loader/dist/runtime/getUrl.js":
-/*!********************************************************!*\
- !*** ./node_modules/css-loader/dist/runtime/getUrl.js ***!
- \********************************************************/
-/***/ ((module) => {
+/***/ "./node_modules/@popperjs/core/lib/popper.js":
+/*!***************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/popper.js ***!
+ \***************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};\n\n//# sourceURL=webpack://frontend/./node_modules/css-loader/dist/runtime/getUrl.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ applyStyles: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.applyStyles),\n/* harmony export */ arrow: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.arrow),\n/* harmony export */ computeStyles: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.computeStyles),\n/* harmony export */ createPopper: () => (/* binding */ createPopper),\n/* harmony export */ createPopperLite: () => (/* reexport safe */ _popper_lite_js__WEBPACK_IMPORTED_MODULE_11__.createPopper),\n/* harmony export */ defaultModifiers: () => (/* binding */ defaultModifiers),\n/* harmony export */ detectOverflow: () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"]),\n/* harmony export */ eventListeners: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.eventListeners),\n/* harmony export */ flip: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.flip),\n/* harmony export */ hide: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.hide),\n/* harmony export */ offset: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.offset),\n/* harmony export */ popperGenerator: () => (/* reexport safe */ _createPopper_js__WEBPACK_IMPORTED_MODULE_9__.popperGenerator),\n/* harmony export */ popperOffsets: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.popperOffsets),\n/* harmony export */ preventOverflow: () => (/* reexport safe */ _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__.preventOverflow)\n/* harmony export */ });\n/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./createPopper.js */ \"./node_modules/@popperjs/core/lib/createPopper.js\");\n/* harmony import */ var _createPopper_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./createPopper.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n/* harmony import */ var _modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modifiers/eventListeners.js */ \"./node_modules/@popperjs/core/lib/modifiers/eventListeners.js\");\n/* harmony import */ var _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modifiers/popperOffsets.js */ \"./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js\");\n/* harmony import */ var _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modifiers/computeStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/computeStyles.js\");\n/* harmony import */ var _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modifiers/applyStyles.js */ \"./node_modules/@popperjs/core/lib/modifiers/applyStyles.js\");\n/* harmony import */ var _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modifiers/offset.js */ \"./node_modules/@popperjs/core/lib/modifiers/offset.js\");\n/* harmony import */ var _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modifiers/flip.js */ \"./node_modules/@popperjs/core/lib/modifiers/flip.js\");\n/* harmony import */ var _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modifiers/preventOverflow.js */ \"./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js\");\n/* harmony import */ var _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modifiers/arrow.js */ \"./node_modules/@popperjs/core/lib/modifiers/arrow.js\");\n/* harmony import */ var _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modifiers/hide.js */ \"./node_modules/@popperjs/core/lib/modifiers/hide.js\");\n/* harmony import */ var _popper_lite_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./popper-lite.js */ \"./node_modules/@popperjs/core/lib/popper-lite.js\");\n/* harmony import */ var _modifiers_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modifiers/index.js */ \"./node_modules/@popperjs/core/lib/modifiers/index.js\");\n\n\n\n\n\n\n\n\n\n\nvar defaultModifiers = [_modifiers_eventListeners_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _modifiers_popperOffsets_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _modifiers_computeStyles_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _modifiers_applyStyles_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _modifiers_offset_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _modifiers_flip_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _modifiers_preventOverflow_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _modifiers_arrow_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _modifiers_hide_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]];\nvar createPopper = /*#__PURE__*/(0,_createPopper_js__WEBPACK_IMPORTED_MODULE_9__.popperGenerator)({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\n // eslint-disable-next-line import/no-unused-modules\n\n // eslint-disable-next-line import/no-unused-modules\n\n\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/popper.js?");
/***/ }),
-/***/ "./node_modules/css-loader/dist/runtime/noSourceMaps.js":
-/*!**************************************************************!*\
- !*** ./node_modules/css-loader/dist/runtime/noSourceMaps.js ***!
- \**************************************************************/
-/***/ ((module) => {
+/***/ "./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js":
+/*!***********************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("\n\nmodule.exports = function (i) {\n return i[1];\n};\n\n//# sourceURL=webpack://frontend/./node_modules/css-loader/dist/runtime/noSourceMaps.js?");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ computeAutoPlacement)\n/* harmony export */ });\n/* harmony import */ var _getVariation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getVariation.js */ \"./node_modules/@popperjs/core/lib/utils/getVariation.js\");\n/* harmony import */ var _enums_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../enums.js */ \"./node_modules/@popperjs/core/lib/enums.js\");\n/* harmony import */ var _detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./detectOverflow.js */ \"./node_modules/@popperjs/core/lib/utils/detectOverflow.js\");\n/* harmony import */ var _getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./getBasePlacement.js */ \"./node_modules/@popperjs/core/lib/utils/getBasePlacement.js\");\n\n\n\n\nfunction computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.placements : _options$allowedAutoP;\n var variation = (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(placement);\n var placements = variation ? flipVariations ? _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements : _enums_js__WEBPACK_IMPORTED_MODULE_0__.variationPlacements.filter(function (placement) {\n return (0,_getVariation_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(placement) === variation;\n }) : _enums_js__WEBPACK_IMPORTED_MODULE_0__.basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = (0,_detectOverflow_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[(0,_getBasePlacement_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}\n\n//# sourceURL=webpack://frontend/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js?");
/***/ }),
-/***/ "./node_modules/dom-helpers/esm/activeElement.js":
-/*!*******************************************************!*\
- !*** ./node_modules/dom-helpers/esm/activeElement.js ***!
- \*******************************************************/
+/***/ "./node_modules/@popperjs/core/lib/utils/computeOffsets.js":
+/*!*****************************************************************!*\
+ !*** ./node_modules/@popperjs/core/lib/utils/computeOffsets.js ***!
+ \*****************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ activeElement)\n/* harmony export */ });\n/* harmony import */ var _ownerDocument__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ownerDocument */ \"./node_modules/dom-helpers/esm/ownerDocument.js\");\n\n/**\n * Returns the actively focused element safely.\n *\n * @param doc the document to check\n */\n\nfunction activeElement(doc) {\n if (doc === void 0) {\n doc = (0,_ownerDocument__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n }\n\n // Support: IE 9 only\n // IE9 throws an \"Unspecified error\" accessing document.activeElement from an