diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 0000000..88d096f --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 637a7eca1e3c56816768fa3b4084e181 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/api/events/event_severity.doctree b/.doctrees/api/events/event_severity.doctree new file mode 100644 index 0000000..5340ec2 Binary files /dev/null and b/.doctrees/api/events/event_severity.doctree differ diff --git a/.doctrees/api/events/event_type.doctree b/.doctrees/api/events/event_type.doctree new file mode 100644 index 0000000..d381d6d Binary files /dev/null and b/.doctrees/api/events/event_type.doctree differ diff --git a/.doctrees/api/events/index.doctree b/.doctrees/api/events/index.doctree new file mode 100644 index 0000000..9864469 Binary files /dev/null and b/.doctrees/api/events/index.doctree differ diff --git a/.doctrees/api/extension.doctree b/.doctrees/api/extension.doctree new file mode 100644 index 0000000..8e1e66b Binary files /dev/null and b/.doctrees/api/extension.doctree differ diff --git a/.doctrees/api/metrics/index.doctree b/.doctrees/api/metrics/index.doctree new file mode 100644 index 0000000..b6aacf7 Binary files /dev/null and b/.doctrees/api/metrics/index.doctree differ diff --git a/.doctrees/api/metrics/metric.doctree b/.doctrees/api/metrics/metric.doctree new file mode 100644 index 0000000..03060ea Binary files /dev/null and b/.doctrees/api/metrics/metric.doctree differ diff --git a/.doctrees/api/metrics/metric_type.doctree b/.doctrees/api/metrics/metric_type.doctree new file mode 100644 index 0000000..8f8f932 Binary files /dev/null and b/.doctrees/api/metrics/metric_type.doctree differ diff --git a/.doctrees/cli/assemble.doctree b/.doctrees/cli/assemble.doctree new file mode 100644 index 0000000..b7097d3 Binary files /dev/null and b/.doctrees/cli/assemble.doctree differ diff --git a/.doctrees/cli/build.doctree b/.doctrees/cli/build.doctree new file mode 100644 index 0000000..46d0720 Binary files /dev/null and b/.doctrees/cli/build.doctree differ diff --git a/.doctrees/cli/create.doctree b/.doctrees/cli/create.doctree new file mode 100644 index 0000000..d12e66b Binary files /dev/null and b/.doctrees/cli/create.doctree differ diff --git a/.doctrees/cli/gencerts.doctree b/.doctrees/cli/gencerts.doctree new file mode 100644 index 0000000..51749a0 Binary files /dev/null and b/.doctrees/cli/gencerts.doctree differ diff --git a/.doctrees/cli/help.doctree b/.doctrees/cli/help.doctree new file mode 100644 index 0000000..1238d1f Binary files /dev/null and b/.doctrees/cli/help.doctree differ diff --git a/.doctrees/cli/run.doctree b/.doctrees/cli/run.doctree new file mode 100644 index 0000000..316be2e Binary files /dev/null and b/.doctrees/cli/run.doctree differ diff --git a/.doctrees/cli/sign.doctree b/.doctrees/cli/sign.doctree new file mode 100644 index 0000000..405a92e Binary files /dev/null and b/.doctrees/cli/sign.doctree differ diff --git a/.doctrees/cli/upload.doctree b/.doctrees/cli/upload.doctree new file mode 100644 index 0000000..a6061ef Binary files /dev/null and b/.doctrees/cli/upload.doctree differ diff --git a/.doctrees/cli/wheel.doctree b/.doctrees/cli/wheel.doctree new file mode 100644 index 0000000..8405de9 Binary files /dev/null and b/.doctrees/cli/wheel.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle new file mode 100644 index 0000000..dcd4535 Binary files /dev/null and b/.doctrees/environment.pickle differ diff --git a/.doctrees/guides/building.doctree b/.doctrees/guides/building.doctree new file mode 100644 index 0000000..271da1e Binary files /dev/null and b/.doctrees/guides/building.doctree differ diff --git a/.doctrees/guides/extension_structure.doctree b/.doctrees/guides/extension_structure.doctree new file mode 100644 index 0000000..ffb1a4d Binary files /dev/null and b/.doctrees/guides/extension_structure.doctree differ diff --git a/.doctrees/guides/installation.doctree b/.doctrees/guides/installation.doctree new file mode 100644 index 0000000..56e3aa7 Binary files /dev/null and b/.doctrees/guides/installation.doctree differ diff --git a/.doctrees/guides/migration.doctree b/.doctrees/guides/migration.doctree new file mode 100644 index 0000000..db99d69 Binary files /dev/null and b/.doctrees/guides/migration.doctree differ diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree new file mode 100644 index 0000000..d9a70e8 Binary files /dev/null and b/.doctrees/index.doctree differ diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md new file mode 100644 index 0000000..6592bce --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# GitHub Pages for `dt-extensions-sdk` + +The contents of this branch are built using GitHub Actions workflow and Sphinx. + +*commit b0a20a* diff --git a/_images/migrate-01-new-extension.png b/_images/migrate-01-new-extension.png new file mode 100644 index 0000000..a2ff181 Binary files /dev/null and b/_images/migrate-01-new-extension.png differ diff --git a/_images/migrate-02-type.png b/_images/migrate-02-type.png new file mode 100644 index 0000000..7f24ac9 Binary files /dev/null and b/_images/migrate-02-type.png differ diff --git a/_images/migrate-03-import.png b/_images/migrate-03-import.png new file mode 100644 index 0000000..3a79b46 Binary files /dev/null and b/_images/migrate-03-import.png differ diff --git a/_images/migrate-04-import-remote.png b/_images/migrate-04-import-remote.png new file mode 100644 index 0000000..0000d8b Binary files /dev/null and b/_images/migrate-04-import-remote.png differ diff --git a/_images/migrate-05-activation.png b/_images/migrate-05-activation.png new file mode 100644 index 0000000..857fa77 Binary files /dev/null and b/_images/migrate-05-activation.png differ diff --git a/_images/migrate-06-activation-config.png b/_images/migrate-06-activation-config.png new file mode 100644 index 0000000..eaa4fd0 Binary files /dev/null and b/_images/migrate-06-activation-config.png differ diff --git a/_modules/dynatrace_extension/sdk/event.html b/_modules/dynatrace_extension/sdk/event.html new file mode 100644 index 0000000..e3d80ab --- /dev/null +++ b/_modules/dynatrace_extension/sdk/event.html @@ -0,0 +1,215 @@ + + + + + + + dynatrace_extension.sdk.event — dt-sdk 1.0.0 documentation + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + +
+
+
+
+
+
+
+
+
+
+

Source code for dynatrace_extension.sdk.event

+# SPDX-FileCopyrightText: 2023-present Dynatrace LLC
+#
+# SPDX-License-Identifier: MIT
+
+from enum import Enum
+
+
+
+[docs] +class Severity(Enum): + """Severity of an event ingested through log ingest.""" + + EMERGENCY = "EMERGENCY" + ERROR = "ERROR" + ALERT = "ALERT" + CRITICAL = "CRITICAL" + SEVERE = "SEVERE" + WARN = "WARN" + NOTICE = "NOTICE" + INFO = "INFO" + DEBUG = "DEBUG"
+ +
+
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/dynatrace_extension/sdk/extension.html b/_modules/dynatrace_extension/sdk/extension.html new file mode 100644 index 0000000..f35759e --- /dev/null +++ b/_modules/dynatrace_extension/sdk/extension.html @@ -0,0 +1,1346 @@ + + + + + + + dynatrace_extension.sdk.extension — dt-sdk 1.0.0 documentation + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + +
+
+
+
+
+
+
+
+
+
+

Source code for dynatrace_extension.sdk.extension

+# SPDX-FileCopyrightText: 2023-present Dynatrace LLC
+#
+# SPDX-License-Identifier: MIT
+
+import logging
+import sched
+import signal
+import sys
+import threading
+import time
+from argparse import ArgumentParser
+from concurrent.futures import ThreadPoolExecutor
+from datetime import datetime, timedelta, timezone
+from enum import Enum
+from itertools import chain
+from pathlib import Path
+from threading import Lock, RLock, active_count
+from typing import Any, Callable, ClassVar, Dict, List, NamedTuple, Optional, Union
+
+from .activation import ActivationConfig, ActivationType
+from .callback import WrappedCallback
+from .communication import CommunicationClient, DebugClient, HttpClient, Status, StatusValue
+from .event import Severity
+from .metric import Metric, MetricType, SfmMetric, SummaryStat
+from .runtime import RuntimeProperties
+from .snapshot import Snapshot
+
+HEARTBEAT_INTERVAL = timedelta(seconds=50)
+METRIC_SENDING_INTERVAL = timedelta(seconds=30)
+SFM_METRIC_SENDING_INTERVAL = timedelta(seconds=60)
+TIME_DIFF_INTERVAL = timedelta(seconds=60)
+
+CALLBACKS_THREAD_POOL_SIZE = 100
+INTERNAL_THREAD_POOL_SIZE = 20
+
+RFC_3339_FORMAT = "%Y-%m-%dT%H:%M:%SZ"
+DATASOURCE_TYPE = "python"
+
+logging.raiseExceptions = False
+formatter = logging.Formatter("%(asctime)s [%(levelname)s] %(name)s (%(threadName)s): %(message)s")
+error_handler = logging.StreamHandler()
+error_handler.addFilter(lambda record: record.levelno >= logging.ERROR)
+error_handler.setFormatter(formatter)
+std_handler = logging.StreamHandler(sys.stdout)
+std_handler.addFilter(lambda record: record.levelno < logging.ERROR)
+std_handler.setFormatter(formatter)
+extension_logger = logging.getLogger(__name__)
+extension_logger.setLevel(logging.INFO)
+extension_logger.addHandler(error_handler)
+extension_logger.addHandler(std_handler)
+
+api_logger = logging.getLogger("api")
+api_logger.setLevel(logging.INFO)
+api_logger.addHandler(error_handler)
+api_logger.addHandler(std_handler)
+
+DT_EVENT_SCHEMA = {
+    "eventType": str,
+    "title": str,
+    "startTime": int,
+    "endTime": int,
+    "timeout": int,
+    "entitySelector": str,
+    "properties": dict,
+}
+
+
+class AggregationMode(Enum):
+    ALL = "include_all"
+    NONE = "include_none"
+    LIST = "include_list"
+
+
+
+[docs] +class DtEventType(str, Enum): + """Event type. + + Note: + Official API v2 documentation: + + https://docs.dynatrace.com/docs/dynatrace-api/environment-api/events-v2/post-event + """ + + AVAILABILITY_EVENT = "AVAILABILITY_EVENT" + CUSTOM_INFO = "CUSTOM_INFO" + CUSTOM_ALERT = "CUSTOM_ALERT" + CUSTOM_ANNOTATION = "CUSTOM_ANNOTATION" + CUSTOM_CONFIGURATION = "CUSTOM_CONFIGURATION" + CUSTOM_DEPLOYMENT = "CUSTOM_DEPLOYMENT" + ERROR_EVENT = "ERROR_EVENT" + MARKED_FOR_TERMINATION = "MARKED_FOR_TERMINATION" + PERFORMANCE_EVENT = "PERFORMANCE_EVENT" + RESOURCE_CONTENTION_EVENT = "RESOURCE_CONTENTION_EVENT"
+ + + +class CountMetricRegistrationEntry(NamedTuple): + metric_key: str + aggregation_mode: AggregationMode + dimensions_list: list[str] + + @staticmethod + def make_list(metric_key: str, dimensions_list: List[str]): + """Build an entry that uses defined list of dimensions for aggregation. + + Args: + metric_key: Metric key in string. + dimensions_list: List of dimensions. + """ + return CountMetricRegistrationEntry(metric_key, AggregationMode.LIST, dimensions_list) + + @staticmethod + def make_all(metric_key: str): + """Build an entry that uses all mint dimensions for aggregation. + + Args: + metric_key: Metric key in string. + """ + return CountMetricRegistrationEntry(metric_key, AggregationMode.ALL, []) + + @staticmethod + def make_none(metric_key: str): + """Build an entry that uses none of mint dimensions for aggregation. + + Args: + metric_key: Metric key in string. + """ + return CountMetricRegistrationEntry(metric_key, AggregationMode.NONE, []) + + def registration_items_dict(self): + result = {"aggregation_mode": self.aggregation_mode.value} + if self.aggregation_mode == AggregationMode.LIST: + result["dimensions_list"] = self.dimensions_list + return result + else: + return result + + +def _add_sfm_metric(metric: Metric, sfm_metrics: Optional[List[Metric]] = None): + if sfm_metrics is None: + sfm_metrics = [] + metric.validate() + sfm_metrics.append(metric) + + +
+[docs] +class Extension: + """Base class for Python extensions. + + Attributes: + logger: Embedded logger object for the extension. + """ + + _instance: ClassVar = None + schedule_decorators: ClassVar = [] + + def __new__(cls, *args, **kwargs): # noqa: ARG003 + if Extension._instance is None: + Extension._instance = super(__class__, cls).__new__(cls) + return Extension._instance + + def __init__(self, name: str = "") -> None: + # do not initialize already created singleton + if hasattr(self, "logger"): + return + + self.logger = extension_logger + self.logger.name = name + + self.extension_config: str = "" + self._feature_sets: dict[str, list[str]] = {} + + # Useful metadata, populated once the extension is started + self.extension_name = name + self.extension_version = "" + self.monitoring_config_name = "" + self._task_id = "development_task_id" + self._monitoring_config_id = "development_config_id" + + # The user can override default EEC enrichment for logs + self.log_event_enrichment = True + + # The Communication client + self._client: CommunicationClient = None # type: ignore + + # Set to true when --fastcheck is passed as a parameter + self._is_fastcheck: bool = True + + # If this is true, we are running locally during development + self._running_in_sim: bool = False + + # Response from EEC to /alive/ requests + self._runtime_properties: RuntimeProperties = RuntimeProperties({}) + + # The time difference between the local machine and the cluster time, used to sync callbacks with cluster + self._cluster_time_diff: int = 0 + + # Optional callback to be invoked during the fastcheck + self._fast_check_callback: Optional[Callable[[ActivationConfig, str], Status]] = None + + # List of all scheduled callbacks we must run + self._scheduled_callbacks: List[WrappedCallback] = [] + self._scheduled_callbacks_before_run: List[WrappedCallback] = [] + + # Internal callbacks results, used to report statuses + self._internal_callbacks_results: Dict[str, Status] = {} + self._internal_callbacks_results_lock: Lock = Lock() + + # Running callbacks, used to get the callback info when reporting metrics + self._running_callbacks: Dict[int, WrappedCallback] = {} + self._running_callbacks_lock: Lock = Lock() + + self._scheduler = sched.scheduler(time.time, time.sleep) + + # Timestamps for scheduling of internal callbacks + self._next_internal_callbacks_timestamps: Dict[str, datetime] = { + "timediff": datetime.now() + TIME_DIFF_INTERVAL, + "heartbeat": datetime.now() + HEARTBEAT_INTERVAL, + "metrics": datetime.now() + METRIC_SENDING_INTERVAL, + "sfm_metrics": datetime.now() + SFM_METRIC_SENDING_INTERVAL, + } + + # Executors for the callbacks and internal methods + self._callbacks_executor = ThreadPoolExecutor(max_workers=CALLBACKS_THREAD_POOL_SIZE) + self._internal_executor = ThreadPoolExecutor(max_workers=INTERNAL_THREAD_POOL_SIZE) + + # Extension metrics + self._metrics_lock = RLock() + self._metrics: List[str] = [] + + # Self monitoring metrics + self._sfm_metrics_lock = Lock() + self._callbackSfmReport: Dict[str, WrappedCallback] = {} + + # Count metric delta signals + self._delta_signal_buffer: set[str] = set() + self._registered_count_metrics: set[str] = set() + + # Self tech rule + self._techrule = "" + + # Error message from caught exception in self.initialize() + self._initialization_error: str = "" + + self._parse_args() + + for function, interval, args, activation_type in Extension.schedule_decorators: + params = (self,) + if args is not None: + params = params + args + self.schedule(function, interval, params, activation_type) + + starting_message = f"Starting {self}" + api_logger.info("-" * len(starting_message)) + api_logger.info(starting_message) + api_logger.info("-" * len(starting_message)) + + def __repr__(self): + return f"{self.__class__.__name__}(name={self.extension_name}, version={self.extension_version})" + + @property + def is_helper(self) -> bool: + """Internal property used by the EEC.""" + + return False + + @property + def task_id(self) -> str: + """Internal property used by the EEC.""" + + return self._task_id + + @property + def monitoring_config_id(self) -> str: + """Internal property used by the EEC. + + Represents a unique identifier of the monitoring configuration. + that is assigned to this particular extension instance. + """ + + return self._monitoring_config_id + +
+[docs] + def run(self): + """Launch the extension instance. + + Calling this method starts the main loop of the extension. + + This method must be invoked once to start the extension, + + if `--fastcheck` is set, the extension will run in fastcheck mode, + otherwise the main loop is started, which periodically runs: + + * The scheduled callbacks + * The heartbeat method + * The metrics publisher method + """ + + self._setup_signal_handlers() + if self._is_fastcheck: + return self._run_fastcheck() + self._start_extension_loop()
+ + + def _setup_signal_handlers(self): + if sys.platform == "win32": + signal.signal(signal.SIGBREAK, self._shutdown_signal_handler) + signal.signal(signal.SIGINT, self._shutdown_signal_handler) + + def _shutdown_signal_handler(self, sig, frame): # noqa: ARG002 + api_logger.info(f"{signal.Signals(sig).name} captured. Flushing metrics and exiting...") + self.on_shutdown() + self._send_metrics() + self._send_sfm_metrics() + sys.exit(0) + +
+[docs] + def on_shutdown(self): + """Callback method to be invoked when the extension is shutting down. + + Called when extension exits after it has received shutdown signal from EEC + This is executed before metrics are flushed to EEC + """ + pass
+ + + def _schedule_callback(self, callback: WrappedCallback): + if callback.activation_type is not None and callback.activation_type != self.activation_config.type: + api_logger.info( + f"Skipping {callback} with activation type {callback.activation_type} because it is not {self.activation_config.type}" + ) + return + + api_logger.debug(f"Scheduling callback {callback}") + + # These properties are updated after the extension starts + callback.cluster_time_diff = self._cluster_time_diff + callback.running_in_sim = self._running_in_sim + self._scheduled_callbacks.append(callback) + self._scheduler.enter(callback.initial_wait_time(), 1, self._callback_iteration, (callback,)) + +
+[docs] + def schedule( + self, + callback: Callable, + interval: Union[timedelta, int], + args: Optional[tuple] = None, + activation_type: Optional[ActivationType] = None, + ) -> None: + """Schedule a method to be executed periodically. + + The callback method will be periodically invoked in a separate thread. + The callback method is always immediately scheduled for execution. + + Args: + callback: The callback method to be invoked + interval: The time interval between invocations, can be a timedelta object, + or an int representing the number of seconds + args: Arguments to the callback, if any + activation_type: Optional activation type when this callback should run, + can be 'ActivationType.LOCAL' or 'ActivationType.REMOTE' + """ + + if isinstance(interval, int): + interval = timedelta(seconds=interval) + + if interval.total_seconds() < 1: + msg = f"Interval must be at least 1 second, got {interval.total_seconds()} seconds" + raise ValueError(msg) + + callback = WrappedCallback(interval, callback, api_logger, args, activation_type=activation_type) + if self._is_fastcheck: + self._scheduled_callbacks_before_run.append(callback) + else: + self._schedule_callback(callback)
+ + +
+[docs] + def query(self): + """Callback to be executed every minute by default. + + Optional method that can be implemented by subclasses. + The query method is always scheduled to run every minute. + """ + pass
+ + +
+[docs] + def initialize(self): + """Callback to be executed when the extension starts. + + Called once after the extension starts and the processes arguments are parsed. + Sometimes there are tasks the user needs to do that must happen before runtime, + but after the activation config has been received, example: Setting the schedule frequency + based on the user input on the monitoring configuration, this can be done on this method + """ + pass
+ + +
+[docs] + def fastcheck(self) -> Status: + """Callback executed when extension is launched. + + Called if the extension is run in the `fastcheck` mode. Only invoked for remote + extensions. + This method is not called if fastcheck callback was already registered with + Extension.register_fastcheck(). + + Returns: + Status with optional message whether the fastcheck succeed or failed. + """ + return Status(StatusValue.OK)
+ + +
+[docs] + def register_fastcheck(self, fast_check_callback: Callable[[ActivationConfig, str], Status]): + """Registers fastcheck callback that is executed in the `fastcheck` mode. + + Extension.fastcheck() is not called if fastcheck callback is registered with this method + + Args: + fast_check_callback: callable called with ActivationConfig and + extension_config arguments. Must return the Status with optional message + whether the fastcheck succeed or failed. + """ + if self._fast_check_callback: + api_logger.error("More than one function assigned to fastcheck, last registered one was kept.") + + self._fast_check_callback = fast_check_callback
+ + + def _register_count_metrics(self, *count_metric_entries: CountMetricRegistrationEntry) -> None: + """Send a count metric registration request to EEC. + + Args: + count_metric_entries: CountMetricRegistrationEntry objects for each count metric to register + """ + json_pattern = { + metric_entry.metric_key: metric_entry.registration_items_dict() for metric_entry in count_metric_entries + } + self._client.register_count_metrics(json_pattern) + + def _send_count_delta_signal(self, metric_keys: set[str], force: bool = True) -> None: + """Send calculate-delta signal to EEC monotonic converter. + + Args: + metric_keys: List with metrics for which we want to calculate deltas + force: If true, it forces the metrics from cache to be pushed into EEC and then delta signal request is + sent. Otherwise, it puts delta signal request in cache and request is sent after nearest (in time) sending + metrics to EEC event + """ + + with self._metrics_lock: + if not force: + for key in metric_keys: + self._delta_signal_buffer.add(key) + return + + self._send_metrics() + self._client.send_count_delta_signal(metric_keys) + self._delta_signal_buffer = { + metric_key for metric_key in self._delta_signal_buffer if metric_key not in metric_keys + } + +
+[docs] + def report_metric( + self, + key: str, + value: Union[float, str, int, SummaryStat], + dimensions: Optional[Dict[str, str]] = None, + techrule: Optional[str] = None, + timestamp: Optional[datetime] = None, + metric_type: MetricType = MetricType.GAUGE, + ) -> None: + """Report a metric. + + Metric is sent to EEC using an HTTP request and MINT protocol. EEC then + sends the metrics to the tenant. + + By default, it reports a gauge metric. + + Args: + key: The metric key, must follow the MINT specification + value: The metric value, can be a simple value or a SummaryStat + dimensions: A dictionary of dimensions + techrule: The technology rule string set by self.techrule setter. + timestamp: The timestamp of the metric, defaults to the current time + metric_type: The type of the metric, defaults to MetricType.GAUGE + """ + + if techrule: + if not dimensions: + dimensions = {} + if "dt.techrule.id" not in dimensions: + dimensions["dt.techrule.id"] = techrule + + if metric_type == MetricType.COUNT and timestamp is None: + # We must report a timestamp for count metrics + timestamp = datetime.now() + + metric = Metric(key=key, value=value, dimensions=dimensions, metric_type=metric_type, timestamp=timestamp) + self._add_metric(metric)
+ + +
+[docs] + def report_mint_lines(self, lines: List[str]) -> None: + """Report mint lines using the MINT protocol + + Examples: + Metric lines must comply with the MINT format. + + >>> self.report_mint_lines(["my_metric 1", "my_other_metric 2"]) + + Args: + lines: A list of mint lines + """ + self._add_mint_lines(lines)
+ + +
+[docs] + def report_event( + self, + title: str, + description: str, + properties: Optional[dict] = None, + timestamp: Optional[datetime] = None, + severity: Union[Severity, str] = Severity.INFO, + ) -> None: + """Report an event using log ingest. + + Args: + title: The title of the event + description: The description of the event + properties: A dictionary of extra event properties + timestamp: The timestamp of the event, defaults to the current time + severity: The severity of the event, defaults to Severity.INFO + """ + if timestamp is None: + timestamp = datetime.now(tz=timezone.utc) + + if properties is None: + properties = {} + + event = { + "content": f"{title}\n{description}", + "title": title, + "description": description, + "timestamp": timestamp.strftime(RFC_3339_FORMAT), + "severity": severity.value if isinstance(severity, Severity) else severity, + **self._metadata, + **properties, + } + self._send_events(event)
+ + +
+[docs] + def report_dt_event( + self, + event_type: DtEventType, + title: str, + start_time: Optional[int] = None, + end_time: Optional[int] = None, + timeout: Optional[int] = None, + entity_selector: Optional[str] = None, + properties: Optional[dict[str, str]] = None, + ) -> None: + """ + Reports an event using the v2 event ingest API. + + Unlike ``report_event``, this directly raises an event or even a problem + based on the specified ``event_type``. + + Note: + For reference see: https://www.dynatrace.com/support/help/dynatrace-api/environment-api/events-v2/post-event + + Args: + event_type: The event type chosen from type Enum (required) + title: The title of the event (required) + start_time: The start time of event in UTC ms, if not set, current timestamp (optional) + end_time: The end time of event in UTC ms, if not set, current timestamp + timeout (optional) + timeout: The timeout of event in minutes, if not set, 15 (optional) + entity_selector: The entity selector, if not set, the event is associated with environment entity (optional) + properties: A map of event properties (optional) + """ + event: Dict[str, Any] = {"eventType": event_type, "title": title} + if start_time: + event["startTime"] = start_time + if end_time: + event["endTime"] = end_time + if timeout: + event["timeout"] = timeout + if entity_selector: + event["entitySelector"] = entity_selector + if properties: + event["properties"] = properties + + self._send_dt_event(event)
+ + +
+[docs] + def report_dt_event_dict(self, event: dict): + """Report an event using event ingest API with provided dictionary. + + Note: + For reference see: https://www.dynatrace.com/support/help/dynatrace-api/environment-api/events-v2/post-event + + Format of the event dictionary:: + + { + "type": "object", + "required": ["eventType", "title"], + "properties": { + "eventType": { + "type": "string", + "enum": [ + "CUSTOM_INFO", + "CUSTOM_ANNOTATION", + "CUSTOM_CONFIGURATION", + "CUSTOM_DEPLOYMENT", + "MARKED_FOR_TERMINATION", + "ERROR_EVENT", + "AVAILABILITY_EVENT", + "PERFORMANCE_EVENT", + "RESOURCE_CONTENTION_EVENT", + "CUSTOM_ALERT" + ] + }, + "title": { + "type": "string", + "minLength": 1 + }, + "startTime": {"type": "integer"}, + "endTime": {"type": "integer"}, + "timeout": {"type": "integer"}, + "entitySelector": {"type": "string"}, + "properties": { + "type": "object", + "patternProperties": { + "^.*$": {"type": "string"} + } + } + } + } + """ + + if "eventType" not in event or "title" not in event: + raise ValueError('"eventType" not present' if "eventType" not in event else '"title" not present in event') + for key, value in event.items(): + if DT_EVENT_SCHEMA[key] is None: + msg = f'invalid member: "{key}"' + raise ValueError(msg) + if key == "eventType" and value not in list(DtEventType): + msg = f"Event type must be a DtEventType enum value, got: {value}" + raise ValueError(msg) + if key == "properties": + for prop_key, prop_val in event[key].items(): + if not isinstance(prop_key, str) or not isinstance(prop_val, str): + msg = f'invalid "properties" member: {prop_key}: {prop_val}, required: "str": str' + raise ValueError(msg) + self._send_dt_event(event)
+ + +
+[docs] + def report_log_event(self, log_event: dict): + """Report a custom log event using log ingest. + + Note: + See reference: https://www.dynatrace.com/support/help/shortlink/log-monitoring-log-data-ingestion + + Args: + log_event: The log event dictionary. + """ + self._send_events(log_event)
+ + +
+[docs] + def report_log_events(self, log_events: List[dict]): + """Report a list of custom log events using log ingest. + + Args: + log_events: The list of log events + """ + self._send_events(log_events)
+ + +
+[docs] + def report_log_lines(self, log_lines: List[Union[str, bytes]]): + """Report a list of log lines using log ingest + + Args: + log_lines: The list of log lines + """ + events = [{"content": line} for line in log_lines] + self._send_events(events)
+ + + @property + def enabled_feature_sets(self) -> dict[str, list[str]]: + """Map of enabled feautre sets and corresponding metrics. + + Returns: + Dictionary containing enabled feature sets with corresponding + metrics defined in ``extension.yaml``. + """ + return { + feature_set_name: metric_keys + for feature_set_name, metric_keys in self._feature_sets.items() + if feature_set_name in self.activation_config.feature_sets or feature_set_name == "default" + } + + @property + def enabled_feature_sets_names(self) -> list[str]: + """Names of enabled feature sets. + + Returns: + List containing names of enabled feature sets. + """ + return list(self.enabled_feature_sets.keys()) + + @property + def enabled_feature_sets_metrics(self) -> list[str]: + """Enabled metrics. + + Returns: + List of all metric keys from enabled feature sets + """ + return list(chain(*self.enabled_feature_sets.values())) + + def _parse_args(self): + parser = ArgumentParser(description="Python extension parameters") + + # Production parameters, these are passed by the EEC + parser.add_argument("--dsid", required=False, default=None) + parser.add_argument("--url", required=False) + parser.add_argument("--idtoken", required=False) + parser.add_argument( + "--loglevel", + help="Set extension log level. Info is default.", + type=str, + choices=["debug", "info"], + default="info", + ) + parser.add_argument("--fastcheck", action="store_true", default=False) + parser.add_argument("--monitoring_config_id", required=False, default=None) + parser.add_argument("--local-ingest", action="store_true", default=False) + parser.add_argument("--local-ingest-port", required=False, default=14499) + + # Debug parameters, these are used when running the extension locally + parser.add_argument("--extensionconfig", required=False, default=None) + parser.add_argument("--activationconfig", required=False, default="activation.json") + parser.add_argument("--no-print-metrics", required=False, action="store_true") + + args, unknown = parser.parse_known_args() + self._is_fastcheck = args.fastcheck + if args.dsid is None: + # DEV mode + self._running_in_sim = True + print_metrics = not args.no_print_metrics + self._client = DebugClient( + activation_config_path=args.activationconfig, + extension_config_path=args.extensionconfig, + logger=api_logger, + local_ingest=args.local_ingest, + local_ingest_port=args.local_ingest_port, + print_metrics=print_metrics, + ) + RuntimeProperties.set_default_log_level(args.loglevel) + else: + # EEC mode + self._client = HttpClient(args.url, args.dsid, args.idtoken, api_logger) + self._task_id = args.dsid + self._monitoring_config_id = args.monitoring_config_id + api_logger.info(f"DSID = {self.task_id}, monitoring config id = {self._monitoring_config_id}") + + self.activation_config = ActivationConfig(self._client.get_activation_config()) + self.extension_config = self._client.get_extension_config() + self._feature_sets = self._client.get_feature_sets() + + self.monitoring_config_name = self.activation_config.description + self.extension_version = self.activation_config.version + + if not self._is_fastcheck: + try: + self.initialize() + if not self.is_helper: + self.schedule(self.query, timedelta(minutes=1)) + except Exception as e: + msg = f"Error running self.initialize {self}: {e!r}" + api_logger.exception(msg) + self._client.send_status(Status(StatusValue.GENERIC_ERROR, msg)) + self._initialization_error = msg + raise e + + @property + def _metadata(self) -> dict: + return { + "dt.extension.config.id": self._runtime_properties.extconfig, + "dt.extension.ds": DATASOURCE_TYPE, + "dt.extension.version": self.extension_version, + "dt.extension.name": self.extension_name, + "monitoring.configuration": self.monitoring_config_name, + } + + def _run_fastcheck(self): + api_logger.info(f"Running fastcheck for monitoring configuration '{self.monitoring_config_name}'") + try: + if self._fast_check_callback: + status = self._fast_check_callback(self.activation_config, self.extension_config) + api_logger.info(f"Sending fastcheck status: {status}") + self._client.send_status(status) + return + + status = self.fastcheck() + api_logger.info(f"Sending fastcheck status: {status}") + self._client.send_status(status) + except Exception as e: + status = Status(StatusValue.GENERIC_ERROR, f"Python datasource fastcheck error: {e!r}") + api_logger.error(f"Error running fastcheck {self}: {e!r}") + self._client.send_status(status) + raise + + def _run_callback(self, callback: WrappedCallback): + if not callback.running: + # Add the callback to the list of running callbacks + with self._running_callbacks_lock: + current_thread_id = threading.get_ident() + self._running_callbacks[current_thread_id] = callback + + callback() + + with self._sfm_metrics_lock: + self._callbackSfmReport[callback.name()] = callback + # Remove the callback from the list of running callbacks + with self._running_callbacks_lock: + self._running_callbacks.pop(current_thread_id, None) + + def _callback_iteration(self, callback: WrappedCallback): + self._callbacks_executor.submit(self._run_callback, callback) + callback.iterations += 1 + next_timestamp = callback.get_next_execution_timestamp() + self._scheduler.enterabs(next_timestamp, 1, self._callback_iteration, (callback,)) + + def _start_extension_loop(self): + api_logger.debug(f"Starting main loop for monitoring configuration: '{self.monitoring_config_name}'") + + # These were scheduled before the extension started, schedule them now + for callback in self._scheduled_callbacks_before_run: + self._schedule_callback(callback) + self._heartbeat_iteration() + self._metrics_iteration() + self._sfm_metrics_iteration() + self._timediff_iteration() + self._scheduler.run() + + def _timediff_iteration(self): + self._internal_executor.submit(self._update_cluster_time_diff) + next_timestamp = self._get_and_set_next_internal_callback_timestamp("timediff", TIME_DIFF_INTERVAL) + self._scheduler.enterabs(next_timestamp, 1, self._timediff_iteration) + + def _heartbeat_iteration(self): + self._internal_executor.submit(self._heartbeat) + next_timestamp = self._get_and_set_next_internal_callback_timestamp("heartbeat", HEARTBEAT_INTERVAL) + self._scheduler.enterabs(next_timestamp, 2, self._heartbeat_iteration) + + def _metrics_iteration(self): + self._internal_executor.submit(self._send_metrics) + next_timestamp = self._get_and_set_next_internal_callback_timestamp("metrics", METRIC_SENDING_INTERVAL) + self._scheduler.enterabs(next_timestamp, 1, self._metrics_iteration) + + def _sfm_metrics_iteration(self): + self._internal_executor.submit(self._send_sfm_metrics) + next_timestamp = self._get_and_set_next_internal_callback_timestamp("sfm_metrics", SFM_METRIC_SENDING_INTERVAL) + self._scheduler.enterabs(next_timestamp, 1, self._sfm_metrics_iteration) + + def _send_metrics(self): + with self._metrics_lock: + with self._internal_callbacks_results_lock: + if self._metrics: + number_of_metrics = len(self._metrics) + responses = self._client.send_metrics(self._metrics) + + self._internal_callbacks_results[self._send_metrics.__name__] = Status(StatusValue.OK) + lines_invalid = sum(response.lines_invalid for response in responses) + if lines_invalid > 0: + message = f"{lines_invalid} invalid metric lines found" + self._internal_callbacks_results[self._send_metrics.__name__] = Status( + StatusValue.GENERIC_ERROR, message + ) + + api_logger.info(f"Sent {number_of_metrics} metric lines to EEC: {responses}") + self._metrics = [] + + def _prepare_sfm_metrics(self) -> List[str]: + """Prepare self monitoring metrics. + + Builds the list of mint metric lines to send as self monitoring metrics. + """ + + sfm_metrics: List[Metric] = [] + sfm_dimensions = {"dt.extension.config.id": self.monitoring_config_id} + _add_sfm_metric( + SfmMetric("threads", active_count(), sfm_dimensions, client_facing=True, metric_type=MetricType.DELTA), + sfm_metrics, + ) + + for name, callback in self._callbackSfmReport.items(): + sfm_dimensions = {"callback": name, "dt.extension.config.id": self.monitoring_config_id} + _add_sfm_metric( + SfmMetric( + "execution.time", + f"{callback.duration_interval_total:.4f}", + sfm_dimensions, + client_facing=True, + metric_type=MetricType.GAUGE, + ), + sfm_metrics, + ) + _add_sfm_metric( + SfmMetric( + "execution.total.count", + callback.executions_total, + sfm_dimensions, + client_facing=True, + metric_type=MetricType.DELTA, + ), + sfm_metrics, + ) + _add_sfm_metric( + SfmMetric( + "execution.count", + callback.executions_per_interval, + sfm_dimensions, + client_facing=True, + metric_type=MetricType.DELTA, + ), + sfm_metrics, + ) + _add_sfm_metric( + SfmMetric( + "execution.ok.count", + callback.ok_count, + sfm_dimensions, + client_facing=True, + metric_type=MetricType.DELTA, + ), + sfm_metrics, + ) + _add_sfm_metric( + SfmMetric( + "execution.timeout.count", + callback.timeouts_count, + sfm_dimensions, + client_facing=True, + metric_type=MetricType.DELTA, + ), + sfm_metrics, + ) + _add_sfm_metric( + SfmMetric( + "execution.exception.count", + callback.exception_count, + sfm_dimensions, + client_facing=True, + metric_type=MetricType.DELTA, + ), + sfm_metrics, + ) + callback.clear_sfm_metrics() + return [metric.to_mint_line() for metric in sfm_metrics] + + def _send_sfm_metrics(self): + with self._sfm_metrics_lock: + lines = self._prepare_sfm_metrics() + # Flushes the cache of metrics, maybe we should only flush if they were successfully sent + self._callbackSfmReport.clear() + response = self._client.send_sfm_metrics(lines) + + with self._internal_callbacks_results_lock: + self._internal_callbacks_results[self._send_sfm_metrics.__name__] = Status(StatusValue.OK) + if response.lines_invalid > 0: + message = f"{response.lines_invalid} invalid metric lines found" + self._internal_callbacks_results[self._send_sfm_metrics.__name__] = Status( + StatusValue.GENERIC_ERROR, message + ) + + def _build_current_status(self): + overall_status = Status(StatusValue.OK) + + if self._initialization_error: + overall_status.status = StatusValue.GENERIC_ERROR + overall_status.message = self._initialization_error + return overall_status + + internal_callback_error = False + messages = [] + with self._internal_callbacks_results_lock: + for callback, result in self._internal_callbacks_results.items(): + if result.is_error(): + internal_callback_error = True + overall_status.status = result.status + messages.append(f"{callback}: {result.message}") + if internal_callback_error: + overall_status.message = "\n".join(messages) + return overall_status + + for callback in self._scheduled_callbacks: + if callback.status.is_error(): + overall_status.status = callback.status.status + messages.append(f"{callback}: {callback.status.message}") + + overall_status.message = "\n".join(messages) + return overall_status + + def _update_cluster_time_diff(self): + self._cluster_time_diff = self._client.get_cluster_time_diff() + for callback in self._scheduled_callbacks: + callback.cluster_time_diff = self._cluster_time_diff + + def _heartbeat(self): + response = bytes("not set", "utf-8") + try: + overall_status = self._build_current_status() + response = self._client.send_status(overall_status) + self._runtime_properties = RuntimeProperties(response) + except Exception as e: + api_logger.error(f"Heartbeat failed because {e}, response {response}", exc_info=True) + + def __del__(self): + self._callbacks_executor.shutdown() + self._internal_executor.shutdown() + + def _add_metric(self, metric: Metric): + metric.validate() + + with self._running_callbacks_lock: + current_thread_id = threading.get_ident() + current_callback = self._running_callbacks.get(current_thread_id) + + if current_callback is not None and metric.timestamp is None: + # Adjust the metric timestamp according to the callback start time + # If the user manually set a metric timestamp, don't adjust it + metric.timestamp = current_callback.get_adjusted_metric_timestamp() + elif current_callback is None and metric.timestamp is None: + api_logger.debug( + f"Metric {metric} was added by unknown thread {current_thread_id}, cannot adjust the timestamp" + ) + + with self._metrics_lock: + self._metrics.append(metric.to_mint_line()) + + def _add_mint_lines(self, lines: List[str]): + with self._metrics_lock: + self._metrics.extend(lines) + + def _send_events_internal(self, events: Union[dict, List[dict]]): + try: + responses = self._client.send_events(events, self.log_event_enrichment) + + for response in responses: + with self._internal_callbacks_results_lock: + self._internal_callbacks_results[self._send_events.__name__] = Status(StatusValue.OK) + if not response or "error" not in response or "message" not in response["error"]: + return + self._internal_callbacks_results[self._send_events.__name__] = Status( + StatusValue.GENERIC_ERROR, response["error"]["message"] + ) + except Exception as e: + api_logger.error(f"Error sending events: {e!r}", exc_info=True) + with self._internal_callbacks_results_lock: + self._internal_callbacks_results[self._send_events.__name__] = Status(StatusValue.GENERIC_ERROR, str(e)) + + def _send_events(self, events: Union[dict, List[dict]]): + self._internal_executor.submit(self._send_events_internal, events) + + def _send_dt_event(self, event: dict[str, str | int | dict[str, str]]): + self._client.send_dt_event(event) + + def _get_and_set_next_internal_callback_timestamp(self, callback_name: str, interval: timedelta): + next_timestamp = self._next_internal_callbacks_timestamps[callback_name] + self._next_internal_callbacks_timestamps[callback_name] += interval + return next_timestamp.timestamp() + +
+[docs] + def get_version(self) -> str: + """Return the extension version.""" + return self.activation_config.version
+ + + @property + def techrule(self) -> str: + """Internal property used by the EEC.""" + + return self._techrule + + @techrule.setter + def techrule(self, value): + self._techrule = value + +
+[docs] + def get_activation_config(self) -> ActivationConfig: + """Retrieve the activation config. + + Represents activation configuration assigned to this particular + extension instance. + + Returns: + ActivationConfig object. + """ + return self.activation_config
+ + +
+[docs] + def get_snapshot(self, snapshot_file: Path | str | None = None) -> Snapshot: + """Retrieves an oneagent snapshot. + + Args: + snapshot_file: Optional path to the snapshot file, only used when running from dt-sdk run + + Returns: + Snapshot object. + """ + if self._running_in_sim: + if snapshot_file is None: + snapshot_file = Path("snapshot.json") + if isinstance(snapshot_file, str): + snapshot_file = Path(snapshot_file) + if not snapshot_file.exists(): + msg = f"snapshot file '{snapshot_file}' not found" + raise FileNotFoundError(msg) + + return Snapshot.parse_from_file(snapshot_file)
+
+ +
+
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/dynatrace_extension/sdk/metric.html b/_modules/dynatrace_extension/sdk/metric.html new file mode 100644 index 0000000..7be5cc5 --- /dev/null +++ b/_modules/dynatrace_extension/sdk/metric.html @@ -0,0 +1,323 @@ + + + + + + + dynatrace_extension.sdk.metric — dt-sdk 1.0.0 documentation + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + +
+
+
+
+
+
+
+
+
+
+

Source code for dynatrace_extension.sdk.metric

+# SPDX-FileCopyrightText: 2023-present Dynatrace LLC
+#
+# SPDX-License-Identifier: MIT
+
+from datetime import datetime
+from enum import Enum
+from typing import Dict, Optional, Union
+
+# https://bitbucket.lab.dynatrace.org/projects/ONE/repos/schemaless-metrics-spec/browse/limits.md
+LIMIT_DIMENSIONS_COUNT = 50
+LIMIT_LINE_LENGTH = 2000
+
+CLIENT_FACING_SFM_NAMESPACE = "dsfm"
+INTERNAL_SFM_NAMESPACE = "isfm"
+
+
+class SummaryStat:
+    def __init__(
+        self,
+        value_min: float,
+        value_max: float,
+        value_sum: float,
+        value_count: float,
+    ):
+        self.value_min = value_min
+        self.value_max = value_max
+        self.value_sum = value_sum
+        self.value_count = value_count
+
+    def __str__(self):
+        return f"min={self.value_min},max={self.value_max},sum={self.value_sum},count={self.value_count}"
+
+
+
+[docs] +class MetricType(Enum): + GAUGE = "gauge" + COUNT = "count" + DELTA = "count,delta"
+ + + +
+[docs] +class Metric: + def __init__( + self, + key: str, + value: Union[float, int, str, SummaryStat], + dimensions: Optional[Dict[str, str]] = None, + metric_type: MetricType = MetricType.GAUGE, + timestamp: Optional[datetime] = None, + ): + self.key: str = key + self.value: Union[float, int, str, SummaryStat] = value + if dimensions is None: + dimensions = {} + self.dimensions: Dict[str, str] = dimensions + self.metric_type: MetricType = metric_type + self.timestamp: Optional[datetime] = timestamp + + def __hash__(self): + return hash(self._key_and_dimensions()) + + def __eq__(self, other): + return self._key_and_dimensions() == other._key_and_dimensions() + +
+[docs] + def to_mint_line(self) -> str: + # Add key and dimensions + line = f"{self._key_and_dimensions()}" + + # Add value + if self.metric_type == MetricType.DELTA: + line = f"{line} {self.metric_type.value}={self.value}" + else: + line = f"{line} {self.metric_type.value},{self.value}" + + # Add timestamp + if self.timestamp is not None: + timestamp = int(self.timestamp.timestamp() * 1000) + line = f"{line} {timestamp}" + + return line
+ + + def __repr__(self): + return self.to_mint_line() + + def _key_and_dimensions(self): + if not self.dimensions: + return f"{self.key}" + + dimensions_string = ",".join([f'{k}="{v}"' for k, v in self.dimensions.items()]) + return f"{self.key},{dimensions_string}" + +
+[docs] + def validate(self) -> bool: + if len(self.dimensions) > LIMIT_DIMENSIONS_COUNT: + msg = f"Metric dimension count of {len(self.dimensions)} exceeds limit of {LIMIT_DIMENSIONS_COUNT} for {self.key}" + raise ValueError(msg) + + line_length = len(self.to_mint_line()) + if line_length > LIMIT_LINE_LENGTH: + msg = f"Metric line length {line_length} exceeds limit of {LIMIT_LINE_LENGTH} for {self.key}" + raise ValueError(msg) + return True
+
+ + + +class SfmMetric(Metric): + def __init__( + self, + key: str, + value: Union[float, int, str, SummaryStat], + dimensions: Optional[Dict[str, str]] = None, + metric_type: MetricType = MetricType.GAUGE, + timestamp: Optional[datetime] = None, + client_facing: bool = False, + ): + key = create_sfm_metric_key(key, client_facing) + super().__init__(key, value, dimensions, metric_type, timestamp) + + +def create_sfm_metric_key(key: str, client_facing: bool = False) -> str: + namespace = CLIENT_FACING_SFM_NAMESPACE if client_facing else INTERNAL_SFM_NAMESPACE + return f"{namespace}:datasource.python.{key}" +
+
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/index.html b/_modules/index.html new file mode 100644 index 0000000..199543a --- /dev/null +++ b/_modules/index.html @@ -0,0 +1,194 @@ + + + + + + + Overview: module code — dt-sdk 1.0.0 documentation + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + +
+
+
+
+
+
+
+
+ + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/_sources/api/events/event_severity.rst.txt b/_sources/api/events/event_severity.rst.txt new file mode 100644 index 0000000..53dd469 --- /dev/null +++ b/_sources/api/events/event_severity.rst.txt @@ -0,0 +1,13 @@ +Event Severity +============== + +The :class:`Severity` class is used to define the severity of a log event. +This enum can only be used in the context of a log ingestion when calling +the :meth:`dynatrace_extension.Extension.report_event` method. + +Members +^^^^^^^ + +.. autoclass:: dynatrace_extension.Severity + :members: + :undoc-members: diff --git a/_sources/api/events/event_type.rst.txt b/_sources/api/events/event_type.rst.txt new file mode 100644 index 0000000..be8e418 --- /dev/null +++ b/_sources/api/events/event_type.rst.txt @@ -0,0 +1,14 @@ +Event Type +========== + +The :class:`DtEventType` class is utilized to define the type event as +ingested through the Events V2 API. +This enum can only be used in the context of a event ingestion when +calling the :meth:`dynatrace_extension.Extension.report_dt_event` method. + +Members +^^^^^^^ + +.. autoclass:: dynatrace_extension.DtEventType + :members: + :undoc-members: diff --git a/_sources/api/events/index.rst.txt b/_sources/api/events/index.rst.txt new file mode 100644 index 0000000..cf57ce4 --- /dev/null +++ b/_sources/api/events/index.rst.txt @@ -0,0 +1,9 @@ +Events +====== + +.. toctree:: + :caption: Submodules and Classes + :maxdepth: 1 + + event_severity + event_type diff --git a/_sources/api/extension.rst.txt b/_sources/api/extension.rst.txt new file mode 100644 index 0000000..eb9d157 --- /dev/null +++ b/_sources/api/extension.rst.txt @@ -0,0 +1,6 @@ + pExtension +========= + +.. autoclass:: dynatrace_extension.Extension + :members: + :undoc-members: \ No newline at end of file diff --git a/_sources/api/metrics/index.rst.txt b/_sources/api/metrics/index.rst.txt new file mode 100644 index 0000000..61b08bf --- /dev/null +++ b/_sources/api/metrics/index.rst.txt @@ -0,0 +1,9 @@ +Metrics +======= + +.. toctree:: + :caption: Submodules and Classes + :maxdepth: 1 + + metric + metric_type diff --git a/_sources/api/metrics/metric.rst.txt b/_sources/api/metrics/metric.rst.txt new file mode 100644 index 0000000..f72a270 --- /dev/null +++ b/_sources/api/metrics/metric.rst.txt @@ -0,0 +1,19 @@ +Metric +====== + +The :class:`dynatrace_extension.Metric` class is mostly used internally to +construct metrics that comply with the MINT protocol which is what Extension +Framework uses to send event to the environment. + +When the :meth:`dynatrace_extension.Extension.report_metric` method is +called, it builds a :class:`Metric` object, which is. then added to the list +of metrics to be sent to the environment. The class has a useful method called +:meth:`dynatrace_extension.Metric.to_mint_line` which allows you to convert +the metric to a string that complies with the MINT protocol. + +Members +^^^^^^^ + +.. autoclass:: dynatrace_extension.Metric + :members: + :undoc-members: diff --git a/_sources/api/metrics/metric_type.rst.txt b/_sources/api/metrics/metric_type.rst.txt new file mode 100644 index 0000000..75e5b6d --- /dev/null +++ b/_sources/api/metrics/metric_type.rst.txt @@ -0,0 +1,18 @@ +Metric Type +=========== + +There are two types of metrics that can be sent to Dynatrace: + +* **Gauge** - A gauge is a metric that represents a single numerical value + that can arbitrarily go up and down. For example, current percentage of + the CPU usage. +* **Counters** - A counter is a metric that is continuously increasing. + For example, the number of bytes received over a network interface since + the start of the process. + +Members +^^^^^^^ + +.. autoclass:: dynatrace_extension.MetricType + :members: + :undoc-members: diff --git a/_sources/cli/assemble.rst.txt b/_sources/cli/assemble.rst.txt new file mode 100644 index 0000000..f70d1c7 --- /dev/null +++ b/_sources/cli/assemble.rst.txt @@ -0,0 +1,4 @@ +Assemble +======== + +.. command-output:: dt-sdk assemble --help diff --git a/_sources/cli/build.rst.txt b/_sources/cli/build.rst.txt new file mode 100644 index 0000000..9f0ca5a --- /dev/null +++ b/_sources/cli/build.rst.txt @@ -0,0 +1,4 @@ +Build +===== + +.. command-output:: dt-sdk build --help diff --git a/_sources/cli/create.rst.txt b/_sources/cli/create.rst.txt new file mode 100644 index 0000000..389935f --- /dev/null +++ b/_sources/cli/create.rst.txt @@ -0,0 +1,4 @@ +Create +====== + +.. command-output:: dt-sdk create --help diff --git a/_sources/cli/gencerts.rst.txt b/_sources/cli/gencerts.rst.txt new file mode 100644 index 0000000..9efba50 --- /dev/null +++ b/_sources/cli/gencerts.rst.txt @@ -0,0 +1,4 @@ +Generate Certificates +===================== + +.. command-output:: dt-sdk gencerts --help diff --git a/_sources/cli/help.rst.txt b/_sources/cli/help.rst.txt new file mode 100644 index 0000000..b998c1d --- /dev/null +++ b/_sources/cli/help.rst.txt @@ -0,0 +1,4 @@ +Help +==== + +.. command-output:: dt-sdk --help diff --git a/_sources/cli/run.rst.txt b/_sources/cli/run.rst.txt new file mode 100644 index 0000000..7617cbe --- /dev/null +++ b/_sources/cli/run.rst.txt @@ -0,0 +1,4 @@ +Run +=== + +.. command-output:: dt-sdk run --help diff --git a/_sources/cli/sign.rst.txt b/_sources/cli/sign.rst.txt new file mode 100644 index 0000000..a16f477 --- /dev/null +++ b/_sources/cli/sign.rst.txt @@ -0,0 +1,4 @@ +Sign +==== + +.. command-output:: dt-sdk sign --help diff --git a/_sources/cli/upload.rst.txt b/_sources/cli/upload.rst.txt new file mode 100644 index 0000000..dcd9210 --- /dev/null +++ b/_sources/cli/upload.rst.txt @@ -0,0 +1,4 @@ +Upload +====== + +.. command-output:: dt-sdk upload --help diff --git a/_sources/cli/wheel.rst.txt b/_sources/cli/wheel.rst.txt new file mode 100644 index 0000000..625cf83 --- /dev/null +++ b/_sources/cli/wheel.rst.txt @@ -0,0 +1,4 @@ +Wheel +===== + +.. command-output:: dt-sdk wheel --help diff --git a/_sources/guides/building.rst.txt b/_sources/guides/building.rst.txt new file mode 100644 index 0000000..1859e8d --- /dev/null +++ b/_sources/guides/building.rst.txt @@ -0,0 +1,129 @@ +Building Extensions +################### + +| This guide provides some best practices on: +| + +* Building extensions +* Python dependencies +* CI systems, offline installs + +Native dependencies +=================== + +| Some python libraries require "native" dependencies, they are not written in pure python and usually contain C, C++, Rust or other compiled languages code. +| This means that they might be compiled for a very specific version of python, or for a specific operating system. +| + +| Examples: +| + +* **requests** requires **charset_normalizer**, a **native dependency** + + +| If you navigate to the `charset-normalizer pypi page`_ you will see dozens of different wheel files. +| Each one of these files is compiled for a different version of python, and for a different operating system. +| +| Your extension will run on a Dynatrace **Activegate** or **OneAgent**, which is a Linux or Windows machine, and it has a specific version of python. +| This means that your extension must be built on a machine that has the same version of python as the Activegate. +| +| At this time, Dynatrace extensions run on **python 3.10**. +| +| When you build the extension with **dt-sdk build**, it downloads the dependencies **whl** files and places them in the lib folder of the extension. +| To obtain whl files for different a operating system than what the build machine is, the SDK provides the **--extra-platform** flag. +| +| In summary, when building from Windows, you should use: +| + +.. code-block:: bash + + dt-sdk build --extra-platform manylinux2014_x86_64 + + +| To get the correct extra wheel files for linux. Note, **manylinux2014_x86_64** works for several packages, but not all of them. +| You need to investigate the dependencies of your extension to find the correct extra platform if that is the case. +| +| When building from Linux, you should use: +| + + +.. code-block:: bash + + dt-sdk build --extra-platform win_amd64 + + +| To get the correct extra wheel files for Windows. +| + +PyPI Access +=========== + +| When building extensions, the SDK downloads the dependencies from PyPI. +| +| In some organizations, you are not allowed to access the internet from the build machine. +| In most cases you will have either: +| + +* A local PyPI mirror +* A directory with all the wheel files present + +| +| Both of these solutions can be used with the SDK. +| + +PyPI Mirror +""""""""""" + +| Suppose you have a local PyPi server running on http://my-pypi-server:8080. +| +| To use it with the SDK, run the build command as: +| + +.. code-block:: bash + + PIP_INDEX_URL=http://my-pypi-server:8080/simple PIP_TRUSTED_HOST=my-pypi-server dt-sdk build + + +| This will tell the SDK to use the local PyPI server to download the dependencies. +| The SDK uses **pip** under the covers, so all the environment variables that **pip** supports can be used with the SDK. +| +| Note, that assumes the build machine is a linux machine. If you are building from Windows on Powershell, you can use: +| + +.. code-block:: bash + + $ENV:PIP_INDEX_URL="http://my-pypi-server:8080/simple"; $ENV:PIP_TRUSTED_HOST="my-pypi-server"; dt-sdk build + + + + + +Local Directory +""""""""""""""" + + +| Another option is to manually download the different whl files you need, and place them in a directory on the build machine. +| In that case, that directory can be used as the source for the dependencies. +| + +.. code-block:: bash + + dt-sdk build --find-links /path/to/whl/files + + +| This will tell the SDK to use the directory as the source for the dependencies. +| + +Musl vs libc +============ + +| Extensions run on `libc`_ based systems, like Ubuntu, CentOS, Windows, etc. +| You should not use a `musl`_ based system, like Alpine, to build extensions. +| +| This means that if you are using a docker container to build the extension, you should use the **python:3.10** image, or any other image that is based on a `libc`_ system. +| +| The reason for this is that a **musl** based system will download native whl files that are not compatible with **libc** based systems. + +.. _charset-normalizer pypi page: https://pypi.org/project/charset-normalizer/#files +.. _musl: https://musl.libc.org/ +.. _libc: https://en.wikipedia.org/wiki/C_standard_library diff --git a/_sources/guides/extension_structure.rst.txt b/_sources/guides/extension_structure.rst.txt new file mode 100644 index 0000000..9bc4496 --- /dev/null +++ b/_sources/guides/extension_structure.rst.txt @@ -0,0 +1,283 @@ +Extension Structure +=================== + +The basic bare-bone structure of an extension is as follows: + +.. code:: bash + + my_extension + ├── README.md + ├── activation.json + ├── extension + │ ├── activationSchema.json + │ └── extension.yaml + ├── my_extension + │ ├── __init__.py + │ └── __main__.py + └── setup.py + +This structure can be generated by running the :doc:`/cli/create` command +``dt-sdk create my_extension``. + +Extension Definition +-------------------- + +``extension.yaml`` + +This is the main configuration file of the extension. It contains information +about the extension name, version, and so on. + +Here is what a sample extension definition looks like: + +.. code:: yaml + + name: custom:my-extension + version: 0.0.1 + minDynatraceVersion: "1.285" + author: + name: "Dynatrace" + + python: + runtime: + module: my_extension + version: + min: "3.10" + + activation: + remote: + path: activationSchema.json + local: + path: activationSchema.json + +Extension Name +^^^^^^^^^^^^^^ + +``name:`` + +All extensions must have a unique name. The name must be in the ``custom:`` namespace, +when it is a custom extension. + +.. admonition:: Official extensions + :class: warning + + Only Dynatrace can create extensions in the ``com.dynatrace.extension`` namespace. + These extensions are signed by Dynatrace and are considered official. + +Extension Version +^^^^^^^^^^^^^^^^^ + +``version:`` + +The version field must be bumped every time the extension is uploaded to the environment. +Otherwise an error will be thrown. The environment does not accept the same version twice. +Each uploaded version must always be unique for the audit tracking purposes. + +Minimal Dynatrace Version +^^^^^^^^^^^^^^^^^^^^^^^^^ + +``minDynatraceVersion:`` + +The minDynatraceVersion field specifies the minimal Dynatrace version that is required +to run the extension. If the ActiveGate or OneAgent version is lower than the +specified one, then the extension will not be activated on that agent. + +This is useful when the extension uses some of the new features that are not yet +available in the older versions of Dynatrace environment or extension execution controller. + +Python +^^^^^^ + +``python:`` + +This is a specification of datasource that Extension Framework understands. There are +different datasources that can be used to collect data from the multitude of sources. + +.. admonition:: Datasources + :class: seealso + + Other datasources include `snmp`_, `jmx`_, `prometheus`_, `sql`_, `wmi`_. + +They can't be used within the same extension, but all EF2.0 extensions follow the same +format, where there is the ``extension.yaml`` file, which contains the required +definition of the datasource. + +Python Runtime +^^^^^^^^^^^^^^ + +``runtime:`` + +Here we can specify which minimal version of Python is required to run the extension. +This does not play a big role, since the version of Python is determined by what +is received from ActiveGate or OneAgent. This field is mandatory. + +.. admonition:: Don't bring your own Python + :class: warning + + Custom Python runtime is not supported. ActiveGate and OneAgent supply the Python + interpreter for the extension to be able to run. It is impossible to specify a + custom Python interpreter or use one that is installed on the system. + +The ``module`` field specifies the name of the main Python module that contains the +extension logic. This module must be importable by the Python interpreter, thus it +must always contain the ``__init__.py`` file to be considered a valid Python module. + +Datasource Activation +^^^^^^^^^^^^^^^^^^^^^ + +``activation:`` + +This is a specification of the datasource activation. It might contain ``local:`` and +``remote:`` sections or only one of them. + +* ``local:`` means the extension can run on OneAgent. When you deploy the extension, + the environment will automatically read this value and will understand that an active + OneAgent is required to run this extension. +* ``remote:`` means the extension can run on ActiveGate. When you deploy the extension, + the environment will automatically read this value and will understand that an active + ActiveGate is required to run this extension. + +The ``path:`` within the activation section contains a path to the configuration +that specifies a full definition of the monitoring configuration. What fields must be +there? Of what type? Does it contain lists? What are the possible values? All of these +can be describied in the ``activationSchema.json`` file. + +Activation Schema +----------------- + +``activationSchema.json`` + +This is a schema file that describes the structure of the monitoring configuration. + +For the purposes of giving an example, here is a very simple schema with a single +field that will run on ActiveGate. The schema generated by the :doc:`/cli/create` +command is much larger and contains more fields, passwords, list items, and so on. + +.. code:: json + + { + "types": { + "pythonRemote": { + "type": "object", + "properties": { + "host": { + "displayName": "Host", + "type": "text", + "nullable": false, + "default": "" + } + } + } + }, + "dynatrace": "1", + "description": "Extension configuration", + "schemaId": "python-extension.activation", + "displayName": "Extension configuration", + "ownerProductManagement": "Albus Dumbledore", + "ownerDevelopment": "Peter Parker", + "maturity": "GENERAL_AVAILABILITY", + "allowedScopes": ["environment"], + "multiObject": false, + "properties": { + "pythonRemote": { + "displayName": "Python Remote Extension", + "type": { + "$ref": "#/types/pythonRemote" + } + } + } + } + + +Activation Config +----------------- + +``activation.json`` + +This is a config file that can be used for local testing, when extension instance +is launched using the :doc:`/cli/run` command. It must contain all of the mandatory +fields as defined in the `Activation Schema`_. + +When extension is deployed to the Dynatrace environment and monitoring configuration +is created, then the environment provides an individual activation config for each +instance of the extension. + +Here is what a sample activation config looks like: + +.. code:: json + + { + "enabled": true, + "description": "my_extension activation", + "version": "0.0.1", + "activationContext": "REMOTE", + "pythonRemote": { + "endpoints": [ + { + "url": "http://127.0.0.1:15672", + "user": "guest", + "password": "guest" + } + ] + } + } + +Setup.py +-------- + +``setup.py`` + +This is a standard Python setup file that is used to package the extension and +is used by the extension execution controller to install the extension on the +ActiveGate or OneAgent along with the required dependencies. + +.. code:: python + + from setuptools import setup, find_packages + + setup( + name="my_extension", + version="0.0.1", + description="My_extension python EF2 extension", + author="Dynatrace", + packages=find_packages(), + python_requires=">=3.10", + include_package_data=True, + install_requires=["dt-extensions-sdk"], + extras_require={"dev": ["dt-extensions-sdk[cli]"]}, + ) + +.. admonition:: Dependencies + :class: important + + The ``setup.py`` file is the place where any dependencies must be specified + in the ``install_requires`` section. + + The ``dt-extensions-sdk`` package must always be specified as a dependency. However, + theoretically, it is possible to write a Python code that will be capable of + communication with the extension execution controller without using the SDK. + + We do not recommend doing that, since the SDK provides everything that is needed + and getting rid of it is an equivalent of reinventing the wheel. + +.. admonition:: Bumping version + :class: important + + When bumping the version of the extension in the ``extension.yaml``, + the ``setup.py`` file must be updated as well. The two versions must match. + +.. admonition:: Extension size + :class: danger + + Be careful when adding dependencies to the extension. The size of the extension + must not exceed 15MB. If it does, then the extension will not be accepted by + the environment. + + When building the extension using the :doc:`/cli/build` command, the dependencies + can be downloaded for all target platforms (Linux, Windows) and the size of the + dependencies for some of them might be quite large. + +.. _snmp: https://docs.dynatrace.com/docs/extend-dynatrace/extensions20/data-sources/snmp-extensions +.. _jmx: https://docs.dynatrace.com/docs/extend-dynatrace/extensions20/data-sources/jmx +.. _prometheus: https://docs.dynatrace.com/docs/extend-dynatrace/extensions20/data-sources/prometheus-extensions +.. _sql: https://docs.dynatrace.com/docs/extend-dynatrace/extensions20/data-sources/sql +.. _wmi: https://docs.dynatrace.com/docs/extend-dynatrace/extensions20/data-sources/wmi-extensions diff --git a/_sources/guides/installation.rst.txt b/_sources/guides/installation.rst.txt new file mode 100644 index 0000000..5a9b1ce --- /dev/null +++ b/_sources/guides/installation.rst.txt @@ -0,0 +1,38 @@ +Installation +============ + +.. _installation requirements: + +Requirements +^^^^^^^^^^^^ + +``dt-extensions-sdk`` requires only the following dependencies to be +present in the environment. + +- Python 3.10 + +Installing from PyPI +^^^^^^^^^^^^^^^^^^^^ + +``dt-extensions-sdk`` can both be installed as a system wide package and as +a dependency in a python project. + +.. code:: bash + + pip install dt-extensions-sdk[cli] + +Once installed, the ``dt-sdk`` binary will become available in the ``PATH``. + +.. admonition:: Core package + :class: warning + + When installing ``dt-extensions-sdk[cli]`` with the optional set of + dependecies called ``[cli]``, multiple additional packages which are required + to make command line tools work will be installed. + For example, such packages as ``typer[all]``, ``pyyaml``, and ``dt-cli``. + + When extension is being built, these additional packages are ignored, + because the core dependecy of every extension is just the ``dt-extensions-sdk`` + itself. When the optioncal ``[cli]`` part is omitted, only the core package + that is required to make any Python extension work on ActiveGate and OneAgent + will be installed. diff --git a/_sources/guides/migration.rst.txt b/_sources/guides/migration.rst.txt new file mode 100644 index 0000000..3db2d90 --- /dev/null +++ b/_sources/guides/migration.rst.txt @@ -0,0 +1,159 @@ +Migrating EF1 Extensions +######################## + +| Use this guide to understand how to migrate an existing Python EF1 extension to the new EF2 format. + +Requirements +============ + +* `Python 3.10 `_ +* ``dt-extensions-sdk`` installed and in your ``PATH`` (you can run with ``dt-sdk --help``). +* `VSCode `_ with the `Dynatrace Extensions `_ extension installed. + +Step by Step +============ + + +To migrate an existing python EF1 extension using VSCode, the steps are as follows: + +1. Create a new EF2 extension +2. Import the EF1 extension using the ``Dynatrace extensions: Convert Python`` command +3. Convert the code, moving the class from the original extension to the ``__main__.py`` file of the new extension + + +Create a new EF2 extension +"""""""""""""""""""""""""" + +1. Open an empty folder in VSCode, then run the ``Dynatrace extensions: Initialize Workspace`` command +2. Select the schema version (latest recommended), and the certificates you want to use to sign the extension + +| + +.. image:: ../_static/img/migrate-01-new-extension.png + :alt: Init workspace +| + +3. Chose the ``Python Extension 2.0`` project type +4. Give your extension a name, it must respect the python module naming convention (all lower case with optional underscores). + +| + +.. image:: ../_static/img/migrate-02-type.png + :alt: Chose project type +| + +Import the Python EF1 extension +""""""""""""""""""""""""""""""" + +| The first step is to convert the old ``plugin.json`` file to the new ``activationSchema.json`` format. +| This will automatically create the **Settings 2.0 UI** for your extension, which defines the UI for the user to configure the extension. +| +| Run the command ``Dynatrace extensions: Convert Python``. +| You can chose to import an existing python extension from: +| +* The extension zip file +* The plugin.json file +* From your Dynatrace environment + +| + +.. image:: ../_static/img/migrate-03-import.png + :alt: Import extension +| + +| In this example we are importing from a Dynatrace environment, which gives you a list of all python extensions on that environment. +| +| If you would like to import from your computer, a file picker will open, and you can select the zip or plugin.json file of your extension. + +| + +.. image:: ../_static/img/migrate-04-import-remote.png + :alt: Import from dynatrace +| + +| After you select an extension, your ``activationSchema.json`` will be overwritten with the correct settings. +| +| You should also review that file, to make sure your UI looks the way you want it to. +| + +.. note:: + | If you are importing a local (OneAgent) extension, delete the entry **activation > remote** from the extension.yaml file. + | If instead you are importing a remote (Activegate) extension, delete **activation > local**. + | You can also make your extension work both remotely and locally, by keeping both entries and modifying the **activationSchema.json** file accordingly. + +Modify the extension code +""""""""""""""""""""""""" + +.. note:: + | We are working on automating part of this step. + + +| Move your existing extension code to the ``__main__.py`` file of the new extension. +| The easiest way to accomplish this is by pasting the code from your existing extension class into the new ``ExtensionImpl`` class. +| +| Here are the most important changes you need to make to your code: +| + + +.. list-table:: Code conversion reference + :widths: 40 10 10 40 + :header-rows: 1 + + * - Description + - EF1 method + - EF2 method + - Notes + * - Logging + - ``self.logger.info("message")`` + - ``self.logger.info("message")`` + - Stays the same + * - Obtaining user defined parameters + - ``self.config.get("param_name", "default_value")`` + - ``self.activation_config.get("param_name", "default_value")`` + - You can find and replace all ``self.config.`` entries with ``self.activation_config.`` + * - Report an event + - ``self.results_builder.report_custom_info_event`` + - ``self.report_dt_event`` + - Try to keep topology (groups, device, IDs) out of the code, this is defined later in the ``extension.yaml`` file. + * - Report a metric + - ``device.absolute("metric_key", metric_value, {"dimension_name": "dimension_value"})`` + - ``self.report_metric("metric_key", metric_value, {"dimension_name": "dimension_value"})`` + - There is no concept of a ``device`` in the python code anymore, send metrics directly. + * - Create groups and custom devices + - ``self.topology_builder.create_group``, ``group.create_device`` + - ``n/a`` + - Doesn't exist, topology is defined in the ``extension.yaml`` file. + + + +Build and upload the extension +"""""""""""""""""""""""""""""" + +| Build the extension by running the command ``Dynatrace extensions: Build``. +| If the build is successful, you will see a prompt to upload the extension to your Dynatrace environment and activate it. +| Accept both prompts +| +| Navigate to your Dynatrace environment, to ``Infrastructure Observability > Extensions`` and find your extension. + +| +.. image:: ../_static/img/migrate-05-activation.png + :alt: Extension config +| + +| Click ``Add monitoring configuration`` +| Check that your UI looks the way you want it to, and fill in the parameters. + +.. note:: + | You can copy the ``value`` from the right side JSON Snippet and use it in your ``activation.json`` file to test your extension locall with ``dt-sdk run`` +| +.. image:: ../_static/img/migrate-06-activation-config.png + :alt: Extension config +| + + +Limitations +""""""""""" + +* The ``process snapshot`` is not yet supported, but will be added in the future. As a workaround the file ``/dynatrace/oneagent/plugin/oneagent_latest_snapshot.log`` can be read and parsed as JSON. +* The metric metadata and topology must be added to the ``extension.yaml`` file, part of this will be automated in the future. + diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt new file mode 100644 index 0000000..aaab190 --- /dev/null +++ b/_sources/index.rst.txt @@ -0,0 +1,301 @@ +Dynatrace Extensions SDK for Python +=================================== + +``dt-extensions-sdk`` is a Python library and a toolbox for building Python +extensions for Extensions Framework 2.0. It provides a ready to use template +and a set of tools to build, test, package, and ship your extension. + +.. raw:: html + +

+ + PyPI + + + PyPI - Python Version + +

+ +**What dt-sdk can do** + +* Generate a new extension from template +* Run extensions locally +* Build and sign extensions + +Installation +------------ + +``dt-extensions-sdk`` can be installed from PyPI. +For other installation options and :ref:`installation requirements` +please see :doc:`/guides/installation`. + +.. code:: bash + + pip install dt-extensions-sdk[cli] + +Installing in virtual environment +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +This approach is recommended if you are working on several extensions: + +.. code:: bash + + python -m venv .venv + source .venv/bin/activate + pip install dt-extensions-sdk + +Keeping each extension in its own virtual environment is a good practice. +It guarantees that each extension has its own set of dependencies and +does not interfere with other extensions. + +Quick Start +----------- + +Once ``dt-sdk`` is installed, we are ready to create our first extension. + +Create extension +^^^^^^^^^^^^^^^^ + +Let's generate a new extension called `my_extension` from scratch using the +:doc:`/cli/create` command: + +.. code:: bash + + $ dt-sdk create my_extension + Extension created at my_extension + +This will create a new directory called `my_extension` with the following +structure: + +.. code:: bash + + my_extension + ├── README.md + ├── activation.json + ├── extension + │ ├── activationSchema.json + │ └── extension.yaml + ├── my_extension + │ ├── __init__.py + │ └── __main__.py + └── setup.py + +.. admonition:: What do these files mean? + :class: seealso + + Be sure to checkout the :doc:`/guides/extension_structure` guide for the detailed + explanation of why each file is needed and what needs to be in there. + +Run extension +^^^^^^^^^^^^^ + +In order to launch the extension locally, we can use the :doc:`/cli/run` command: + +.. code:: bash + + $ cd my_extension + $ dt-sdk run + Running: .venv/dt-extensions-sdk/bin/python -m my_extension --activationconfig activation.json + [INFO] api (MainThread): ----------------------------------------------------- + [INFO] api (MainThread): Starting my_extension, version: 1.1.0 + [INFO] api (ThreadPoolExecutor-1_0): send_status: '{"status": "OK", "message": "", "timestamp": 1699993566909}' + [INFO] api (ThreadPoolExecutor-1_1): send_sfm_metric: dsfm:datasource.python.threads,dt.extension.config.id="development_config_id" count,delta=4 + [INFO] dynatrace_extension.sdk.extension (ThreadPoolExecutor-0_0): query method started for my_extension. + [INFO] dynatrace_extension.sdk.extension (ThreadPoolExecutor-0_0): query method ended for my_extension. + +.. admonition:: Query method and scheduling + :class: note + + The ``query()`` method in ``__main__.py`` file is scheduled to run every 60 seconds. + You can also schedule other methods to run at different intervals by overriding + :meth:`dynatrace_extension.Extension.initialize` method: + schedule: + + .. code:: python + + def initialize(self): + # Schedule the my_method method to run every 5 minutes + self.schedule(self.my_method, timedelta(minutes=5)) + +We can see that the extension is running and the query method was successfully +executed. For now, it does not do anything useful, so it finishes immediately. + +If we now press ``Ctrl+C`` to stop the execution, we will see the following output: + +.. code:: bash + + ^C[INFO] api (MainThread): SIGINT captured. Flushing metrics and exiting... + [INFO] api (MainThread): send_metric: my_metric,my_dimension="dimension1" gauge,1 1699993566910 + [INFO] api (MainThread): Sent 1 metric lines to EEC: [MintResponse(lines_ok=1, lines_invalid=0, error=None, warnings=None)] + [INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.threads,dt.extension.config.id="development_config_id" count,delta=4 + [INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.time,callback="query",dt.extension.config.id="development_config_id" gauge,0.0003 + [INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.total.count,callback="query",dt.extension.config.id="development_config_id" count,delta=1 + [INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.count,callback="query",dt.extension.config.id="development_config_id" count,delta=1 + [INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.ok.count,callback="query",dt.extension.config.id="development_config_id" count,delta=1 + [INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.timeout.count,callback="query",dt.extension.config.id="development_config_id" count,delta=0 + [INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.exception.count,callback="query",dt.extension.config.id="development_config_id" count,delta=0 + +We can see here, that the extension has sent 1 metric to the Dynatrace. That's because +the ``query()`` contains the following line: + +.. code:: python + + # Report metrics with + self.report_metric("my_metric", 1, dimensions={"my_dimension": "dimension1"}) + +This code sends a single data point for the metric called ``my_metric`` with +value ``1`` and dimension ``my_dimension`` with value ``dimension1``. +The next data point for same metric will be sent in 60 seconds, when the ``query()`` +method executes again. + +.. admonition:: Self monitoring metrics + :class: note + + You might have noticed that there are some additional metrics being sent + to Dynatrace. These are called self monitoring metrics and they allow the environment + to understand how the extension is performing and whether everything is fine with + the assigned monitoring configuration. + +Generate certificates +^^^^^^^^^^^^^^^^^^^^^ + +In order to sign the extension, we need to have a certificate that is uploaded +to the environment and to the OneAgent or Activegate hosts +that will run the extension. + +.. admonition:: Already have the certificate? + :class: hint + + If you already have the certificate and it is uploaded to the environment and hosts + you can skip this step and go directly to the build step. + +In order to generate a new certificate, we can use the :doc:`/cli/gencerts` command: + +.. code:: bash + + $ dt-sdk gencerts + Running: dt ext genca --ca-cert /Users/myuser/.dynatrace/certificates/ca.pem --ca-key + /Users/myuser/.dynatrace/certificates/ca.key --no-ca-passphrase + Generating CA... + Wrote CA private key: /Users/myuser/.dynatrace/certificates/ca.key + Wrote CA certificate: /Users/myuser/.dynatrace/certificates/ca.pem + Running: dt ext generate-developer-pem --output /Users/myuser/.dynatrace/certificates/developer.pem --name Acme + --ca-crt /Users/myuser/.dynatrace/certificates/ca.pem --ca-key /Users/myuser/.dynatrace/certificates/ca.key + Loading CA private key /Users/myuser/.dynatrace/certificates/ca.key + Loading CA certificate /Users/myuser/.dynatrace/certificates/ca.pem + Generating developer certificate... + Wrote developer certificate: /Users/myuser/.dynatrace/certificates/developer.pem + Wrote developer private key: /Users/myuser/.dynatrace/certificates/developer.pem + +This will place the developer certificates in the default directory. + +.. admonition:: Detailed documentation + :class: info + + For more information on how to generate and upload certificates, please see + `certificates`_ documentation. + +Build extension +^^^^^^^^^^^^^^^ + +Now that we have a working extension and a certificate to sing it with, +we can build it using the :doc:`/cli/build` command, which will perform the following +steps: + +1. Download the dependencies +2. Build a wheel +3. Package the build into a ``.zip`` archive +4. Sign the archive with the given certificate + +.. code:: bash + + $ dt-sdk build + Building and signing extension from my_extension to None + Stage 1 - Download and build dependencies + Cleaning my_extension/extension/lib + Downloading dependencies to my_extension/extension/lib + Running: .venv/dt-extensions-sdk/bin/python -m pip wheel -w extension/lib . + Processing my_extension + Preparing metadata (setup.py) ... done + Collecting dt-extensions-sdk (from my-extension==0.0.1) + Using cached dt_extensions_sdk-1.1.0-py3-none-any.whl.metadata (1.8 kB) + Using cached dt_extensions_sdk-1.1.0-py3-none-any.whl (42 kB) + Saved ./extension/lib/dt_extensions_sdk-1.1.0-py3-none-any.whl + Building wheels for collected packages: my-extension + Building wheel for my-extension (setup.py) ... done + Created wheel for my-extension: filename=my_extension-0.0.1-py3-none-any.whl size=1985 sha256=19039181b70d68105512ad52b80129368724b3f15e0ba2a2b5fdb98cc710e705 + Stored in directory: /private/var/folders/jd/s1xmb3jj31gcd11g3p4ncctm5q47pj/T/pip-ephem-wheel-cache-zqkysr41/wheels/9c/1c/44/e47f092abb0d0b281251f7cfc7b8d5993c2c5678b3acd80751 + Successfully built my-extension + Installed dependencies to my_extension/extension/lib + Stage 2 - Create the extension zip file + Running: dt ext assemble --source my_extension/extension --output my_extension/dist/extension.zip --force + my_extension/dist/extension.zip file already exists, it will be overwritten! + Building my_extension/dist/extension.zip from my_extension/extension + Adding file: my_extension/extension/lib/my_extension-0.0.1-py3-none-any.whl as lib/my_extension-0.0.1-py3-none-any.whl + Adding file: my_extension/extension/lib/dt_extensions_sdk-1.1.0-py3-none-any.whl as lib/dt_extensions_sdk-1.1.0-py3-none-any.whl + Adding file: my_extension/extension/extension.yaml as extension.yaml + Adding file: my_extension/extension/activationSchema.json as activationSchema.json + Built the extension zip file to my_extension/dist/extension.zip + Stage 3 - Sign the extension + Signing file my_extension/dist/extension.zip to my_extension/dist/custom_my-extension-0.0.1.zip with certificate + /Users/myuser/.dynatrace/certificates/developer.pem + Running: dt ext sign --src my_extension/dist/extension.zip --output my_extension/dist/custom_my-extension-0.0.1.zip + --key /Users/myuser/.dynatrace/certificates/developer.pem --force + Created signed extension file my_extension/dist/custom_my-extension-0.0.1.zip + Stage 4 - Delete my_extension/dist/extension.zip + +Once completed, the signed build will be placed in the ``dist`` directory: + +.. code:: bash + + dist/custom_my-extension-0.0.1.zip + +Upload extension +^^^^^^^^^^^^^^^^ + +Finally, we can upload the extension to the environment using the :doc:`/cli/upload` +command. It requires us to provide the environment URL and an API token with the permission +to upload extensions. This can be done via environment variables or command line arguments + +.. code:: bash + + $ dt-sdk upload + Uploading extension dist/custom_my-extension-0.0.1.zip to https:/// + Extension upload successful! + Extension dist/custom_my-extension-0.0.1.zip uploaded to https:/// + +Documentation +------------- + +.. toctree:: + :caption: Guides + :maxdepth: 3 + + guides/installation + guides/extension_structure + guides/building + guides/migration + +.. toctree:: + :caption: All Commands + :maxdepth: 3 + + cli/create + cli/build + cli/run + cli/upload + cli/help + cli/assemble + cli/gencerts + cli/sign + cli/wheel + +.. toctree:: + :caption: API Reference + :maxdepth: 2 + + api/extension + api/events/index + api/metrics/index + +.. _certificates: https://docs.dynatrace.com/docs/extend-dynatrace/extensions20/sign-extension diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 0000000..f316efc --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_static/dist/assets/fa-brands-400.eot b/_static/dist/assets/fa-brands-400.eot new file mode 100644 index 0000000..d05ea58 Binary files /dev/null and b/_static/dist/assets/fa-brands-400.eot differ diff --git a/_static/dist/assets/fa-brands-400.svg b/_static/dist/assets/fa-brands-400.svg new file mode 100644 index 0000000..4e48a46 --- /dev/null +++ b/_static/dist/assets/fa-brands-400.svg @@ -0,0 +1,3717 @@ + + + + +Created by FontForge 20201107 at Tue Mar 16 10:15:04 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/dist/assets/fa-brands-400.ttf b/_static/dist/assets/fa-brands-400.ttf new file mode 100644 index 0000000..fc567cd Binary files /dev/null and b/_static/dist/assets/fa-brands-400.ttf differ diff --git a/_static/dist/assets/fa-brands-400.woff b/_static/dist/assets/fa-brands-400.woff new file mode 100644 index 0000000..db70e73 Binary files /dev/null and b/_static/dist/assets/fa-brands-400.woff differ diff --git a/_static/dist/assets/fa-brands-400.woff2 b/_static/dist/assets/fa-brands-400.woff2 new file mode 100644 index 0000000..b8a8f65 Binary files /dev/null and b/_static/dist/assets/fa-brands-400.woff2 differ diff --git a/_static/dist/assets/fa-regular-400.eot b/_static/dist/assets/fa-regular-400.eot new file mode 100644 index 0000000..fae180d Binary files /dev/null and b/_static/dist/assets/fa-regular-400.eot differ diff --git a/_static/dist/assets/fa-regular-400.svg b/_static/dist/assets/fa-regular-400.svg new file mode 100644 index 0000000..9dba8c3 --- /dev/null +++ b/_static/dist/assets/fa-regular-400.svg @@ -0,0 +1,801 @@ + + + + +Created by FontForge 20201107 at Tue Mar 16 10:15:04 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/dist/assets/fa-regular-400.ttf b/_static/dist/assets/fa-regular-400.ttf new file mode 100644 index 0000000..d1ac9ba Binary files /dev/null and b/_static/dist/assets/fa-regular-400.ttf differ diff --git a/_static/dist/assets/fa-regular-400.woff b/_static/dist/assets/fa-regular-400.woff new file mode 100644 index 0000000..e9f54b1 Binary files /dev/null and b/_static/dist/assets/fa-regular-400.woff differ diff --git a/_static/dist/assets/fa-regular-400.woff2 b/_static/dist/assets/fa-regular-400.woff2 new file mode 100644 index 0000000..9df490e Binary files /dev/null and b/_static/dist/assets/fa-regular-400.woff2 differ diff --git a/_static/dist/assets/fa-solid-900.eot b/_static/dist/assets/fa-solid-900.eot new file mode 100644 index 0000000..afe3152 Binary files /dev/null and b/_static/dist/assets/fa-solid-900.eot differ diff --git a/_static/dist/assets/fa-solid-900.svg b/_static/dist/assets/fa-solid-900.svg new file mode 100644 index 0000000..dce459d --- /dev/null +++ b/_static/dist/assets/fa-solid-900.svg @@ -0,0 +1,5034 @@ + + + + +Created by FontForge 20201107 at Tue Mar 16 10:15:04 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/dist/assets/fa-solid-900.ttf b/_static/dist/assets/fa-solid-900.ttf new file mode 100644 index 0000000..f33e816 Binary files /dev/null and b/_static/dist/assets/fa-solid-900.ttf differ diff --git a/_static/dist/assets/fa-solid-900.woff b/_static/dist/assets/fa-solid-900.woff new file mode 100644 index 0000000..73c1a4d Binary files /dev/null and b/_static/dist/assets/fa-solid-900.woff differ diff --git a/_static/dist/assets/fa-solid-900.woff2 b/_static/dist/assets/fa-solid-900.woff2 new file mode 100644 index 0000000..dc52d95 Binary files /dev/null and b/_static/dist/assets/fa-solid-900.woff2 differ diff --git a/_static/dist/blocking.js b/_static/dist/blocking.js new file mode 100644 index 0000000..712b3c4 --- /dev/null +++ b/_static/dist/blocking.js @@ -0,0 +1,2 @@ +(()=>{function e(e,{isInitial:t=!1}={}){const a="dark",o="light",l="wagtail-theme";let c,n,r;try{r=localStorage.getItem(l)}catch(e){console.warn("Unable to read theme from localStorage",e)}if(c=r?r===o?o:a:window.matchMedia("(prefers-color-scheme:dark)").matches?a:o,n=t?c===a?a:o:c===a?o:a,document.body.classList.toggle("theme-dark",n===a),r||e)try{localStorage.setItem(l,n)}catch(e){console.warn("Unable to store theme in localStorage",e)}}e(null,{isInitial:!0}),document.addEventListener("theme:toggle-theme-mode",e,{passive:!0})})(); +//# sourceMappingURL=blocking.js.map \ No newline at end of file diff --git a/_static/dist/blocking.js.map b/_static/dist/blocking.js.map new file mode 100644 index 0000000..8b3336d --- /dev/null +++ b/_static/dist/blocking.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blocking.js","mappings":"MAcA,SAASA,EAAgBC,GAAO,UAAEC,GAAY,GAAU,CAAC,GACvD,MAAMC,EAAO,OACPC,EAAQ,QACRC,EAAc,gBAEpB,IAAIC,EACAC,EACAC,EAGJ,IACEA,EAAiBC,aAAaC,QAAQL,EACxC,CAAE,MAAOM,GAEPC,QAAQC,KAAK,yCAA0CF,EACzD,CA0BA,GArBEL,EAFEE,EAEYA,IAAmBJ,EAAQA,EAAQD,EAGzBW,OAAOC,WAC7B,+BACAC,QAE8Bb,EAAOC,EAKvCG,EADEL,EACUI,IAAgBH,EAAOA,EAAOC,EAE9BE,IAAgBH,EAAOC,EAAQD,EAI7Cc,SAASC,KAAKC,UAAUC,OAAO,aAAcb,IAAcJ,GAGvDK,GAAkBP,EACpB,IACEQ,aAAaY,QAAQhB,EAAaE,EACpC,CAAE,MAAOI,GAEPC,QAAQC,KAAK,wCAAyCF,EACxD,CAEJ,CAOAX,EAAgB,KAAM,CAAEE,WAAW,IAKnCe,SAASK,iBAAiB,0BAA2BtB,EAAiB,CACpEuB,SAAS,G","sources":["webpack://sphinx-wagtail-theme/./js/blocking.js"],"sourcesContent":["/**\n * IMPORTANT: This script will block the DOM from loading, only add critical path JS here.\n */\n\n/**\n * Set and store dark/light (theme) mode.\n *\n * Mode will be set to be one of \"light\" or \"dark\", by default the resolved\n * theme mode will be flipped (e.g. light to dark).\n *\n * @param {Event} event - is for usage with event listeners, and indicates the user has manually clicked a button\n * @param {object?} options - additional options param when called explicitly\n * @param {boolean?} options.isInitial - if true the current value will be resolved & set NOT toggled\n */\nfunction updateThemeMode(event, { isInitial = false } = {}) {\n const DARK = 'dark';\n const LIGHT = 'light';\n const STORAGE_KEY = 'wagtail-theme';\n\n let currentMode;\n let applyMode;\n let savedThemeMode;\n\n // safely request local storage - if cookies/storage is disabled it should not error\n try {\n savedThemeMode = localStorage.getItem(STORAGE_KEY);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn('Unable to read theme from localStorage', error);\n }\n\n // find the current mode from existing storage or browser preference\n if (savedThemeMode) {\n // note - do not assume correct format of local storage\n currentMode = savedThemeMode === LIGHT ? LIGHT : DARK;\n } else {\n // fall back on browser media for first toggle\n const prefersDarkMode = window.matchMedia(\n '(prefers-color-scheme:dark)',\n ).matches;\n\n currentMode = prefersDarkMode ? DARK : LIGHT;\n }\n\n // if running initially - do not 'flip' - instead apply current mode\n if (isInitial) {\n applyMode = currentMode === DARK ? DARK : LIGHT;\n } else {\n applyMode = currentMode === DARK ? LIGHT : DARK;\n }\n\n // set applied mode to the DOM\n document.body.classList.toggle('theme-dark', applyMode === DARK);\n\n // only store value if already stored OR was triggered by an actual click\n if (savedThemeMode || event) {\n try {\n localStorage.setItem(STORAGE_KEY, applyMode);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn('Unable to store theme in localStorage', error);\n }\n }\n}\n\n/**\n * Apply user's saved light/dark preference, or fall back to browser setting.\n * Load light/dark preference before DOMContentLoaded so the user does not see a\n * flash during theme initialisation.\n */\nupdateThemeMode(null, { isInitial: true });\n\n/**\n * Set up event listener for other manual toggling.\n */\ndocument.addEventListener('theme:toggle-theme-mode', updateThemeMode, {\n passive: true,\n});\n"],"names":["updateThemeMode","event","isInitial","DARK","LIGHT","STORAGE_KEY","currentMode","applyMode","savedThemeMode","localStorage","getItem","error","console","warn","window","matchMedia","matches","document","body","classList","toggle","setItem","addEventListener","passive"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/dist/fontawesome.css b/_static/dist/fontawesome.css new file mode 100644 index 0000000..8b898a6 --- /dev/null +++ b/_static/dist/fontawesome.css @@ -0,0 +1,15 @@ +/*! + * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-0.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(1, -1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scale(-1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-flip-both{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:""}.fa-accessible-icon:before{content:""}.fa-accusoft:before{content:""}.fa-acquisitions-incorporated:before{content:""}.fa-ad:before{content:""}.fa-address-book:before{content:""}.fa-address-card:before{content:""}.fa-adjust:before{content:""}.fa-adn:before{content:""}.fa-adversal:before{content:""}.fa-affiliatetheme:before{content:""}.fa-air-freshener:before{content:""}.fa-airbnb:before{content:""}.fa-algolia:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-alipay:before{content:""}.fa-allergies:before{content:""}.fa-amazon:before{content:""}.fa-amazon-pay:before{content:""}.fa-ambulance:before{content:""}.fa-american-sign-language-interpreting:before{content:""}.fa-amilia:before{content:""}.fa-anchor:before{content:""}.fa-android:before{content:""}.fa-angellist:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angry:before{content:""}.fa-angrycreative:before{content:""}.fa-angular:before{content:""}.fa-ankh:before{content:""}.fa-app-store:before{content:""}.fa-app-store-ios:before{content:""}.fa-apper:before{content:""}.fa-apple:before{content:""}.fa-apple-alt:before{content:""}.fa-apple-pay:before{content:""}.fa-archive:before{content:""}.fa-archway:before{content:""}.fa-arrow-alt-circle-down:before{content:""}.fa-arrow-alt-circle-left:before{content:""}.fa-arrow-alt-circle-right:before{content:""}.fa-arrow-alt-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrows-alt:before{content:""}.fa-arrows-alt-h:before{content:""}.fa-arrows-alt-v:before{content:""}.fa-artstation:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asterisk:before{content:""}.fa-asymmetrik:before{content:""}.fa-at:before{content:""}.fa-atlas:before{content:""}.fa-atlassian:before{content:""}.fa-atom:before{content:""}.fa-audible:before{content:""}.fa-audio-description:before{content:""}.fa-autoprefixer:before{content:""}.fa-avianex:before{content:""}.fa-aviato:before{content:""}.fa-award:before{content:""}.fa-aws:before{content:""}.fa-baby:before{content:""}.fa-baby-carriage:before{content:""}.fa-backspace:before{content:""}.fa-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bahai:before{content:""}.fa-balance-scale:before{content:""}.fa-balance-scale-left:before{content:""}.fa-balance-scale-right:before{content:""}.fa-ban:before{content:""}.fa-band-aid:before{content:""}.fa-bandcamp:before{content:""}.fa-barcode:before{content:""}.fa-bars:before{content:""}.fa-baseball-ball:before{content:""}.fa-basketball-ball:before{content:""}.fa-bath:before{content:""}.fa-battery-empty:before{content:""}.fa-battery-full:before{content:""}.fa-battery-half:before{content:""}.fa-battery-quarter:before{content:""}.fa-battery-three-quarters:before{content:""}.fa-battle-net:before{content:""}.fa-bed:before{content:""}.fa-beer:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bible:before{content:""}.fa-bicycle:before{content:""}.fa-biking:before{content:""}.fa-bimobject:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-birthday-cake:before{content:""}.fa-bitbucket:before{content:""}.fa-bitcoin:before{content:""}.fa-bity:before{content:""}.fa-black-tie:before{content:""}.fa-blackberry:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blind:before{content:""}.fa-blog:before{content:""}.fa-blogger:before{content:""}.fa-blogger-b:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-bold:before{content:""}.fa-bolt:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-book-dead:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-reader:before{content:""}.fa-bookmark:before{content:""}.fa-bootstrap:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broadcast-tower:before{content:""}.fa-broom:before{content:""}.fa-brush:before{content:""}.fa-btc:before{content:""}.fa-buffer:before{content:""}.fa-bug:before{content:""}.fa-building:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burn:before{content:""}.fa-buromobelexperte:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before{content:""}.fa-business-time:before{content:""}.fa-buy-n-large:before{content:""}.fa-buysellads:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-alt:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-times:before{content:""}.fa-calendar-week:before{content:""}.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-campground:before{content:""}.fa-canadian-maple-leaf:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-car:before{content:""}.fa-car-alt:before{content:""}.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-square-down:before{content:""}.fa-caret-square-left:before{content:""}.fa-caret-square-right:before{content:""}.fa-caret-square-up:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-plus:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cc-amazon-pay:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-apple-pay:before{content:""}.fa-cc-diners-club:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-cc-visa:before{content:""}.fa-centercode:before{content:""}.fa-centos:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before{content:""}.fa-charging-station:before{content:""}.fa-chart-area:before{content:""}.fa-chart-bar:before{content:""}.fa-chart-line:before{content:""}.fa-chart-pie:before{content:""}.fa-check:before{content:""}.fa-check-circle:before{content:""}.fa-check-double:before{content:""}.fa-check-square:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-chrome:before{content:""}.fa-chromecast:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-city:before{content:""}.fa-clinic-medical:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-download-alt:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-cloud-upload-alt:before{content:""}.fa-cloudflare:before{content:""}.fa-cloudscale:before{content:""}.fa-cloudsmith:before{content:""}.fa-cloudversify:before{content:""}.fa-cocktail:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-codepen:before{content:""}.fa-codiepie:before{content:""}.fa-coffee:before{content:""}.fa-cog:before{content:""}.fa-cogs:before{content:""}.fa-coins:before{content:""}.fa-columns:before{content:""}.fa-comment:before{content:""}.fa-comment-alt:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compress:before{content:""}.fa-compress-alt:before{content:""}.fa-compress-arrows-alt:before{content:""}.fa-concierge-bell:before{content:""}.fa-confluence:before{content:""}.fa-connectdevelop:before{content:""}.fa-contao:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-cotton-bureau:before{content:""}.fa-couch:before{content:""}.fa-cpanel:before{content:""}.fa-creative-commons:before{content:""}.fa-creative-commons-by:before{content:""}.fa-creative-commons-nc:before{content:""}.fa-creative-commons-nc-eu:before{content:""}.fa-creative-commons-nc-jp:before{content:""}.fa-creative-commons-nd:before{content:""}.fa-creative-commons-pd:before{content:""}.fa-creative-commons-pd-alt:before{content:""}.fa-creative-commons-remix:before{content:""}.fa-creative-commons-sa:before{content:""}.fa-creative-commons-sampling:before{content:""}.fa-creative-commons-sampling-plus:before{content:""}.fa-creative-commons-share:before{content:""}.fa-creative-commons-zero:before{content:""}.fa-credit-card:before{content:""}.fa-critical-role:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-css3:before{content:""}.fa-css3-alt:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-cut:before{content:""}.fa-cuttlefish:before{content:""}.fa-d-and-d:before{content:""}.fa-d-and-d-beyond:before{content:""}.fa-dailymotion:before{content:""}.fa-dashcube:before{content:""}.fa-database:before{content:""}.fa-deaf:before{content:""}.fa-deezer:before{content:""}.fa-delicious:before{content:""}.fa-democrat:before{content:""}.fa-deploydog:before{content:""}.fa-deskpro:before{content:""}.fa-desktop:before{content:""}.fa-dev:before{content:""}.fa-deviantart:before{content:""}.fa-dharmachakra:before{content:""}.fa-dhl:before{content:""}.fa-diagnoses:before{content:""}.fa-diaspora:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-digg:before{content:""}.fa-digital-ocean:before{content:""}.fa-digital-tachograph:before{content:""}.fa-directions:before{content:""}.fa-discord:before{content:""}.fa-discourse:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dizzy:before{content:""}.fa-dna:before{content:""}.fa-dochub:before{content:""}.fa-docker:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before{content:""}.fa-dolly:before{content:""}.fa-dolly-flatbed:before{content:""}.fa-donate:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dot-circle:before{content:""}.fa-dove:before{content:""}.fa-download:before{content:""}.fa-draft2digital:before{content:""}.fa-drafting-compass:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-dribbble:before{content:""}.fa-dribbble-square:before{content:""}.fa-dropbox:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-drupal:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-dyalog:before{content:""}.fa-earlybirds:before{content:""}.fa-ebay:before{content:""}.fa-edge:before{content:""}.fa-edge-legacy:before{content:""}.fa-edit:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elementor:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-ello:before{content:""}.fa-ember:before{content:""}.fa-empire:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelope-square:before{content:""}.fa-envira:before{content:""}.fa-equals:before{content:""}.fa-eraser:before{content:""}.fa-erlang:before{content:""}.fa-ethereum:before{content:""}.fa-ethernet:before{content:""}.fa-etsy:before{content:""}.fa-euro-sign:before{content:""}.fa-evernote:before{content:""}.fa-exchange-alt:before{content:""}.fa-exclamation:before{content:""}.fa-exclamation-circle:before{content:""}.fa-exclamation-triangle:before{content:""}.fa-expand:before{content:""}.fa-expand-alt:before{content:""}.fa-expand-arrows-alt:before{content:""}.fa-expeditedssl:before{content:""}.fa-external-link-alt:before{content:""}.fa-external-link-square-alt:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper:before{content:""}.fa-eye-slash:before{content:""}.fa-facebook:before{content:""}.fa-facebook-f:before{content:""}.fa-facebook-messenger:before{content:""}.fa-facebook-square:before{content:""}.fa-fan:before{content:""}.fa-fantasy-flight-games:before{content:""}.fa-fast-backward:before{content:""}.fa-fast-forward:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before{content:""}.fa-fedex:before{content:""}.fa-fedora:before{content:""}.fa-female:before{content:""}.fa-fighter-jet:before{content:""}.fa-figma:before{content:""}.fa-file:before{content:""}.fa-file-alt:before{content:""}.fa-file-archive:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-download:before{content:""}.fa-file-excel:before{content:""}.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-medical:before{content:""}.fa-file-medical-alt:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-upload:before{content:""}.fa-file-video:before{content:""}.fa-file-word:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-alt:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-firefox:before{content:""}.fa-firefox-browser:before{content:""}.fa-first-aid:before{content:""}.fa-first-order:before{content:""}.fa-first-order-alt:before{content:""}.fa-firstdraft:before{content:""}.fa-fish:before{content:""}.fa-fist-raised:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-flickr:before{content:""}.fa-flipboard:before{content:""}.fa-flushed:before{content:""}.fa-fly:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-font:before{content:""}.fa-font-awesome:before{content:""}.fa-font-awesome-alt:before{content:""}.fa-font-awesome-flag:before{content:""}.fa-font-awesome-logo-full:before{content:""}.fa-fonticons:before{content:""}.fa-fonticons-fi:before{content:""}.fa-football-ball:before{content:""}.fa-fort-awesome:before{content:""}.fa-fort-awesome-alt:before{content:""}.fa-forumbee:before{content:""}.fa-forward:before{content:""}.fa-foursquare:before{content:""}.fa-free-code-camp:before{content:""}.fa-freebsd:before{content:""}.fa-frog:before{content:""}.fa-frown:before{content:""}.fa-frown-open:before{content:""}.fa-fulcrum:before{content:""}.fa-funnel-dollar:before{content:""}.fa-futbol:before{content:""}.fa-galactic-republic:before{content:""}.fa-galactic-senate:before{content:""}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-gavel:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-get-pocket:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-git:before{content:""}.fa-git-alt:before{content:""}.fa-git-square:before{content:""}.fa-github:before{content:""}.fa-github-alt:before{content:""}.fa-github-square:before{content:""}.fa-gitkraken:before{content:""}.fa-gitlab:before{content:""}.fa-gitter:before{content:""}.fa-glass-cheers:before{content:""}.fa-glass-martini:before{content:""}.fa-glass-martini-alt:before{content:""}.fa-glass-whiskey:before{content:""}.fa-glasses:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-globe:before{content:""}.fa-globe-africa:before{content:""}.fa-globe-americas:before{content:""}.fa-globe-asia:before{content:""}.fa-globe-europe:before{content:""}.fa-gofore:before{content:""}.fa-golf-ball:before{content:""}.fa-goodreads:before{content:""}.fa-goodreads-g:before{content:""}.fa-google:before{content:""}.fa-google-drive:before{content:""}.fa-google-pay:before{content:""}.fa-google-play:before{content:""}.fa-google-plus:before{content:""}.fa-google-plus-g:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-wallet:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before{content:""}.fa-gratipay:before{content:""}.fa-grav:before{content:""}.fa-greater-than:before{content:""}.fa-greater-than-equal:before{content:""}.fa-grimace:before{content:""}.fa-grin:before{content:""}.fa-grin-alt:before{content:""}.fa-grin-beam:before{content:""}.fa-grin-beam-sweat:before{content:""}.fa-grin-hearts:before{content:""}.fa-grin-squint:before{content:""}.fa-grin-squint-tears:before{content:""}.fa-grin-stars:before{content:""}.fa-grin-tears:before{content:""}.fa-grin-tongue:before{content:""}.fa-grin-tongue-squint:before{content:""}.fa-grin-tongue-wink:before{content:""}.fa-grin-wink:before{content:""}.fa-grip-horizontal:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-gripfire:before{content:""}.fa-grunt:before{content:""}.fa-guilded:before{content:""}.fa-guitar:before{content:""}.fa-gulp:before{content:""}.fa-h-square:before{content:""}.fa-hacker-news:before{content:""}.fa-hacker-news-square:before{content:""}.fa-hackerrank:before{content:""}.fa-hamburger:before{content:""}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-holding-usd:before{content:""}.fa-hand-holding-water:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-paper:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-rock:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before{content:""}.fa-hands-helping:before{content:""}.fa-hands-wash:before{content:""}.fa-handshake:before{content:""}.fa-handshake-alt-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-hat:before{content:""}.fa-hashtag:before{content:""}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-hdd:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before{content:""}.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-highlighter:before{content:""}.fa-hiking:before{content:""}.fa-hippo:before{content:""}.fa-hips:before{content:""}.fa-hire-a-helper:before{content:""}.fa-history:before{content:""}.fa-hive:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-home:before{content:""}.fa-hooli:before{content:""}.fa-hornbill:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital:before{content:""}.fa-hospital-alt:before{content:""}.fa-hospital-symbol:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hotjar:before{content:""}.fa-hourglass:before{content:""}.fa-hourglass-end:before{content:""}.fa-hourglass-half:before{content:""}.fa-hourglass-start:before{content:""}.fa-house-damage:before{content:""}.fa-house-user:before{content:""}.fa-houzz:before{content:""}.fa-hryvnia:before{content:""}.fa-html5:before{content:""}.fa-hubspot:before{content:""}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-id-card:before{content:""}.fa-id-card-alt:before{content:""}.fa-ideal:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-images:before{content:""}.fa-imdb:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-info-circle:before{content:""}.fa-innosoft:before{content:""}.fa-instagram:before{content:""}.fa-instagram-square:before{content:""}.fa-instalod:before{content:""}.fa-intercom:before{content:""}.fa-internet-explorer:before{content:""}.fa-invision:before{content:""}.fa-ioxhost:before{content:""}.fa-italic:before{content:""}.fa-itch-io:before{content:""}.fa-itunes:before{content:""}.fa-itunes-note:before{content:""}.fa-java:before{content:""}.fa-jedi:before{content:""}.fa-jedi-order:before{content:""}.fa-jenkins:before{content:""}.fa-jira:before{content:""}.fa-joget:before{content:""}.fa-joint:before{content:""}.fa-joomla:before{content:""}.fa-journal-whills:before{content:""}.fa-js:before{content:""}.fa-js-square:before{content:""}.fa-jsfiddle:before{content:""}.fa-kaaba:before{content:""}.fa-kaggle:before{content:""}.fa-key:before{content:""}.fa-keybase:before{content:""}.fa-keyboard:before{content:""}.fa-keycdn:before{content:""}.fa-khanda:before{content:""}.fa-kickstarter:before{content:""}.fa-kickstarter-k:before{content:""}.fa-kiss:before{content:""}.fa-kiss-beam:before{content:""}.fa-kiss-wink-heart:before{content:""}.fa-kiwi-bird:before{content:""}.fa-korvue:before{content:""}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-house:before{content:""}.fa-laptop-medical:before{content:""}.fa-laravel:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-laugh:before{content:""}.fa-laugh-beam:before{content:""}.fa-laugh-squint:before{content:""}.fa-laugh-wink:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-leanpub:before{content:""}.fa-lemon:before{content:""}.fa-less:before{content:""}.fa-less-than:before{content:""}.fa-less-than-equal:before{content:""}.fa-level-down-alt:before{content:""}.fa-level-up-alt:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-line:before{content:""}.fa-link:before{content:""}.fa-linkedin:before{content:""}.fa-linkedin-in:before{content:""}.fa-linode:before{content:""}.fa-linux:before{content:""}.fa-lira-sign:before{content:""}.fa-list:before{content:""}.fa-list-alt:before{content:""}.fa-list-ol:before{content:""}.fa-list-ul:before{content:""}.fa-location-arrow:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-long-arrow-alt-down:before{content:""}.fa-long-arrow-alt-left:before{content:""}.fa-long-arrow-alt-right:before{content:""}.fa-long-arrow-alt-up:before{content:""}.fa-low-vision:before{content:""}.fa-luggage-cart:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-lyft:before{content:""}.fa-magento:before{content:""}.fa-magic:before{content:""}.fa-magnet:before{content:""}.fa-mail-bulk:before{content:""}.fa-mailchimp:before{content:""}.fa-male:before{content:""}.fa-mandalorian:before{content:""}.fa-map:before{content:""}.fa-map-marked:before{content:""}.fa-map-marked-alt:before{content:""}.fa-map-marker:before{content:""}.fa-map-marker-alt:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-markdown:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mask:before{content:""}.fa-mastodon:before{content:""}.fa-maxcdn:before{content:""}.fa-mdb:before{content:""}.fa-medal:before{content:""}.fa-medapps:before{content:""}.fa-medium:before{content:""}.fa-medium-m:before{content:""}.fa-medkit:before{content:""}.fa-medrt:before{content:""}.fa-meetup:before{content:""}.fa-megaport:before{content:""}.fa-meh:before{content:""}.fa-meh-blank:before{content:""}.fa-meh-rolling-eyes:before{content:""}.fa-memory:before{content:""}.fa-mendeley:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-meteor:before{content:""}.fa-microblog:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before{content:""}.fa-microphone-alt-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-microsoft:before{content:""}.fa-minus:before{content:""}.fa-minus-circle:before{content:""}.fa-minus-square:before{content:""}.fa-mitten:before{content:""}.fa-mix:before{content:""}.fa-mixcloud:before{content:""}.fa-mixer:before{content:""}.fa-mizuni:before{content:""}.fa-mobile:before{content:""}.fa-mobile-alt:before{content:""}.fa-modx:before{content:""}.fa-monero:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-bill-wave-alt:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mouse:before{content:""}.fa-mouse-pointer:before{content:""}.fa-mug-hot:before{content:""}.fa-music:before{content:""}.fa-napster:before{content:""}.fa-neos:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-nimblr:before{content:""}.fa-node:before{content:""}.fa-node-js:before{content:""}.fa-not-equal:before{content:""}.fa-notes-medical:before{content:""}.fa-npm:before{content:""}.fa-ns8:before{content:""}.fa-nutritionix:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-octopus-deploy:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-oil-can:before{content:""}.fa-old-republic:before{content:""}.fa-om:before{content:""}.fa-opencart:before{content:""}.fa-openid:before{content:""}.fa-opera:before{content:""}.fa-optin-monster:before{content:""}.fa-orcid:before{content:""}.fa-osi:before{content:""}.fa-otter:before{content:""}.fa-outdent:before{content:""}.fa-page4:before{content:""}.fa-pagelines:before{content:""}.fa-pager:before{content:""}.fa-paint-brush:before{content:""}.fa-paint-roller:before{content:""}.fa-palette:before{content:""}.fa-palfed:before{content:""}.fa-pallet:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-parking:before{content:""}.fa-passport:before{content:""}.fa-pastafarianism:before{content:""}.fa-paste:before{content:""}.fa-patreon:before{content:""}.fa-pause:before{content:""}.fa-pause-circle:before{content:""}.fa-paw:before{content:""}.fa-paypal:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-square:before{content:""}.fa-pencil-alt:before{content:""}.fa-pencil-ruler:before{content:""}.fa-penny-arcade:before{content:""}.fa-people-arrows:before{content:""}.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-perbyte:before{content:""}.fa-percent:before{content:""}.fa-percentage:before{content:""}.fa-periscope:before{content:""}.fa-person-booth:before{content:""}.fa-phabricator:before{content:""}.fa-phoenix-framework:before{content:""}.fa-phoenix-squadron:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-square:before{content:""}.fa-phone-square-alt:before{content:""}.fa-phone-volume:before{content:""}.fa-photo-video:before{content:""}.fa-php:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-pied-piper-hat:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-square:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-p:before{content:""}.fa-pinterest-square:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-play-circle:before{content:""}.fa-playstation:before{content:""}.fa-plug:before{content:""}.fa-plus:before{content:""}.fa-plus-circle:before{content:""}.fa-plus-square:before{content:""}.fa-podcast:before{content:""}.fa-poll:before{content:""}.fa-poll-h:before{content:""}.fa-poo:before{content:""}.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-portrait:before{content:""}.fa-pound-sign:before{content:""}.fa-power-off:before{content:""}.fa-pray:before{content:""}.fa-praying-hands:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before{content:""}.fa-print:before{content:""}.fa-procedures:before{content:""}.fa-product-hunt:before{content:""}.fa-project-diagram:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-pushed:before{content:""}.fa-puzzle-piece:before{content:""}.fa-python:before{content:""}.fa-qq:before{content:""}.fa-qrcode:before{content:""}.fa-question:before{content:""}.fa-question-circle:before{content:""}.fa-quidditch:before{content:""}.fa-quinscape:before{content:""}.fa-quora:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-quran:before{content:""}.fa-r-project:before{content:""}.fa-radiation:before{content:""}.fa-radiation-alt:before{content:""}.fa-rainbow:before{content:""}.fa-random:before{content:""}.fa-raspberry-pi:before{content:""}.fa-ravelry:before{content:""}.fa-react:before{content:""}.fa-reacteurope:before{content:""}.fa-readme:before{content:""}.fa-rebel:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-recycle:before{content:""}.fa-red-river:before{content:""}.fa-reddit:before{content:""}.fa-reddit-alien:before{content:""}.fa-reddit-square:before{content:""}.fa-redhat:before{content:""}.fa-redo:before{content:""}.fa-redo-alt:before{content:""}.fa-registered:before{content:""}.fa-remove-format:before{content:""}.fa-renren:before{content:""}.fa-reply:before{content:""}.fa-reply-all:before{content:""}.fa-replyd:before{content:""}.fa-republican:before{content:""}.fa-researchgate:before{content:""}.fa-resolving:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-rev:before{content:""}.fa-ribbon:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rocketchat:before{content:""}.fa-rockrms:before{content:""}.fa-route:before{content:""}.fa-rss:before{content:""}.fa-rss-square:before{content:""}.fa-ruble-sign:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-running:before{content:""}.fa-rupee-sign:before{content:""}.fa-rust:before{content:""}.fa-sad-cry:before{content:""}.fa-sad-tear:before{content:""}.fa-safari:before{content:""}.fa-salesforce:before{content:""}.fa-sass:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-save:before{content:""}.fa-schlix:before{content:""}.fa-school:before{content:""}.fa-screwdriver:before{content:""}.fa-scribd:before{content:""}.fa-scroll:before{content:""}.fa-sd-card:before{content:""}.fa-search:before{content:""}.fa-search-dollar:before{content:""}.fa-search-location:before{content:""}.fa-search-minus:before{content:""}.fa-search-plus:before{content:""}.fa-searchengin:before{content:""}.fa-seedling:before{content:""}.fa-sellcast:before{content:""}.fa-sellsy:before{content:""}.fa-server:before{content:""}.fa-servicestack:before{content:""}.fa-shapes:before{content:""}.fa-share:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-share-square:before{content:""}.fa-shekel-sign:before{content:""}.fa-shield-alt:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shipping-fast:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-shoe-prints:before{content:""}.fa-shopify:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-shopping-cart:before{content:""}.fa-shopware:before{content:""}.fa-shower:before{content:""}.fa-shuttle-van:before{content:""}.fa-sign:before{content:""}.fa-sign-in-alt:before{content:""}.fa-sign-language:before{content:""}.fa-sign-out-alt:before{content:""}.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-sim-card:before{content:""}.fa-simplybuilt:before{content:""}.fa-sink:before{content:""}.fa-sistrix:before{content:""}.fa-sitemap:before{content:""}.fa-sith:before{content:""}.fa-skating:before{content:""}.fa-sketch:before{content:""}.fa-skiing:before{content:""}.fa-skiing-nordic:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-skyatlas:before{content:""}.fa-skype:before{content:""}.fa-slack:before{content:""}.fa-slack-hash:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before{content:""}.fa-slideshare:before{content:""}.fa-smile:before{content:""}.fa-smile-beam:before{content:""}.fa-smile-wink:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-smoking-ban:before{content:""}.fa-sms:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-snowboarding:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before{content:""}.fa-sort-alpha-down:before{content:""}.fa-sort-alpha-down-alt:before{content:""}.fa-sort-alpha-up:before{content:""}.fa-sort-alpha-up-alt:before{content:""}.fa-sort-amount-down:before{content:""}.fa-sort-amount-down-alt:before{content:""}.fa-sort-amount-up:before{content:""}.fa-sort-amount-up-alt:before{content:""}.fa-sort-down:before{content:""}.fa-sort-numeric-down:before{content:""}.fa-sort-numeric-down-alt:before{content:""}.fa-sort-numeric-up:before{content:""}.fa-sort-numeric-up-alt:before{content:""}.fa-sort-up:before{content:""}.fa-soundcloud:before{content:""}.fa-sourcetree:before{content:""}.fa-spa:before{content:""}.fa-space-shuttle:before{content:""}.fa-speakap:before{content:""}.fa-speaker-deck:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spotify:before{content:""}.fa-spray-can:before{content:""}.fa-square:before{content:""}.fa-square-full:before{content:""}.fa-square-root-alt:before{content:""}.fa-squarespace:before{content:""}.fa-stack-exchange:before{content:""}.fa-stack-overflow:before{content:""}.fa-stackpath:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-staylinked:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-steam-symbol:before{content:""}.fa-step-backward:before{content:""}.fa-step-forward:before{content:""}.fa-stethoscope:before{content:""}.fa-sticker-mule:before{content:""}.fa-sticky-note:before{content:""}.fa-stop:before{content:""}.fa-stop-circle:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-alt:before{content:""}.fa-store-alt-slash:before{content:""}.fa-store-slash:before{content:""}.fa-strava:before{content:""}.fa-stream:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stripe:before{content:""}.fa-stripe-s:before{content:""}.fa-stroopwafel:before{content:""}.fa-studiovinari:before{content:""}.fa-stumbleupon:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-subscript:before{content:""}.fa-subway:before{content:""}.fa-suitcase:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superpowers:before{content:""}.fa-superscript:before{content:""}.fa-supple:before{content:""}.fa-surprise:before{content:""}.fa-suse:before{content:""}.fa-swatchbook:before{content:""}.fa-swift:before{content:""}.fa-swimmer:before{content:""}.fa-swimming-pool:before{content:""}.fa-symfony:before{content:""}.fa-synagogue:before{content:""}.fa-sync:before{content:""}.fa-sync-alt:before{content:""}.fa-syringe:before{content:""}.fa-table:before{content:""}.fa-table-tennis:before{content:""}.fa-tablet:before{content:""}.fa-tablet-alt:before{content:""}.fa-tablets:before{content:""}.fa-tachometer-alt:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-tasks:before{content:""}.fa-taxi:before{content:""}.fa-teamspeak:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-telegram:before{content:""}.fa-telegram-plane:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-tencent-weibo:before{content:""}.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-th:before{content:""}.fa-th-large:before{content:""}.fa-th-list:before{content:""}.fa-the-red-yeti:before{content:""}.fa-theater-masks:before{content:""}.fa-themeco:before{content:""}.fa-themeisle:before{content:""}.fa-thermometer:before{content:""}.fa-thermometer-empty:before{content:""}.fa-thermometer-full:before{content:""}.fa-thermometer-half:before{content:""}.fa-thermometer-quarter:before{content:""}.fa-thermometer-three-quarters:before{content:""}.fa-think-peaks:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbtack:before{content:""}.fa-ticket-alt:before{content:""}.fa-tiktok:before{content:""}.fa-times:before{content:""}.fa-times-circle:before{content:""}.fa-tint:before{content:""}.fa-tint-slash:before{content:""}.fa-tired:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tools:before{content:""}.fa-tooth:before{content:""}.fa-torah:before{content:""}.fa-torii-gate:before{content:""}.fa-tractor:before{content:""}.fa-trade-federation:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-tram:before{content:""}.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-trash:before{content:""}.fa-trash-alt:before{content:""}.fa-trash-restore:before{content:""}.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-trello:before{content:""}.fa-tripadvisor:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-truck-loading:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-tshirt:before{content:""}.fa-tty:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-tv:before{content:""}.fa-twitch:before{content:""}.fa-twitter:before{content:""}.fa-twitter-square:before{content:""}.fa-typo3:before{content:""}.fa-uber:before{content:""}.fa-ubuntu:before{content:""}.fa-uikit:before{content:""}.fa-umbraco:before{content:""}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-uncharted:before{content:""}.fa-underline:before{content:""}.fa-undo:before{content:""}.fa-undo-alt:before{content:""}.fa-uniregistry:before{content:""}.fa-unity:before{content:""}.fa-universal-access:before{content:""}.fa-university:before{content:""}.fa-unlink:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before{content:""}.fa-unsplash:before{content:""}.fa-untappd:before{content:""}.fa-upload:before{content:""}.fa-ups:before{content:""}.fa-usb:before{content:""}.fa-user:before{content:""}.fa-user-alt:before{content:""}.fa-user-alt-slash:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-circle:before{content:""}.fa-user-clock:before{content:""}.fa-user-cog:before{content:""}.fa-user-edit:before{content:""}.fa-user-friends:before{content:""}.fa-user-graduate:before{content:""}.fa-user-injured:before{content:""}.fa-user-lock:before{content:""}.fa-user-md:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before{content:""}.fa-users:before{content:""}.fa-users-cog:before{content:""}.fa-users-slash:before{content:""}.fa-usps:before{content:""}.fa-ussunnah:before{content:""}.fa-utensil-spoon:before{content:""}.fa-utensils:before{content:""}.fa-vaadin:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-viacoin:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-viber:before{content:""}.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-vimeo:before{content:""}.fa-vimeo-square:before{content:""}.fa-vimeo-v:before{content:""}.fa-vine:before{content:""}.fa-virus:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-vk:before{content:""}.fa-vnv:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before{content:""}.fa-volume-down:before{content:""}.fa-volume-mute:before{content:""}.fa-volume-off:before{content:""}.fa-volume-up:before{content:""}.fa-vote-yea:before{content:""}.fa-vr-cardboard:before{content:""}.fa-vuejs:before{content:""}.fa-walking:before{content:""}.fa-wallet:before{content:""}.fa-warehouse:before{content:""}.fa-watchman-monitoring:before{content:""}.fa-water:before{content:""}.fa-wave-square:before{content:""}.fa-waze:before{content:""}.fa-weebly:before{content:""}.fa-weibo:before{content:""}.fa-weight:before{content:""}.fa-weight-hanging:before{content:""}.fa-weixin:before{content:""}.fa-whatsapp:before{content:""}.fa-whatsapp-square:before{content:""}.fa-wheelchair:before{content:""}.fa-whmcs:before{content:""}.fa-wifi:before{content:""}.fa-wikipedia-w:before{content:""}.fa-wind:before{content:""}.fa-window-close:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-windows:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before{content:""}.fa-wix:before{content:""}.fa-wizards-of-the-coast:before{content:""}.fa-wodu:before{content:""}.fa-wolf-pack-battalion:before{content:""}.fa-won-sign:before{content:""}.fa-wordpress:before{content:""}.fa-wordpress-simple:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpexplorer:before{content:""}.fa-wpforms:before{content:""}.fa-wpressr:before{content:""}.fa-wrench:before{content:""}.fa-x-ray:before{content:""}.fa-xbox:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-y-combinator:before{content:""}.fa-yahoo:before{content:""}.fa-yammer:before{content:""}.fa-yandex:before{content:""}.fa-yandex-international:before{content:""}.fa-yarn:before{content:""}.fa-yelp:before{content:""}.fa-yen-sign:before{content:""}.fa-yin-yang:before{content:""}.fa-yoast:before{content:""}.fa-youtube:before{content:""}.fa-youtube-square:before{content:""}.fa-zhihu:before{content:""}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}/*! + * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(assets/fa-regular-400.eot);src:url(assets/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(assets/fa-regular-400.woff2) format("woff2"),url(assets/fa-regular-400.woff) format("woff"),url(assets/fa-regular-400.ttf) format("truetype"),url(assets/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400}/*! + * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(assets/fa-solid-900.eot);src:url(assets/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(assets/fa-solid-900.woff2) format("woff2"),url(assets/fa-solid-900.woff) format("woff"),url(assets/fa-solid-900.ttf) format("truetype"),url(assets/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}/*! + * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(assets/fa-brands-400.eot);src:url(assets/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(assets/fa-brands-400.woff2) format("woff2"),url(assets/fa-brands-400.woff) format("woff"),url(assets/fa-brands-400.ttf) format("truetype"),url(assets/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} + +/*# sourceMappingURL=fontawesome.css.map*/ \ No newline at end of file diff --git a/_static/dist/fontawesome.css.map b/_static/dist/fontawesome.css.map new file mode 100644 index 0000000..dd238ce --- /dev/null +++ b/_static/dist/fontawesome.css.map @@ -0,0 +1 @@ +{"version":3,"file":"fontawesome.css","mappings":"AAAA;;;ECAA,CCGA,6BAME,kCACA,mCACA,qBACA,kBACA,oBACA,oBACA,cCXF,OACE,yBACA,kBACA,yBAGF,OACE,gBAGF,OACE,iBAIA,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,OACE,cADF,QACE,eClBJ,OACE,kBACA,YCOqB,CCRvB,OACE,qBACA,kBACA,eAEA,4BAGF,OACE,UACA,kBACA,kBACA,SDLqB,CCMrB,oBCbF,WACE,wBACA,mBACA,yBAGF,yBACA,2BAOE,2GACA,+GCfF,SACE,qCAGF,UACE,uCAGF,mBACE,GACE,uBAGF,KACE,0BCdJ,cCWE,sEACA,wBDXF,eCUE,sEACA,yBDVF,eCSE,sEACA,yBDRF,oBCYE,gFACA,uBDZF,kBCWE,gFACA,uBDXF,mDCUE,gFACA,wBDLA,oIAME,YElBJ,UACE,qBACA,WACA,gBACA,kBACA,sBACA,YAGF,0BAEE,OACA,kBACA,kBACA,WAGF,aACE,oBAGF,aACE,cAGF,YACE,UNpBqB,CONvB,6BACA,uCACA,gCACA,iDACA,0BACA,oCACA,oCACA,8BACA,2BACA,gCACA,sCACA,qCACA,8BACA,+BACA,oCACA,qCACA,kCACA,mCACA,8BACA,iCACA,8BACA,kCACA,iCACA,2DACA,8BACA,8BACA,+BACA,iCACA,yCACA,yCACA,0CACA,uCACA,kCACA,kCACA,mCACA,gCACA,6BACA,qCACA,+BACA,4BACA,iCACA,qCACA,6BACA,6BACA,iCACA,iCACA,+BACA,+BACA,6CACA,6CACA,8CACA,2CACA,yCACA,yCACA,0CACA,uCACA,kCACA,kCACA,mCACA,gCACA,kCACA,oCACA,oCACA,kCACA,mDACA,gCACA,kCACA,0BACA,6BACA,iCACA,4BACA,+BACA,yCACA,oCACA,+BACA,8BACA,6BACA,2BACA,4BACA,qCACA,iCACA,gCACA,6BACA,gCACA,iCACA,6BACA,qCACA,0CACA,2CACA,2BACA,gCACA,gCACA,+BACA,4BACA,qCACA,uCACA,4BACA,qCACA,oCACA,oCACA,uCACA,8CACA,kCACA,2BACA,4BACA,+BACA,sCACA,4BACA,kCACA,oCACA,6BACA,+BACA,8BACA,iCACA,kCACA,iCACA,qCACA,iCACA,+BACA,4BACA,iCACA,kCACA,+BACA,qCACA,6BACA,4BACA,+BACA,iCACA,iCACA,mCACA,4BACA,4BACA,4BACA,4BACA,4BACA,4BACA,iCACA,oCACA,iCACA,mCACA,gCACA,iCACA,kCACA,mCACA,oCACA,oCACA,2BACA,gCACA,kCACA,6BACA,+BACA,6BACA,mCACA,iCACA,yCACA,uCACA,6BACA,6BACA,2BACA,8BACA,2BACA,gCACA,gCACA,gCACA,4BACA,wCACA,2BACA,+BACA,qCACA,mCACA,kCACA,kCACA,gCACA,oCACA,sCACA,oCACA,sCACA,qCACA,sCACA,qCACA,8BACA,oCACA,kCACA,2CACA,kCACA,gCACA,gCACA,2BACA,+BACA,mCACA,iCACA,gCACA,+BACA,kCACA,kCACA,mCACA,yCACA,yCACA,0CACA,uCACA,gCACA,8BACA,uCACA,iCACA,qCACA,2BACA,qCACA,+BACA,oCACA,sCACA,mCACA,8BACA,qCACA,iCACA,iCACA,+BACA,kCACA,8BACA,mCACA,6BACA,kCACA,0CACA,wCACA,kCACA,iCACA,kCACA,iCACA,6BACA,oCACA,oCACA,oCACA,8BACA,6BACA,oCACA,mCACA,kCACA,oCACA,kCACA,mCACA,kCACA,2CACA,2CACA,4CACA,yCACA,oCACA,oCACA,qCACA,kCACA,6BACA,8BACA,kCACA,8BACA,8BACA,oCACA,4BACA,sCACA,iCACA,uCACA,sCACA,6BACA,6BACA,yCACA,6BACA,0CACA,sCACA,kCACA,uCACA,kCACA,2CACA,iCACA,sCACA,wCACA,kCACA,kCACA,kCACA,oCACA,gCACA,4BACA,mCACA,+BACA,gCACA,8BACA,2BACA,4BACA,6BACA,+BACA,+BACA,mCACA,sCACA,oCACA,uCACA,qCACA,gCACA,uCACA,oCACA,+BACA,gCACA,oCACA,2CACA,sCACA,kCACA,sCACA,8BACA,8BACA,mCACA,4BACA,iCACA,qCACA,6BACA,8BACA,wCACA,2CACA,2CACA,8CACA,8CACA,2CACA,2CACA,+CACA,8CACA,2CACA,iDACA,sDACA,8CACA,6CACA,mCACA,qCACA,4BACA,gCACA,6BACA,kCACA,4BACA,6BACA,8BACA,4BACA,gCACA,4BACA,6BACA,2BACA,kCACA,+BACA,sCACA,mCACA,gCACA,gCACA,4BACA,8BACA,iCACA,gCACA,iCACA,+BACA,+BACA,2BACA,kCACA,oCACA,2BACA,iCACA,gCACA,4BACA,gCACA,+BACA,iCACA,iCACA,gCACA,gCACA,kCACA,gCACA,4BACA,qCACA,0CACA,kCACA,+BACA,iCACA,+BACA,8BACA,6BACA,2BACA,8BACA,8BACA,2BACA,mCACA,6BACA,qCACA,8BACA,mCACA,iCACA,kCACA,4BACA,gCACA,qCACA,wCACA,8BACA,oCACA,gCACA,uCACA,+BACA,4BACA,qCACA,sCACA,8BACA,gCACA,gCACA,qCACA,+BACA,8BACA,kCACA,4BACA,4BACA,mCACA,4BACA,2BACA,6BACA,iCACA,kCACA,kCACA,4BACA,6BACA,8BACA,gCACA,qCACA,0CACA,uCACA,8BACA,8BACA,8BACA,8BACA,gCACA,gCACA,4BACA,iCACA,gCACA,oCACA,mCACA,0CACA,4CACA,8BACA,kCACA,yCACA,oCACA,yCACA,gDACA,2BACA,mCACA,iCACA,gCACA,kCACA,0CACA,uCACA,2BACA,4CACA,qCACA,oCACA,8BACA,2BACA,+BACA,mCACA,6BACA,8BACA,8BACA,mCACA,6BACA,4BACA,gCACA,oCACA,kCACA,iCACA,qCACA,gCACA,qCACA,kCACA,mCACA,kCACA,mCACA,oCACA,2CACA,oCACA,wCACA,gCACA,uCACA,yCACA,sCACA,mCACA,kCACA,iCACA,4BACA,iCACA,4BACA,8BACA,mCACA,4BACA,gCACA,yCACA,+BACA,uCACA,iCACA,mCACA,uCACA,kCACA,4BACA,mCACA,4BACA,sCACA,gCACA,6BACA,8BACA,iCACA,+BACA,2BACA,8BACA,oCACA,mCACA,mCACA,4BACA,oCACA,wCACA,yCACA,8CACA,iCACA,oCACA,qCACA,oCACA,wCACA,gCACA,+BACA,kCACA,sCACA,+BACA,4BACA,6BACA,kCACA,+BACA,qCACA,8BACA,yCACA,uCACA,+BACA,gCACA,6BACA,2BACA,kCACA,kCACA,0BACA,iCACA,6BACA,4BACA,6BACA,2BACA,+BACA,kCACA,8BACA,kCACA,qCACA,iCACA,8BACA,8BACA,oCACA,qCACA,yCACA,qCACA,+BACA,6BACA,+BACA,6BACA,oCACA,sCACA,kCACA,oCACA,8BACA,iCACA,iCACA,mCACA,8BACA,oCACA,kCACA,mCACA,mCACA,qCACA,0CACA,qCACA,+BACA,sCACA,gCACA,4BACA,oCACA,0CACA,+BACA,4BACA,gCACA,iCACA,uCACA,mCACA,mCACA,yCACA,kCACA,kCACA,mCACA,0CACA,wCACA,iCACA,uCACA,kCACA,2CACA,qCACA,gCACA,6BACA,+BACA,8BACA,4BACA,gCACA,mCACA,0CACA,kCACA,iCACA,8BACA,6BACA,oCACA,0CACA,4CACA,wCACA,0CACA,mCACA,0CACA,kCACA,kCACA,uCACA,uCACA,wCACA,qCACA,oCACA,iCACA,qCACA,qCACA,kCACA,6BACA,qCACA,kCACA,iCACA,2CACA,uCACA,gCACA,gCACA,+BACA,kCACA,uCACA,kCACA,2BACA,uCACA,6CACA,sCACA,uCACA,+BACA,kCACA,sCACA,+BACA,6BACA,oCACA,iCACA,kCACA,mCACA,8BACA,6BACA,4BACA,qCACA,+BACA,4BACA,mCACA,mCACA,4BACA,6BACA,gCACA,6BACA,kCACA,gCACA,oCACA,uCACA,qCACA,+BACA,8BACA,6BACA,8BACA,iCACA,qCACA,sCACA,uCACA,oCACA,kCACA,6BACA,+BACA,6BACA,+BACA,gCACA,iCACA,+BACA,6BACA,gCACA,+BACA,mCACA,6BACA,6BACA,6BACA,8BACA,4BACA,6BACA,8BACA,gCACA,gCACA,4BACA,mCACA,gCACA,iCACA,wCACA,gCACA,gCACA,yCACA,gCACA,+BACA,8BACA,+BACA,8BACA,mCACA,4BACA,4BACA,kCACA,+BACA,4BACA,6BACA,6BACA,8BACA,sCACA,0BACA,iCACA,gCACA,6BACA,8BACA,2BACA,+BACA,gCACA,8BACA,8BACA,mCACA,qCACA,4BACA,iCACA,uCACA,iCACA,8BACA,gCACA,gCACA,8BACA,mCACA,oCACA,sCACA,+BACA,8BACA,qCACA,6BACA,kCACA,oCACA,kCACA,mCACA,4BACA,+BACA,6BACA,4BACA,iCACA,uCACA,sCACA,oCACA,iCACA,iCACA,4BACA,4BACA,gCACA,mCACA,8BACA,6BACA,iCACA,4BACA,gCACA,+BACA,+BACA,sCACA,4BACA,iCACA,2CACA,2CACA,4CACA,yCACA,kCACA,oCACA,6BACA,mCACA,4BACA,+BACA,6BACA,8BACA,iCACA,iCACA,4BACA,mCACA,2BACA,kCACA,sCACA,kCACA,sCACA,+BACA,iCACA,gCACA,8BACA,4BACA,mCACA,mCACA,qCACA,qCACA,4BACA,gCACA,8BACA,2BACA,6BACA,+BACA,8BACA,gCACA,8BACA,6BACA,8BACA,gCACA,2BACA,iCACA,wCACA,8BACA,gCACA,+BACA,+BACA,8BACA,iCACA,iCACA,kCACA,sCACA,4CACA,wCACA,kCACA,iCACA,6BACA,oCACA,oCACA,8BACA,2BACA,gCACA,6BACA,8BACA,8BACA,kCACA,4BACA,8BACA,kCACA,sCACA,uCACA,2CACA,mCACA,uCACA,gCACA,4BACA,qCACA,8BACA,kCACA,gCACA,6BACA,qCACA,+BACA,6BACA,+BACA,4BACA,qCACA,8BACA,iCACA,8BACA,4BACA,+BACA,iCACA,qCACA,2BACA,2BACA,mCACA,oCACA,sCACA,sCACA,qCACA,4CACA,+BACA,oCACA,0BACA,gCACA,8BACA,6BACA,qCACA,6BACA,2BACA,6BACA,+BACA,6BACA,iCACA,6BACA,mCACA,oCACA,+BACA,8BACA,8BACA,mCACA,iCACA,qCACA,iCACA,+BACA,gCACA,sCACA,6BACA,+BACA,6BACA,oCACA,2BACA,8BACA,6BACA,2BACA,+BACA,iCACA,+BACA,kCACA,kCACA,oCACA,oCACA,qCACA,oCACA,kCACA,+BACA,+BACA,kCACA,iCACA,oCACA,mCACA,yCACA,wCACA,6BACA,iCACA,mCACA,oCACA,wCACA,oCACA,mCACA,2BACA,kCACA,sCACA,sCACA,qCACA,yCACA,kCACA,6BACA,iCACA,mCACA,wCACA,mCACA,wCACA,6BACA,qCACA,uCACA,mCACA,4BACA,mCACA,mCACA,4BACA,4BACA,mCACA,mCACA,+BACA,4BACA,8BACA,2BACA,iCACA,4BACA,gCACA,kCACA,iCACA,4BACA,qCACA,oCACA,2CACA,+CACA,6BACA,kCACA,oCACA,uCACA,oCACA,iCACA,8BACA,oCACA,8BACA,0BACA,8BACA,gCACA,uCACA,iCACA,iCACA,6BACA,kCACA,mCACA,6BACA,iCACA,iCACA,qCACA,+BACA,8BACA,oCACA,+BACA,6BACA,mCACA,8BACA,6BACA,+BACA,oCACA,+BACA,iCACA,8BACA,oCACA,qCACA,8BACA,4BACA,gCACA,kCACA,qCACA,8BACA,6BACA,iCACA,8BACA,kCACA,oCACA,iCACA,gCACA,+BACA,2BACA,8BACA,4BACA,4BACA,6BACA,8BACA,kCACA,+BACA,6BACA,2BACA,kCACA,kCACA,6BACA,sCACA,wCACA,sCACA,+BACA,kCACA,4BACA,+BACA,gCACA,8BACA,kCACA,4BACA,iCACA,sCACA,4BACA,8BACA,8BACA,mCACA,8BACA,8BACA,+BACA,8BACA,qCACA,uCACA,oCACA,mCACA,mCACA,gCACA,gCACA,8BACA,8BACA,oCACA,8BACA,6BACA,iCACA,wCACA,oCACA,mCACA,kCACA,oCACA,4BACA,qCACA,oCACA,mCACA,+BACA,oCACA,uCACA,qCACA,gCACA,8BACA,mCACA,4BACA,mCACA,qCACA,oCACA,8BACA,iCACA,gCACA,mCACA,4BACA,+BACA,+BACA,4BACA,+BACA,8BACA,8BACA,qCACA,6BACA,wCACA,gCACA,6BACA,6BACA,kCACA,6BACA,8BACA,iCACA,kCACA,6BACA,kCACA,kCACA,4BACA,+BACA,mCACA,2BACA,gCACA,sCACA,uCACA,oCACA,iCACA,+BACA,gCACA,4BACA,6BACA,mCACA,4BACA,uCACA,2CACA,qCACA,yCACA,wCACA,4CACA,sCACA,0CACA,iCACA,yCACA,6CACA,uCACA,2CACA,+BACA,kCACA,kCACA,2BACA,qCACA,+BACA,oCACA,mCACA,8BACA,+BACA,+BACA,+BACA,iCACA,8BACA,mCACA,uCACA,mCACA,sCACA,sCACA,iCACA,6BACA,4BACA,yCACA,iCACA,qCACA,qCACA,oCACA,kCACA,6BACA,oCACA,oCACA,qCACA,oCACA,mCACA,oCACA,mCACA,4BACA,mCACA,iCACA,oCACA,6BACA,iCACA,uCACA,mCACA,8BACA,8BACA,mCACA,qCACA,8BACA,gCACA,mCACA,oCACA,mCACA,0CACA,iCACA,8BACA,gCACA,wCACA,2BACA,mCACA,mCACA,8BACA,gCACA,4BACA,kCACA,6BACA,+BACA,qCACA,+BACA,iCACA,4BACA,gCACA,+BACA,6BACA,oCACA,8BACA,kCACA,+BACA,sCACA,2BACA,4BACA,4BACA,6BACA,4BACA,iCACA,6BACA,kCACA,gCACA,sCACA,wCACA,uCACA,qCACA,6BACA,gCACA,mCACA,kCACA,0BACA,gCACA,+BACA,oCACA,qCACA,+BACA,iCACA,mCACA,yCACA,wCACA,wCACA,2CACA,kDACA,mCACA,mCACA,iCACA,iCACA,kCACA,8BACA,6BACA,oCACA,4BACA,kCACA,6BACA,kCACA,iCACA,8BACA,oCACA,0CACA,+BACA,6BACA,6BACA,6BACA,kCACA,+BACA,wCACA,iCACA,qCACA,+BACA,6BACA,4BACA,mCACA,uCACA,6BACA,iCACA,qCACA,yCACA,4BACA,8BACA,mCACA,8BACA,6BACA,qCACA,qCACA,oCACA,oCACA,8BACA,2BACA,8BACA,qCACA,0BACA,8BACA,+BACA,sCACA,6BACA,4BACA,8BACA,6BACA,+BACA,gCACA,sCACA,iCACA,iCACA,4BACA,gCACA,mCACA,6BACA,wCACA,kCACA,8BACA,8BACA,kCACA,gCACA,+BACA,8BACA,2BACA,2BACA,4BACA,gCACA,sCACA,sCACA,kCACA,mCACA,kCACA,gCACA,iCACA,oCACA,qCACA,oCACA,iCACA,+BACA,kCACA,kCACA,kCACA,iCACA,mCACA,mCACA,kCACA,gCACA,gCACA,kCACA,6BACA,iCACA,mCACA,4BACA,gCACA,qCACA,gCACA,8BACA,qCACA,6BACA,oCACA,kCACA,4BACA,oCACA,+BACA,8BACA,qCACA,4BACA,6BACA,6BACA,6BACA,mCACA,8BACA,6BACA,oCACA,+BACA,4BACA,6BACA,mCACA,+BACA,0BACA,2BACA,iCACA,uCACA,mCACA,mCACA,kCACA,iCACA,gCACA,oCACA,6BACA,+BACA,8BACA,iCACA,2CACA,6BACA,mCACA,4BACA,8BACA,6BACA,8BACA,sCACA,8BACA,gCACA,uCACA,kCACA,6BACA,4BACA,mCACA,4BACA,oCACA,uCACA,uCACA,sCACA,+BACA,mCACA,kCACA,sCACA,2BACA,4CACA,4BACA,2CACA,gCACA,iCACA,wCACA,kCACA,kCACA,+BACA,+BACA,8BACA,6BACA,4BACA,4BACA,mCACA,oCACA,6BACA,8BACA,8BACA,4CACA,4BACA,4BACA,gCACA,gCACA,6BACA,+BACA,sCACA,6BCl7CA,SH0BE,SACA,sBACA,WACA,YACA,gBACA,UACA,kBACA,UAUA,mDAEE,UACA,YACA,SACA,iBACA,gBACA,WIrDJ;;;EAAA,CAMA,WACE,kCACA,kBACA,gBACA,kBTLqB,CSMrB,4CACA,wSAOF,KACE,kCACA,gBCrBF;;;EAAA,CAMA,WACE,kCACA,kBACA,gBACA,kBVLqB,CUMrB,4CACA,0SAOF,SAEE,kCACA,gBCtBF;;;EAAA,CAMA,WACE,oCACA,kBACA,gBACA,kBXLqB,CWMrB,6CACA,6SAOF,KACE,Q","sources":["webpack://sphinx-wagtail-theme/./sass/fontawesome.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_core.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_larger.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_fixed-width.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_variables.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_list.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_bordered-pulled.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_animated.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_rotated-flipped.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_mixins.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_stacked.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_icons.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_screen-reader.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/regular.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/solid.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/brands.scss"],"sourcesContent":["/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-0.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fas.fa-pull-left,.far.fa-pull-left,.fal.fa-pull-left,.fab.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fas.fa-pull-right,.far.fa-pull-right,.fal.fa-pull-right,.fab.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scale(1, -1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scale(-1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-flip-both{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:\"\"}.fa-accessible-icon:before{content:\"\"}.fa-accusoft:before{content:\"\"}.fa-acquisitions-incorporated:before{content:\"\"}.fa-ad:before{content:\"\"}.fa-address-book:before{content:\"\"}.fa-address-card:before{content:\"\"}.fa-adjust:before{content:\"\"}.fa-adn:before{content:\"\"}.fa-adversal:before{content:\"\"}.fa-affiliatetheme:before{content:\"\"}.fa-air-freshener:before{content:\"\"}.fa-airbnb:before{content:\"\"}.fa-algolia:before{content:\"\"}.fa-align-center:before{content:\"\"}.fa-align-justify:before{content:\"\"}.fa-align-left:before{content:\"\"}.fa-align-right:before{content:\"\"}.fa-alipay:before{content:\"\"}.fa-allergies:before{content:\"\"}.fa-amazon:before{content:\"\"}.fa-amazon-pay:before{content:\"\"}.fa-ambulance:before{content:\"\"}.fa-american-sign-language-interpreting:before{content:\"\"}.fa-amilia:before{content:\"\"}.fa-anchor:before{content:\"\"}.fa-android:before{content:\"\"}.fa-angellist:before{content:\"\"}.fa-angle-double-down:before{content:\"\"}.fa-angle-double-left:before{content:\"\"}.fa-angle-double-right:before{content:\"\"}.fa-angle-double-up:before{content:\"\"}.fa-angle-down:before{content:\"\"}.fa-angle-left:before{content:\"\"}.fa-angle-right:before{content:\"\"}.fa-angle-up:before{content:\"\"}.fa-angry:before{content:\"\"}.fa-angrycreative:before{content:\"\"}.fa-angular:before{content:\"\"}.fa-ankh:before{content:\"\"}.fa-app-store:before{content:\"\"}.fa-app-store-ios:before{content:\"\"}.fa-apper:before{content:\"\"}.fa-apple:before{content:\"\"}.fa-apple-alt:before{content:\"\"}.fa-apple-pay:before{content:\"\"}.fa-archive:before{content:\"\"}.fa-archway:before{content:\"\"}.fa-arrow-alt-circle-down:before{content:\"\"}.fa-arrow-alt-circle-left:before{content:\"\"}.fa-arrow-alt-circle-right:before{content:\"\"}.fa-arrow-alt-circle-up:before{content:\"\"}.fa-arrow-circle-down:before{content:\"\"}.fa-arrow-circle-left:before{content:\"\"}.fa-arrow-circle-right:before{content:\"\"}.fa-arrow-circle-up:before{content:\"\"}.fa-arrow-down:before{content:\"\"}.fa-arrow-left:before{content:\"\"}.fa-arrow-right:before{content:\"\"}.fa-arrow-up:before{content:\"\"}.fa-arrows-alt:before{content:\"\"}.fa-arrows-alt-h:before{content:\"\"}.fa-arrows-alt-v:before{content:\"\"}.fa-artstation:before{content:\"\"}.fa-assistive-listening-systems:before{content:\"\"}.fa-asterisk:before{content:\"\"}.fa-asymmetrik:before{content:\"\"}.fa-at:before{content:\"\"}.fa-atlas:before{content:\"\"}.fa-atlassian:before{content:\"\"}.fa-atom:before{content:\"\"}.fa-audible:before{content:\"\"}.fa-audio-description:before{content:\"\"}.fa-autoprefixer:before{content:\"\"}.fa-avianex:before{content:\"\"}.fa-aviato:before{content:\"\"}.fa-award:before{content:\"\"}.fa-aws:before{content:\"\"}.fa-baby:before{content:\"\"}.fa-baby-carriage:before{content:\"\"}.fa-backspace:before{content:\"\"}.fa-backward:before{content:\"\"}.fa-bacon:before{content:\"\"}.fa-bacteria:before{content:\"\"}.fa-bacterium:before{content:\"\"}.fa-bahai:before{content:\"\"}.fa-balance-scale:before{content:\"\"}.fa-balance-scale-left:before{content:\"\"}.fa-balance-scale-right:before{content:\"\"}.fa-ban:before{content:\"\"}.fa-band-aid:before{content:\"\"}.fa-bandcamp:before{content:\"\"}.fa-barcode:before{content:\"\"}.fa-bars:before{content:\"\"}.fa-baseball-ball:before{content:\"\"}.fa-basketball-ball:before{content:\"\"}.fa-bath:before{content:\"\"}.fa-battery-empty:before{content:\"\"}.fa-battery-full:before{content:\"\"}.fa-battery-half:before{content:\"\"}.fa-battery-quarter:before{content:\"\"}.fa-battery-three-quarters:before{content:\"\"}.fa-battle-net:before{content:\"\"}.fa-bed:before{content:\"\"}.fa-beer:before{content:\"\"}.fa-behance:before{content:\"\"}.fa-behance-square:before{content:\"\"}.fa-bell:before{content:\"\"}.fa-bell-slash:before{content:\"\"}.fa-bezier-curve:before{content:\"\"}.fa-bible:before{content:\"\"}.fa-bicycle:before{content:\"\"}.fa-biking:before{content:\"\"}.fa-bimobject:before{content:\"\"}.fa-binoculars:before{content:\"\"}.fa-biohazard:before{content:\"\"}.fa-birthday-cake:before{content:\"\"}.fa-bitbucket:before{content:\"\"}.fa-bitcoin:before{content:\"\"}.fa-bity:before{content:\"\"}.fa-black-tie:before{content:\"\"}.fa-blackberry:before{content:\"\"}.fa-blender:before{content:\"\"}.fa-blender-phone:before{content:\"\"}.fa-blind:before{content:\"\"}.fa-blog:before{content:\"\"}.fa-blogger:before{content:\"\"}.fa-blogger-b:before{content:\"\"}.fa-bluetooth:before{content:\"\"}.fa-bluetooth-b:before{content:\"\"}.fa-bold:before{content:\"\"}.fa-bolt:before{content:\"\"}.fa-bomb:before{content:\"\"}.fa-bone:before{content:\"\"}.fa-bong:before{content:\"\"}.fa-book:before{content:\"\"}.fa-book-dead:before{content:\"\"}.fa-book-medical:before{content:\"\"}.fa-book-open:before{content:\"\"}.fa-book-reader:before{content:\"\"}.fa-bookmark:before{content:\"\"}.fa-bootstrap:before{content:\"\"}.fa-border-all:before{content:\"\"}.fa-border-none:before{content:\"\"}.fa-border-style:before{content:\"\"}.fa-bowling-ball:before{content:\"\"}.fa-box:before{content:\"\"}.fa-box-open:before{content:\"\"}.fa-box-tissue:before{content:\"\"}.fa-boxes:before{content:\"\"}.fa-braille:before{content:\"\"}.fa-brain:before{content:\"\"}.fa-bread-slice:before{content:\"\"}.fa-briefcase:before{content:\"\"}.fa-briefcase-medical:before{content:\"\"}.fa-broadcast-tower:before{content:\"\"}.fa-broom:before{content:\"\"}.fa-brush:before{content:\"\"}.fa-btc:before{content:\"\"}.fa-buffer:before{content:\"\"}.fa-bug:before{content:\"\"}.fa-building:before{content:\"\"}.fa-bullhorn:before{content:\"\"}.fa-bullseye:before{content:\"\"}.fa-burn:before{content:\"\"}.fa-buromobelexperte:before{content:\"\"}.fa-bus:before{content:\"\"}.fa-bus-alt:before{content:\"\"}.fa-business-time:before{content:\"\"}.fa-buy-n-large:before{content:\"\"}.fa-buysellads:before{content:\"\"}.fa-calculator:before{content:\"\"}.fa-calendar:before{content:\"\"}.fa-calendar-alt:before{content:\"\"}.fa-calendar-check:before{content:\"\"}.fa-calendar-day:before{content:\"\"}.fa-calendar-minus:before{content:\"\"}.fa-calendar-plus:before{content:\"\"}.fa-calendar-times:before{content:\"\"}.fa-calendar-week:before{content:\"\"}.fa-camera:before{content:\"\"}.fa-camera-retro:before{content:\"\"}.fa-campground:before{content:\"\"}.fa-canadian-maple-leaf:before{content:\"\"}.fa-candy-cane:before{content:\"\"}.fa-cannabis:before{content:\"\"}.fa-capsules:before{content:\"\"}.fa-car:before{content:\"\"}.fa-car-alt:before{content:\"\"}.fa-car-battery:before{content:\"\"}.fa-car-crash:before{content:\"\"}.fa-car-side:before{content:\"\"}.fa-caravan:before{content:\"\"}.fa-caret-down:before{content:\"\"}.fa-caret-left:before{content:\"\"}.fa-caret-right:before{content:\"\"}.fa-caret-square-down:before{content:\"\"}.fa-caret-square-left:before{content:\"\"}.fa-caret-square-right:before{content:\"\"}.fa-caret-square-up:before{content:\"\"}.fa-caret-up:before{content:\"\"}.fa-carrot:before{content:\"\"}.fa-cart-arrow-down:before{content:\"\"}.fa-cart-plus:before{content:\"\"}.fa-cash-register:before{content:\"\"}.fa-cat:before{content:\"\"}.fa-cc-amazon-pay:before{content:\"\"}.fa-cc-amex:before{content:\"\"}.fa-cc-apple-pay:before{content:\"\"}.fa-cc-diners-club:before{content:\"\"}.fa-cc-discover:before{content:\"\"}.fa-cc-jcb:before{content:\"\"}.fa-cc-mastercard:before{content:\"\"}.fa-cc-paypal:before{content:\"\"}.fa-cc-stripe:before{content:\"\"}.fa-cc-visa:before{content:\"\"}.fa-centercode:before{content:\"\"}.fa-centos:before{content:\"\"}.fa-certificate:before{content:\"\"}.fa-chair:before{content:\"\"}.fa-chalkboard:before{content:\"\"}.fa-chalkboard-teacher:before{content:\"\"}.fa-charging-station:before{content:\"\"}.fa-chart-area:before{content:\"\"}.fa-chart-bar:before{content:\"\"}.fa-chart-line:before{content:\"\"}.fa-chart-pie:before{content:\"\"}.fa-check:before{content:\"\"}.fa-check-circle:before{content:\"\"}.fa-check-double:before{content:\"\"}.fa-check-square:before{content:\"\"}.fa-cheese:before{content:\"\"}.fa-chess:before{content:\"\"}.fa-chess-bishop:before{content:\"\"}.fa-chess-board:before{content:\"\"}.fa-chess-king:before{content:\"\"}.fa-chess-knight:before{content:\"\"}.fa-chess-pawn:before{content:\"\"}.fa-chess-queen:before{content:\"\"}.fa-chess-rook:before{content:\"\"}.fa-chevron-circle-down:before{content:\"\"}.fa-chevron-circle-left:before{content:\"\"}.fa-chevron-circle-right:before{content:\"\"}.fa-chevron-circle-up:before{content:\"\"}.fa-chevron-down:before{content:\"\"}.fa-chevron-left:before{content:\"\"}.fa-chevron-right:before{content:\"\"}.fa-chevron-up:before{content:\"\"}.fa-child:before{content:\"\"}.fa-chrome:before{content:\"\"}.fa-chromecast:before{content:\"\"}.fa-church:before{content:\"\"}.fa-circle:before{content:\"\"}.fa-circle-notch:before{content:\"\"}.fa-city:before{content:\"\"}.fa-clinic-medical:before{content:\"\"}.fa-clipboard:before{content:\"\"}.fa-clipboard-check:before{content:\"\"}.fa-clipboard-list:before{content:\"\"}.fa-clock:before{content:\"\"}.fa-clone:before{content:\"\"}.fa-closed-captioning:before{content:\"\"}.fa-cloud:before{content:\"\"}.fa-cloud-download-alt:before{content:\"\"}.fa-cloud-meatball:before{content:\"\"}.fa-cloud-moon:before{content:\"\"}.fa-cloud-moon-rain:before{content:\"\"}.fa-cloud-rain:before{content:\"\"}.fa-cloud-showers-heavy:before{content:\"\"}.fa-cloud-sun:before{content:\"\"}.fa-cloud-sun-rain:before{content:\"\"}.fa-cloud-upload-alt:before{content:\"\"}.fa-cloudflare:before{content:\"\"}.fa-cloudscale:before{content:\"\"}.fa-cloudsmith:before{content:\"\"}.fa-cloudversify:before{content:\"\"}.fa-cocktail:before{content:\"\"}.fa-code:before{content:\"\"}.fa-code-branch:before{content:\"\"}.fa-codepen:before{content:\"\"}.fa-codiepie:before{content:\"\"}.fa-coffee:before{content:\"\"}.fa-cog:before{content:\"\"}.fa-cogs:before{content:\"\"}.fa-coins:before{content:\"\"}.fa-columns:before{content:\"\"}.fa-comment:before{content:\"\"}.fa-comment-alt:before{content:\"\"}.fa-comment-dollar:before{content:\"\"}.fa-comment-dots:before{content:\"\"}.fa-comment-medical:before{content:\"\"}.fa-comment-slash:before{content:\"\"}.fa-comments:before{content:\"\"}.fa-comments-dollar:before{content:\"\"}.fa-compact-disc:before{content:\"\"}.fa-compass:before{content:\"\"}.fa-compress:before{content:\"\"}.fa-compress-alt:before{content:\"\"}.fa-compress-arrows-alt:before{content:\"\"}.fa-concierge-bell:before{content:\"\"}.fa-confluence:before{content:\"\"}.fa-connectdevelop:before{content:\"\"}.fa-contao:before{content:\"\"}.fa-cookie:before{content:\"\"}.fa-cookie-bite:before{content:\"\"}.fa-copy:before{content:\"\"}.fa-copyright:before{content:\"\"}.fa-cotton-bureau:before{content:\"\"}.fa-couch:before{content:\"\"}.fa-cpanel:before{content:\"\"}.fa-creative-commons:before{content:\"\"}.fa-creative-commons-by:before{content:\"\"}.fa-creative-commons-nc:before{content:\"\"}.fa-creative-commons-nc-eu:before{content:\"\"}.fa-creative-commons-nc-jp:before{content:\"\"}.fa-creative-commons-nd:before{content:\"\"}.fa-creative-commons-pd:before{content:\"\"}.fa-creative-commons-pd-alt:before{content:\"\"}.fa-creative-commons-remix:before{content:\"\"}.fa-creative-commons-sa:before{content:\"\"}.fa-creative-commons-sampling:before{content:\"\"}.fa-creative-commons-sampling-plus:before{content:\"\"}.fa-creative-commons-share:before{content:\"\"}.fa-creative-commons-zero:before{content:\"\"}.fa-credit-card:before{content:\"\"}.fa-critical-role:before{content:\"\"}.fa-crop:before{content:\"\"}.fa-crop-alt:before{content:\"\"}.fa-cross:before{content:\"\"}.fa-crosshairs:before{content:\"\"}.fa-crow:before{content:\"\"}.fa-crown:before{content:\"\"}.fa-crutch:before{content:\"\"}.fa-css3:before{content:\"\"}.fa-css3-alt:before{content:\"\"}.fa-cube:before{content:\"\"}.fa-cubes:before{content:\"\"}.fa-cut:before{content:\"\"}.fa-cuttlefish:before{content:\"\"}.fa-d-and-d:before{content:\"\"}.fa-d-and-d-beyond:before{content:\"\"}.fa-dailymotion:before{content:\"\"}.fa-dashcube:before{content:\"\"}.fa-database:before{content:\"\"}.fa-deaf:before{content:\"\"}.fa-deezer:before{content:\"\"}.fa-delicious:before{content:\"\"}.fa-democrat:before{content:\"\"}.fa-deploydog:before{content:\"\"}.fa-deskpro:before{content:\"\"}.fa-desktop:before{content:\"\"}.fa-dev:before{content:\"\"}.fa-deviantart:before{content:\"\"}.fa-dharmachakra:before{content:\"\"}.fa-dhl:before{content:\"\"}.fa-diagnoses:before{content:\"\"}.fa-diaspora:before{content:\"\"}.fa-dice:before{content:\"\"}.fa-dice-d20:before{content:\"\"}.fa-dice-d6:before{content:\"\"}.fa-dice-five:before{content:\"\"}.fa-dice-four:before{content:\"\"}.fa-dice-one:before{content:\"\"}.fa-dice-six:before{content:\"\"}.fa-dice-three:before{content:\"\"}.fa-dice-two:before{content:\"\"}.fa-digg:before{content:\"\"}.fa-digital-ocean:before{content:\"\"}.fa-digital-tachograph:before{content:\"\"}.fa-directions:before{content:\"\"}.fa-discord:before{content:\"\"}.fa-discourse:before{content:\"\"}.fa-disease:before{content:\"\"}.fa-divide:before{content:\"\"}.fa-dizzy:before{content:\"\"}.fa-dna:before{content:\"\"}.fa-dochub:before{content:\"\"}.fa-docker:before{content:\"\"}.fa-dog:before{content:\"\"}.fa-dollar-sign:before{content:\"\"}.fa-dolly:before{content:\"\"}.fa-dolly-flatbed:before{content:\"\"}.fa-donate:before{content:\"\"}.fa-door-closed:before{content:\"\"}.fa-door-open:before{content:\"\"}.fa-dot-circle:before{content:\"\"}.fa-dove:before{content:\"\"}.fa-download:before{content:\"\"}.fa-draft2digital:before{content:\"\"}.fa-drafting-compass:before{content:\"\"}.fa-dragon:before{content:\"\"}.fa-draw-polygon:before{content:\"\"}.fa-dribbble:before{content:\"\"}.fa-dribbble-square:before{content:\"\"}.fa-dropbox:before{content:\"\"}.fa-drum:before{content:\"\"}.fa-drum-steelpan:before{content:\"\"}.fa-drumstick-bite:before{content:\"\"}.fa-drupal:before{content:\"\"}.fa-dumbbell:before{content:\"\"}.fa-dumpster:before{content:\"\"}.fa-dumpster-fire:before{content:\"\"}.fa-dungeon:before{content:\"\"}.fa-dyalog:before{content:\"\"}.fa-earlybirds:before{content:\"\"}.fa-ebay:before{content:\"\"}.fa-edge:before{content:\"\"}.fa-edge-legacy:before{content:\"\"}.fa-edit:before{content:\"\"}.fa-egg:before{content:\"\"}.fa-eject:before{content:\"\"}.fa-elementor:before{content:\"\"}.fa-ellipsis-h:before{content:\"\"}.fa-ellipsis-v:before{content:\"\"}.fa-ello:before{content:\"\"}.fa-ember:before{content:\"\"}.fa-empire:before{content:\"\"}.fa-envelope:before{content:\"\"}.fa-envelope-open:before{content:\"\"}.fa-envelope-open-text:before{content:\"\"}.fa-envelope-square:before{content:\"\"}.fa-envira:before{content:\"\"}.fa-equals:before{content:\"\"}.fa-eraser:before{content:\"\"}.fa-erlang:before{content:\"\"}.fa-ethereum:before{content:\"\"}.fa-ethernet:before{content:\"\"}.fa-etsy:before{content:\"\"}.fa-euro-sign:before{content:\"\"}.fa-evernote:before{content:\"\"}.fa-exchange-alt:before{content:\"\"}.fa-exclamation:before{content:\"\"}.fa-exclamation-circle:before{content:\"\"}.fa-exclamation-triangle:before{content:\"\"}.fa-expand:before{content:\"\"}.fa-expand-alt:before{content:\"\"}.fa-expand-arrows-alt:before{content:\"\"}.fa-expeditedssl:before{content:\"\"}.fa-external-link-alt:before{content:\"\"}.fa-external-link-square-alt:before{content:\"\"}.fa-eye:before{content:\"\"}.fa-eye-dropper:before{content:\"\"}.fa-eye-slash:before{content:\"\"}.fa-facebook:before{content:\"\"}.fa-facebook-f:before{content:\"\"}.fa-facebook-messenger:before{content:\"\"}.fa-facebook-square:before{content:\"\"}.fa-fan:before{content:\"\"}.fa-fantasy-flight-games:before{content:\"\"}.fa-fast-backward:before{content:\"\"}.fa-fast-forward:before{content:\"\"}.fa-faucet:before{content:\"\"}.fa-fax:before{content:\"\"}.fa-feather:before{content:\"\"}.fa-feather-alt:before{content:\"\"}.fa-fedex:before{content:\"\"}.fa-fedora:before{content:\"\"}.fa-female:before{content:\"\"}.fa-fighter-jet:before{content:\"\"}.fa-figma:before{content:\"\"}.fa-file:before{content:\"\"}.fa-file-alt:before{content:\"\"}.fa-file-archive:before{content:\"\"}.fa-file-audio:before{content:\"\"}.fa-file-code:before{content:\"\"}.fa-file-contract:before{content:\"\"}.fa-file-csv:before{content:\"\"}.fa-file-download:before{content:\"\"}.fa-file-excel:before{content:\"\"}.fa-file-export:before{content:\"\"}.fa-file-image:before{content:\"\"}.fa-file-import:before{content:\"\"}.fa-file-invoice:before{content:\"\"}.fa-file-invoice-dollar:before{content:\"\"}.fa-file-medical:before{content:\"\"}.fa-file-medical-alt:before{content:\"\"}.fa-file-pdf:before{content:\"\"}.fa-file-powerpoint:before{content:\"\"}.fa-file-prescription:before{content:\"\"}.fa-file-signature:before{content:\"\"}.fa-file-upload:before{content:\"\"}.fa-file-video:before{content:\"\"}.fa-file-word:before{content:\"\"}.fa-fill:before{content:\"\"}.fa-fill-drip:before{content:\"\"}.fa-film:before{content:\"\"}.fa-filter:before{content:\"\"}.fa-fingerprint:before{content:\"\"}.fa-fire:before{content:\"\"}.fa-fire-alt:before{content:\"\"}.fa-fire-extinguisher:before{content:\"\"}.fa-firefox:before{content:\"\"}.fa-firefox-browser:before{content:\"\"}.fa-first-aid:before{content:\"\"}.fa-first-order:before{content:\"\"}.fa-first-order-alt:before{content:\"\"}.fa-firstdraft:before{content:\"\"}.fa-fish:before{content:\"\"}.fa-fist-raised:before{content:\"\"}.fa-flag:before{content:\"\"}.fa-flag-checkered:before{content:\"\"}.fa-flag-usa:before{content:\"\"}.fa-flask:before{content:\"\"}.fa-flickr:before{content:\"\"}.fa-flipboard:before{content:\"\"}.fa-flushed:before{content:\"\"}.fa-fly:before{content:\"\"}.fa-folder:before{content:\"\"}.fa-folder-minus:before{content:\"\"}.fa-folder-open:before{content:\"\"}.fa-folder-plus:before{content:\"\"}.fa-font:before{content:\"\"}.fa-font-awesome:before{content:\"\"}.fa-font-awesome-alt:before{content:\"\"}.fa-font-awesome-flag:before{content:\"\"}.fa-font-awesome-logo-full:before{content:\"\"}.fa-fonticons:before{content:\"\"}.fa-fonticons-fi:before{content:\"\"}.fa-football-ball:before{content:\"\"}.fa-fort-awesome:before{content:\"\"}.fa-fort-awesome-alt:before{content:\"\"}.fa-forumbee:before{content:\"\"}.fa-forward:before{content:\"\"}.fa-foursquare:before{content:\"\"}.fa-free-code-camp:before{content:\"\"}.fa-freebsd:before{content:\"\"}.fa-frog:before{content:\"\"}.fa-frown:before{content:\"\"}.fa-frown-open:before{content:\"\"}.fa-fulcrum:before{content:\"\"}.fa-funnel-dollar:before{content:\"\"}.fa-futbol:before{content:\"\"}.fa-galactic-republic:before{content:\"\"}.fa-galactic-senate:before{content:\"\"}.fa-gamepad:before{content:\"\"}.fa-gas-pump:before{content:\"\"}.fa-gavel:before{content:\"\"}.fa-gem:before{content:\"\"}.fa-genderless:before{content:\"\"}.fa-get-pocket:before{content:\"\"}.fa-gg:before{content:\"\"}.fa-gg-circle:before{content:\"\"}.fa-ghost:before{content:\"\"}.fa-gift:before{content:\"\"}.fa-gifts:before{content:\"\"}.fa-git:before{content:\"\"}.fa-git-alt:before{content:\"\"}.fa-git-square:before{content:\"\"}.fa-github:before{content:\"\"}.fa-github-alt:before{content:\"\"}.fa-github-square:before{content:\"\"}.fa-gitkraken:before{content:\"\"}.fa-gitlab:before{content:\"\"}.fa-gitter:before{content:\"\"}.fa-glass-cheers:before{content:\"\"}.fa-glass-martini:before{content:\"\"}.fa-glass-martini-alt:before{content:\"\"}.fa-glass-whiskey:before{content:\"\"}.fa-glasses:before{content:\"\"}.fa-glide:before{content:\"\"}.fa-glide-g:before{content:\"\"}.fa-globe:before{content:\"\"}.fa-globe-africa:before{content:\"\"}.fa-globe-americas:before{content:\"\"}.fa-globe-asia:before{content:\"\"}.fa-globe-europe:before{content:\"\"}.fa-gofore:before{content:\"\"}.fa-golf-ball:before{content:\"\"}.fa-goodreads:before{content:\"\"}.fa-goodreads-g:before{content:\"\"}.fa-google:before{content:\"\"}.fa-google-drive:before{content:\"\"}.fa-google-pay:before{content:\"\"}.fa-google-play:before{content:\"\"}.fa-google-plus:before{content:\"\"}.fa-google-plus-g:before{content:\"\"}.fa-google-plus-square:before{content:\"\"}.fa-google-wallet:before{content:\"\"}.fa-gopuram:before{content:\"\"}.fa-graduation-cap:before{content:\"\"}.fa-gratipay:before{content:\"\"}.fa-grav:before{content:\"\"}.fa-greater-than:before{content:\"\"}.fa-greater-than-equal:before{content:\"\"}.fa-grimace:before{content:\"\"}.fa-grin:before{content:\"\"}.fa-grin-alt:before{content:\"\"}.fa-grin-beam:before{content:\"\"}.fa-grin-beam-sweat:before{content:\"\"}.fa-grin-hearts:before{content:\"\"}.fa-grin-squint:before{content:\"\"}.fa-grin-squint-tears:before{content:\"\"}.fa-grin-stars:before{content:\"\"}.fa-grin-tears:before{content:\"\"}.fa-grin-tongue:before{content:\"\"}.fa-grin-tongue-squint:before{content:\"\"}.fa-grin-tongue-wink:before{content:\"\"}.fa-grin-wink:before{content:\"\"}.fa-grip-horizontal:before{content:\"\"}.fa-grip-lines:before{content:\"\"}.fa-grip-lines-vertical:before{content:\"\"}.fa-grip-vertical:before{content:\"\"}.fa-gripfire:before{content:\"\"}.fa-grunt:before{content:\"\"}.fa-guilded:before{content:\"\"}.fa-guitar:before{content:\"\"}.fa-gulp:before{content:\"\"}.fa-h-square:before{content:\"\"}.fa-hacker-news:before{content:\"\"}.fa-hacker-news-square:before{content:\"\"}.fa-hackerrank:before{content:\"\"}.fa-hamburger:before{content:\"\"}.fa-hammer:before{content:\"\"}.fa-hamsa:before{content:\"\"}.fa-hand-holding:before{content:\"\"}.fa-hand-holding-heart:before{content:\"\"}.fa-hand-holding-medical:before{content:\"\"}.fa-hand-holding-usd:before{content:\"\"}.fa-hand-holding-water:before{content:\"\"}.fa-hand-lizard:before{content:\"\"}.fa-hand-middle-finger:before{content:\"\"}.fa-hand-paper:before{content:\"\"}.fa-hand-peace:before{content:\"\"}.fa-hand-point-down:before{content:\"\"}.fa-hand-point-left:before{content:\"\"}.fa-hand-point-right:before{content:\"\"}.fa-hand-point-up:before{content:\"\"}.fa-hand-pointer:before{content:\"\"}.fa-hand-rock:before{content:\"\"}.fa-hand-scissors:before{content:\"\"}.fa-hand-sparkles:before{content:\"\"}.fa-hand-spock:before{content:\"\"}.fa-hands:before{content:\"\"}.fa-hands-helping:before{content:\"\"}.fa-hands-wash:before{content:\"\"}.fa-handshake:before{content:\"\"}.fa-handshake-alt-slash:before{content:\"\"}.fa-handshake-slash:before{content:\"\"}.fa-hanukiah:before{content:\"\"}.fa-hard-hat:before{content:\"\"}.fa-hashtag:before{content:\"\"}.fa-hat-cowboy:before{content:\"\"}.fa-hat-cowboy-side:before{content:\"\"}.fa-hat-wizard:before{content:\"\"}.fa-hdd:before{content:\"\"}.fa-head-side-cough:before{content:\"\"}.fa-head-side-cough-slash:before{content:\"\"}.fa-head-side-mask:before{content:\"\"}.fa-head-side-virus:before{content:\"\"}.fa-heading:before{content:\"\"}.fa-headphones:before{content:\"\"}.fa-headphones-alt:before{content:\"\"}.fa-headset:before{content:\"\"}.fa-heart:before{content:\"\"}.fa-heart-broken:before{content:\"\"}.fa-heartbeat:before{content:\"\"}.fa-helicopter:before{content:\"\"}.fa-highlighter:before{content:\"\"}.fa-hiking:before{content:\"\"}.fa-hippo:before{content:\"\"}.fa-hips:before{content:\"\"}.fa-hire-a-helper:before{content:\"\"}.fa-history:before{content:\"\"}.fa-hive:before{content:\"\"}.fa-hockey-puck:before{content:\"\"}.fa-holly-berry:before{content:\"\"}.fa-home:before{content:\"\"}.fa-hooli:before{content:\"\"}.fa-hornbill:before{content:\"\"}.fa-horse:before{content:\"\"}.fa-horse-head:before{content:\"\"}.fa-hospital:before{content:\"\"}.fa-hospital-alt:before{content:\"\"}.fa-hospital-symbol:before{content:\"\"}.fa-hospital-user:before{content:\"\"}.fa-hot-tub:before{content:\"\"}.fa-hotdog:before{content:\"\"}.fa-hotel:before{content:\"\"}.fa-hotjar:before{content:\"\"}.fa-hourglass:before{content:\"\"}.fa-hourglass-end:before{content:\"\"}.fa-hourglass-half:before{content:\"\"}.fa-hourglass-start:before{content:\"\"}.fa-house-damage:before{content:\"\"}.fa-house-user:before{content:\"\"}.fa-houzz:before{content:\"\"}.fa-hryvnia:before{content:\"\"}.fa-html5:before{content:\"\"}.fa-hubspot:before{content:\"\"}.fa-i-cursor:before{content:\"\"}.fa-ice-cream:before{content:\"\"}.fa-icicles:before{content:\"\"}.fa-icons:before{content:\"\"}.fa-id-badge:before{content:\"\"}.fa-id-card:before{content:\"\"}.fa-id-card-alt:before{content:\"\"}.fa-ideal:before{content:\"\"}.fa-igloo:before{content:\"\"}.fa-image:before{content:\"\"}.fa-images:before{content:\"\"}.fa-imdb:before{content:\"\"}.fa-inbox:before{content:\"\"}.fa-indent:before{content:\"\"}.fa-industry:before{content:\"\"}.fa-infinity:before{content:\"\"}.fa-info:before{content:\"\"}.fa-info-circle:before{content:\"\"}.fa-innosoft:before{content:\"\"}.fa-instagram:before{content:\"\"}.fa-instagram-square:before{content:\"\"}.fa-instalod:before{content:\"\"}.fa-intercom:before{content:\"\"}.fa-internet-explorer:before{content:\"\"}.fa-invision:before{content:\"\"}.fa-ioxhost:before{content:\"\"}.fa-italic:before{content:\"\"}.fa-itch-io:before{content:\"\"}.fa-itunes:before{content:\"\"}.fa-itunes-note:before{content:\"\"}.fa-java:before{content:\"\"}.fa-jedi:before{content:\"\"}.fa-jedi-order:before{content:\"\"}.fa-jenkins:before{content:\"\"}.fa-jira:before{content:\"\"}.fa-joget:before{content:\"\"}.fa-joint:before{content:\"\"}.fa-joomla:before{content:\"\"}.fa-journal-whills:before{content:\"\"}.fa-js:before{content:\"\"}.fa-js-square:before{content:\"\"}.fa-jsfiddle:before{content:\"\"}.fa-kaaba:before{content:\"\"}.fa-kaggle:before{content:\"\"}.fa-key:before{content:\"\"}.fa-keybase:before{content:\"\"}.fa-keyboard:before{content:\"\"}.fa-keycdn:before{content:\"\"}.fa-khanda:before{content:\"\"}.fa-kickstarter:before{content:\"\"}.fa-kickstarter-k:before{content:\"\"}.fa-kiss:before{content:\"\"}.fa-kiss-beam:before{content:\"\"}.fa-kiss-wink-heart:before{content:\"\"}.fa-kiwi-bird:before{content:\"\"}.fa-korvue:before{content:\"\"}.fa-landmark:before{content:\"\"}.fa-language:before{content:\"\"}.fa-laptop:before{content:\"\"}.fa-laptop-code:before{content:\"\"}.fa-laptop-house:before{content:\"\"}.fa-laptop-medical:before{content:\"\"}.fa-laravel:before{content:\"\"}.fa-lastfm:before{content:\"\"}.fa-lastfm-square:before{content:\"\"}.fa-laugh:before{content:\"\"}.fa-laugh-beam:before{content:\"\"}.fa-laugh-squint:before{content:\"\"}.fa-laugh-wink:before{content:\"\"}.fa-layer-group:before{content:\"\"}.fa-leaf:before{content:\"\"}.fa-leanpub:before{content:\"\"}.fa-lemon:before{content:\"\"}.fa-less:before{content:\"\"}.fa-less-than:before{content:\"\"}.fa-less-than-equal:before{content:\"\"}.fa-level-down-alt:before{content:\"\"}.fa-level-up-alt:before{content:\"\"}.fa-life-ring:before{content:\"\"}.fa-lightbulb:before{content:\"\"}.fa-line:before{content:\"\"}.fa-link:before{content:\"\"}.fa-linkedin:before{content:\"\"}.fa-linkedin-in:before{content:\"\"}.fa-linode:before{content:\"\"}.fa-linux:before{content:\"\"}.fa-lira-sign:before{content:\"\"}.fa-list:before{content:\"\"}.fa-list-alt:before{content:\"\"}.fa-list-ol:before{content:\"\"}.fa-list-ul:before{content:\"\"}.fa-location-arrow:before{content:\"\"}.fa-lock:before{content:\"\"}.fa-lock-open:before{content:\"\"}.fa-long-arrow-alt-down:before{content:\"\"}.fa-long-arrow-alt-left:before{content:\"\"}.fa-long-arrow-alt-right:before{content:\"\"}.fa-long-arrow-alt-up:before{content:\"\"}.fa-low-vision:before{content:\"\"}.fa-luggage-cart:before{content:\"\"}.fa-lungs:before{content:\"\"}.fa-lungs-virus:before{content:\"\"}.fa-lyft:before{content:\"\"}.fa-magento:before{content:\"\"}.fa-magic:before{content:\"\"}.fa-magnet:before{content:\"\"}.fa-mail-bulk:before{content:\"\"}.fa-mailchimp:before{content:\"\"}.fa-male:before{content:\"\"}.fa-mandalorian:before{content:\"\"}.fa-map:before{content:\"\"}.fa-map-marked:before{content:\"\"}.fa-map-marked-alt:before{content:\"\"}.fa-map-marker:before{content:\"\"}.fa-map-marker-alt:before{content:\"\"}.fa-map-pin:before{content:\"\"}.fa-map-signs:before{content:\"\"}.fa-markdown:before{content:\"\"}.fa-marker:before{content:\"\"}.fa-mars:before{content:\"\"}.fa-mars-double:before{content:\"\"}.fa-mars-stroke:before{content:\"\"}.fa-mars-stroke-h:before{content:\"\"}.fa-mars-stroke-v:before{content:\"\"}.fa-mask:before{content:\"\"}.fa-mastodon:before{content:\"\"}.fa-maxcdn:before{content:\"\"}.fa-mdb:before{content:\"\"}.fa-medal:before{content:\"\"}.fa-medapps:before{content:\"\"}.fa-medium:before{content:\"\"}.fa-medium-m:before{content:\"\"}.fa-medkit:before{content:\"\"}.fa-medrt:before{content:\"\"}.fa-meetup:before{content:\"\"}.fa-megaport:before{content:\"\"}.fa-meh:before{content:\"\"}.fa-meh-blank:before{content:\"\"}.fa-meh-rolling-eyes:before{content:\"\"}.fa-memory:before{content:\"\"}.fa-mendeley:before{content:\"\"}.fa-menorah:before{content:\"\"}.fa-mercury:before{content:\"\"}.fa-meteor:before{content:\"\"}.fa-microblog:before{content:\"\"}.fa-microchip:before{content:\"\"}.fa-microphone:before{content:\"\"}.fa-microphone-alt:before{content:\"\"}.fa-microphone-alt-slash:before{content:\"\"}.fa-microphone-slash:before{content:\"\"}.fa-microscope:before{content:\"\"}.fa-microsoft:before{content:\"\"}.fa-minus:before{content:\"\"}.fa-minus-circle:before{content:\"\"}.fa-minus-square:before{content:\"\"}.fa-mitten:before{content:\"\"}.fa-mix:before{content:\"\"}.fa-mixcloud:before{content:\"\"}.fa-mixer:before{content:\"\"}.fa-mizuni:before{content:\"\"}.fa-mobile:before{content:\"\"}.fa-mobile-alt:before{content:\"\"}.fa-modx:before{content:\"\"}.fa-monero:before{content:\"\"}.fa-money-bill:before{content:\"\"}.fa-money-bill-alt:before{content:\"\"}.fa-money-bill-wave:before{content:\"\"}.fa-money-bill-wave-alt:before{content:\"\"}.fa-money-check:before{content:\"\"}.fa-money-check-alt:before{content:\"\"}.fa-monument:before{content:\"\"}.fa-moon:before{content:\"\"}.fa-mortar-pestle:before{content:\"\"}.fa-mosque:before{content:\"\"}.fa-motorcycle:before{content:\"\"}.fa-mountain:before{content:\"\"}.fa-mouse:before{content:\"\"}.fa-mouse-pointer:before{content:\"\"}.fa-mug-hot:before{content:\"\"}.fa-music:before{content:\"\"}.fa-napster:before{content:\"\"}.fa-neos:before{content:\"\"}.fa-network-wired:before{content:\"\"}.fa-neuter:before{content:\"\"}.fa-newspaper:before{content:\"\"}.fa-nimblr:before{content:\"\"}.fa-node:before{content:\"\"}.fa-node-js:before{content:\"\"}.fa-not-equal:before{content:\"\"}.fa-notes-medical:before{content:\"\"}.fa-npm:before{content:\"\"}.fa-ns8:before{content:\"\"}.fa-nutritionix:before{content:\"\"}.fa-object-group:before{content:\"\"}.fa-object-ungroup:before{content:\"\"}.fa-octopus-deploy:before{content:\"\"}.fa-odnoklassniki:before{content:\"\"}.fa-odnoklassniki-square:before{content:\"\"}.fa-oil-can:before{content:\"\"}.fa-old-republic:before{content:\"\"}.fa-om:before{content:\"\"}.fa-opencart:before{content:\"\"}.fa-openid:before{content:\"\"}.fa-opera:before{content:\"\"}.fa-optin-monster:before{content:\"\"}.fa-orcid:before{content:\"\"}.fa-osi:before{content:\"\"}.fa-otter:before{content:\"\"}.fa-outdent:before{content:\"\"}.fa-page4:before{content:\"\"}.fa-pagelines:before{content:\"\"}.fa-pager:before{content:\"\"}.fa-paint-brush:before{content:\"\"}.fa-paint-roller:before{content:\"\"}.fa-palette:before{content:\"\"}.fa-palfed:before{content:\"\"}.fa-pallet:before{content:\"\"}.fa-paper-plane:before{content:\"\"}.fa-paperclip:before{content:\"\"}.fa-parachute-box:before{content:\"\"}.fa-paragraph:before{content:\"\"}.fa-parking:before{content:\"\"}.fa-passport:before{content:\"\"}.fa-pastafarianism:before{content:\"\"}.fa-paste:before{content:\"\"}.fa-patreon:before{content:\"\"}.fa-pause:before{content:\"\"}.fa-pause-circle:before{content:\"\"}.fa-paw:before{content:\"\"}.fa-paypal:before{content:\"\"}.fa-peace:before{content:\"\"}.fa-pen:before{content:\"\"}.fa-pen-alt:before{content:\"\"}.fa-pen-fancy:before{content:\"\"}.fa-pen-nib:before{content:\"\"}.fa-pen-square:before{content:\"\"}.fa-pencil-alt:before{content:\"\"}.fa-pencil-ruler:before{content:\"\"}.fa-penny-arcade:before{content:\"\"}.fa-people-arrows:before{content:\"\"}.fa-people-carry:before{content:\"\"}.fa-pepper-hot:before{content:\"\"}.fa-perbyte:before{content:\"\"}.fa-percent:before{content:\"\"}.fa-percentage:before{content:\"\"}.fa-periscope:before{content:\"\"}.fa-person-booth:before{content:\"\"}.fa-phabricator:before{content:\"\"}.fa-phoenix-framework:before{content:\"\"}.fa-phoenix-squadron:before{content:\"\"}.fa-phone:before{content:\"\"}.fa-phone-alt:before{content:\"\"}.fa-phone-slash:before{content:\"\"}.fa-phone-square:before{content:\"\"}.fa-phone-square-alt:before{content:\"\"}.fa-phone-volume:before{content:\"\"}.fa-photo-video:before{content:\"\"}.fa-php:before{content:\"\"}.fa-pied-piper:before{content:\"\"}.fa-pied-piper-alt:before{content:\"\"}.fa-pied-piper-hat:before{content:\"\"}.fa-pied-piper-pp:before{content:\"\"}.fa-pied-piper-square:before{content:\"\"}.fa-piggy-bank:before{content:\"\"}.fa-pills:before{content:\"\"}.fa-pinterest:before{content:\"\"}.fa-pinterest-p:before{content:\"\"}.fa-pinterest-square:before{content:\"\"}.fa-pizza-slice:before{content:\"\"}.fa-place-of-worship:before{content:\"\"}.fa-plane:before{content:\"\"}.fa-plane-arrival:before{content:\"\"}.fa-plane-departure:before{content:\"\"}.fa-plane-slash:before{content:\"\"}.fa-play:before{content:\"\"}.fa-play-circle:before{content:\"\"}.fa-playstation:before{content:\"\"}.fa-plug:before{content:\"\"}.fa-plus:before{content:\"\"}.fa-plus-circle:before{content:\"\"}.fa-plus-square:before{content:\"\"}.fa-podcast:before{content:\"\"}.fa-poll:before{content:\"\"}.fa-poll-h:before{content:\"\"}.fa-poo:before{content:\"\"}.fa-poo-storm:before{content:\"\"}.fa-poop:before{content:\"\"}.fa-portrait:before{content:\"\"}.fa-pound-sign:before{content:\"\"}.fa-power-off:before{content:\"\"}.fa-pray:before{content:\"\"}.fa-praying-hands:before{content:\"\"}.fa-prescription:before{content:\"\"}.fa-prescription-bottle:before{content:\"\"}.fa-prescription-bottle-alt:before{content:\"\"}.fa-print:before{content:\"\"}.fa-procedures:before{content:\"\"}.fa-product-hunt:before{content:\"\"}.fa-project-diagram:before{content:\"\"}.fa-pump-medical:before{content:\"\"}.fa-pump-soap:before{content:\"\"}.fa-pushed:before{content:\"\"}.fa-puzzle-piece:before{content:\"\"}.fa-python:before{content:\"\"}.fa-qq:before{content:\"\"}.fa-qrcode:before{content:\"\"}.fa-question:before{content:\"\"}.fa-question-circle:before{content:\"\"}.fa-quidditch:before{content:\"\"}.fa-quinscape:before{content:\"\"}.fa-quora:before{content:\"\"}.fa-quote-left:before{content:\"\"}.fa-quote-right:before{content:\"\"}.fa-quran:before{content:\"\"}.fa-r-project:before{content:\"\"}.fa-radiation:before{content:\"\"}.fa-radiation-alt:before{content:\"\"}.fa-rainbow:before{content:\"\"}.fa-random:before{content:\"\"}.fa-raspberry-pi:before{content:\"\"}.fa-ravelry:before{content:\"\"}.fa-react:before{content:\"\"}.fa-reacteurope:before{content:\"\"}.fa-readme:before{content:\"\"}.fa-rebel:before{content:\"\"}.fa-receipt:before{content:\"\"}.fa-record-vinyl:before{content:\"\"}.fa-recycle:before{content:\"\"}.fa-red-river:before{content:\"\"}.fa-reddit:before{content:\"\"}.fa-reddit-alien:before{content:\"\"}.fa-reddit-square:before{content:\"\"}.fa-redhat:before{content:\"\"}.fa-redo:before{content:\"\"}.fa-redo-alt:before{content:\"\"}.fa-registered:before{content:\"\"}.fa-remove-format:before{content:\"\"}.fa-renren:before{content:\"\"}.fa-reply:before{content:\"\"}.fa-reply-all:before{content:\"\"}.fa-replyd:before{content:\"\"}.fa-republican:before{content:\"\"}.fa-researchgate:before{content:\"\"}.fa-resolving:before{content:\"\"}.fa-restroom:before{content:\"\"}.fa-retweet:before{content:\"\"}.fa-rev:before{content:\"\"}.fa-ribbon:before{content:\"\"}.fa-ring:before{content:\"\"}.fa-road:before{content:\"\"}.fa-robot:before{content:\"\"}.fa-rocket:before{content:\"\"}.fa-rocketchat:before{content:\"\"}.fa-rockrms:before{content:\"\"}.fa-route:before{content:\"\"}.fa-rss:before{content:\"\"}.fa-rss-square:before{content:\"\"}.fa-ruble-sign:before{content:\"\"}.fa-ruler:before{content:\"\"}.fa-ruler-combined:before{content:\"\"}.fa-ruler-horizontal:before{content:\"\"}.fa-ruler-vertical:before{content:\"\"}.fa-running:before{content:\"\"}.fa-rupee-sign:before{content:\"\"}.fa-rust:before{content:\"\"}.fa-sad-cry:before{content:\"\"}.fa-sad-tear:before{content:\"\"}.fa-safari:before{content:\"\"}.fa-salesforce:before{content:\"\"}.fa-sass:before{content:\"\"}.fa-satellite:before{content:\"\"}.fa-satellite-dish:before{content:\"\"}.fa-save:before{content:\"\"}.fa-schlix:before{content:\"\"}.fa-school:before{content:\"\"}.fa-screwdriver:before{content:\"\"}.fa-scribd:before{content:\"\"}.fa-scroll:before{content:\"\"}.fa-sd-card:before{content:\"\"}.fa-search:before{content:\"\"}.fa-search-dollar:before{content:\"\"}.fa-search-location:before{content:\"\"}.fa-search-minus:before{content:\"\"}.fa-search-plus:before{content:\"\"}.fa-searchengin:before{content:\"\"}.fa-seedling:before{content:\"\"}.fa-sellcast:before{content:\"\"}.fa-sellsy:before{content:\"\"}.fa-server:before{content:\"\"}.fa-servicestack:before{content:\"\"}.fa-shapes:before{content:\"\"}.fa-share:before{content:\"\"}.fa-share-alt:before{content:\"\"}.fa-share-alt-square:before{content:\"\"}.fa-share-square:before{content:\"\"}.fa-shekel-sign:before{content:\"\"}.fa-shield-alt:before{content:\"\"}.fa-shield-virus:before{content:\"\"}.fa-ship:before{content:\"\"}.fa-shipping-fast:before{content:\"\"}.fa-shirtsinbulk:before{content:\"\"}.fa-shoe-prints:before{content:\"\"}.fa-shopify:before{content:\"\"}.fa-shopping-bag:before{content:\"\"}.fa-shopping-basket:before{content:\"\"}.fa-shopping-cart:before{content:\"\"}.fa-shopware:before{content:\"\"}.fa-shower:before{content:\"\"}.fa-shuttle-van:before{content:\"\"}.fa-sign:before{content:\"\"}.fa-sign-in-alt:before{content:\"\"}.fa-sign-language:before{content:\"\"}.fa-sign-out-alt:before{content:\"\"}.fa-signal:before{content:\"\"}.fa-signature:before{content:\"\"}.fa-sim-card:before{content:\"\"}.fa-simplybuilt:before{content:\"\"}.fa-sink:before{content:\"\"}.fa-sistrix:before{content:\"\"}.fa-sitemap:before{content:\"\"}.fa-sith:before{content:\"\"}.fa-skating:before{content:\"\"}.fa-sketch:before{content:\"\"}.fa-skiing:before{content:\"\"}.fa-skiing-nordic:before{content:\"\"}.fa-skull:before{content:\"\"}.fa-skull-crossbones:before{content:\"\"}.fa-skyatlas:before{content:\"\"}.fa-skype:before{content:\"\"}.fa-slack:before{content:\"\"}.fa-slack-hash:before{content:\"\"}.fa-slash:before{content:\"\"}.fa-sleigh:before{content:\"\"}.fa-sliders-h:before{content:\"\"}.fa-slideshare:before{content:\"\"}.fa-smile:before{content:\"\"}.fa-smile-beam:before{content:\"\"}.fa-smile-wink:before{content:\"\"}.fa-smog:before{content:\"\"}.fa-smoking:before{content:\"\"}.fa-smoking-ban:before{content:\"\"}.fa-sms:before{content:\"\"}.fa-snapchat:before{content:\"\"}.fa-snapchat-ghost:before{content:\"\"}.fa-snapchat-square:before{content:\"\"}.fa-snowboarding:before{content:\"\"}.fa-snowflake:before{content:\"\"}.fa-snowman:before{content:\"\"}.fa-snowplow:before{content:\"\"}.fa-soap:before{content:\"\"}.fa-socks:before{content:\"\"}.fa-solar-panel:before{content:\"\"}.fa-sort:before{content:\"\"}.fa-sort-alpha-down:before{content:\"\"}.fa-sort-alpha-down-alt:before{content:\"\"}.fa-sort-alpha-up:before{content:\"\"}.fa-sort-alpha-up-alt:before{content:\"\"}.fa-sort-amount-down:before{content:\"\"}.fa-sort-amount-down-alt:before{content:\"\"}.fa-sort-amount-up:before{content:\"\"}.fa-sort-amount-up-alt:before{content:\"\"}.fa-sort-down:before{content:\"\"}.fa-sort-numeric-down:before{content:\"\"}.fa-sort-numeric-down-alt:before{content:\"\"}.fa-sort-numeric-up:before{content:\"\"}.fa-sort-numeric-up-alt:before{content:\"\"}.fa-sort-up:before{content:\"\"}.fa-soundcloud:before{content:\"\"}.fa-sourcetree:before{content:\"\"}.fa-spa:before{content:\"\"}.fa-space-shuttle:before{content:\"\"}.fa-speakap:before{content:\"\"}.fa-speaker-deck:before{content:\"\"}.fa-spell-check:before{content:\"\"}.fa-spider:before{content:\"\"}.fa-spinner:before{content:\"\"}.fa-splotch:before{content:\"\"}.fa-spotify:before{content:\"\"}.fa-spray-can:before{content:\"\"}.fa-square:before{content:\"\"}.fa-square-full:before{content:\"\"}.fa-square-root-alt:before{content:\"\"}.fa-squarespace:before{content:\"\"}.fa-stack-exchange:before{content:\"\"}.fa-stack-overflow:before{content:\"\"}.fa-stackpath:before{content:\"\"}.fa-stamp:before{content:\"\"}.fa-star:before{content:\"\"}.fa-star-and-crescent:before{content:\"\"}.fa-star-half:before{content:\"\"}.fa-star-half-alt:before{content:\"\"}.fa-star-of-david:before{content:\"\"}.fa-star-of-life:before{content:\"\"}.fa-staylinked:before{content:\"\"}.fa-steam:before{content:\"\"}.fa-steam-square:before{content:\"\"}.fa-steam-symbol:before{content:\"\"}.fa-step-backward:before{content:\"\"}.fa-step-forward:before{content:\"\"}.fa-stethoscope:before{content:\"\"}.fa-sticker-mule:before{content:\"\"}.fa-sticky-note:before{content:\"\"}.fa-stop:before{content:\"\"}.fa-stop-circle:before{content:\"\"}.fa-stopwatch:before{content:\"\"}.fa-stopwatch-20:before{content:\"\"}.fa-store:before{content:\"\"}.fa-store-alt:before{content:\"\"}.fa-store-alt-slash:before{content:\"\"}.fa-store-slash:before{content:\"\"}.fa-strava:before{content:\"\"}.fa-stream:before{content:\"\"}.fa-street-view:before{content:\"\"}.fa-strikethrough:before{content:\"\"}.fa-stripe:before{content:\"\"}.fa-stripe-s:before{content:\"\"}.fa-stroopwafel:before{content:\"\"}.fa-studiovinari:before{content:\"\"}.fa-stumbleupon:before{content:\"\"}.fa-stumbleupon-circle:before{content:\"\"}.fa-subscript:before{content:\"\"}.fa-subway:before{content:\"\"}.fa-suitcase:before{content:\"\"}.fa-suitcase-rolling:before{content:\"\"}.fa-sun:before{content:\"\"}.fa-superpowers:before{content:\"\"}.fa-superscript:before{content:\"\"}.fa-supple:before{content:\"\"}.fa-surprise:before{content:\"\"}.fa-suse:before{content:\"\"}.fa-swatchbook:before{content:\"\"}.fa-swift:before{content:\"\"}.fa-swimmer:before{content:\"\"}.fa-swimming-pool:before{content:\"\"}.fa-symfony:before{content:\"\"}.fa-synagogue:before{content:\"\"}.fa-sync:before{content:\"\"}.fa-sync-alt:before{content:\"\"}.fa-syringe:before{content:\"\"}.fa-table:before{content:\"\"}.fa-table-tennis:before{content:\"\"}.fa-tablet:before{content:\"\"}.fa-tablet-alt:before{content:\"\"}.fa-tablets:before{content:\"\"}.fa-tachometer-alt:before{content:\"\"}.fa-tag:before{content:\"\"}.fa-tags:before{content:\"\"}.fa-tape:before{content:\"\"}.fa-tasks:before{content:\"\"}.fa-taxi:before{content:\"\"}.fa-teamspeak:before{content:\"\"}.fa-teeth:before{content:\"\"}.fa-teeth-open:before{content:\"\"}.fa-telegram:before{content:\"\"}.fa-telegram-plane:before{content:\"\"}.fa-temperature-high:before{content:\"\"}.fa-temperature-low:before{content:\"\"}.fa-tencent-weibo:before{content:\"\"}.fa-tenge:before{content:\"\"}.fa-terminal:before{content:\"\"}.fa-text-height:before{content:\"\"}.fa-text-width:before{content:\"\"}.fa-th:before{content:\"\"}.fa-th-large:before{content:\"\"}.fa-th-list:before{content:\"\"}.fa-the-red-yeti:before{content:\"\"}.fa-theater-masks:before{content:\"\"}.fa-themeco:before{content:\"\"}.fa-themeisle:before{content:\"\"}.fa-thermometer:before{content:\"\"}.fa-thermometer-empty:before{content:\"\"}.fa-thermometer-full:before{content:\"\"}.fa-thermometer-half:before{content:\"\"}.fa-thermometer-quarter:before{content:\"\"}.fa-thermometer-three-quarters:before{content:\"\"}.fa-think-peaks:before{content:\"\"}.fa-thumbs-down:before{content:\"\"}.fa-thumbs-up:before{content:\"\"}.fa-thumbtack:before{content:\"\"}.fa-ticket-alt:before{content:\"\"}.fa-tiktok:before{content:\"\"}.fa-times:before{content:\"\"}.fa-times-circle:before{content:\"\"}.fa-tint:before{content:\"\"}.fa-tint-slash:before{content:\"\"}.fa-tired:before{content:\"\"}.fa-toggle-off:before{content:\"\"}.fa-toggle-on:before{content:\"\"}.fa-toilet:before{content:\"\"}.fa-toilet-paper:before{content:\"\"}.fa-toilet-paper-slash:before{content:\"\"}.fa-toolbox:before{content:\"\"}.fa-tools:before{content:\"\"}.fa-tooth:before{content:\"\"}.fa-torah:before{content:\"\"}.fa-torii-gate:before{content:\"\"}.fa-tractor:before{content:\"\"}.fa-trade-federation:before{content:\"\"}.fa-trademark:before{content:\"\"}.fa-traffic-light:before{content:\"\"}.fa-trailer:before{content:\"\"}.fa-train:before{content:\"\"}.fa-tram:before{content:\"\"}.fa-transgender:before{content:\"\"}.fa-transgender-alt:before{content:\"\"}.fa-trash:before{content:\"\"}.fa-trash-alt:before{content:\"\"}.fa-trash-restore:before{content:\"\"}.fa-trash-restore-alt:before{content:\"\"}.fa-tree:before{content:\"\"}.fa-trello:before{content:\"\"}.fa-tripadvisor:before{content:\"\"}.fa-trophy:before{content:\"\"}.fa-truck:before{content:\"\"}.fa-truck-loading:before{content:\"\"}.fa-truck-monster:before{content:\"\"}.fa-truck-moving:before{content:\"\"}.fa-truck-pickup:before{content:\"\"}.fa-tshirt:before{content:\"\"}.fa-tty:before{content:\"\"}.fa-tumblr:before{content:\"\"}.fa-tumblr-square:before{content:\"\"}.fa-tv:before{content:\"\"}.fa-twitch:before{content:\"\"}.fa-twitter:before{content:\"\"}.fa-twitter-square:before{content:\"\"}.fa-typo3:before{content:\"\"}.fa-uber:before{content:\"\"}.fa-ubuntu:before{content:\"\"}.fa-uikit:before{content:\"\"}.fa-umbraco:before{content:\"\"}.fa-umbrella:before{content:\"\"}.fa-umbrella-beach:before{content:\"\"}.fa-uncharted:before{content:\"\"}.fa-underline:before{content:\"\"}.fa-undo:before{content:\"\"}.fa-undo-alt:before{content:\"\"}.fa-uniregistry:before{content:\"\"}.fa-unity:before{content:\"\"}.fa-universal-access:before{content:\"\"}.fa-university:before{content:\"\"}.fa-unlink:before{content:\"\"}.fa-unlock:before{content:\"\"}.fa-unlock-alt:before{content:\"\"}.fa-unsplash:before{content:\"\"}.fa-untappd:before{content:\"\"}.fa-upload:before{content:\"\"}.fa-ups:before{content:\"\"}.fa-usb:before{content:\"\"}.fa-user:before{content:\"\"}.fa-user-alt:before{content:\"\"}.fa-user-alt-slash:before{content:\"\"}.fa-user-astronaut:before{content:\"\"}.fa-user-check:before{content:\"\"}.fa-user-circle:before{content:\"\"}.fa-user-clock:before{content:\"\"}.fa-user-cog:before{content:\"\"}.fa-user-edit:before{content:\"\"}.fa-user-friends:before{content:\"\"}.fa-user-graduate:before{content:\"\"}.fa-user-injured:before{content:\"\"}.fa-user-lock:before{content:\"\"}.fa-user-md:before{content:\"\"}.fa-user-minus:before{content:\"\"}.fa-user-ninja:before{content:\"\"}.fa-user-nurse:before{content:\"\"}.fa-user-plus:before{content:\"\"}.fa-user-secret:before{content:\"\"}.fa-user-shield:before{content:\"\"}.fa-user-slash:before{content:\"\"}.fa-user-tag:before{content:\"\"}.fa-user-tie:before{content:\"\"}.fa-user-times:before{content:\"\"}.fa-users:before{content:\"\"}.fa-users-cog:before{content:\"\"}.fa-users-slash:before{content:\"\"}.fa-usps:before{content:\"\"}.fa-ussunnah:before{content:\"\"}.fa-utensil-spoon:before{content:\"\"}.fa-utensils:before{content:\"\"}.fa-vaadin:before{content:\"\"}.fa-vector-square:before{content:\"\"}.fa-venus:before{content:\"\"}.fa-venus-double:before{content:\"\"}.fa-venus-mars:before{content:\"\"}.fa-vest:before{content:\"\"}.fa-vest-patches:before{content:\"\"}.fa-viacoin:before{content:\"\"}.fa-viadeo:before{content:\"\"}.fa-viadeo-square:before{content:\"\"}.fa-vial:before{content:\"\"}.fa-vials:before{content:\"\"}.fa-viber:before{content:\"\"}.fa-video:before{content:\"\"}.fa-video-slash:before{content:\"\"}.fa-vihara:before{content:\"\"}.fa-vimeo:before{content:\"\"}.fa-vimeo-square:before{content:\"\"}.fa-vimeo-v:before{content:\"\"}.fa-vine:before{content:\"\"}.fa-virus:before{content:\"\"}.fa-virus-slash:before{content:\"\"}.fa-viruses:before{content:\"\"}.fa-vk:before{content:\"\"}.fa-vnv:before{content:\"\"}.fa-voicemail:before{content:\"\"}.fa-volleyball-ball:before{content:\"\"}.fa-volume-down:before{content:\"\"}.fa-volume-mute:before{content:\"\"}.fa-volume-off:before{content:\"\"}.fa-volume-up:before{content:\"\"}.fa-vote-yea:before{content:\"\"}.fa-vr-cardboard:before{content:\"\"}.fa-vuejs:before{content:\"\"}.fa-walking:before{content:\"\"}.fa-wallet:before{content:\"\"}.fa-warehouse:before{content:\"\"}.fa-watchman-monitoring:before{content:\"\"}.fa-water:before{content:\"\"}.fa-wave-square:before{content:\"\"}.fa-waze:before{content:\"\"}.fa-weebly:before{content:\"\"}.fa-weibo:before{content:\"\"}.fa-weight:before{content:\"\"}.fa-weight-hanging:before{content:\"\"}.fa-weixin:before{content:\"\"}.fa-whatsapp:before{content:\"\"}.fa-whatsapp-square:before{content:\"\"}.fa-wheelchair:before{content:\"\"}.fa-whmcs:before{content:\"\"}.fa-wifi:before{content:\"\"}.fa-wikipedia-w:before{content:\"\"}.fa-wind:before{content:\"\"}.fa-window-close:before{content:\"\"}.fa-window-maximize:before{content:\"\"}.fa-window-minimize:before{content:\"\"}.fa-window-restore:before{content:\"\"}.fa-windows:before{content:\"\"}.fa-wine-bottle:before{content:\"\"}.fa-wine-glass:before{content:\"\"}.fa-wine-glass-alt:before{content:\"\"}.fa-wix:before{content:\"\"}.fa-wizards-of-the-coast:before{content:\"\"}.fa-wodu:before{content:\"\"}.fa-wolf-pack-battalion:before{content:\"\"}.fa-won-sign:before{content:\"\"}.fa-wordpress:before{content:\"\"}.fa-wordpress-simple:before{content:\"\"}.fa-wpbeginner:before{content:\"\"}.fa-wpexplorer:before{content:\"\"}.fa-wpforms:before{content:\"\"}.fa-wpressr:before{content:\"\"}.fa-wrench:before{content:\"\"}.fa-x-ray:before{content:\"\"}.fa-xbox:before{content:\"\"}.fa-xing:before{content:\"\"}.fa-xing-square:before{content:\"\"}.fa-y-combinator:before{content:\"\"}.fa-yahoo:before{content:\"\"}.fa-yammer:before{content:\"\"}.fa-yandex:before{content:\"\"}.fa-yandex-international:before{content:\"\"}.fa-yarn:before{content:\"\"}.fa-yelp:before{content:\"\"}.fa-yen-sign:before{content:\"\"}.fa-yin-yang:before{content:\"\"}.fa-yoast:before{content:\"\"}.fa-youtube:before{content:\"\"}.fa-youtube-square:before{content:\"\"}.fa-zhihu:before{content:\"\"}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */@font-face{font-family:\"Font Awesome 5 Free\";font-style:normal;font-weight:400;font-display:block;src:url(\"~@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot\");src:url(\"~@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot?#iefix\") format(\"embedded-opentype\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2\") format(\"woff2\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff\") format(\"woff\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf\") format(\"truetype\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg#fontawesome\") format(\"svg\")}.far{font-family:\"Font Awesome 5 Free\";font-weight:400}/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */@font-face{font-family:\"Font Awesome 5 Free\";font-style:normal;font-weight:900;font-display:block;src:url(\"~@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot\");src:url(\"~@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot?#iefix\") format(\"embedded-opentype\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2\") format(\"woff2\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff\") format(\"woff\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf\") format(\"truetype\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg#fontawesome\") format(\"svg\")}.fa,.fas{font-family:\"Font Awesome 5 Free\";font-weight:900}/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */@font-face{font-family:\"Font Awesome 5 Brands\";font-style:normal;font-weight:400;font-display:block;src:url(\"~@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot\");src:url(\"~@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot?#iefix\") format(\"embedded-opentype\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2\") format(\"woff2\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff\") format(\"woff\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf\") format(\"truetype\"),url(\"~@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg#fontawesome\") format(\"svg\")}.fab{font-family:\"Font Awesome 5 Brands\";font-weight:400}","/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\n@import 'variables';\n@import 'mixins';\n@import 'core';\n@import 'larger';\n@import 'fixed-width';\n@import 'list';\n@import 'bordered-pulled';\n@import 'animated';\n@import 'rotated-flipped';\n@import 'stacked';\n@import 'icons';\n@import 'screen-reader';\n","// Base Class Definition\n// -------------------------\n\n.#{$fa-css-prefix},\n.fas,\n.far,\n.fal,\n.fad,\n.fab {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n text-rendering: auto;\n line-height: 1;\n}\n\n%fa-icon {\n @include fa-icon;\n}\n","// Icon Sizes\n// -------------------------\n\n// makes the font 33% larger relative to the icon container\n.#{$fa-css-prefix}-lg {\n font-size: (4em / 3);\n line-height: (3em / 4);\n vertical-align: -.0667em;\n}\n\n.#{$fa-css-prefix}-xs {\n font-size: .75em;\n}\n\n.#{$fa-css-prefix}-sm {\n font-size: .875em;\n}\n\n@for $i from 1 through 10 {\n .#{$fa-css-prefix}-#{$i}x {\n font-size: $i * 1em;\n }\n}\n","// Fixed Width Icons\n// -------------------------\n.#{$fa-css-prefix}-fw {\n text-align: center;\n width: $fa-fw-width;\n}\n","// Variables\n// --------------------------\n\n$fa-font-path: \"../webfonts\" !default;\n$fa-font-size-base: 16px !default;\n$fa-font-display: block !default;\n$fa-css-prefix: fa !default;\n$fa-version: \"5.15.3\" !default;\n$fa-border-color: #eee !default;\n$fa-inverse: #fff !default;\n$fa-li-width: 2em !default;\n$fa-fw-width: (20em / 16);\n$fa-primary-opacity: 1 !default;\n$fa-secondary-opacity: .4 !default;\n\n// Convenience function used to set content property\n@function fa-content($fa-var) {\n @return unquote(\"\\\"#{ $fa-var }\\\"\");\n}\n\n$fa-var-500px: \\f26e;\n$fa-var-accessible-icon: \\f368;\n$fa-var-accusoft: \\f369;\n$fa-var-acquisitions-incorporated: \\f6af;\n$fa-var-ad: \\f641;\n$fa-var-address-book: \\f2b9;\n$fa-var-address-card: \\f2bb;\n$fa-var-adjust: \\f042;\n$fa-var-adn: \\f170;\n$fa-var-adversal: \\f36a;\n$fa-var-affiliatetheme: \\f36b;\n$fa-var-air-freshener: \\f5d0;\n$fa-var-airbnb: \\f834;\n$fa-var-algolia: \\f36c;\n$fa-var-align-center: \\f037;\n$fa-var-align-justify: \\f039;\n$fa-var-align-left: \\f036;\n$fa-var-align-right: \\f038;\n$fa-var-alipay: \\f642;\n$fa-var-allergies: \\f461;\n$fa-var-amazon: \\f270;\n$fa-var-amazon-pay: \\f42c;\n$fa-var-ambulance: \\f0f9;\n$fa-var-american-sign-language-interpreting: \\f2a3;\n$fa-var-amilia: \\f36d;\n$fa-var-anchor: \\f13d;\n$fa-var-android: \\f17b;\n$fa-var-angellist: \\f209;\n$fa-var-angle-double-down: \\f103;\n$fa-var-angle-double-left: \\f100;\n$fa-var-angle-double-right: \\f101;\n$fa-var-angle-double-up: \\f102;\n$fa-var-angle-down: \\f107;\n$fa-var-angle-left: \\f104;\n$fa-var-angle-right: \\f105;\n$fa-var-angle-up: \\f106;\n$fa-var-angry: \\f556;\n$fa-var-angrycreative: \\f36e;\n$fa-var-angular: \\f420;\n$fa-var-ankh: \\f644;\n$fa-var-app-store: \\f36f;\n$fa-var-app-store-ios: \\f370;\n$fa-var-apper: \\f371;\n$fa-var-apple: \\f179;\n$fa-var-apple-alt: \\f5d1;\n$fa-var-apple-pay: \\f415;\n$fa-var-archive: \\f187;\n$fa-var-archway: \\f557;\n$fa-var-arrow-alt-circle-down: \\f358;\n$fa-var-arrow-alt-circle-left: \\f359;\n$fa-var-arrow-alt-circle-right: \\f35a;\n$fa-var-arrow-alt-circle-up: \\f35b;\n$fa-var-arrow-circle-down: \\f0ab;\n$fa-var-arrow-circle-left: \\f0a8;\n$fa-var-arrow-circle-right: \\f0a9;\n$fa-var-arrow-circle-up: \\f0aa;\n$fa-var-arrow-down: \\f063;\n$fa-var-arrow-left: \\f060;\n$fa-var-arrow-right: \\f061;\n$fa-var-arrow-up: \\f062;\n$fa-var-arrows-alt: \\f0b2;\n$fa-var-arrows-alt-h: \\f337;\n$fa-var-arrows-alt-v: \\f338;\n$fa-var-artstation: \\f77a;\n$fa-var-assistive-listening-systems: \\f2a2;\n$fa-var-asterisk: \\f069;\n$fa-var-asymmetrik: \\f372;\n$fa-var-at: \\f1fa;\n$fa-var-atlas: \\f558;\n$fa-var-atlassian: \\f77b;\n$fa-var-atom: \\f5d2;\n$fa-var-audible: \\f373;\n$fa-var-audio-description: \\f29e;\n$fa-var-autoprefixer: \\f41c;\n$fa-var-avianex: \\f374;\n$fa-var-aviato: \\f421;\n$fa-var-award: \\f559;\n$fa-var-aws: \\f375;\n$fa-var-baby: \\f77c;\n$fa-var-baby-carriage: \\f77d;\n$fa-var-backspace: \\f55a;\n$fa-var-backward: \\f04a;\n$fa-var-bacon: \\f7e5;\n$fa-var-bacteria: \\e059;\n$fa-var-bacterium: \\e05a;\n$fa-var-bahai: \\f666;\n$fa-var-balance-scale: \\f24e;\n$fa-var-balance-scale-left: \\f515;\n$fa-var-balance-scale-right: \\f516;\n$fa-var-ban: \\f05e;\n$fa-var-band-aid: \\f462;\n$fa-var-bandcamp: \\f2d5;\n$fa-var-barcode: \\f02a;\n$fa-var-bars: \\f0c9;\n$fa-var-baseball-ball: \\f433;\n$fa-var-basketball-ball: \\f434;\n$fa-var-bath: \\f2cd;\n$fa-var-battery-empty: \\f244;\n$fa-var-battery-full: \\f240;\n$fa-var-battery-half: \\f242;\n$fa-var-battery-quarter: \\f243;\n$fa-var-battery-three-quarters: \\f241;\n$fa-var-battle-net: \\f835;\n$fa-var-bed: \\f236;\n$fa-var-beer: \\f0fc;\n$fa-var-behance: \\f1b4;\n$fa-var-behance-square: \\f1b5;\n$fa-var-bell: \\f0f3;\n$fa-var-bell-slash: \\f1f6;\n$fa-var-bezier-curve: \\f55b;\n$fa-var-bible: \\f647;\n$fa-var-bicycle: \\f206;\n$fa-var-biking: \\f84a;\n$fa-var-bimobject: \\f378;\n$fa-var-binoculars: \\f1e5;\n$fa-var-biohazard: \\f780;\n$fa-var-birthday-cake: \\f1fd;\n$fa-var-bitbucket: \\f171;\n$fa-var-bitcoin: \\f379;\n$fa-var-bity: \\f37a;\n$fa-var-black-tie: \\f27e;\n$fa-var-blackberry: \\f37b;\n$fa-var-blender: \\f517;\n$fa-var-blender-phone: \\f6b6;\n$fa-var-blind: \\f29d;\n$fa-var-blog: \\f781;\n$fa-var-blogger: \\f37c;\n$fa-var-blogger-b: \\f37d;\n$fa-var-bluetooth: \\f293;\n$fa-var-bluetooth-b: \\f294;\n$fa-var-bold: \\f032;\n$fa-var-bolt: \\f0e7;\n$fa-var-bomb: \\f1e2;\n$fa-var-bone: \\f5d7;\n$fa-var-bong: \\f55c;\n$fa-var-book: \\f02d;\n$fa-var-book-dead: \\f6b7;\n$fa-var-book-medical: \\f7e6;\n$fa-var-book-open: \\f518;\n$fa-var-book-reader: \\f5da;\n$fa-var-bookmark: \\f02e;\n$fa-var-bootstrap: \\f836;\n$fa-var-border-all: \\f84c;\n$fa-var-border-none: \\f850;\n$fa-var-border-style: \\f853;\n$fa-var-bowling-ball: \\f436;\n$fa-var-box: \\f466;\n$fa-var-box-open: \\f49e;\n$fa-var-box-tissue: \\e05b;\n$fa-var-boxes: \\f468;\n$fa-var-braille: \\f2a1;\n$fa-var-brain: \\f5dc;\n$fa-var-bread-slice: \\f7ec;\n$fa-var-briefcase: \\f0b1;\n$fa-var-briefcase-medical: \\f469;\n$fa-var-broadcast-tower: \\f519;\n$fa-var-broom: \\f51a;\n$fa-var-brush: \\f55d;\n$fa-var-btc: \\f15a;\n$fa-var-buffer: \\f837;\n$fa-var-bug: \\f188;\n$fa-var-building: \\f1ad;\n$fa-var-bullhorn: \\f0a1;\n$fa-var-bullseye: \\f140;\n$fa-var-burn: \\f46a;\n$fa-var-buromobelexperte: \\f37f;\n$fa-var-bus: \\f207;\n$fa-var-bus-alt: \\f55e;\n$fa-var-business-time: \\f64a;\n$fa-var-buy-n-large: \\f8a6;\n$fa-var-buysellads: \\f20d;\n$fa-var-calculator: \\f1ec;\n$fa-var-calendar: \\f133;\n$fa-var-calendar-alt: \\f073;\n$fa-var-calendar-check: \\f274;\n$fa-var-calendar-day: \\f783;\n$fa-var-calendar-minus: \\f272;\n$fa-var-calendar-plus: \\f271;\n$fa-var-calendar-times: \\f273;\n$fa-var-calendar-week: \\f784;\n$fa-var-camera: \\f030;\n$fa-var-camera-retro: \\f083;\n$fa-var-campground: \\f6bb;\n$fa-var-canadian-maple-leaf: \\f785;\n$fa-var-candy-cane: \\f786;\n$fa-var-cannabis: \\f55f;\n$fa-var-capsules: \\f46b;\n$fa-var-car: \\f1b9;\n$fa-var-car-alt: \\f5de;\n$fa-var-car-battery: \\f5df;\n$fa-var-car-crash: \\f5e1;\n$fa-var-car-side: \\f5e4;\n$fa-var-caravan: \\f8ff;\n$fa-var-caret-down: \\f0d7;\n$fa-var-caret-left: \\f0d9;\n$fa-var-caret-right: \\f0da;\n$fa-var-caret-square-down: \\f150;\n$fa-var-caret-square-left: \\f191;\n$fa-var-caret-square-right: \\f152;\n$fa-var-caret-square-up: \\f151;\n$fa-var-caret-up: \\f0d8;\n$fa-var-carrot: \\f787;\n$fa-var-cart-arrow-down: \\f218;\n$fa-var-cart-plus: \\f217;\n$fa-var-cash-register: \\f788;\n$fa-var-cat: \\f6be;\n$fa-var-cc-amazon-pay: \\f42d;\n$fa-var-cc-amex: \\f1f3;\n$fa-var-cc-apple-pay: \\f416;\n$fa-var-cc-diners-club: \\f24c;\n$fa-var-cc-discover: \\f1f2;\n$fa-var-cc-jcb: \\f24b;\n$fa-var-cc-mastercard: \\f1f1;\n$fa-var-cc-paypal: \\f1f4;\n$fa-var-cc-stripe: \\f1f5;\n$fa-var-cc-visa: \\f1f0;\n$fa-var-centercode: \\f380;\n$fa-var-centos: \\f789;\n$fa-var-certificate: \\f0a3;\n$fa-var-chair: \\f6c0;\n$fa-var-chalkboard: \\f51b;\n$fa-var-chalkboard-teacher: \\f51c;\n$fa-var-charging-station: \\f5e7;\n$fa-var-chart-area: \\f1fe;\n$fa-var-chart-bar: \\f080;\n$fa-var-chart-line: \\f201;\n$fa-var-chart-pie: \\f200;\n$fa-var-check: \\f00c;\n$fa-var-check-circle: \\f058;\n$fa-var-check-double: \\f560;\n$fa-var-check-square: \\f14a;\n$fa-var-cheese: \\f7ef;\n$fa-var-chess: \\f439;\n$fa-var-chess-bishop: \\f43a;\n$fa-var-chess-board: \\f43c;\n$fa-var-chess-king: \\f43f;\n$fa-var-chess-knight: \\f441;\n$fa-var-chess-pawn: \\f443;\n$fa-var-chess-queen: \\f445;\n$fa-var-chess-rook: \\f447;\n$fa-var-chevron-circle-down: \\f13a;\n$fa-var-chevron-circle-left: \\f137;\n$fa-var-chevron-circle-right: \\f138;\n$fa-var-chevron-circle-up: \\f139;\n$fa-var-chevron-down: \\f078;\n$fa-var-chevron-left: \\f053;\n$fa-var-chevron-right: \\f054;\n$fa-var-chevron-up: \\f077;\n$fa-var-child: \\f1ae;\n$fa-var-chrome: \\f268;\n$fa-var-chromecast: \\f838;\n$fa-var-church: \\f51d;\n$fa-var-circle: \\f111;\n$fa-var-circle-notch: \\f1ce;\n$fa-var-city: \\f64f;\n$fa-var-clinic-medical: \\f7f2;\n$fa-var-clipboard: \\f328;\n$fa-var-clipboard-check: \\f46c;\n$fa-var-clipboard-list: \\f46d;\n$fa-var-clock: \\f017;\n$fa-var-clone: \\f24d;\n$fa-var-closed-captioning: \\f20a;\n$fa-var-cloud: \\f0c2;\n$fa-var-cloud-download-alt: \\f381;\n$fa-var-cloud-meatball: \\f73b;\n$fa-var-cloud-moon: \\f6c3;\n$fa-var-cloud-moon-rain: \\f73c;\n$fa-var-cloud-rain: \\f73d;\n$fa-var-cloud-showers-heavy: \\f740;\n$fa-var-cloud-sun: \\f6c4;\n$fa-var-cloud-sun-rain: \\f743;\n$fa-var-cloud-upload-alt: \\f382;\n$fa-var-cloudflare: \\e07d;\n$fa-var-cloudscale: \\f383;\n$fa-var-cloudsmith: \\f384;\n$fa-var-cloudversify: \\f385;\n$fa-var-cocktail: \\f561;\n$fa-var-code: \\f121;\n$fa-var-code-branch: \\f126;\n$fa-var-codepen: \\f1cb;\n$fa-var-codiepie: \\f284;\n$fa-var-coffee: \\f0f4;\n$fa-var-cog: \\f013;\n$fa-var-cogs: \\f085;\n$fa-var-coins: \\f51e;\n$fa-var-columns: \\f0db;\n$fa-var-comment: \\f075;\n$fa-var-comment-alt: \\f27a;\n$fa-var-comment-dollar: \\f651;\n$fa-var-comment-dots: \\f4ad;\n$fa-var-comment-medical: \\f7f5;\n$fa-var-comment-slash: \\f4b3;\n$fa-var-comments: \\f086;\n$fa-var-comments-dollar: \\f653;\n$fa-var-compact-disc: \\f51f;\n$fa-var-compass: \\f14e;\n$fa-var-compress: \\f066;\n$fa-var-compress-alt: \\f422;\n$fa-var-compress-arrows-alt: \\f78c;\n$fa-var-concierge-bell: \\f562;\n$fa-var-confluence: \\f78d;\n$fa-var-connectdevelop: \\f20e;\n$fa-var-contao: \\f26d;\n$fa-var-cookie: \\f563;\n$fa-var-cookie-bite: \\f564;\n$fa-var-copy: \\f0c5;\n$fa-var-copyright: \\f1f9;\n$fa-var-cotton-bureau: \\f89e;\n$fa-var-couch: \\f4b8;\n$fa-var-cpanel: \\f388;\n$fa-var-creative-commons: \\f25e;\n$fa-var-creative-commons-by: \\f4e7;\n$fa-var-creative-commons-nc: \\f4e8;\n$fa-var-creative-commons-nc-eu: \\f4e9;\n$fa-var-creative-commons-nc-jp: \\f4ea;\n$fa-var-creative-commons-nd: \\f4eb;\n$fa-var-creative-commons-pd: \\f4ec;\n$fa-var-creative-commons-pd-alt: \\f4ed;\n$fa-var-creative-commons-remix: \\f4ee;\n$fa-var-creative-commons-sa: \\f4ef;\n$fa-var-creative-commons-sampling: \\f4f0;\n$fa-var-creative-commons-sampling-plus: \\f4f1;\n$fa-var-creative-commons-share: \\f4f2;\n$fa-var-creative-commons-zero: \\f4f3;\n$fa-var-credit-card: \\f09d;\n$fa-var-critical-role: \\f6c9;\n$fa-var-crop: \\f125;\n$fa-var-crop-alt: \\f565;\n$fa-var-cross: \\f654;\n$fa-var-crosshairs: \\f05b;\n$fa-var-crow: \\f520;\n$fa-var-crown: \\f521;\n$fa-var-crutch: \\f7f7;\n$fa-var-css3: \\f13c;\n$fa-var-css3-alt: \\f38b;\n$fa-var-cube: \\f1b2;\n$fa-var-cubes: \\f1b3;\n$fa-var-cut: \\f0c4;\n$fa-var-cuttlefish: \\f38c;\n$fa-var-d-and-d: \\f38d;\n$fa-var-d-and-d-beyond: \\f6ca;\n$fa-var-dailymotion: \\e052;\n$fa-var-dashcube: \\f210;\n$fa-var-database: \\f1c0;\n$fa-var-deaf: \\f2a4;\n$fa-var-deezer: \\e077;\n$fa-var-delicious: \\f1a5;\n$fa-var-democrat: \\f747;\n$fa-var-deploydog: \\f38e;\n$fa-var-deskpro: \\f38f;\n$fa-var-desktop: \\f108;\n$fa-var-dev: \\f6cc;\n$fa-var-deviantart: \\f1bd;\n$fa-var-dharmachakra: \\f655;\n$fa-var-dhl: \\f790;\n$fa-var-diagnoses: \\f470;\n$fa-var-diaspora: \\f791;\n$fa-var-dice: \\f522;\n$fa-var-dice-d20: \\f6cf;\n$fa-var-dice-d6: \\f6d1;\n$fa-var-dice-five: \\f523;\n$fa-var-dice-four: \\f524;\n$fa-var-dice-one: \\f525;\n$fa-var-dice-six: \\f526;\n$fa-var-dice-three: \\f527;\n$fa-var-dice-two: \\f528;\n$fa-var-digg: \\f1a6;\n$fa-var-digital-ocean: \\f391;\n$fa-var-digital-tachograph: \\f566;\n$fa-var-directions: \\f5eb;\n$fa-var-discord: \\f392;\n$fa-var-discourse: \\f393;\n$fa-var-disease: \\f7fa;\n$fa-var-divide: \\f529;\n$fa-var-dizzy: \\f567;\n$fa-var-dna: \\f471;\n$fa-var-dochub: \\f394;\n$fa-var-docker: \\f395;\n$fa-var-dog: \\f6d3;\n$fa-var-dollar-sign: \\f155;\n$fa-var-dolly: \\f472;\n$fa-var-dolly-flatbed: \\f474;\n$fa-var-donate: \\f4b9;\n$fa-var-door-closed: \\f52a;\n$fa-var-door-open: \\f52b;\n$fa-var-dot-circle: \\f192;\n$fa-var-dove: \\f4ba;\n$fa-var-download: \\f019;\n$fa-var-draft2digital: \\f396;\n$fa-var-drafting-compass: \\f568;\n$fa-var-dragon: \\f6d5;\n$fa-var-draw-polygon: \\f5ee;\n$fa-var-dribbble: \\f17d;\n$fa-var-dribbble-square: \\f397;\n$fa-var-dropbox: \\f16b;\n$fa-var-drum: \\f569;\n$fa-var-drum-steelpan: \\f56a;\n$fa-var-drumstick-bite: \\f6d7;\n$fa-var-drupal: \\f1a9;\n$fa-var-dumbbell: \\f44b;\n$fa-var-dumpster: \\f793;\n$fa-var-dumpster-fire: \\f794;\n$fa-var-dungeon: \\f6d9;\n$fa-var-dyalog: \\f399;\n$fa-var-earlybirds: \\f39a;\n$fa-var-ebay: \\f4f4;\n$fa-var-edge: \\f282;\n$fa-var-edge-legacy: \\e078;\n$fa-var-edit: \\f044;\n$fa-var-egg: \\f7fb;\n$fa-var-eject: \\f052;\n$fa-var-elementor: \\f430;\n$fa-var-ellipsis-h: \\f141;\n$fa-var-ellipsis-v: \\f142;\n$fa-var-ello: \\f5f1;\n$fa-var-ember: \\f423;\n$fa-var-empire: \\f1d1;\n$fa-var-envelope: \\f0e0;\n$fa-var-envelope-open: \\f2b6;\n$fa-var-envelope-open-text: \\f658;\n$fa-var-envelope-square: \\f199;\n$fa-var-envira: \\f299;\n$fa-var-equals: \\f52c;\n$fa-var-eraser: \\f12d;\n$fa-var-erlang: \\f39d;\n$fa-var-ethereum: \\f42e;\n$fa-var-ethernet: \\f796;\n$fa-var-etsy: \\f2d7;\n$fa-var-euro-sign: \\f153;\n$fa-var-evernote: \\f839;\n$fa-var-exchange-alt: \\f362;\n$fa-var-exclamation: \\f12a;\n$fa-var-exclamation-circle: \\f06a;\n$fa-var-exclamation-triangle: \\f071;\n$fa-var-expand: \\f065;\n$fa-var-expand-alt: \\f424;\n$fa-var-expand-arrows-alt: \\f31e;\n$fa-var-expeditedssl: \\f23e;\n$fa-var-external-link-alt: \\f35d;\n$fa-var-external-link-square-alt: \\f360;\n$fa-var-eye: \\f06e;\n$fa-var-eye-dropper: \\f1fb;\n$fa-var-eye-slash: \\f070;\n$fa-var-facebook: \\f09a;\n$fa-var-facebook-f: \\f39e;\n$fa-var-facebook-messenger: \\f39f;\n$fa-var-facebook-square: \\f082;\n$fa-var-fan: \\f863;\n$fa-var-fantasy-flight-games: \\f6dc;\n$fa-var-fast-backward: \\f049;\n$fa-var-fast-forward: \\f050;\n$fa-var-faucet: \\e005;\n$fa-var-fax: \\f1ac;\n$fa-var-feather: \\f52d;\n$fa-var-feather-alt: \\f56b;\n$fa-var-fedex: \\f797;\n$fa-var-fedora: \\f798;\n$fa-var-female: \\f182;\n$fa-var-fighter-jet: \\f0fb;\n$fa-var-figma: \\f799;\n$fa-var-file: \\f15b;\n$fa-var-file-alt: \\f15c;\n$fa-var-file-archive: \\f1c6;\n$fa-var-file-audio: \\f1c7;\n$fa-var-file-code: \\f1c9;\n$fa-var-file-contract: \\f56c;\n$fa-var-file-csv: \\f6dd;\n$fa-var-file-download: \\f56d;\n$fa-var-file-excel: \\f1c3;\n$fa-var-file-export: \\f56e;\n$fa-var-file-image: \\f1c5;\n$fa-var-file-import: \\f56f;\n$fa-var-file-invoice: \\f570;\n$fa-var-file-invoice-dollar: \\f571;\n$fa-var-file-medical: \\f477;\n$fa-var-file-medical-alt: \\f478;\n$fa-var-file-pdf: \\f1c1;\n$fa-var-file-powerpoint: \\f1c4;\n$fa-var-file-prescription: \\f572;\n$fa-var-file-signature: \\f573;\n$fa-var-file-upload: \\f574;\n$fa-var-file-video: \\f1c8;\n$fa-var-file-word: \\f1c2;\n$fa-var-fill: \\f575;\n$fa-var-fill-drip: \\f576;\n$fa-var-film: \\f008;\n$fa-var-filter: \\f0b0;\n$fa-var-fingerprint: \\f577;\n$fa-var-fire: \\f06d;\n$fa-var-fire-alt: \\f7e4;\n$fa-var-fire-extinguisher: \\f134;\n$fa-var-firefox: \\f269;\n$fa-var-firefox-browser: \\e007;\n$fa-var-first-aid: \\f479;\n$fa-var-first-order: \\f2b0;\n$fa-var-first-order-alt: \\f50a;\n$fa-var-firstdraft: \\f3a1;\n$fa-var-fish: \\f578;\n$fa-var-fist-raised: \\f6de;\n$fa-var-flag: \\f024;\n$fa-var-flag-checkered: \\f11e;\n$fa-var-flag-usa: \\f74d;\n$fa-var-flask: \\f0c3;\n$fa-var-flickr: \\f16e;\n$fa-var-flipboard: \\f44d;\n$fa-var-flushed: \\f579;\n$fa-var-fly: \\f417;\n$fa-var-folder: \\f07b;\n$fa-var-folder-minus: \\f65d;\n$fa-var-folder-open: \\f07c;\n$fa-var-folder-plus: \\f65e;\n$fa-var-font: \\f031;\n$fa-var-font-awesome: \\f2b4;\n$fa-var-font-awesome-alt: \\f35c;\n$fa-var-font-awesome-flag: \\f425;\n$fa-var-font-awesome-logo-full: \\f4e6;\n$fa-var-fonticons: \\f280;\n$fa-var-fonticons-fi: \\f3a2;\n$fa-var-football-ball: \\f44e;\n$fa-var-fort-awesome: \\f286;\n$fa-var-fort-awesome-alt: \\f3a3;\n$fa-var-forumbee: \\f211;\n$fa-var-forward: \\f04e;\n$fa-var-foursquare: \\f180;\n$fa-var-free-code-camp: \\f2c5;\n$fa-var-freebsd: \\f3a4;\n$fa-var-frog: \\f52e;\n$fa-var-frown: \\f119;\n$fa-var-frown-open: \\f57a;\n$fa-var-fulcrum: \\f50b;\n$fa-var-funnel-dollar: \\f662;\n$fa-var-futbol: \\f1e3;\n$fa-var-galactic-republic: \\f50c;\n$fa-var-galactic-senate: \\f50d;\n$fa-var-gamepad: \\f11b;\n$fa-var-gas-pump: \\f52f;\n$fa-var-gavel: \\f0e3;\n$fa-var-gem: \\f3a5;\n$fa-var-genderless: \\f22d;\n$fa-var-get-pocket: \\f265;\n$fa-var-gg: \\f260;\n$fa-var-gg-circle: \\f261;\n$fa-var-ghost: \\f6e2;\n$fa-var-gift: \\f06b;\n$fa-var-gifts: \\f79c;\n$fa-var-git: \\f1d3;\n$fa-var-git-alt: \\f841;\n$fa-var-git-square: \\f1d2;\n$fa-var-github: \\f09b;\n$fa-var-github-alt: \\f113;\n$fa-var-github-square: \\f092;\n$fa-var-gitkraken: \\f3a6;\n$fa-var-gitlab: \\f296;\n$fa-var-gitter: \\f426;\n$fa-var-glass-cheers: \\f79f;\n$fa-var-glass-martini: \\f000;\n$fa-var-glass-martini-alt: \\f57b;\n$fa-var-glass-whiskey: \\f7a0;\n$fa-var-glasses: \\f530;\n$fa-var-glide: \\f2a5;\n$fa-var-glide-g: \\f2a6;\n$fa-var-globe: \\f0ac;\n$fa-var-globe-africa: \\f57c;\n$fa-var-globe-americas: \\f57d;\n$fa-var-globe-asia: \\f57e;\n$fa-var-globe-europe: \\f7a2;\n$fa-var-gofore: \\f3a7;\n$fa-var-golf-ball: \\f450;\n$fa-var-goodreads: \\f3a8;\n$fa-var-goodreads-g: \\f3a9;\n$fa-var-google: \\f1a0;\n$fa-var-google-drive: \\f3aa;\n$fa-var-google-pay: \\e079;\n$fa-var-google-play: \\f3ab;\n$fa-var-google-plus: \\f2b3;\n$fa-var-google-plus-g: \\f0d5;\n$fa-var-google-plus-square: \\f0d4;\n$fa-var-google-wallet: \\f1ee;\n$fa-var-gopuram: \\f664;\n$fa-var-graduation-cap: \\f19d;\n$fa-var-gratipay: \\f184;\n$fa-var-grav: \\f2d6;\n$fa-var-greater-than: \\f531;\n$fa-var-greater-than-equal: \\f532;\n$fa-var-grimace: \\f57f;\n$fa-var-grin: \\f580;\n$fa-var-grin-alt: \\f581;\n$fa-var-grin-beam: \\f582;\n$fa-var-grin-beam-sweat: \\f583;\n$fa-var-grin-hearts: \\f584;\n$fa-var-grin-squint: \\f585;\n$fa-var-grin-squint-tears: \\f586;\n$fa-var-grin-stars: \\f587;\n$fa-var-grin-tears: \\f588;\n$fa-var-grin-tongue: \\f589;\n$fa-var-grin-tongue-squint: \\f58a;\n$fa-var-grin-tongue-wink: \\f58b;\n$fa-var-grin-wink: \\f58c;\n$fa-var-grip-horizontal: \\f58d;\n$fa-var-grip-lines: \\f7a4;\n$fa-var-grip-lines-vertical: \\f7a5;\n$fa-var-grip-vertical: \\f58e;\n$fa-var-gripfire: \\f3ac;\n$fa-var-grunt: \\f3ad;\n$fa-var-guilded: \\e07e;\n$fa-var-guitar: \\f7a6;\n$fa-var-gulp: \\f3ae;\n$fa-var-h-square: \\f0fd;\n$fa-var-hacker-news: \\f1d4;\n$fa-var-hacker-news-square: \\f3af;\n$fa-var-hackerrank: \\f5f7;\n$fa-var-hamburger: \\f805;\n$fa-var-hammer: \\f6e3;\n$fa-var-hamsa: \\f665;\n$fa-var-hand-holding: \\f4bd;\n$fa-var-hand-holding-heart: \\f4be;\n$fa-var-hand-holding-medical: \\e05c;\n$fa-var-hand-holding-usd: \\f4c0;\n$fa-var-hand-holding-water: \\f4c1;\n$fa-var-hand-lizard: \\f258;\n$fa-var-hand-middle-finger: \\f806;\n$fa-var-hand-paper: \\f256;\n$fa-var-hand-peace: \\f25b;\n$fa-var-hand-point-down: \\f0a7;\n$fa-var-hand-point-left: \\f0a5;\n$fa-var-hand-point-right: \\f0a4;\n$fa-var-hand-point-up: \\f0a6;\n$fa-var-hand-pointer: \\f25a;\n$fa-var-hand-rock: \\f255;\n$fa-var-hand-scissors: \\f257;\n$fa-var-hand-sparkles: \\e05d;\n$fa-var-hand-spock: \\f259;\n$fa-var-hands: \\f4c2;\n$fa-var-hands-helping: \\f4c4;\n$fa-var-hands-wash: \\e05e;\n$fa-var-handshake: \\f2b5;\n$fa-var-handshake-alt-slash: \\e05f;\n$fa-var-handshake-slash: \\e060;\n$fa-var-hanukiah: \\f6e6;\n$fa-var-hard-hat: \\f807;\n$fa-var-hashtag: \\f292;\n$fa-var-hat-cowboy: \\f8c0;\n$fa-var-hat-cowboy-side: \\f8c1;\n$fa-var-hat-wizard: \\f6e8;\n$fa-var-hdd: \\f0a0;\n$fa-var-head-side-cough: \\e061;\n$fa-var-head-side-cough-slash: \\e062;\n$fa-var-head-side-mask: \\e063;\n$fa-var-head-side-virus: \\e064;\n$fa-var-heading: \\f1dc;\n$fa-var-headphones: \\f025;\n$fa-var-headphones-alt: \\f58f;\n$fa-var-headset: \\f590;\n$fa-var-heart: \\f004;\n$fa-var-heart-broken: \\f7a9;\n$fa-var-heartbeat: \\f21e;\n$fa-var-helicopter: \\f533;\n$fa-var-highlighter: \\f591;\n$fa-var-hiking: \\f6ec;\n$fa-var-hippo: \\f6ed;\n$fa-var-hips: \\f452;\n$fa-var-hire-a-helper: \\f3b0;\n$fa-var-history: \\f1da;\n$fa-var-hive: \\e07f;\n$fa-var-hockey-puck: \\f453;\n$fa-var-holly-berry: \\f7aa;\n$fa-var-home: \\f015;\n$fa-var-hooli: \\f427;\n$fa-var-hornbill: \\f592;\n$fa-var-horse: \\f6f0;\n$fa-var-horse-head: \\f7ab;\n$fa-var-hospital: \\f0f8;\n$fa-var-hospital-alt: \\f47d;\n$fa-var-hospital-symbol: \\f47e;\n$fa-var-hospital-user: \\f80d;\n$fa-var-hot-tub: \\f593;\n$fa-var-hotdog: \\f80f;\n$fa-var-hotel: \\f594;\n$fa-var-hotjar: \\f3b1;\n$fa-var-hourglass: \\f254;\n$fa-var-hourglass-end: \\f253;\n$fa-var-hourglass-half: \\f252;\n$fa-var-hourglass-start: \\f251;\n$fa-var-house-damage: \\f6f1;\n$fa-var-house-user: \\e065;\n$fa-var-houzz: \\f27c;\n$fa-var-hryvnia: \\f6f2;\n$fa-var-html5: \\f13b;\n$fa-var-hubspot: \\f3b2;\n$fa-var-i-cursor: \\f246;\n$fa-var-ice-cream: \\f810;\n$fa-var-icicles: \\f7ad;\n$fa-var-icons: \\f86d;\n$fa-var-id-badge: \\f2c1;\n$fa-var-id-card: \\f2c2;\n$fa-var-id-card-alt: \\f47f;\n$fa-var-ideal: \\e013;\n$fa-var-igloo: \\f7ae;\n$fa-var-image: \\f03e;\n$fa-var-images: \\f302;\n$fa-var-imdb: \\f2d8;\n$fa-var-inbox: \\f01c;\n$fa-var-indent: \\f03c;\n$fa-var-industry: \\f275;\n$fa-var-infinity: \\f534;\n$fa-var-info: \\f129;\n$fa-var-info-circle: \\f05a;\n$fa-var-innosoft: \\e080;\n$fa-var-instagram: \\f16d;\n$fa-var-instagram-square: \\e055;\n$fa-var-instalod: \\e081;\n$fa-var-intercom: \\f7af;\n$fa-var-internet-explorer: \\f26b;\n$fa-var-invision: \\f7b0;\n$fa-var-ioxhost: \\f208;\n$fa-var-italic: \\f033;\n$fa-var-itch-io: \\f83a;\n$fa-var-itunes: \\f3b4;\n$fa-var-itunes-note: \\f3b5;\n$fa-var-java: \\f4e4;\n$fa-var-jedi: \\f669;\n$fa-var-jedi-order: \\f50e;\n$fa-var-jenkins: \\f3b6;\n$fa-var-jira: \\f7b1;\n$fa-var-joget: \\f3b7;\n$fa-var-joint: \\f595;\n$fa-var-joomla: \\f1aa;\n$fa-var-journal-whills: \\f66a;\n$fa-var-js: \\f3b8;\n$fa-var-js-square: \\f3b9;\n$fa-var-jsfiddle: \\f1cc;\n$fa-var-kaaba: \\f66b;\n$fa-var-kaggle: \\f5fa;\n$fa-var-key: \\f084;\n$fa-var-keybase: \\f4f5;\n$fa-var-keyboard: \\f11c;\n$fa-var-keycdn: \\f3ba;\n$fa-var-khanda: \\f66d;\n$fa-var-kickstarter: \\f3bb;\n$fa-var-kickstarter-k: \\f3bc;\n$fa-var-kiss: \\f596;\n$fa-var-kiss-beam: \\f597;\n$fa-var-kiss-wink-heart: \\f598;\n$fa-var-kiwi-bird: \\f535;\n$fa-var-korvue: \\f42f;\n$fa-var-landmark: \\f66f;\n$fa-var-language: \\f1ab;\n$fa-var-laptop: \\f109;\n$fa-var-laptop-code: \\f5fc;\n$fa-var-laptop-house: \\e066;\n$fa-var-laptop-medical: \\f812;\n$fa-var-laravel: \\f3bd;\n$fa-var-lastfm: \\f202;\n$fa-var-lastfm-square: \\f203;\n$fa-var-laugh: \\f599;\n$fa-var-laugh-beam: \\f59a;\n$fa-var-laugh-squint: \\f59b;\n$fa-var-laugh-wink: \\f59c;\n$fa-var-layer-group: \\f5fd;\n$fa-var-leaf: \\f06c;\n$fa-var-leanpub: \\f212;\n$fa-var-lemon: \\f094;\n$fa-var-less: \\f41d;\n$fa-var-less-than: \\f536;\n$fa-var-less-than-equal: \\f537;\n$fa-var-level-down-alt: \\f3be;\n$fa-var-level-up-alt: \\f3bf;\n$fa-var-life-ring: \\f1cd;\n$fa-var-lightbulb: \\f0eb;\n$fa-var-line: \\f3c0;\n$fa-var-link: \\f0c1;\n$fa-var-linkedin: \\f08c;\n$fa-var-linkedin-in: \\f0e1;\n$fa-var-linode: \\f2b8;\n$fa-var-linux: \\f17c;\n$fa-var-lira-sign: \\f195;\n$fa-var-list: \\f03a;\n$fa-var-list-alt: \\f022;\n$fa-var-list-ol: \\f0cb;\n$fa-var-list-ul: \\f0ca;\n$fa-var-location-arrow: \\f124;\n$fa-var-lock: \\f023;\n$fa-var-lock-open: \\f3c1;\n$fa-var-long-arrow-alt-down: \\f309;\n$fa-var-long-arrow-alt-left: \\f30a;\n$fa-var-long-arrow-alt-right: \\f30b;\n$fa-var-long-arrow-alt-up: \\f30c;\n$fa-var-low-vision: \\f2a8;\n$fa-var-luggage-cart: \\f59d;\n$fa-var-lungs: \\f604;\n$fa-var-lungs-virus: \\e067;\n$fa-var-lyft: \\f3c3;\n$fa-var-magento: \\f3c4;\n$fa-var-magic: \\f0d0;\n$fa-var-magnet: \\f076;\n$fa-var-mail-bulk: \\f674;\n$fa-var-mailchimp: \\f59e;\n$fa-var-male: \\f183;\n$fa-var-mandalorian: \\f50f;\n$fa-var-map: \\f279;\n$fa-var-map-marked: \\f59f;\n$fa-var-map-marked-alt: \\f5a0;\n$fa-var-map-marker: \\f041;\n$fa-var-map-marker-alt: \\f3c5;\n$fa-var-map-pin: \\f276;\n$fa-var-map-signs: \\f277;\n$fa-var-markdown: \\f60f;\n$fa-var-marker: \\f5a1;\n$fa-var-mars: \\f222;\n$fa-var-mars-double: \\f227;\n$fa-var-mars-stroke: \\f229;\n$fa-var-mars-stroke-h: \\f22b;\n$fa-var-mars-stroke-v: \\f22a;\n$fa-var-mask: \\f6fa;\n$fa-var-mastodon: \\f4f6;\n$fa-var-maxcdn: \\f136;\n$fa-var-mdb: \\f8ca;\n$fa-var-medal: \\f5a2;\n$fa-var-medapps: \\f3c6;\n$fa-var-medium: \\f23a;\n$fa-var-medium-m: \\f3c7;\n$fa-var-medkit: \\f0fa;\n$fa-var-medrt: \\f3c8;\n$fa-var-meetup: \\f2e0;\n$fa-var-megaport: \\f5a3;\n$fa-var-meh: \\f11a;\n$fa-var-meh-blank: \\f5a4;\n$fa-var-meh-rolling-eyes: \\f5a5;\n$fa-var-memory: \\f538;\n$fa-var-mendeley: \\f7b3;\n$fa-var-menorah: \\f676;\n$fa-var-mercury: \\f223;\n$fa-var-meteor: \\f753;\n$fa-var-microblog: \\e01a;\n$fa-var-microchip: \\f2db;\n$fa-var-microphone: \\f130;\n$fa-var-microphone-alt: \\f3c9;\n$fa-var-microphone-alt-slash: \\f539;\n$fa-var-microphone-slash: \\f131;\n$fa-var-microscope: \\f610;\n$fa-var-microsoft: \\f3ca;\n$fa-var-minus: \\f068;\n$fa-var-minus-circle: \\f056;\n$fa-var-minus-square: \\f146;\n$fa-var-mitten: \\f7b5;\n$fa-var-mix: \\f3cb;\n$fa-var-mixcloud: \\f289;\n$fa-var-mixer: \\e056;\n$fa-var-mizuni: \\f3cc;\n$fa-var-mobile: \\f10b;\n$fa-var-mobile-alt: \\f3cd;\n$fa-var-modx: \\f285;\n$fa-var-monero: \\f3d0;\n$fa-var-money-bill: \\f0d6;\n$fa-var-money-bill-alt: \\f3d1;\n$fa-var-money-bill-wave: \\f53a;\n$fa-var-money-bill-wave-alt: \\f53b;\n$fa-var-money-check: \\f53c;\n$fa-var-money-check-alt: \\f53d;\n$fa-var-monument: \\f5a6;\n$fa-var-moon: \\f186;\n$fa-var-mortar-pestle: \\f5a7;\n$fa-var-mosque: \\f678;\n$fa-var-motorcycle: \\f21c;\n$fa-var-mountain: \\f6fc;\n$fa-var-mouse: \\f8cc;\n$fa-var-mouse-pointer: \\f245;\n$fa-var-mug-hot: \\f7b6;\n$fa-var-music: \\f001;\n$fa-var-napster: \\f3d2;\n$fa-var-neos: \\f612;\n$fa-var-network-wired: \\f6ff;\n$fa-var-neuter: \\f22c;\n$fa-var-newspaper: \\f1ea;\n$fa-var-nimblr: \\f5a8;\n$fa-var-node: \\f419;\n$fa-var-node-js: \\f3d3;\n$fa-var-not-equal: \\f53e;\n$fa-var-notes-medical: \\f481;\n$fa-var-npm: \\f3d4;\n$fa-var-ns8: \\f3d5;\n$fa-var-nutritionix: \\f3d6;\n$fa-var-object-group: \\f247;\n$fa-var-object-ungroup: \\f248;\n$fa-var-octopus-deploy: \\e082;\n$fa-var-odnoklassniki: \\f263;\n$fa-var-odnoklassniki-square: \\f264;\n$fa-var-oil-can: \\f613;\n$fa-var-old-republic: \\f510;\n$fa-var-om: \\f679;\n$fa-var-opencart: \\f23d;\n$fa-var-openid: \\f19b;\n$fa-var-opera: \\f26a;\n$fa-var-optin-monster: \\f23c;\n$fa-var-orcid: \\f8d2;\n$fa-var-osi: \\f41a;\n$fa-var-otter: \\f700;\n$fa-var-outdent: \\f03b;\n$fa-var-page4: \\f3d7;\n$fa-var-pagelines: \\f18c;\n$fa-var-pager: \\f815;\n$fa-var-paint-brush: \\f1fc;\n$fa-var-paint-roller: \\f5aa;\n$fa-var-palette: \\f53f;\n$fa-var-palfed: \\f3d8;\n$fa-var-pallet: \\f482;\n$fa-var-paper-plane: \\f1d8;\n$fa-var-paperclip: \\f0c6;\n$fa-var-parachute-box: \\f4cd;\n$fa-var-paragraph: \\f1dd;\n$fa-var-parking: \\f540;\n$fa-var-passport: \\f5ab;\n$fa-var-pastafarianism: \\f67b;\n$fa-var-paste: \\f0ea;\n$fa-var-patreon: \\f3d9;\n$fa-var-pause: \\f04c;\n$fa-var-pause-circle: \\f28b;\n$fa-var-paw: \\f1b0;\n$fa-var-paypal: \\f1ed;\n$fa-var-peace: \\f67c;\n$fa-var-pen: \\f304;\n$fa-var-pen-alt: \\f305;\n$fa-var-pen-fancy: \\f5ac;\n$fa-var-pen-nib: \\f5ad;\n$fa-var-pen-square: \\f14b;\n$fa-var-pencil-alt: \\f303;\n$fa-var-pencil-ruler: \\f5ae;\n$fa-var-penny-arcade: \\f704;\n$fa-var-people-arrows: \\e068;\n$fa-var-people-carry: \\f4ce;\n$fa-var-pepper-hot: \\f816;\n$fa-var-perbyte: \\e083;\n$fa-var-percent: \\f295;\n$fa-var-percentage: \\f541;\n$fa-var-periscope: \\f3da;\n$fa-var-person-booth: \\f756;\n$fa-var-phabricator: \\f3db;\n$fa-var-phoenix-framework: \\f3dc;\n$fa-var-phoenix-squadron: \\f511;\n$fa-var-phone: \\f095;\n$fa-var-phone-alt: \\f879;\n$fa-var-phone-slash: \\f3dd;\n$fa-var-phone-square: \\f098;\n$fa-var-phone-square-alt: \\f87b;\n$fa-var-phone-volume: \\f2a0;\n$fa-var-photo-video: \\f87c;\n$fa-var-php: \\f457;\n$fa-var-pied-piper: \\f2ae;\n$fa-var-pied-piper-alt: \\f1a8;\n$fa-var-pied-piper-hat: \\f4e5;\n$fa-var-pied-piper-pp: \\f1a7;\n$fa-var-pied-piper-square: \\e01e;\n$fa-var-piggy-bank: \\f4d3;\n$fa-var-pills: \\f484;\n$fa-var-pinterest: \\f0d2;\n$fa-var-pinterest-p: \\f231;\n$fa-var-pinterest-square: \\f0d3;\n$fa-var-pizza-slice: \\f818;\n$fa-var-place-of-worship: \\f67f;\n$fa-var-plane: \\f072;\n$fa-var-plane-arrival: \\f5af;\n$fa-var-plane-departure: \\f5b0;\n$fa-var-plane-slash: \\e069;\n$fa-var-play: \\f04b;\n$fa-var-play-circle: \\f144;\n$fa-var-playstation: \\f3df;\n$fa-var-plug: \\f1e6;\n$fa-var-plus: \\f067;\n$fa-var-plus-circle: \\f055;\n$fa-var-plus-square: \\f0fe;\n$fa-var-podcast: \\f2ce;\n$fa-var-poll: \\f681;\n$fa-var-poll-h: \\f682;\n$fa-var-poo: \\f2fe;\n$fa-var-poo-storm: \\f75a;\n$fa-var-poop: \\f619;\n$fa-var-portrait: \\f3e0;\n$fa-var-pound-sign: \\f154;\n$fa-var-power-off: \\f011;\n$fa-var-pray: \\f683;\n$fa-var-praying-hands: \\f684;\n$fa-var-prescription: \\f5b1;\n$fa-var-prescription-bottle: \\f485;\n$fa-var-prescription-bottle-alt: \\f486;\n$fa-var-print: \\f02f;\n$fa-var-procedures: \\f487;\n$fa-var-product-hunt: \\f288;\n$fa-var-project-diagram: \\f542;\n$fa-var-pump-medical: \\e06a;\n$fa-var-pump-soap: \\e06b;\n$fa-var-pushed: \\f3e1;\n$fa-var-puzzle-piece: \\f12e;\n$fa-var-python: \\f3e2;\n$fa-var-qq: \\f1d6;\n$fa-var-qrcode: \\f029;\n$fa-var-question: \\f128;\n$fa-var-question-circle: \\f059;\n$fa-var-quidditch: \\f458;\n$fa-var-quinscape: \\f459;\n$fa-var-quora: \\f2c4;\n$fa-var-quote-left: \\f10d;\n$fa-var-quote-right: \\f10e;\n$fa-var-quran: \\f687;\n$fa-var-r-project: \\f4f7;\n$fa-var-radiation: \\f7b9;\n$fa-var-radiation-alt: \\f7ba;\n$fa-var-rainbow: \\f75b;\n$fa-var-random: \\f074;\n$fa-var-raspberry-pi: \\f7bb;\n$fa-var-ravelry: \\f2d9;\n$fa-var-react: \\f41b;\n$fa-var-reacteurope: \\f75d;\n$fa-var-readme: \\f4d5;\n$fa-var-rebel: \\f1d0;\n$fa-var-receipt: \\f543;\n$fa-var-record-vinyl: \\f8d9;\n$fa-var-recycle: \\f1b8;\n$fa-var-red-river: \\f3e3;\n$fa-var-reddit: \\f1a1;\n$fa-var-reddit-alien: \\f281;\n$fa-var-reddit-square: \\f1a2;\n$fa-var-redhat: \\f7bc;\n$fa-var-redo: \\f01e;\n$fa-var-redo-alt: \\f2f9;\n$fa-var-registered: \\f25d;\n$fa-var-remove-format: \\f87d;\n$fa-var-renren: \\f18b;\n$fa-var-reply: \\f3e5;\n$fa-var-reply-all: \\f122;\n$fa-var-replyd: \\f3e6;\n$fa-var-republican: \\f75e;\n$fa-var-researchgate: \\f4f8;\n$fa-var-resolving: \\f3e7;\n$fa-var-restroom: \\f7bd;\n$fa-var-retweet: \\f079;\n$fa-var-rev: \\f5b2;\n$fa-var-ribbon: \\f4d6;\n$fa-var-ring: \\f70b;\n$fa-var-road: \\f018;\n$fa-var-robot: \\f544;\n$fa-var-rocket: \\f135;\n$fa-var-rocketchat: \\f3e8;\n$fa-var-rockrms: \\f3e9;\n$fa-var-route: \\f4d7;\n$fa-var-rss: \\f09e;\n$fa-var-rss-square: \\f143;\n$fa-var-ruble-sign: \\f158;\n$fa-var-ruler: \\f545;\n$fa-var-ruler-combined: \\f546;\n$fa-var-ruler-horizontal: \\f547;\n$fa-var-ruler-vertical: \\f548;\n$fa-var-running: \\f70c;\n$fa-var-rupee-sign: \\f156;\n$fa-var-rust: \\e07a;\n$fa-var-sad-cry: \\f5b3;\n$fa-var-sad-tear: \\f5b4;\n$fa-var-safari: \\f267;\n$fa-var-salesforce: \\f83b;\n$fa-var-sass: \\f41e;\n$fa-var-satellite: \\f7bf;\n$fa-var-satellite-dish: \\f7c0;\n$fa-var-save: \\f0c7;\n$fa-var-schlix: \\f3ea;\n$fa-var-school: \\f549;\n$fa-var-screwdriver: \\f54a;\n$fa-var-scribd: \\f28a;\n$fa-var-scroll: \\f70e;\n$fa-var-sd-card: \\f7c2;\n$fa-var-search: \\f002;\n$fa-var-search-dollar: \\f688;\n$fa-var-search-location: \\f689;\n$fa-var-search-minus: \\f010;\n$fa-var-search-plus: \\f00e;\n$fa-var-searchengin: \\f3eb;\n$fa-var-seedling: \\f4d8;\n$fa-var-sellcast: \\f2da;\n$fa-var-sellsy: \\f213;\n$fa-var-server: \\f233;\n$fa-var-servicestack: \\f3ec;\n$fa-var-shapes: \\f61f;\n$fa-var-share: \\f064;\n$fa-var-share-alt: \\f1e0;\n$fa-var-share-alt-square: \\f1e1;\n$fa-var-share-square: \\f14d;\n$fa-var-shekel-sign: \\f20b;\n$fa-var-shield-alt: \\f3ed;\n$fa-var-shield-virus: \\e06c;\n$fa-var-ship: \\f21a;\n$fa-var-shipping-fast: \\f48b;\n$fa-var-shirtsinbulk: \\f214;\n$fa-var-shoe-prints: \\f54b;\n$fa-var-shopify: \\e057;\n$fa-var-shopping-bag: \\f290;\n$fa-var-shopping-basket: \\f291;\n$fa-var-shopping-cart: \\f07a;\n$fa-var-shopware: \\f5b5;\n$fa-var-shower: \\f2cc;\n$fa-var-shuttle-van: \\f5b6;\n$fa-var-sign: \\f4d9;\n$fa-var-sign-in-alt: \\f2f6;\n$fa-var-sign-language: \\f2a7;\n$fa-var-sign-out-alt: \\f2f5;\n$fa-var-signal: \\f012;\n$fa-var-signature: \\f5b7;\n$fa-var-sim-card: \\f7c4;\n$fa-var-simplybuilt: \\f215;\n$fa-var-sink: \\e06d;\n$fa-var-sistrix: \\f3ee;\n$fa-var-sitemap: \\f0e8;\n$fa-var-sith: \\f512;\n$fa-var-skating: \\f7c5;\n$fa-var-sketch: \\f7c6;\n$fa-var-skiing: \\f7c9;\n$fa-var-skiing-nordic: \\f7ca;\n$fa-var-skull: \\f54c;\n$fa-var-skull-crossbones: \\f714;\n$fa-var-skyatlas: \\f216;\n$fa-var-skype: \\f17e;\n$fa-var-slack: \\f198;\n$fa-var-slack-hash: \\f3ef;\n$fa-var-slash: \\f715;\n$fa-var-sleigh: \\f7cc;\n$fa-var-sliders-h: \\f1de;\n$fa-var-slideshare: \\f1e7;\n$fa-var-smile: \\f118;\n$fa-var-smile-beam: \\f5b8;\n$fa-var-smile-wink: \\f4da;\n$fa-var-smog: \\f75f;\n$fa-var-smoking: \\f48d;\n$fa-var-smoking-ban: \\f54d;\n$fa-var-sms: \\f7cd;\n$fa-var-snapchat: \\f2ab;\n$fa-var-snapchat-ghost: \\f2ac;\n$fa-var-snapchat-square: \\f2ad;\n$fa-var-snowboarding: \\f7ce;\n$fa-var-snowflake: \\f2dc;\n$fa-var-snowman: \\f7d0;\n$fa-var-snowplow: \\f7d2;\n$fa-var-soap: \\e06e;\n$fa-var-socks: \\f696;\n$fa-var-solar-panel: \\f5ba;\n$fa-var-sort: \\f0dc;\n$fa-var-sort-alpha-down: \\f15d;\n$fa-var-sort-alpha-down-alt: \\f881;\n$fa-var-sort-alpha-up: \\f15e;\n$fa-var-sort-alpha-up-alt: \\f882;\n$fa-var-sort-amount-down: \\f160;\n$fa-var-sort-amount-down-alt: \\f884;\n$fa-var-sort-amount-up: \\f161;\n$fa-var-sort-amount-up-alt: \\f885;\n$fa-var-sort-down: \\f0dd;\n$fa-var-sort-numeric-down: \\f162;\n$fa-var-sort-numeric-down-alt: \\f886;\n$fa-var-sort-numeric-up: \\f163;\n$fa-var-sort-numeric-up-alt: \\f887;\n$fa-var-sort-up: \\f0de;\n$fa-var-soundcloud: \\f1be;\n$fa-var-sourcetree: \\f7d3;\n$fa-var-spa: \\f5bb;\n$fa-var-space-shuttle: \\f197;\n$fa-var-speakap: \\f3f3;\n$fa-var-speaker-deck: \\f83c;\n$fa-var-spell-check: \\f891;\n$fa-var-spider: \\f717;\n$fa-var-spinner: \\f110;\n$fa-var-splotch: \\f5bc;\n$fa-var-spotify: \\f1bc;\n$fa-var-spray-can: \\f5bd;\n$fa-var-square: \\f0c8;\n$fa-var-square-full: \\f45c;\n$fa-var-square-root-alt: \\f698;\n$fa-var-squarespace: \\f5be;\n$fa-var-stack-exchange: \\f18d;\n$fa-var-stack-overflow: \\f16c;\n$fa-var-stackpath: \\f842;\n$fa-var-stamp: \\f5bf;\n$fa-var-star: \\f005;\n$fa-var-star-and-crescent: \\f699;\n$fa-var-star-half: \\f089;\n$fa-var-star-half-alt: \\f5c0;\n$fa-var-star-of-david: \\f69a;\n$fa-var-star-of-life: \\f621;\n$fa-var-staylinked: \\f3f5;\n$fa-var-steam: \\f1b6;\n$fa-var-steam-square: \\f1b7;\n$fa-var-steam-symbol: \\f3f6;\n$fa-var-step-backward: \\f048;\n$fa-var-step-forward: \\f051;\n$fa-var-stethoscope: \\f0f1;\n$fa-var-sticker-mule: \\f3f7;\n$fa-var-sticky-note: \\f249;\n$fa-var-stop: \\f04d;\n$fa-var-stop-circle: \\f28d;\n$fa-var-stopwatch: \\f2f2;\n$fa-var-stopwatch-20: \\e06f;\n$fa-var-store: \\f54e;\n$fa-var-store-alt: \\f54f;\n$fa-var-store-alt-slash: \\e070;\n$fa-var-store-slash: \\e071;\n$fa-var-strava: \\f428;\n$fa-var-stream: \\f550;\n$fa-var-street-view: \\f21d;\n$fa-var-strikethrough: \\f0cc;\n$fa-var-stripe: \\f429;\n$fa-var-stripe-s: \\f42a;\n$fa-var-stroopwafel: \\f551;\n$fa-var-studiovinari: \\f3f8;\n$fa-var-stumbleupon: \\f1a4;\n$fa-var-stumbleupon-circle: \\f1a3;\n$fa-var-subscript: \\f12c;\n$fa-var-subway: \\f239;\n$fa-var-suitcase: \\f0f2;\n$fa-var-suitcase-rolling: \\f5c1;\n$fa-var-sun: \\f185;\n$fa-var-superpowers: \\f2dd;\n$fa-var-superscript: \\f12b;\n$fa-var-supple: \\f3f9;\n$fa-var-surprise: \\f5c2;\n$fa-var-suse: \\f7d6;\n$fa-var-swatchbook: \\f5c3;\n$fa-var-swift: \\f8e1;\n$fa-var-swimmer: \\f5c4;\n$fa-var-swimming-pool: \\f5c5;\n$fa-var-symfony: \\f83d;\n$fa-var-synagogue: \\f69b;\n$fa-var-sync: \\f021;\n$fa-var-sync-alt: \\f2f1;\n$fa-var-syringe: \\f48e;\n$fa-var-table: \\f0ce;\n$fa-var-table-tennis: \\f45d;\n$fa-var-tablet: \\f10a;\n$fa-var-tablet-alt: \\f3fa;\n$fa-var-tablets: \\f490;\n$fa-var-tachometer-alt: \\f3fd;\n$fa-var-tag: \\f02b;\n$fa-var-tags: \\f02c;\n$fa-var-tape: \\f4db;\n$fa-var-tasks: \\f0ae;\n$fa-var-taxi: \\f1ba;\n$fa-var-teamspeak: \\f4f9;\n$fa-var-teeth: \\f62e;\n$fa-var-teeth-open: \\f62f;\n$fa-var-telegram: \\f2c6;\n$fa-var-telegram-plane: \\f3fe;\n$fa-var-temperature-high: \\f769;\n$fa-var-temperature-low: \\f76b;\n$fa-var-tencent-weibo: \\f1d5;\n$fa-var-tenge: \\f7d7;\n$fa-var-terminal: \\f120;\n$fa-var-text-height: \\f034;\n$fa-var-text-width: \\f035;\n$fa-var-th: \\f00a;\n$fa-var-th-large: \\f009;\n$fa-var-th-list: \\f00b;\n$fa-var-the-red-yeti: \\f69d;\n$fa-var-theater-masks: \\f630;\n$fa-var-themeco: \\f5c6;\n$fa-var-themeisle: \\f2b2;\n$fa-var-thermometer: \\f491;\n$fa-var-thermometer-empty: \\f2cb;\n$fa-var-thermometer-full: \\f2c7;\n$fa-var-thermometer-half: \\f2c9;\n$fa-var-thermometer-quarter: \\f2ca;\n$fa-var-thermometer-three-quarters: \\f2c8;\n$fa-var-think-peaks: \\f731;\n$fa-var-thumbs-down: \\f165;\n$fa-var-thumbs-up: \\f164;\n$fa-var-thumbtack: \\f08d;\n$fa-var-ticket-alt: \\f3ff;\n$fa-var-tiktok: \\e07b;\n$fa-var-times: \\f00d;\n$fa-var-times-circle: \\f057;\n$fa-var-tint: \\f043;\n$fa-var-tint-slash: \\f5c7;\n$fa-var-tired: \\f5c8;\n$fa-var-toggle-off: \\f204;\n$fa-var-toggle-on: \\f205;\n$fa-var-toilet: \\f7d8;\n$fa-var-toilet-paper: \\f71e;\n$fa-var-toilet-paper-slash: \\e072;\n$fa-var-toolbox: \\f552;\n$fa-var-tools: \\f7d9;\n$fa-var-tooth: \\f5c9;\n$fa-var-torah: \\f6a0;\n$fa-var-torii-gate: \\f6a1;\n$fa-var-tractor: \\f722;\n$fa-var-trade-federation: \\f513;\n$fa-var-trademark: \\f25c;\n$fa-var-traffic-light: \\f637;\n$fa-var-trailer: \\e041;\n$fa-var-train: \\f238;\n$fa-var-tram: \\f7da;\n$fa-var-transgender: \\f224;\n$fa-var-transgender-alt: \\f225;\n$fa-var-trash: \\f1f8;\n$fa-var-trash-alt: \\f2ed;\n$fa-var-trash-restore: \\f829;\n$fa-var-trash-restore-alt: \\f82a;\n$fa-var-tree: \\f1bb;\n$fa-var-trello: \\f181;\n$fa-var-tripadvisor: \\f262;\n$fa-var-trophy: \\f091;\n$fa-var-truck: \\f0d1;\n$fa-var-truck-loading: \\f4de;\n$fa-var-truck-monster: \\f63b;\n$fa-var-truck-moving: \\f4df;\n$fa-var-truck-pickup: \\f63c;\n$fa-var-tshirt: \\f553;\n$fa-var-tty: \\f1e4;\n$fa-var-tumblr: \\f173;\n$fa-var-tumblr-square: \\f174;\n$fa-var-tv: \\f26c;\n$fa-var-twitch: \\f1e8;\n$fa-var-twitter: \\f099;\n$fa-var-twitter-square: \\f081;\n$fa-var-typo3: \\f42b;\n$fa-var-uber: \\f402;\n$fa-var-ubuntu: \\f7df;\n$fa-var-uikit: \\f403;\n$fa-var-umbraco: \\f8e8;\n$fa-var-umbrella: \\f0e9;\n$fa-var-umbrella-beach: \\f5ca;\n$fa-var-uncharted: \\e084;\n$fa-var-underline: \\f0cd;\n$fa-var-undo: \\f0e2;\n$fa-var-undo-alt: \\f2ea;\n$fa-var-uniregistry: \\f404;\n$fa-var-unity: \\e049;\n$fa-var-universal-access: \\f29a;\n$fa-var-university: \\f19c;\n$fa-var-unlink: \\f127;\n$fa-var-unlock: \\f09c;\n$fa-var-unlock-alt: \\f13e;\n$fa-var-unsplash: \\e07c;\n$fa-var-untappd: \\f405;\n$fa-var-upload: \\f093;\n$fa-var-ups: \\f7e0;\n$fa-var-usb: \\f287;\n$fa-var-user: \\f007;\n$fa-var-user-alt: \\f406;\n$fa-var-user-alt-slash: \\f4fa;\n$fa-var-user-astronaut: \\f4fb;\n$fa-var-user-check: \\f4fc;\n$fa-var-user-circle: \\f2bd;\n$fa-var-user-clock: \\f4fd;\n$fa-var-user-cog: \\f4fe;\n$fa-var-user-edit: \\f4ff;\n$fa-var-user-friends: \\f500;\n$fa-var-user-graduate: \\f501;\n$fa-var-user-injured: \\f728;\n$fa-var-user-lock: \\f502;\n$fa-var-user-md: \\f0f0;\n$fa-var-user-minus: \\f503;\n$fa-var-user-ninja: \\f504;\n$fa-var-user-nurse: \\f82f;\n$fa-var-user-plus: \\f234;\n$fa-var-user-secret: \\f21b;\n$fa-var-user-shield: \\f505;\n$fa-var-user-slash: \\f506;\n$fa-var-user-tag: \\f507;\n$fa-var-user-tie: \\f508;\n$fa-var-user-times: \\f235;\n$fa-var-users: \\f0c0;\n$fa-var-users-cog: \\f509;\n$fa-var-users-slash: \\e073;\n$fa-var-usps: \\f7e1;\n$fa-var-ussunnah: \\f407;\n$fa-var-utensil-spoon: \\f2e5;\n$fa-var-utensils: \\f2e7;\n$fa-var-vaadin: \\f408;\n$fa-var-vector-square: \\f5cb;\n$fa-var-venus: \\f221;\n$fa-var-venus-double: \\f226;\n$fa-var-venus-mars: \\f228;\n$fa-var-vest: \\e085;\n$fa-var-vest-patches: \\e086;\n$fa-var-viacoin: \\f237;\n$fa-var-viadeo: \\f2a9;\n$fa-var-viadeo-square: \\f2aa;\n$fa-var-vial: \\f492;\n$fa-var-vials: \\f493;\n$fa-var-viber: \\f409;\n$fa-var-video: \\f03d;\n$fa-var-video-slash: \\f4e2;\n$fa-var-vihara: \\f6a7;\n$fa-var-vimeo: \\f40a;\n$fa-var-vimeo-square: \\f194;\n$fa-var-vimeo-v: \\f27d;\n$fa-var-vine: \\f1ca;\n$fa-var-virus: \\e074;\n$fa-var-virus-slash: \\e075;\n$fa-var-viruses: \\e076;\n$fa-var-vk: \\f189;\n$fa-var-vnv: \\f40b;\n$fa-var-voicemail: \\f897;\n$fa-var-volleyball-ball: \\f45f;\n$fa-var-volume-down: \\f027;\n$fa-var-volume-mute: \\f6a9;\n$fa-var-volume-off: \\f026;\n$fa-var-volume-up: \\f028;\n$fa-var-vote-yea: \\f772;\n$fa-var-vr-cardboard: \\f729;\n$fa-var-vuejs: \\f41f;\n$fa-var-walking: \\f554;\n$fa-var-wallet: \\f555;\n$fa-var-warehouse: \\f494;\n$fa-var-watchman-monitoring: \\e087;\n$fa-var-water: \\f773;\n$fa-var-wave-square: \\f83e;\n$fa-var-waze: \\f83f;\n$fa-var-weebly: \\f5cc;\n$fa-var-weibo: \\f18a;\n$fa-var-weight: \\f496;\n$fa-var-weight-hanging: \\f5cd;\n$fa-var-weixin: \\f1d7;\n$fa-var-whatsapp: \\f232;\n$fa-var-whatsapp-square: \\f40c;\n$fa-var-wheelchair: \\f193;\n$fa-var-whmcs: \\f40d;\n$fa-var-wifi: \\f1eb;\n$fa-var-wikipedia-w: \\f266;\n$fa-var-wind: \\f72e;\n$fa-var-window-close: \\f410;\n$fa-var-window-maximize: \\f2d0;\n$fa-var-window-minimize: \\f2d1;\n$fa-var-window-restore: \\f2d2;\n$fa-var-windows: \\f17a;\n$fa-var-wine-bottle: \\f72f;\n$fa-var-wine-glass: \\f4e3;\n$fa-var-wine-glass-alt: \\f5ce;\n$fa-var-wix: \\f5cf;\n$fa-var-wizards-of-the-coast: \\f730;\n$fa-var-wodu: \\e088;\n$fa-var-wolf-pack-battalion: \\f514;\n$fa-var-won-sign: \\f159;\n$fa-var-wordpress: \\f19a;\n$fa-var-wordpress-simple: \\f411;\n$fa-var-wpbeginner: \\f297;\n$fa-var-wpexplorer: \\f2de;\n$fa-var-wpforms: \\f298;\n$fa-var-wpressr: \\f3e4;\n$fa-var-wrench: \\f0ad;\n$fa-var-x-ray: \\f497;\n$fa-var-xbox: \\f412;\n$fa-var-xing: \\f168;\n$fa-var-xing-square: \\f169;\n$fa-var-y-combinator: \\f23b;\n$fa-var-yahoo: \\f19e;\n$fa-var-yammer: \\f840;\n$fa-var-yandex: \\f413;\n$fa-var-yandex-international: \\f414;\n$fa-var-yarn: \\f7e3;\n$fa-var-yelp: \\f1e9;\n$fa-var-yen-sign: \\f157;\n$fa-var-yin-yang: \\f6ad;\n$fa-var-yoast: \\f2b1;\n$fa-var-youtube: \\f167;\n$fa-var-youtube-square: \\f431;\n$fa-var-zhihu: \\f63f;\n","// List Icons\n// -------------------------\n\n.#{$fa-css-prefix}-ul {\n list-style-type: none;\n margin-left: $fa-li-width * 5/4;\n padding-left: 0;\n\n > li { position: relative; }\n}\n\n.#{$fa-css-prefix}-li {\n left: -$fa-li-width;\n position: absolute;\n text-align: center;\n width: $fa-li-width;\n line-height: inherit;\n}\n","// Bordered & Pulled\n// -------------------------\n\n.#{$fa-css-prefix}-border {\n border: solid .08em $fa-border-color;\n border-radius: .1em;\n padding: .2em .25em .15em;\n}\n\n.#{$fa-css-prefix}-pull-left { float: left; }\n.#{$fa-css-prefix}-pull-right { float: right; }\n\n.#{$fa-css-prefix},\n.fas,\n.far,\n.fal,\n.fab {\n &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }\n &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }\n}\n","// Animated Icons\n// --------------------------\n\n.#{$fa-css-prefix}-spin {\n animation: fa-spin 2s infinite linear;\n}\n\n.#{$fa-css-prefix}-pulse {\n animation: fa-spin 1s infinite steps(8);\n}\n\n@keyframes fa-spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n","// Rotated & Flipped Icons\n// -------------------------\n\n.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }\n.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }\n.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }\n\n.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }\n.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }\n.#{$fa-css-prefix}-flip-both, .#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); }\n\n// Hook for IE8-9\n// -------------------------\n\n:root {\n .#{$fa-css-prefix}-rotate-90,\n .#{$fa-css-prefix}-rotate-180,\n .#{$fa-css-prefix}-rotate-270,\n .#{$fa-css-prefix}-flip-horizontal,\n .#{$fa-css-prefix}-flip-vertical,\n .#{$fa-css-prefix}-flip-both {\n filter: none;\n }\n}\n","// Mixins\n// --------------------------\n\n@mixin fa-icon {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n font-weight: normal;\n line-height: 1;\n}\n\n@mixin fa-icon-rotate($degrees, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})\";\n transform: rotate($degrees);\n}\n\n@mixin fa-icon-flip($horiz, $vert, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)\";\n transform: scale($horiz, $vert);\n}\n\n\n// Only display content to screen readers. A la Bootstrap 4.\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n@mixin sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n }\n}\n","// Stacked Icons\n// -------------------------\n\n.#{$fa-css-prefix}-stack {\n display: inline-block;\n height: 2em;\n line-height: 2em;\n position: relative;\n vertical-align: middle;\n width: ($fa-fw-width*2);\n}\n\n.#{$fa-css-prefix}-stack-1x,\n.#{$fa-css-prefix}-stack-2x {\n left: 0;\n position: absolute;\n text-align: center;\n width: 100%;\n}\n\n.#{$fa-css-prefix}-stack-1x {\n line-height: inherit;\n}\n\n.#{$fa-css-prefix}-stack-2x {\n font-size: 2em;\n}\n\n.#{$fa-css-prefix}-inverse {\n color: $fa-inverse;\n}\n","/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\nreaders do not read off random characters that represent icons */\n\n.#{$fa-css-prefix}-500px:before { content: fa-content($fa-var-500px); }\n.#{$fa-css-prefix}-accessible-icon:before { content: fa-content($fa-var-accessible-icon); }\n.#{$fa-css-prefix}-accusoft:before { content: fa-content($fa-var-accusoft); }\n.#{$fa-css-prefix}-acquisitions-incorporated:before { content: fa-content($fa-var-acquisitions-incorporated); }\n.#{$fa-css-prefix}-ad:before { content: fa-content($fa-var-ad); }\n.#{$fa-css-prefix}-address-book:before { content: fa-content($fa-var-address-book); }\n.#{$fa-css-prefix}-address-card:before { content: fa-content($fa-var-address-card); }\n.#{$fa-css-prefix}-adjust:before { content: fa-content($fa-var-adjust); }\n.#{$fa-css-prefix}-adn:before { content: fa-content($fa-var-adn); }\n.#{$fa-css-prefix}-adversal:before { content: fa-content($fa-var-adversal); }\n.#{$fa-css-prefix}-affiliatetheme:before { content: fa-content($fa-var-affiliatetheme); }\n.#{$fa-css-prefix}-air-freshener:before { content: fa-content($fa-var-air-freshener); }\n.#{$fa-css-prefix}-airbnb:before { content: fa-content($fa-var-airbnb); }\n.#{$fa-css-prefix}-algolia:before { content: fa-content($fa-var-algolia); }\n.#{$fa-css-prefix}-align-center:before { content: fa-content($fa-var-align-center); }\n.#{$fa-css-prefix}-align-justify:before { content: fa-content($fa-var-align-justify); }\n.#{$fa-css-prefix}-align-left:before { content: fa-content($fa-var-align-left); }\n.#{$fa-css-prefix}-align-right:before { content: fa-content($fa-var-align-right); }\n.#{$fa-css-prefix}-alipay:before { content: fa-content($fa-var-alipay); }\n.#{$fa-css-prefix}-allergies:before { content: fa-content($fa-var-allergies); }\n.#{$fa-css-prefix}-amazon:before { content: fa-content($fa-var-amazon); }\n.#{$fa-css-prefix}-amazon-pay:before { content: fa-content($fa-var-amazon-pay); }\n.#{$fa-css-prefix}-ambulance:before { content: fa-content($fa-var-ambulance); }\n.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: fa-content($fa-var-american-sign-language-interpreting); }\n.#{$fa-css-prefix}-amilia:before { content: fa-content($fa-var-amilia); }\n.#{$fa-css-prefix}-anchor:before { content: fa-content($fa-var-anchor); }\n.#{$fa-css-prefix}-android:before { content: fa-content($fa-var-android); }\n.#{$fa-css-prefix}-angellist:before { content: fa-content($fa-var-angellist); }\n.#{$fa-css-prefix}-angle-double-down:before { content: fa-content($fa-var-angle-double-down); }\n.#{$fa-css-prefix}-angle-double-left:before { content: fa-content($fa-var-angle-double-left); }\n.#{$fa-css-prefix}-angle-double-right:before { content: fa-content($fa-var-angle-double-right); }\n.#{$fa-css-prefix}-angle-double-up:before { content: fa-content($fa-var-angle-double-up); }\n.#{$fa-css-prefix}-angle-down:before { content: fa-content($fa-var-angle-down); }\n.#{$fa-css-prefix}-angle-left:before { content: fa-content($fa-var-angle-left); }\n.#{$fa-css-prefix}-angle-right:before { content: fa-content($fa-var-angle-right); }\n.#{$fa-css-prefix}-angle-up:before { content: fa-content($fa-var-angle-up); }\n.#{$fa-css-prefix}-angry:before { content: fa-content($fa-var-angry); }\n.#{$fa-css-prefix}-angrycreative:before { content: fa-content($fa-var-angrycreative); }\n.#{$fa-css-prefix}-angular:before { content: fa-content($fa-var-angular); }\n.#{$fa-css-prefix}-ankh:before { content: fa-content($fa-var-ankh); }\n.#{$fa-css-prefix}-app-store:before { content: fa-content($fa-var-app-store); }\n.#{$fa-css-prefix}-app-store-ios:before { content: fa-content($fa-var-app-store-ios); }\n.#{$fa-css-prefix}-apper:before { content: fa-content($fa-var-apper); }\n.#{$fa-css-prefix}-apple:before { content: fa-content($fa-var-apple); }\n.#{$fa-css-prefix}-apple-alt:before { content: fa-content($fa-var-apple-alt); }\n.#{$fa-css-prefix}-apple-pay:before { content: fa-content($fa-var-apple-pay); }\n.#{$fa-css-prefix}-archive:before { content: fa-content($fa-var-archive); }\n.#{$fa-css-prefix}-archway:before { content: fa-content($fa-var-archway); }\n.#{$fa-css-prefix}-arrow-alt-circle-down:before { content: fa-content($fa-var-arrow-alt-circle-down); }\n.#{$fa-css-prefix}-arrow-alt-circle-left:before { content: fa-content($fa-var-arrow-alt-circle-left); }\n.#{$fa-css-prefix}-arrow-alt-circle-right:before { content: fa-content($fa-var-arrow-alt-circle-right); }\n.#{$fa-css-prefix}-arrow-alt-circle-up:before { content: fa-content($fa-var-arrow-alt-circle-up); }\n.#{$fa-css-prefix}-arrow-circle-down:before { content: fa-content($fa-var-arrow-circle-down); }\n.#{$fa-css-prefix}-arrow-circle-left:before { content: fa-content($fa-var-arrow-circle-left); }\n.#{$fa-css-prefix}-arrow-circle-right:before { content: fa-content($fa-var-arrow-circle-right); }\n.#{$fa-css-prefix}-arrow-circle-up:before { content: fa-content($fa-var-arrow-circle-up); }\n.#{$fa-css-prefix}-arrow-down:before { content: fa-content($fa-var-arrow-down); }\n.#{$fa-css-prefix}-arrow-left:before { content: fa-content($fa-var-arrow-left); }\n.#{$fa-css-prefix}-arrow-right:before { content: fa-content($fa-var-arrow-right); }\n.#{$fa-css-prefix}-arrow-up:before { content: fa-content($fa-var-arrow-up); }\n.#{$fa-css-prefix}-arrows-alt:before { content: fa-content($fa-var-arrows-alt); }\n.#{$fa-css-prefix}-arrows-alt-h:before { content: fa-content($fa-var-arrows-alt-h); }\n.#{$fa-css-prefix}-arrows-alt-v:before { content: fa-content($fa-var-arrows-alt-v); }\n.#{$fa-css-prefix}-artstation:before { content: fa-content($fa-var-artstation); }\n.#{$fa-css-prefix}-assistive-listening-systems:before { content: fa-content($fa-var-assistive-listening-systems); }\n.#{$fa-css-prefix}-asterisk:before { content: fa-content($fa-var-asterisk); }\n.#{$fa-css-prefix}-asymmetrik:before { content: fa-content($fa-var-asymmetrik); }\n.#{$fa-css-prefix}-at:before { content: fa-content($fa-var-at); }\n.#{$fa-css-prefix}-atlas:before { content: fa-content($fa-var-atlas); }\n.#{$fa-css-prefix}-atlassian:before { content: fa-content($fa-var-atlassian); }\n.#{$fa-css-prefix}-atom:before { content: fa-content($fa-var-atom); }\n.#{$fa-css-prefix}-audible:before { content: fa-content($fa-var-audible); }\n.#{$fa-css-prefix}-audio-description:before { content: fa-content($fa-var-audio-description); }\n.#{$fa-css-prefix}-autoprefixer:before { content: fa-content($fa-var-autoprefixer); }\n.#{$fa-css-prefix}-avianex:before { content: fa-content($fa-var-avianex); }\n.#{$fa-css-prefix}-aviato:before { content: fa-content($fa-var-aviato); }\n.#{$fa-css-prefix}-award:before { content: fa-content($fa-var-award); }\n.#{$fa-css-prefix}-aws:before { content: fa-content($fa-var-aws); }\n.#{$fa-css-prefix}-baby:before { content: fa-content($fa-var-baby); }\n.#{$fa-css-prefix}-baby-carriage:before { content: fa-content($fa-var-baby-carriage); }\n.#{$fa-css-prefix}-backspace:before { content: fa-content($fa-var-backspace); }\n.#{$fa-css-prefix}-backward:before { content: fa-content($fa-var-backward); }\n.#{$fa-css-prefix}-bacon:before { content: fa-content($fa-var-bacon); }\n.#{$fa-css-prefix}-bacteria:before { content: fa-content($fa-var-bacteria); }\n.#{$fa-css-prefix}-bacterium:before { content: fa-content($fa-var-bacterium); }\n.#{$fa-css-prefix}-bahai:before { content: fa-content($fa-var-bahai); }\n.#{$fa-css-prefix}-balance-scale:before { content: fa-content($fa-var-balance-scale); }\n.#{$fa-css-prefix}-balance-scale-left:before { content: fa-content($fa-var-balance-scale-left); }\n.#{$fa-css-prefix}-balance-scale-right:before { content: fa-content($fa-var-balance-scale-right); }\n.#{$fa-css-prefix}-ban:before { content: fa-content($fa-var-ban); }\n.#{$fa-css-prefix}-band-aid:before { content: fa-content($fa-var-band-aid); }\n.#{$fa-css-prefix}-bandcamp:before { content: fa-content($fa-var-bandcamp); }\n.#{$fa-css-prefix}-barcode:before { content: fa-content($fa-var-barcode); }\n.#{$fa-css-prefix}-bars:before { content: fa-content($fa-var-bars); }\n.#{$fa-css-prefix}-baseball-ball:before { content: fa-content($fa-var-baseball-ball); }\n.#{$fa-css-prefix}-basketball-ball:before { content: fa-content($fa-var-basketball-ball); }\n.#{$fa-css-prefix}-bath:before { content: fa-content($fa-var-bath); }\n.#{$fa-css-prefix}-battery-empty:before { content: fa-content($fa-var-battery-empty); }\n.#{$fa-css-prefix}-battery-full:before { content: fa-content($fa-var-battery-full); }\n.#{$fa-css-prefix}-battery-half:before { content: fa-content($fa-var-battery-half); }\n.#{$fa-css-prefix}-battery-quarter:before { content: fa-content($fa-var-battery-quarter); }\n.#{$fa-css-prefix}-battery-three-quarters:before { content: fa-content($fa-var-battery-three-quarters); }\n.#{$fa-css-prefix}-battle-net:before { content: fa-content($fa-var-battle-net); }\n.#{$fa-css-prefix}-bed:before { content: fa-content($fa-var-bed); }\n.#{$fa-css-prefix}-beer:before { content: fa-content($fa-var-beer); }\n.#{$fa-css-prefix}-behance:before { content: fa-content($fa-var-behance); }\n.#{$fa-css-prefix}-behance-square:before { content: fa-content($fa-var-behance-square); }\n.#{$fa-css-prefix}-bell:before { content: fa-content($fa-var-bell); }\n.#{$fa-css-prefix}-bell-slash:before { content: fa-content($fa-var-bell-slash); }\n.#{$fa-css-prefix}-bezier-curve:before { content: fa-content($fa-var-bezier-curve); }\n.#{$fa-css-prefix}-bible:before { content: fa-content($fa-var-bible); }\n.#{$fa-css-prefix}-bicycle:before { content: fa-content($fa-var-bicycle); }\n.#{$fa-css-prefix}-biking:before { content: fa-content($fa-var-biking); }\n.#{$fa-css-prefix}-bimobject:before { content: fa-content($fa-var-bimobject); }\n.#{$fa-css-prefix}-binoculars:before { content: fa-content($fa-var-binoculars); }\n.#{$fa-css-prefix}-biohazard:before { content: fa-content($fa-var-biohazard); }\n.#{$fa-css-prefix}-birthday-cake:before { content: fa-content($fa-var-birthday-cake); }\n.#{$fa-css-prefix}-bitbucket:before { content: fa-content($fa-var-bitbucket); }\n.#{$fa-css-prefix}-bitcoin:before { content: fa-content($fa-var-bitcoin); }\n.#{$fa-css-prefix}-bity:before { content: fa-content($fa-var-bity); }\n.#{$fa-css-prefix}-black-tie:before { content: fa-content($fa-var-black-tie); }\n.#{$fa-css-prefix}-blackberry:before { content: fa-content($fa-var-blackberry); }\n.#{$fa-css-prefix}-blender:before { content: fa-content($fa-var-blender); }\n.#{$fa-css-prefix}-blender-phone:before { content: fa-content($fa-var-blender-phone); }\n.#{$fa-css-prefix}-blind:before { content: fa-content($fa-var-blind); }\n.#{$fa-css-prefix}-blog:before { content: fa-content($fa-var-blog); }\n.#{$fa-css-prefix}-blogger:before { content: fa-content($fa-var-blogger); }\n.#{$fa-css-prefix}-blogger-b:before { content: fa-content($fa-var-blogger-b); }\n.#{$fa-css-prefix}-bluetooth:before { content: fa-content($fa-var-bluetooth); }\n.#{$fa-css-prefix}-bluetooth-b:before { content: fa-content($fa-var-bluetooth-b); }\n.#{$fa-css-prefix}-bold:before { content: fa-content($fa-var-bold); }\n.#{$fa-css-prefix}-bolt:before { content: fa-content($fa-var-bolt); }\n.#{$fa-css-prefix}-bomb:before { content: fa-content($fa-var-bomb); }\n.#{$fa-css-prefix}-bone:before { content: fa-content($fa-var-bone); }\n.#{$fa-css-prefix}-bong:before { content: fa-content($fa-var-bong); }\n.#{$fa-css-prefix}-book:before { content: fa-content($fa-var-book); }\n.#{$fa-css-prefix}-book-dead:before { content: fa-content($fa-var-book-dead); }\n.#{$fa-css-prefix}-book-medical:before { content: fa-content($fa-var-book-medical); }\n.#{$fa-css-prefix}-book-open:before { content: fa-content($fa-var-book-open); }\n.#{$fa-css-prefix}-book-reader:before { content: fa-content($fa-var-book-reader); }\n.#{$fa-css-prefix}-bookmark:before { content: fa-content($fa-var-bookmark); }\n.#{$fa-css-prefix}-bootstrap:before { content: fa-content($fa-var-bootstrap); }\n.#{$fa-css-prefix}-border-all:before { content: fa-content($fa-var-border-all); }\n.#{$fa-css-prefix}-border-none:before { content: fa-content($fa-var-border-none); }\n.#{$fa-css-prefix}-border-style:before { content: fa-content($fa-var-border-style); }\n.#{$fa-css-prefix}-bowling-ball:before { content: fa-content($fa-var-bowling-ball); }\n.#{$fa-css-prefix}-box:before { content: fa-content($fa-var-box); }\n.#{$fa-css-prefix}-box-open:before { content: fa-content($fa-var-box-open); }\n.#{$fa-css-prefix}-box-tissue:before { content: fa-content($fa-var-box-tissue); }\n.#{$fa-css-prefix}-boxes:before { content: fa-content($fa-var-boxes); }\n.#{$fa-css-prefix}-braille:before { content: fa-content($fa-var-braille); }\n.#{$fa-css-prefix}-brain:before { content: fa-content($fa-var-brain); }\n.#{$fa-css-prefix}-bread-slice:before { content: fa-content($fa-var-bread-slice); }\n.#{$fa-css-prefix}-briefcase:before { content: fa-content($fa-var-briefcase); }\n.#{$fa-css-prefix}-briefcase-medical:before { content: fa-content($fa-var-briefcase-medical); }\n.#{$fa-css-prefix}-broadcast-tower:before { content: fa-content($fa-var-broadcast-tower); }\n.#{$fa-css-prefix}-broom:before { content: fa-content($fa-var-broom); }\n.#{$fa-css-prefix}-brush:before { content: fa-content($fa-var-brush); }\n.#{$fa-css-prefix}-btc:before { content: fa-content($fa-var-btc); }\n.#{$fa-css-prefix}-buffer:before { content: fa-content($fa-var-buffer); }\n.#{$fa-css-prefix}-bug:before { content: fa-content($fa-var-bug); }\n.#{$fa-css-prefix}-building:before { content: fa-content($fa-var-building); }\n.#{$fa-css-prefix}-bullhorn:before { content: fa-content($fa-var-bullhorn); }\n.#{$fa-css-prefix}-bullseye:before { content: fa-content($fa-var-bullseye); }\n.#{$fa-css-prefix}-burn:before { content: fa-content($fa-var-burn); }\n.#{$fa-css-prefix}-buromobelexperte:before { content: fa-content($fa-var-buromobelexperte); }\n.#{$fa-css-prefix}-bus:before { content: fa-content($fa-var-bus); }\n.#{$fa-css-prefix}-bus-alt:before { content: fa-content($fa-var-bus-alt); }\n.#{$fa-css-prefix}-business-time:before { content: fa-content($fa-var-business-time); }\n.#{$fa-css-prefix}-buy-n-large:before { content: fa-content($fa-var-buy-n-large); }\n.#{$fa-css-prefix}-buysellads:before { content: fa-content($fa-var-buysellads); }\n.#{$fa-css-prefix}-calculator:before { content: fa-content($fa-var-calculator); }\n.#{$fa-css-prefix}-calendar:before { content: fa-content($fa-var-calendar); }\n.#{$fa-css-prefix}-calendar-alt:before { content: fa-content($fa-var-calendar-alt); }\n.#{$fa-css-prefix}-calendar-check:before { content: fa-content($fa-var-calendar-check); }\n.#{$fa-css-prefix}-calendar-day:before { content: fa-content($fa-var-calendar-day); }\n.#{$fa-css-prefix}-calendar-minus:before { content: fa-content($fa-var-calendar-minus); }\n.#{$fa-css-prefix}-calendar-plus:before { content: fa-content($fa-var-calendar-plus); }\n.#{$fa-css-prefix}-calendar-times:before { content: fa-content($fa-var-calendar-times); }\n.#{$fa-css-prefix}-calendar-week:before { content: fa-content($fa-var-calendar-week); }\n.#{$fa-css-prefix}-camera:before { content: fa-content($fa-var-camera); }\n.#{$fa-css-prefix}-camera-retro:before { content: fa-content($fa-var-camera-retro); }\n.#{$fa-css-prefix}-campground:before { content: fa-content($fa-var-campground); }\n.#{$fa-css-prefix}-canadian-maple-leaf:before { content: fa-content($fa-var-canadian-maple-leaf); }\n.#{$fa-css-prefix}-candy-cane:before { content: fa-content($fa-var-candy-cane); }\n.#{$fa-css-prefix}-cannabis:before { content: fa-content($fa-var-cannabis); }\n.#{$fa-css-prefix}-capsules:before { content: fa-content($fa-var-capsules); }\n.#{$fa-css-prefix}-car:before { content: fa-content($fa-var-car); }\n.#{$fa-css-prefix}-car-alt:before { content: fa-content($fa-var-car-alt); }\n.#{$fa-css-prefix}-car-battery:before { content: fa-content($fa-var-car-battery); }\n.#{$fa-css-prefix}-car-crash:before { content: fa-content($fa-var-car-crash); }\n.#{$fa-css-prefix}-car-side:before { content: fa-content($fa-var-car-side); }\n.#{$fa-css-prefix}-caravan:before { content: fa-content($fa-var-caravan); }\n.#{$fa-css-prefix}-caret-down:before { content: fa-content($fa-var-caret-down); }\n.#{$fa-css-prefix}-caret-left:before { content: fa-content($fa-var-caret-left); }\n.#{$fa-css-prefix}-caret-right:before { content: fa-content($fa-var-caret-right); }\n.#{$fa-css-prefix}-caret-square-down:before { content: fa-content($fa-var-caret-square-down); }\n.#{$fa-css-prefix}-caret-square-left:before { content: fa-content($fa-var-caret-square-left); }\n.#{$fa-css-prefix}-caret-square-right:before { content: fa-content($fa-var-caret-square-right); }\n.#{$fa-css-prefix}-caret-square-up:before { content: fa-content($fa-var-caret-square-up); }\n.#{$fa-css-prefix}-caret-up:before { content: fa-content($fa-var-caret-up); }\n.#{$fa-css-prefix}-carrot:before { content: fa-content($fa-var-carrot); }\n.#{$fa-css-prefix}-cart-arrow-down:before { content: fa-content($fa-var-cart-arrow-down); }\n.#{$fa-css-prefix}-cart-plus:before { content: fa-content($fa-var-cart-plus); }\n.#{$fa-css-prefix}-cash-register:before { content: fa-content($fa-var-cash-register); }\n.#{$fa-css-prefix}-cat:before { content: fa-content($fa-var-cat); }\n.#{$fa-css-prefix}-cc-amazon-pay:before { content: fa-content($fa-var-cc-amazon-pay); }\n.#{$fa-css-prefix}-cc-amex:before { content: fa-content($fa-var-cc-amex); }\n.#{$fa-css-prefix}-cc-apple-pay:before { content: fa-content($fa-var-cc-apple-pay); }\n.#{$fa-css-prefix}-cc-diners-club:before { content: fa-content($fa-var-cc-diners-club); }\n.#{$fa-css-prefix}-cc-discover:before { content: fa-content($fa-var-cc-discover); }\n.#{$fa-css-prefix}-cc-jcb:before { content: fa-content($fa-var-cc-jcb); }\n.#{$fa-css-prefix}-cc-mastercard:before { content: fa-content($fa-var-cc-mastercard); }\n.#{$fa-css-prefix}-cc-paypal:before { content: fa-content($fa-var-cc-paypal); }\n.#{$fa-css-prefix}-cc-stripe:before { content: fa-content($fa-var-cc-stripe); }\n.#{$fa-css-prefix}-cc-visa:before { content: fa-content($fa-var-cc-visa); }\n.#{$fa-css-prefix}-centercode:before { content: fa-content($fa-var-centercode); }\n.#{$fa-css-prefix}-centos:before { content: fa-content($fa-var-centos); }\n.#{$fa-css-prefix}-certificate:before { content: fa-content($fa-var-certificate); }\n.#{$fa-css-prefix}-chair:before { content: fa-content($fa-var-chair); }\n.#{$fa-css-prefix}-chalkboard:before { content: fa-content($fa-var-chalkboard); }\n.#{$fa-css-prefix}-chalkboard-teacher:before { content: fa-content($fa-var-chalkboard-teacher); }\n.#{$fa-css-prefix}-charging-station:before { content: fa-content($fa-var-charging-station); }\n.#{$fa-css-prefix}-chart-area:before { content: fa-content($fa-var-chart-area); }\n.#{$fa-css-prefix}-chart-bar:before { content: fa-content($fa-var-chart-bar); }\n.#{$fa-css-prefix}-chart-line:before { content: fa-content($fa-var-chart-line); }\n.#{$fa-css-prefix}-chart-pie:before { content: fa-content($fa-var-chart-pie); }\n.#{$fa-css-prefix}-check:before { content: fa-content($fa-var-check); }\n.#{$fa-css-prefix}-check-circle:before { content: fa-content($fa-var-check-circle); }\n.#{$fa-css-prefix}-check-double:before { content: fa-content($fa-var-check-double); }\n.#{$fa-css-prefix}-check-square:before { content: fa-content($fa-var-check-square); }\n.#{$fa-css-prefix}-cheese:before { content: fa-content($fa-var-cheese); }\n.#{$fa-css-prefix}-chess:before { content: fa-content($fa-var-chess); }\n.#{$fa-css-prefix}-chess-bishop:before { content: fa-content($fa-var-chess-bishop); }\n.#{$fa-css-prefix}-chess-board:before { content: fa-content($fa-var-chess-board); }\n.#{$fa-css-prefix}-chess-king:before { content: fa-content($fa-var-chess-king); }\n.#{$fa-css-prefix}-chess-knight:before { content: fa-content($fa-var-chess-knight); }\n.#{$fa-css-prefix}-chess-pawn:before { content: fa-content($fa-var-chess-pawn); }\n.#{$fa-css-prefix}-chess-queen:before { content: fa-content($fa-var-chess-queen); }\n.#{$fa-css-prefix}-chess-rook:before { content: fa-content($fa-var-chess-rook); }\n.#{$fa-css-prefix}-chevron-circle-down:before { content: fa-content($fa-var-chevron-circle-down); }\n.#{$fa-css-prefix}-chevron-circle-left:before { content: fa-content($fa-var-chevron-circle-left); }\n.#{$fa-css-prefix}-chevron-circle-right:before { content: fa-content($fa-var-chevron-circle-right); }\n.#{$fa-css-prefix}-chevron-circle-up:before { content: fa-content($fa-var-chevron-circle-up); }\n.#{$fa-css-prefix}-chevron-down:before { content: fa-content($fa-var-chevron-down); }\n.#{$fa-css-prefix}-chevron-left:before { content: fa-content($fa-var-chevron-left); }\n.#{$fa-css-prefix}-chevron-right:before { content: fa-content($fa-var-chevron-right); }\n.#{$fa-css-prefix}-chevron-up:before { content: fa-content($fa-var-chevron-up); }\n.#{$fa-css-prefix}-child:before { content: fa-content($fa-var-child); }\n.#{$fa-css-prefix}-chrome:before { content: fa-content($fa-var-chrome); }\n.#{$fa-css-prefix}-chromecast:before { content: fa-content($fa-var-chromecast); }\n.#{$fa-css-prefix}-church:before { content: fa-content($fa-var-church); }\n.#{$fa-css-prefix}-circle:before { content: fa-content($fa-var-circle); }\n.#{$fa-css-prefix}-circle-notch:before { content: fa-content($fa-var-circle-notch); }\n.#{$fa-css-prefix}-city:before { content: fa-content($fa-var-city); }\n.#{$fa-css-prefix}-clinic-medical:before { content: fa-content($fa-var-clinic-medical); }\n.#{$fa-css-prefix}-clipboard:before { content: fa-content($fa-var-clipboard); }\n.#{$fa-css-prefix}-clipboard-check:before { content: fa-content($fa-var-clipboard-check); }\n.#{$fa-css-prefix}-clipboard-list:before { content: fa-content($fa-var-clipboard-list); }\n.#{$fa-css-prefix}-clock:before { content: fa-content($fa-var-clock); }\n.#{$fa-css-prefix}-clone:before { content: fa-content($fa-var-clone); }\n.#{$fa-css-prefix}-closed-captioning:before { content: fa-content($fa-var-closed-captioning); }\n.#{$fa-css-prefix}-cloud:before { content: fa-content($fa-var-cloud); }\n.#{$fa-css-prefix}-cloud-download-alt:before { content: fa-content($fa-var-cloud-download-alt); }\n.#{$fa-css-prefix}-cloud-meatball:before { content: fa-content($fa-var-cloud-meatball); }\n.#{$fa-css-prefix}-cloud-moon:before { content: fa-content($fa-var-cloud-moon); }\n.#{$fa-css-prefix}-cloud-moon-rain:before { content: fa-content($fa-var-cloud-moon-rain); }\n.#{$fa-css-prefix}-cloud-rain:before { content: fa-content($fa-var-cloud-rain); }\n.#{$fa-css-prefix}-cloud-showers-heavy:before { content: fa-content($fa-var-cloud-showers-heavy); }\n.#{$fa-css-prefix}-cloud-sun:before { content: fa-content($fa-var-cloud-sun); }\n.#{$fa-css-prefix}-cloud-sun-rain:before { content: fa-content($fa-var-cloud-sun-rain); }\n.#{$fa-css-prefix}-cloud-upload-alt:before { content: fa-content($fa-var-cloud-upload-alt); }\n.#{$fa-css-prefix}-cloudflare:before { content: fa-content($fa-var-cloudflare); }\n.#{$fa-css-prefix}-cloudscale:before { content: fa-content($fa-var-cloudscale); }\n.#{$fa-css-prefix}-cloudsmith:before { content: fa-content($fa-var-cloudsmith); }\n.#{$fa-css-prefix}-cloudversify:before { content: fa-content($fa-var-cloudversify); }\n.#{$fa-css-prefix}-cocktail:before { content: fa-content($fa-var-cocktail); }\n.#{$fa-css-prefix}-code:before { content: fa-content($fa-var-code); }\n.#{$fa-css-prefix}-code-branch:before { content: fa-content($fa-var-code-branch); }\n.#{$fa-css-prefix}-codepen:before { content: fa-content($fa-var-codepen); }\n.#{$fa-css-prefix}-codiepie:before { content: fa-content($fa-var-codiepie); }\n.#{$fa-css-prefix}-coffee:before { content: fa-content($fa-var-coffee); }\n.#{$fa-css-prefix}-cog:before { content: fa-content($fa-var-cog); }\n.#{$fa-css-prefix}-cogs:before { content: fa-content($fa-var-cogs); }\n.#{$fa-css-prefix}-coins:before { content: fa-content($fa-var-coins); }\n.#{$fa-css-prefix}-columns:before { content: fa-content($fa-var-columns); }\n.#{$fa-css-prefix}-comment:before { content: fa-content($fa-var-comment); }\n.#{$fa-css-prefix}-comment-alt:before { content: fa-content($fa-var-comment-alt); }\n.#{$fa-css-prefix}-comment-dollar:before { content: fa-content($fa-var-comment-dollar); }\n.#{$fa-css-prefix}-comment-dots:before { content: fa-content($fa-var-comment-dots); }\n.#{$fa-css-prefix}-comment-medical:before { content: fa-content($fa-var-comment-medical); }\n.#{$fa-css-prefix}-comment-slash:before { content: fa-content($fa-var-comment-slash); }\n.#{$fa-css-prefix}-comments:before { content: fa-content($fa-var-comments); }\n.#{$fa-css-prefix}-comments-dollar:before { content: fa-content($fa-var-comments-dollar); }\n.#{$fa-css-prefix}-compact-disc:before { content: fa-content($fa-var-compact-disc); }\n.#{$fa-css-prefix}-compass:before { content: fa-content($fa-var-compass); }\n.#{$fa-css-prefix}-compress:before { content: fa-content($fa-var-compress); }\n.#{$fa-css-prefix}-compress-alt:before { content: fa-content($fa-var-compress-alt); }\n.#{$fa-css-prefix}-compress-arrows-alt:before { content: fa-content($fa-var-compress-arrows-alt); }\n.#{$fa-css-prefix}-concierge-bell:before { content: fa-content($fa-var-concierge-bell); }\n.#{$fa-css-prefix}-confluence:before { content: fa-content($fa-var-confluence); }\n.#{$fa-css-prefix}-connectdevelop:before { content: fa-content($fa-var-connectdevelop); }\n.#{$fa-css-prefix}-contao:before { content: fa-content($fa-var-contao); }\n.#{$fa-css-prefix}-cookie:before { content: fa-content($fa-var-cookie); }\n.#{$fa-css-prefix}-cookie-bite:before { content: fa-content($fa-var-cookie-bite); }\n.#{$fa-css-prefix}-copy:before { content: fa-content($fa-var-copy); }\n.#{$fa-css-prefix}-copyright:before { content: fa-content($fa-var-copyright); }\n.#{$fa-css-prefix}-cotton-bureau:before { content: fa-content($fa-var-cotton-bureau); }\n.#{$fa-css-prefix}-couch:before { content: fa-content($fa-var-couch); }\n.#{$fa-css-prefix}-cpanel:before { content: fa-content($fa-var-cpanel); }\n.#{$fa-css-prefix}-creative-commons:before { content: fa-content($fa-var-creative-commons); }\n.#{$fa-css-prefix}-creative-commons-by:before { content: fa-content($fa-var-creative-commons-by); }\n.#{$fa-css-prefix}-creative-commons-nc:before { content: fa-content($fa-var-creative-commons-nc); }\n.#{$fa-css-prefix}-creative-commons-nc-eu:before { content: fa-content($fa-var-creative-commons-nc-eu); }\n.#{$fa-css-prefix}-creative-commons-nc-jp:before { content: fa-content($fa-var-creative-commons-nc-jp); }\n.#{$fa-css-prefix}-creative-commons-nd:before { content: fa-content($fa-var-creative-commons-nd); }\n.#{$fa-css-prefix}-creative-commons-pd:before { content: fa-content($fa-var-creative-commons-pd); }\n.#{$fa-css-prefix}-creative-commons-pd-alt:before { content: fa-content($fa-var-creative-commons-pd-alt); }\n.#{$fa-css-prefix}-creative-commons-remix:before { content: fa-content($fa-var-creative-commons-remix); }\n.#{$fa-css-prefix}-creative-commons-sa:before { content: fa-content($fa-var-creative-commons-sa); }\n.#{$fa-css-prefix}-creative-commons-sampling:before { content: fa-content($fa-var-creative-commons-sampling); }\n.#{$fa-css-prefix}-creative-commons-sampling-plus:before { content: fa-content($fa-var-creative-commons-sampling-plus); }\n.#{$fa-css-prefix}-creative-commons-share:before { content: fa-content($fa-var-creative-commons-share); }\n.#{$fa-css-prefix}-creative-commons-zero:before { content: fa-content($fa-var-creative-commons-zero); }\n.#{$fa-css-prefix}-credit-card:before { content: fa-content($fa-var-credit-card); }\n.#{$fa-css-prefix}-critical-role:before { content: fa-content($fa-var-critical-role); }\n.#{$fa-css-prefix}-crop:before { content: fa-content($fa-var-crop); }\n.#{$fa-css-prefix}-crop-alt:before { content: fa-content($fa-var-crop-alt); }\n.#{$fa-css-prefix}-cross:before { content: fa-content($fa-var-cross); }\n.#{$fa-css-prefix}-crosshairs:before { content: fa-content($fa-var-crosshairs); }\n.#{$fa-css-prefix}-crow:before { content: fa-content($fa-var-crow); }\n.#{$fa-css-prefix}-crown:before { content: fa-content($fa-var-crown); }\n.#{$fa-css-prefix}-crutch:before { content: fa-content($fa-var-crutch); }\n.#{$fa-css-prefix}-css3:before { content: fa-content($fa-var-css3); }\n.#{$fa-css-prefix}-css3-alt:before { content: fa-content($fa-var-css3-alt); }\n.#{$fa-css-prefix}-cube:before { content: fa-content($fa-var-cube); }\n.#{$fa-css-prefix}-cubes:before { content: fa-content($fa-var-cubes); }\n.#{$fa-css-prefix}-cut:before { content: fa-content($fa-var-cut); }\n.#{$fa-css-prefix}-cuttlefish:before { content: fa-content($fa-var-cuttlefish); }\n.#{$fa-css-prefix}-d-and-d:before { content: fa-content($fa-var-d-and-d); }\n.#{$fa-css-prefix}-d-and-d-beyond:before { content: fa-content($fa-var-d-and-d-beyond); }\n.#{$fa-css-prefix}-dailymotion:before { content: fa-content($fa-var-dailymotion); }\n.#{$fa-css-prefix}-dashcube:before { content: fa-content($fa-var-dashcube); }\n.#{$fa-css-prefix}-database:before { content: fa-content($fa-var-database); }\n.#{$fa-css-prefix}-deaf:before { content: fa-content($fa-var-deaf); }\n.#{$fa-css-prefix}-deezer:before { content: fa-content($fa-var-deezer); }\n.#{$fa-css-prefix}-delicious:before { content: fa-content($fa-var-delicious); }\n.#{$fa-css-prefix}-democrat:before { content: fa-content($fa-var-democrat); }\n.#{$fa-css-prefix}-deploydog:before { content: fa-content($fa-var-deploydog); }\n.#{$fa-css-prefix}-deskpro:before { content: fa-content($fa-var-deskpro); }\n.#{$fa-css-prefix}-desktop:before { content: fa-content($fa-var-desktop); }\n.#{$fa-css-prefix}-dev:before { content: fa-content($fa-var-dev); }\n.#{$fa-css-prefix}-deviantart:before { content: fa-content($fa-var-deviantart); }\n.#{$fa-css-prefix}-dharmachakra:before { content: fa-content($fa-var-dharmachakra); }\n.#{$fa-css-prefix}-dhl:before { content: fa-content($fa-var-dhl); }\n.#{$fa-css-prefix}-diagnoses:before { content: fa-content($fa-var-diagnoses); }\n.#{$fa-css-prefix}-diaspora:before { content: fa-content($fa-var-diaspora); }\n.#{$fa-css-prefix}-dice:before { content: fa-content($fa-var-dice); }\n.#{$fa-css-prefix}-dice-d20:before { content: fa-content($fa-var-dice-d20); }\n.#{$fa-css-prefix}-dice-d6:before { content: fa-content($fa-var-dice-d6); }\n.#{$fa-css-prefix}-dice-five:before { content: fa-content($fa-var-dice-five); }\n.#{$fa-css-prefix}-dice-four:before { content: fa-content($fa-var-dice-four); }\n.#{$fa-css-prefix}-dice-one:before { content: fa-content($fa-var-dice-one); }\n.#{$fa-css-prefix}-dice-six:before { content: fa-content($fa-var-dice-six); }\n.#{$fa-css-prefix}-dice-three:before { content: fa-content($fa-var-dice-three); }\n.#{$fa-css-prefix}-dice-two:before { content: fa-content($fa-var-dice-two); }\n.#{$fa-css-prefix}-digg:before { content: fa-content($fa-var-digg); }\n.#{$fa-css-prefix}-digital-ocean:before { content: fa-content($fa-var-digital-ocean); }\n.#{$fa-css-prefix}-digital-tachograph:before { content: fa-content($fa-var-digital-tachograph); }\n.#{$fa-css-prefix}-directions:before { content: fa-content($fa-var-directions); }\n.#{$fa-css-prefix}-discord:before { content: fa-content($fa-var-discord); }\n.#{$fa-css-prefix}-discourse:before { content: fa-content($fa-var-discourse); }\n.#{$fa-css-prefix}-disease:before { content: fa-content($fa-var-disease); }\n.#{$fa-css-prefix}-divide:before { content: fa-content($fa-var-divide); }\n.#{$fa-css-prefix}-dizzy:before { content: fa-content($fa-var-dizzy); }\n.#{$fa-css-prefix}-dna:before { content: fa-content($fa-var-dna); }\n.#{$fa-css-prefix}-dochub:before { content: fa-content($fa-var-dochub); }\n.#{$fa-css-prefix}-docker:before { content: fa-content($fa-var-docker); }\n.#{$fa-css-prefix}-dog:before { content: fa-content($fa-var-dog); }\n.#{$fa-css-prefix}-dollar-sign:before { content: fa-content($fa-var-dollar-sign); }\n.#{$fa-css-prefix}-dolly:before { content: fa-content($fa-var-dolly); }\n.#{$fa-css-prefix}-dolly-flatbed:before { content: fa-content($fa-var-dolly-flatbed); }\n.#{$fa-css-prefix}-donate:before { content: fa-content($fa-var-donate); }\n.#{$fa-css-prefix}-door-closed:before { content: fa-content($fa-var-door-closed); }\n.#{$fa-css-prefix}-door-open:before { content: fa-content($fa-var-door-open); }\n.#{$fa-css-prefix}-dot-circle:before { content: fa-content($fa-var-dot-circle); }\n.#{$fa-css-prefix}-dove:before { content: fa-content($fa-var-dove); }\n.#{$fa-css-prefix}-download:before { content: fa-content($fa-var-download); }\n.#{$fa-css-prefix}-draft2digital:before { content: fa-content($fa-var-draft2digital); }\n.#{$fa-css-prefix}-drafting-compass:before { content: fa-content($fa-var-drafting-compass); }\n.#{$fa-css-prefix}-dragon:before { content: fa-content($fa-var-dragon); }\n.#{$fa-css-prefix}-draw-polygon:before { content: fa-content($fa-var-draw-polygon); }\n.#{$fa-css-prefix}-dribbble:before { content: fa-content($fa-var-dribbble); }\n.#{$fa-css-prefix}-dribbble-square:before { content: fa-content($fa-var-dribbble-square); }\n.#{$fa-css-prefix}-dropbox:before { content: fa-content($fa-var-dropbox); }\n.#{$fa-css-prefix}-drum:before { content: fa-content($fa-var-drum); }\n.#{$fa-css-prefix}-drum-steelpan:before { content: fa-content($fa-var-drum-steelpan); }\n.#{$fa-css-prefix}-drumstick-bite:before { content: fa-content($fa-var-drumstick-bite); }\n.#{$fa-css-prefix}-drupal:before { content: fa-content($fa-var-drupal); }\n.#{$fa-css-prefix}-dumbbell:before { content: fa-content($fa-var-dumbbell); }\n.#{$fa-css-prefix}-dumpster:before { content: fa-content($fa-var-dumpster); }\n.#{$fa-css-prefix}-dumpster-fire:before { content: fa-content($fa-var-dumpster-fire); }\n.#{$fa-css-prefix}-dungeon:before { content: fa-content($fa-var-dungeon); }\n.#{$fa-css-prefix}-dyalog:before { content: fa-content($fa-var-dyalog); }\n.#{$fa-css-prefix}-earlybirds:before { content: fa-content($fa-var-earlybirds); }\n.#{$fa-css-prefix}-ebay:before { content: fa-content($fa-var-ebay); }\n.#{$fa-css-prefix}-edge:before { content: fa-content($fa-var-edge); }\n.#{$fa-css-prefix}-edge-legacy:before { content: fa-content($fa-var-edge-legacy); }\n.#{$fa-css-prefix}-edit:before { content: fa-content($fa-var-edit); }\n.#{$fa-css-prefix}-egg:before { content: fa-content($fa-var-egg); }\n.#{$fa-css-prefix}-eject:before { content: fa-content($fa-var-eject); }\n.#{$fa-css-prefix}-elementor:before { content: fa-content($fa-var-elementor); }\n.#{$fa-css-prefix}-ellipsis-h:before { content: fa-content($fa-var-ellipsis-h); }\n.#{$fa-css-prefix}-ellipsis-v:before { content: fa-content($fa-var-ellipsis-v); }\n.#{$fa-css-prefix}-ello:before { content: fa-content($fa-var-ello); }\n.#{$fa-css-prefix}-ember:before { content: fa-content($fa-var-ember); }\n.#{$fa-css-prefix}-empire:before { content: fa-content($fa-var-empire); }\n.#{$fa-css-prefix}-envelope:before { content: fa-content($fa-var-envelope); }\n.#{$fa-css-prefix}-envelope-open:before { content: fa-content($fa-var-envelope-open); }\n.#{$fa-css-prefix}-envelope-open-text:before { content: fa-content($fa-var-envelope-open-text); }\n.#{$fa-css-prefix}-envelope-square:before { content: fa-content($fa-var-envelope-square); }\n.#{$fa-css-prefix}-envira:before { content: fa-content($fa-var-envira); }\n.#{$fa-css-prefix}-equals:before { content: fa-content($fa-var-equals); }\n.#{$fa-css-prefix}-eraser:before { content: fa-content($fa-var-eraser); }\n.#{$fa-css-prefix}-erlang:before { content: fa-content($fa-var-erlang); }\n.#{$fa-css-prefix}-ethereum:before { content: fa-content($fa-var-ethereum); }\n.#{$fa-css-prefix}-ethernet:before { content: fa-content($fa-var-ethernet); }\n.#{$fa-css-prefix}-etsy:before { content: fa-content($fa-var-etsy); }\n.#{$fa-css-prefix}-euro-sign:before { content: fa-content($fa-var-euro-sign); }\n.#{$fa-css-prefix}-evernote:before { content: fa-content($fa-var-evernote); }\n.#{$fa-css-prefix}-exchange-alt:before { content: fa-content($fa-var-exchange-alt); }\n.#{$fa-css-prefix}-exclamation:before { content: fa-content($fa-var-exclamation); }\n.#{$fa-css-prefix}-exclamation-circle:before { content: fa-content($fa-var-exclamation-circle); }\n.#{$fa-css-prefix}-exclamation-triangle:before { content: fa-content($fa-var-exclamation-triangle); }\n.#{$fa-css-prefix}-expand:before { content: fa-content($fa-var-expand); }\n.#{$fa-css-prefix}-expand-alt:before { content: fa-content($fa-var-expand-alt); }\n.#{$fa-css-prefix}-expand-arrows-alt:before { content: fa-content($fa-var-expand-arrows-alt); }\n.#{$fa-css-prefix}-expeditedssl:before { content: fa-content($fa-var-expeditedssl); }\n.#{$fa-css-prefix}-external-link-alt:before { content: fa-content($fa-var-external-link-alt); }\n.#{$fa-css-prefix}-external-link-square-alt:before { content: fa-content($fa-var-external-link-square-alt); }\n.#{$fa-css-prefix}-eye:before { content: fa-content($fa-var-eye); }\n.#{$fa-css-prefix}-eye-dropper:before { content: fa-content($fa-var-eye-dropper); }\n.#{$fa-css-prefix}-eye-slash:before { content: fa-content($fa-var-eye-slash); }\n.#{$fa-css-prefix}-facebook:before { content: fa-content($fa-var-facebook); }\n.#{$fa-css-prefix}-facebook-f:before { content: fa-content($fa-var-facebook-f); }\n.#{$fa-css-prefix}-facebook-messenger:before { content: fa-content($fa-var-facebook-messenger); }\n.#{$fa-css-prefix}-facebook-square:before { content: fa-content($fa-var-facebook-square); }\n.#{$fa-css-prefix}-fan:before { content: fa-content($fa-var-fan); }\n.#{$fa-css-prefix}-fantasy-flight-games:before { content: fa-content($fa-var-fantasy-flight-games); }\n.#{$fa-css-prefix}-fast-backward:before { content: fa-content($fa-var-fast-backward); }\n.#{$fa-css-prefix}-fast-forward:before { content: fa-content($fa-var-fast-forward); }\n.#{$fa-css-prefix}-faucet:before { content: fa-content($fa-var-faucet); }\n.#{$fa-css-prefix}-fax:before { content: fa-content($fa-var-fax); }\n.#{$fa-css-prefix}-feather:before { content: fa-content($fa-var-feather); }\n.#{$fa-css-prefix}-feather-alt:before { content: fa-content($fa-var-feather-alt); }\n.#{$fa-css-prefix}-fedex:before { content: fa-content($fa-var-fedex); }\n.#{$fa-css-prefix}-fedora:before { content: fa-content($fa-var-fedora); }\n.#{$fa-css-prefix}-female:before { content: fa-content($fa-var-female); }\n.#{$fa-css-prefix}-fighter-jet:before { content: fa-content($fa-var-fighter-jet); }\n.#{$fa-css-prefix}-figma:before { content: fa-content($fa-var-figma); }\n.#{$fa-css-prefix}-file:before { content: fa-content($fa-var-file); }\n.#{$fa-css-prefix}-file-alt:before { content: fa-content($fa-var-file-alt); }\n.#{$fa-css-prefix}-file-archive:before { content: fa-content($fa-var-file-archive); }\n.#{$fa-css-prefix}-file-audio:before { content: fa-content($fa-var-file-audio); }\n.#{$fa-css-prefix}-file-code:before { content: fa-content($fa-var-file-code); }\n.#{$fa-css-prefix}-file-contract:before { content: fa-content($fa-var-file-contract); }\n.#{$fa-css-prefix}-file-csv:before { content: fa-content($fa-var-file-csv); }\n.#{$fa-css-prefix}-file-download:before { content: fa-content($fa-var-file-download); }\n.#{$fa-css-prefix}-file-excel:before { content: fa-content($fa-var-file-excel); }\n.#{$fa-css-prefix}-file-export:before { content: fa-content($fa-var-file-export); }\n.#{$fa-css-prefix}-file-image:before { content: fa-content($fa-var-file-image); }\n.#{$fa-css-prefix}-file-import:before { content: fa-content($fa-var-file-import); }\n.#{$fa-css-prefix}-file-invoice:before { content: fa-content($fa-var-file-invoice); }\n.#{$fa-css-prefix}-file-invoice-dollar:before { content: fa-content($fa-var-file-invoice-dollar); }\n.#{$fa-css-prefix}-file-medical:before { content: fa-content($fa-var-file-medical); }\n.#{$fa-css-prefix}-file-medical-alt:before { content: fa-content($fa-var-file-medical-alt); }\n.#{$fa-css-prefix}-file-pdf:before { content: fa-content($fa-var-file-pdf); }\n.#{$fa-css-prefix}-file-powerpoint:before { content: fa-content($fa-var-file-powerpoint); }\n.#{$fa-css-prefix}-file-prescription:before { content: fa-content($fa-var-file-prescription); }\n.#{$fa-css-prefix}-file-signature:before { content: fa-content($fa-var-file-signature); }\n.#{$fa-css-prefix}-file-upload:before { content: fa-content($fa-var-file-upload); }\n.#{$fa-css-prefix}-file-video:before { content: fa-content($fa-var-file-video); }\n.#{$fa-css-prefix}-file-word:before { content: fa-content($fa-var-file-word); }\n.#{$fa-css-prefix}-fill:before { content: fa-content($fa-var-fill); }\n.#{$fa-css-prefix}-fill-drip:before { content: fa-content($fa-var-fill-drip); }\n.#{$fa-css-prefix}-film:before { content: fa-content($fa-var-film); }\n.#{$fa-css-prefix}-filter:before { content: fa-content($fa-var-filter); }\n.#{$fa-css-prefix}-fingerprint:before { content: fa-content($fa-var-fingerprint); }\n.#{$fa-css-prefix}-fire:before { content: fa-content($fa-var-fire); }\n.#{$fa-css-prefix}-fire-alt:before { content: fa-content($fa-var-fire-alt); }\n.#{$fa-css-prefix}-fire-extinguisher:before { content: fa-content($fa-var-fire-extinguisher); }\n.#{$fa-css-prefix}-firefox:before { content: fa-content($fa-var-firefox); }\n.#{$fa-css-prefix}-firefox-browser:before { content: fa-content($fa-var-firefox-browser); }\n.#{$fa-css-prefix}-first-aid:before { content: fa-content($fa-var-first-aid); }\n.#{$fa-css-prefix}-first-order:before { content: fa-content($fa-var-first-order); }\n.#{$fa-css-prefix}-first-order-alt:before { content: fa-content($fa-var-first-order-alt); }\n.#{$fa-css-prefix}-firstdraft:before { content: fa-content($fa-var-firstdraft); }\n.#{$fa-css-prefix}-fish:before { content: fa-content($fa-var-fish); }\n.#{$fa-css-prefix}-fist-raised:before { content: fa-content($fa-var-fist-raised); }\n.#{$fa-css-prefix}-flag:before { content: fa-content($fa-var-flag); }\n.#{$fa-css-prefix}-flag-checkered:before { content: fa-content($fa-var-flag-checkered); }\n.#{$fa-css-prefix}-flag-usa:before { content: fa-content($fa-var-flag-usa); }\n.#{$fa-css-prefix}-flask:before { content: fa-content($fa-var-flask); }\n.#{$fa-css-prefix}-flickr:before { content: fa-content($fa-var-flickr); }\n.#{$fa-css-prefix}-flipboard:before { content: fa-content($fa-var-flipboard); }\n.#{$fa-css-prefix}-flushed:before { content: fa-content($fa-var-flushed); }\n.#{$fa-css-prefix}-fly:before { content: fa-content($fa-var-fly); }\n.#{$fa-css-prefix}-folder:before { content: fa-content($fa-var-folder); }\n.#{$fa-css-prefix}-folder-minus:before { content: fa-content($fa-var-folder-minus); }\n.#{$fa-css-prefix}-folder-open:before { content: fa-content($fa-var-folder-open); }\n.#{$fa-css-prefix}-folder-plus:before { content: fa-content($fa-var-folder-plus); }\n.#{$fa-css-prefix}-font:before { content: fa-content($fa-var-font); }\n.#{$fa-css-prefix}-font-awesome:before { content: fa-content($fa-var-font-awesome); }\n.#{$fa-css-prefix}-font-awesome-alt:before { content: fa-content($fa-var-font-awesome-alt); }\n.#{$fa-css-prefix}-font-awesome-flag:before { content: fa-content($fa-var-font-awesome-flag); }\n.#{$fa-css-prefix}-font-awesome-logo-full:before { content: fa-content($fa-var-font-awesome-logo-full); }\n.#{$fa-css-prefix}-fonticons:before { content: fa-content($fa-var-fonticons); }\n.#{$fa-css-prefix}-fonticons-fi:before { content: fa-content($fa-var-fonticons-fi); }\n.#{$fa-css-prefix}-football-ball:before { content: fa-content($fa-var-football-ball); }\n.#{$fa-css-prefix}-fort-awesome:before { content: fa-content($fa-var-fort-awesome); }\n.#{$fa-css-prefix}-fort-awesome-alt:before { content: fa-content($fa-var-fort-awesome-alt); }\n.#{$fa-css-prefix}-forumbee:before { content: fa-content($fa-var-forumbee); }\n.#{$fa-css-prefix}-forward:before { content: fa-content($fa-var-forward); }\n.#{$fa-css-prefix}-foursquare:before { content: fa-content($fa-var-foursquare); }\n.#{$fa-css-prefix}-free-code-camp:before { content: fa-content($fa-var-free-code-camp); }\n.#{$fa-css-prefix}-freebsd:before { content: fa-content($fa-var-freebsd); }\n.#{$fa-css-prefix}-frog:before { content: fa-content($fa-var-frog); }\n.#{$fa-css-prefix}-frown:before { content: fa-content($fa-var-frown); }\n.#{$fa-css-prefix}-frown-open:before { content: fa-content($fa-var-frown-open); }\n.#{$fa-css-prefix}-fulcrum:before { content: fa-content($fa-var-fulcrum); }\n.#{$fa-css-prefix}-funnel-dollar:before { content: fa-content($fa-var-funnel-dollar); }\n.#{$fa-css-prefix}-futbol:before { content: fa-content($fa-var-futbol); }\n.#{$fa-css-prefix}-galactic-republic:before { content: fa-content($fa-var-galactic-republic); }\n.#{$fa-css-prefix}-galactic-senate:before { content: fa-content($fa-var-galactic-senate); }\n.#{$fa-css-prefix}-gamepad:before { content: fa-content($fa-var-gamepad); }\n.#{$fa-css-prefix}-gas-pump:before { content: fa-content($fa-var-gas-pump); }\n.#{$fa-css-prefix}-gavel:before { content: fa-content($fa-var-gavel); }\n.#{$fa-css-prefix}-gem:before { content: fa-content($fa-var-gem); }\n.#{$fa-css-prefix}-genderless:before { content: fa-content($fa-var-genderless); }\n.#{$fa-css-prefix}-get-pocket:before { content: fa-content($fa-var-get-pocket); }\n.#{$fa-css-prefix}-gg:before { content: fa-content($fa-var-gg); }\n.#{$fa-css-prefix}-gg-circle:before { content: fa-content($fa-var-gg-circle); }\n.#{$fa-css-prefix}-ghost:before { content: fa-content($fa-var-ghost); }\n.#{$fa-css-prefix}-gift:before { content: fa-content($fa-var-gift); }\n.#{$fa-css-prefix}-gifts:before { content: fa-content($fa-var-gifts); }\n.#{$fa-css-prefix}-git:before { content: fa-content($fa-var-git); }\n.#{$fa-css-prefix}-git-alt:before { content: fa-content($fa-var-git-alt); }\n.#{$fa-css-prefix}-git-square:before { content: fa-content($fa-var-git-square); }\n.#{$fa-css-prefix}-github:before { content: fa-content($fa-var-github); }\n.#{$fa-css-prefix}-github-alt:before { content: fa-content($fa-var-github-alt); }\n.#{$fa-css-prefix}-github-square:before { content: fa-content($fa-var-github-square); }\n.#{$fa-css-prefix}-gitkraken:before { content: fa-content($fa-var-gitkraken); }\n.#{$fa-css-prefix}-gitlab:before { content: fa-content($fa-var-gitlab); }\n.#{$fa-css-prefix}-gitter:before { content: fa-content($fa-var-gitter); }\n.#{$fa-css-prefix}-glass-cheers:before { content: fa-content($fa-var-glass-cheers); }\n.#{$fa-css-prefix}-glass-martini:before { content: fa-content($fa-var-glass-martini); }\n.#{$fa-css-prefix}-glass-martini-alt:before { content: fa-content($fa-var-glass-martini-alt); }\n.#{$fa-css-prefix}-glass-whiskey:before { content: fa-content($fa-var-glass-whiskey); }\n.#{$fa-css-prefix}-glasses:before { content: fa-content($fa-var-glasses); }\n.#{$fa-css-prefix}-glide:before { content: fa-content($fa-var-glide); }\n.#{$fa-css-prefix}-glide-g:before { content: fa-content($fa-var-glide-g); }\n.#{$fa-css-prefix}-globe:before { content: fa-content($fa-var-globe); }\n.#{$fa-css-prefix}-globe-africa:before { content: fa-content($fa-var-globe-africa); }\n.#{$fa-css-prefix}-globe-americas:before { content: fa-content($fa-var-globe-americas); }\n.#{$fa-css-prefix}-globe-asia:before { content: fa-content($fa-var-globe-asia); }\n.#{$fa-css-prefix}-globe-europe:before { content: fa-content($fa-var-globe-europe); }\n.#{$fa-css-prefix}-gofore:before { content: fa-content($fa-var-gofore); }\n.#{$fa-css-prefix}-golf-ball:before { content: fa-content($fa-var-golf-ball); }\n.#{$fa-css-prefix}-goodreads:before { content: fa-content($fa-var-goodreads); }\n.#{$fa-css-prefix}-goodreads-g:before { content: fa-content($fa-var-goodreads-g); }\n.#{$fa-css-prefix}-google:before { content: fa-content($fa-var-google); }\n.#{$fa-css-prefix}-google-drive:before { content: fa-content($fa-var-google-drive); }\n.#{$fa-css-prefix}-google-pay:before { content: fa-content($fa-var-google-pay); }\n.#{$fa-css-prefix}-google-play:before { content: fa-content($fa-var-google-play); }\n.#{$fa-css-prefix}-google-plus:before { content: fa-content($fa-var-google-plus); }\n.#{$fa-css-prefix}-google-plus-g:before { content: fa-content($fa-var-google-plus-g); }\n.#{$fa-css-prefix}-google-plus-square:before { content: fa-content($fa-var-google-plus-square); }\n.#{$fa-css-prefix}-google-wallet:before { content: fa-content($fa-var-google-wallet); }\n.#{$fa-css-prefix}-gopuram:before { content: fa-content($fa-var-gopuram); }\n.#{$fa-css-prefix}-graduation-cap:before { content: fa-content($fa-var-graduation-cap); }\n.#{$fa-css-prefix}-gratipay:before { content: fa-content($fa-var-gratipay); }\n.#{$fa-css-prefix}-grav:before { content: fa-content($fa-var-grav); }\n.#{$fa-css-prefix}-greater-than:before { content: fa-content($fa-var-greater-than); }\n.#{$fa-css-prefix}-greater-than-equal:before { content: fa-content($fa-var-greater-than-equal); }\n.#{$fa-css-prefix}-grimace:before { content: fa-content($fa-var-grimace); }\n.#{$fa-css-prefix}-grin:before { content: fa-content($fa-var-grin); }\n.#{$fa-css-prefix}-grin-alt:before { content: fa-content($fa-var-grin-alt); }\n.#{$fa-css-prefix}-grin-beam:before { content: fa-content($fa-var-grin-beam); }\n.#{$fa-css-prefix}-grin-beam-sweat:before { content: fa-content($fa-var-grin-beam-sweat); }\n.#{$fa-css-prefix}-grin-hearts:before { content: fa-content($fa-var-grin-hearts); }\n.#{$fa-css-prefix}-grin-squint:before { content: fa-content($fa-var-grin-squint); }\n.#{$fa-css-prefix}-grin-squint-tears:before { content: fa-content($fa-var-grin-squint-tears); }\n.#{$fa-css-prefix}-grin-stars:before { content: fa-content($fa-var-grin-stars); }\n.#{$fa-css-prefix}-grin-tears:before { content: fa-content($fa-var-grin-tears); }\n.#{$fa-css-prefix}-grin-tongue:before { content: fa-content($fa-var-grin-tongue); }\n.#{$fa-css-prefix}-grin-tongue-squint:before { content: fa-content($fa-var-grin-tongue-squint); }\n.#{$fa-css-prefix}-grin-tongue-wink:before { content: fa-content($fa-var-grin-tongue-wink); }\n.#{$fa-css-prefix}-grin-wink:before { content: fa-content($fa-var-grin-wink); }\n.#{$fa-css-prefix}-grip-horizontal:before { content: fa-content($fa-var-grip-horizontal); }\n.#{$fa-css-prefix}-grip-lines:before { content: fa-content($fa-var-grip-lines); }\n.#{$fa-css-prefix}-grip-lines-vertical:before { content: fa-content($fa-var-grip-lines-vertical); }\n.#{$fa-css-prefix}-grip-vertical:before { content: fa-content($fa-var-grip-vertical); }\n.#{$fa-css-prefix}-gripfire:before { content: fa-content($fa-var-gripfire); }\n.#{$fa-css-prefix}-grunt:before { content: fa-content($fa-var-grunt); }\n.#{$fa-css-prefix}-guilded:before { content: fa-content($fa-var-guilded); }\n.#{$fa-css-prefix}-guitar:before { content: fa-content($fa-var-guitar); }\n.#{$fa-css-prefix}-gulp:before { content: fa-content($fa-var-gulp); }\n.#{$fa-css-prefix}-h-square:before { content: fa-content($fa-var-h-square); }\n.#{$fa-css-prefix}-hacker-news:before { content: fa-content($fa-var-hacker-news); }\n.#{$fa-css-prefix}-hacker-news-square:before { content: fa-content($fa-var-hacker-news-square); }\n.#{$fa-css-prefix}-hackerrank:before { content: fa-content($fa-var-hackerrank); }\n.#{$fa-css-prefix}-hamburger:before { content: fa-content($fa-var-hamburger); }\n.#{$fa-css-prefix}-hammer:before { content: fa-content($fa-var-hammer); }\n.#{$fa-css-prefix}-hamsa:before { content: fa-content($fa-var-hamsa); }\n.#{$fa-css-prefix}-hand-holding:before { content: fa-content($fa-var-hand-holding); }\n.#{$fa-css-prefix}-hand-holding-heart:before { content: fa-content($fa-var-hand-holding-heart); }\n.#{$fa-css-prefix}-hand-holding-medical:before { content: fa-content($fa-var-hand-holding-medical); }\n.#{$fa-css-prefix}-hand-holding-usd:before { content: fa-content($fa-var-hand-holding-usd); }\n.#{$fa-css-prefix}-hand-holding-water:before { content: fa-content($fa-var-hand-holding-water); }\n.#{$fa-css-prefix}-hand-lizard:before { content: fa-content($fa-var-hand-lizard); }\n.#{$fa-css-prefix}-hand-middle-finger:before { content: fa-content($fa-var-hand-middle-finger); }\n.#{$fa-css-prefix}-hand-paper:before { content: fa-content($fa-var-hand-paper); }\n.#{$fa-css-prefix}-hand-peace:before { content: fa-content($fa-var-hand-peace); }\n.#{$fa-css-prefix}-hand-point-down:before { content: fa-content($fa-var-hand-point-down); }\n.#{$fa-css-prefix}-hand-point-left:before { content: fa-content($fa-var-hand-point-left); }\n.#{$fa-css-prefix}-hand-point-right:before { content: fa-content($fa-var-hand-point-right); }\n.#{$fa-css-prefix}-hand-point-up:before { content: fa-content($fa-var-hand-point-up); }\n.#{$fa-css-prefix}-hand-pointer:before { content: fa-content($fa-var-hand-pointer); }\n.#{$fa-css-prefix}-hand-rock:before { content: fa-content($fa-var-hand-rock); }\n.#{$fa-css-prefix}-hand-scissors:before { content: fa-content($fa-var-hand-scissors); }\n.#{$fa-css-prefix}-hand-sparkles:before { content: fa-content($fa-var-hand-sparkles); }\n.#{$fa-css-prefix}-hand-spock:before { content: fa-content($fa-var-hand-spock); }\n.#{$fa-css-prefix}-hands:before { content: fa-content($fa-var-hands); }\n.#{$fa-css-prefix}-hands-helping:before { content: fa-content($fa-var-hands-helping); }\n.#{$fa-css-prefix}-hands-wash:before { content: fa-content($fa-var-hands-wash); }\n.#{$fa-css-prefix}-handshake:before { content: fa-content($fa-var-handshake); }\n.#{$fa-css-prefix}-handshake-alt-slash:before { content: fa-content($fa-var-handshake-alt-slash); }\n.#{$fa-css-prefix}-handshake-slash:before { content: fa-content($fa-var-handshake-slash); }\n.#{$fa-css-prefix}-hanukiah:before { content: fa-content($fa-var-hanukiah); }\n.#{$fa-css-prefix}-hard-hat:before { content: fa-content($fa-var-hard-hat); }\n.#{$fa-css-prefix}-hashtag:before { content: fa-content($fa-var-hashtag); }\n.#{$fa-css-prefix}-hat-cowboy:before { content: fa-content($fa-var-hat-cowboy); }\n.#{$fa-css-prefix}-hat-cowboy-side:before { content: fa-content($fa-var-hat-cowboy-side); }\n.#{$fa-css-prefix}-hat-wizard:before { content: fa-content($fa-var-hat-wizard); }\n.#{$fa-css-prefix}-hdd:before { content: fa-content($fa-var-hdd); }\n.#{$fa-css-prefix}-head-side-cough:before { content: fa-content($fa-var-head-side-cough); }\n.#{$fa-css-prefix}-head-side-cough-slash:before { content: fa-content($fa-var-head-side-cough-slash); }\n.#{$fa-css-prefix}-head-side-mask:before { content: fa-content($fa-var-head-side-mask); }\n.#{$fa-css-prefix}-head-side-virus:before { content: fa-content($fa-var-head-side-virus); }\n.#{$fa-css-prefix}-heading:before { content: fa-content($fa-var-heading); }\n.#{$fa-css-prefix}-headphones:before { content: fa-content($fa-var-headphones); }\n.#{$fa-css-prefix}-headphones-alt:before { content: fa-content($fa-var-headphones-alt); }\n.#{$fa-css-prefix}-headset:before { content: fa-content($fa-var-headset); }\n.#{$fa-css-prefix}-heart:before { content: fa-content($fa-var-heart); }\n.#{$fa-css-prefix}-heart-broken:before { content: fa-content($fa-var-heart-broken); }\n.#{$fa-css-prefix}-heartbeat:before { content: fa-content($fa-var-heartbeat); }\n.#{$fa-css-prefix}-helicopter:before { content: fa-content($fa-var-helicopter); }\n.#{$fa-css-prefix}-highlighter:before { content: fa-content($fa-var-highlighter); }\n.#{$fa-css-prefix}-hiking:before { content: fa-content($fa-var-hiking); }\n.#{$fa-css-prefix}-hippo:before { content: fa-content($fa-var-hippo); }\n.#{$fa-css-prefix}-hips:before { content: fa-content($fa-var-hips); }\n.#{$fa-css-prefix}-hire-a-helper:before { content: fa-content($fa-var-hire-a-helper); }\n.#{$fa-css-prefix}-history:before { content: fa-content($fa-var-history); }\n.#{$fa-css-prefix}-hive:before { content: fa-content($fa-var-hive); }\n.#{$fa-css-prefix}-hockey-puck:before { content: fa-content($fa-var-hockey-puck); }\n.#{$fa-css-prefix}-holly-berry:before { content: fa-content($fa-var-holly-berry); }\n.#{$fa-css-prefix}-home:before { content: fa-content($fa-var-home); }\n.#{$fa-css-prefix}-hooli:before { content: fa-content($fa-var-hooli); }\n.#{$fa-css-prefix}-hornbill:before { content: fa-content($fa-var-hornbill); }\n.#{$fa-css-prefix}-horse:before { content: fa-content($fa-var-horse); }\n.#{$fa-css-prefix}-horse-head:before { content: fa-content($fa-var-horse-head); }\n.#{$fa-css-prefix}-hospital:before { content: fa-content($fa-var-hospital); }\n.#{$fa-css-prefix}-hospital-alt:before { content: fa-content($fa-var-hospital-alt); }\n.#{$fa-css-prefix}-hospital-symbol:before { content: fa-content($fa-var-hospital-symbol); }\n.#{$fa-css-prefix}-hospital-user:before { content: fa-content($fa-var-hospital-user); }\n.#{$fa-css-prefix}-hot-tub:before { content: fa-content($fa-var-hot-tub); }\n.#{$fa-css-prefix}-hotdog:before { content: fa-content($fa-var-hotdog); }\n.#{$fa-css-prefix}-hotel:before { content: fa-content($fa-var-hotel); }\n.#{$fa-css-prefix}-hotjar:before { content: fa-content($fa-var-hotjar); }\n.#{$fa-css-prefix}-hourglass:before { content: fa-content($fa-var-hourglass); }\n.#{$fa-css-prefix}-hourglass-end:before { content: fa-content($fa-var-hourglass-end); }\n.#{$fa-css-prefix}-hourglass-half:before { content: fa-content($fa-var-hourglass-half); }\n.#{$fa-css-prefix}-hourglass-start:before { content: fa-content($fa-var-hourglass-start); }\n.#{$fa-css-prefix}-house-damage:before { content: fa-content($fa-var-house-damage); }\n.#{$fa-css-prefix}-house-user:before { content: fa-content($fa-var-house-user); }\n.#{$fa-css-prefix}-houzz:before { content: fa-content($fa-var-houzz); }\n.#{$fa-css-prefix}-hryvnia:before { content: fa-content($fa-var-hryvnia); }\n.#{$fa-css-prefix}-html5:before { content: fa-content($fa-var-html5); }\n.#{$fa-css-prefix}-hubspot:before { content: fa-content($fa-var-hubspot); }\n.#{$fa-css-prefix}-i-cursor:before { content: fa-content($fa-var-i-cursor); }\n.#{$fa-css-prefix}-ice-cream:before { content: fa-content($fa-var-ice-cream); }\n.#{$fa-css-prefix}-icicles:before { content: fa-content($fa-var-icicles); }\n.#{$fa-css-prefix}-icons:before { content: fa-content($fa-var-icons); }\n.#{$fa-css-prefix}-id-badge:before { content: fa-content($fa-var-id-badge); }\n.#{$fa-css-prefix}-id-card:before { content: fa-content($fa-var-id-card); }\n.#{$fa-css-prefix}-id-card-alt:before { content: fa-content($fa-var-id-card-alt); }\n.#{$fa-css-prefix}-ideal:before { content: fa-content($fa-var-ideal); }\n.#{$fa-css-prefix}-igloo:before { content: fa-content($fa-var-igloo); }\n.#{$fa-css-prefix}-image:before { content: fa-content($fa-var-image); }\n.#{$fa-css-prefix}-images:before { content: fa-content($fa-var-images); }\n.#{$fa-css-prefix}-imdb:before { content: fa-content($fa-var-imdb); }\n.#{$fa-css-prefix}-inbox:before { content: fa-content($fa-var-inbox); }\n.#{$fa-css-prefix}-indent:before { content: fa-content($fa-var-indent); }\n.#{$fa-css-prefix}-industry:before { content: fa-content($fa-var-industry); }\n.#{$fa-css-prefix}-infinity:before { content: fa-content($fa-var-infinity); }\n.#{$fa-css-prefix}-info:before { content: fa-content($fa-var-info); }\n.#{$fa-css-prefix}-info-circle:before { content: fa-content($fa-var-info-circle); }\n.#{$fa-css-prefix}-innosoft:before { content: fa-content($fa-var-innosoft); }\n.#{$fa-css-prefix}-instagram:before { content: fa-content($fa-var-instagram); }\n.#{$fa-css-prefix}-instagram-square:before { content: fa-content($fa-var-instagram-square); }\n.#{$fa-css-prefix}-instalod:before { content: fa-content($fa-var-instalod); }\n.#{$fa-css-prefix}-intercom:before { content: fa-content($fa-var-intercom); }\n.#{$fa-css-prefix}-internet-explorer:before { content: fa-content($fa-var-internet-explorer); }\n.#{$fa-css-prefix}-invision:before { content: fa-content($fa-var-invision); }\n.#{$fa-css-prefix}-ioxhost:before { content: fa-content($fa-var-ioxhost); }\n.#{$fa-css-prefix}-italic:before { content: fa-content($fa-var-italic); }\n.#{$fa-css-prefix}-itch-io:before { content: fa-content($fa-var-itch-io); }\n.#{$fa-css-prefix}-itunes:before { content: fa-content($fa-var-itunes); }\n.#{$fa-css-prefix}-itunes-note:before { content: fa-content($fa-var-itunes-note); }\n.#{$fa-css-prefix}-java:before { content: fa-content($fa-var-java); }\n.#{$fa-css-prefix}-jedi:before { content: fa-content($fa-var-jedi); }\n.#{$fa-css-prefix}-jedi-order:before { content: fa-content($fa-var-jedi-order); }\n.#{$fa-css-prefix}-jenkins:before { content: fa-content($fa-var-jenkins); }\n.#{$fa-css-prefix}-jira:before { content: fa-content($fa-var-jira); }\n.#{$fa-css-prefix}-joget:before { content: fa-content($fa-var-joget); }\n.#{$fa-css-prefix}-joint:before { content: fa-content($fa-var-joint); }\n.#{$fa-css-prefix}-joomla:before { content: fa-content($fa-var-joomla); }\n.#{$fa-css-prefix}-journal-whills:before { content: fa-content($fa-var-journal-whills); }\n.#{$fa-css-prefix}-js:before { content: fa-content($fa-var-js); }\n.#{$fa-css-prefix}-js-square:before { content: fa-content($fa-var-js-square); }\n.#{$fa-css-prefix}-jsfiddle:before { content: fa-content($fa-var-jsfiddle); }\n.#{$fa-css-prefix}-kaaba:before { content: fa-content($fa-var-kaaba); }\n.#{$fa-css-prefix}-kaggle:before { content: fa-content($fa-var-kaggle); }\n.#{$fa-css-prefix}-key:before { content: fa-content($fa-var-key); }\n.#{$fa-css-prefix}-keybase:before { content: fa-content($fa-var-keybase); }\n.#{$fa-css-prefix}-keyboard:before { content: fa-content($fa-var-keyboard); }\n.#{$fa-css-prefix}-keycdn:before { content: fa-content($fa-var-keycdn); }\n.#{$fa-css-prefix}-khanda:before { content: fa-content($fa-var-khanda); }\n.#{$fa-css-prefix}-kickstarter:before { content: fa-content($fa-var-kickstarter); }\n.#{$fa-css-prefix}-kickstarter-k:before { content: fa-content($fa-var-kickstarter-k); }\n.#{$fa-css-prefix}-kiss:before { content: fa-content($fa-var-kiss); }\n.#{$fa-css-prefix}-kiss-beam:before { content: fa-content($fa-var-kiss-beam); }\n.#{$fa-css-prefix}-kiss-wink-heart:before { content: fa-content($fa-var-kiss-wink-heart); }\n.#{$fa-css-prefix}-kiwi-bird:before { content: fa-content($fa-var-kiwi-bird); }\n.#{$fa-css-prefix}-korvue:before { content: fa-content($fa-var-korvue); }\n.#{$fa-css-prefix}-landmark:before { content: fa-content($fa-var-landmark); }\n.#{$fa-css-prefix}-language:before { content: fa-content($fa-var-language); }\n.#{$fa-css-prefix}-laptop:before { content: fa-content($fa-var-laptop); }\n.#{$fa-css-prefix}-laptop-code:before { content: fa-content($fa-var-laptop-code); }\n.#{$fa-css-prefix}-laptop-house:before { content: fa-content($fa-var-laptop-house); }\n.#{$fa-css-prefix}-laptop-medical:before { content: fa-content($fa-var-laptop-medical); }\n.#{$fa-css-prefix}-laravel:before { content: fa-content($fa-var-laravel); }\n.#{$fa-css-prefix}-lastfm:before { content: fa-content($fa-var-lastfm); }\n.#{$fa-css-prefix}-lastfm-square:before { content: fa-content($fa-var-lastfm-square); }\n.#{$fa-css-prefix}-laugh:before { content: fa-content($fa-var-laugh); }\n.#{$fa-css-prefix}-laugh-beam:before { content: fa-content($fa-var-laugh-beam); }\n.#{$fa-css-prefix}-laugh-squint:before { content: fa-content($fa-var-laugh-squint); }\n.#{$fa-css-prefix}-laugh-wink:before { content: fa-content($fa-var-laugh-wink); }\n.#{$fa-css-prefix}-layer-group:before { content: fa-content($fa-var-layer-group); }\n.#{$fa-css-prefix}-leaf:before { content: fa-content($fa-var-leaf); }\n.#{$fa-css-prefix}-leanpub:before { content: fa-content($fa-var-leanpub); }\n.#{$fa-css-prefix}-lemon:before { content: fa-content($fa-var-lemon); }\n.#{$fa-css-prefix}-less:before { content: fa-content($fa-var-less); }\n.#{$fa-css-prefix}-less-than:before { content: fa-content($fa-var-less-than); }\n.#{$fa-css-prefix}-less-than-equal:before { content: fa-content($fa-var-less-than-equal); }\n.#{$fa-css-prefix}-level-down-alt:before { content: fa-content($fa-var-level-down-alt); }\n.#{$fa-css-prefix}-level-up-alt:before { content: fa-content($fa-var-level-up-alt); }\n.#{$fa-css-prefix}-life-ring:before { content: fa-content($fa-var-life-ring); }\n.#{$fa-css-prefix}-lightbulb:before { content: fa-content($fa-var-lightbulb); }\n.#{$fa-css-prefix}-line:before { content: fa-content($fa-var-line); }\n.#{$fa-css-prefix}-link:before { content: fa-content($fa-var-link); }\n.#{$fa-css-prefix}-linkedin:before { content: fa-content($fa-var-linkedin); }\n.#{$fa-css-prefix}-linkedin-in:before { content: fa-content($fa-var-linkedin-in); }\n.#{$fa-css-prefix}-linode:before { content: fa-content($fa-var-linode); }\n.#{$fa-css-prefix}-linux:before { content: fa-content($fa-var-linux); }\n.#{$fa-css-prefix}-lira-sign:before { content: fa-content($fa-var-lira-sign); }\n.#{$fa-css-prefix}-list:before { content: fa-content($fa-var-list); }\n.#{$fa-css-prefix}-list-alt:before { content: fa-content($fa-var-list-alt); }\n.#{$fa-css-prefix}-list-ol:before { content: fa-content($fa-var-list-ol); }\n.#{$fa-css-prefix}-list-ul:before { content: fa-content($fa-var-list-ul); }\n.#{$fa-css-prefix}-location-arrow:before { content: fa-content($fa-var-location-arrow); }\n.#{$fa-css-prefix}-lock:before { content: fa-content($fa-var-lock); }\n.#{$fa-css-prefix}-lock-open:before { content: fa-content($fa-var-lock-open); }\n.#{$fa-css-prefix}-long-arrow-alt-down:before { content: fa-content($fa-var-long-arrow-alt-down); }\n.#{$fa-css-prefix}-long-arrow-alt-left:before { content: fa-content($fa-var-long-arrow-alt-left); }\n.#{$fa-css-prefix}-long-arrow-alt-right:before { content: fa-content($fa-var-long-arrow-alt-right); }\n.#{$fa-css-prefix}-long-arrow-alt-up:before { content: fa-content($fa-var-long-arrow-alt-up); }\n.#{$fa-css-prefix}-low-vision:before { content: fa-content($fa-var-low-vision); }\n.#{$fa-css-prefix}-luggage-cart:before { content: fa-content($fa-var-luggage-cart); }\n.#{$fa-css-prefix}-lungs:before { content: fa-content($fa-var-lungs); }\n.#{$fa-css-prefix}-lungs-virus:before { content: fa-content($fa-var-lungs-virus); }\n.#{$fa-css-prefix}-lyft:before { content: fa-content($fa-var-lyft); }\n.#{$fa-css-prefix}-magento:before { content: fa-content($fa-var-magento); }\n.#{$fa-css-prefix}-magic:before { content: fa-content($fa-var-magic); }\n.#{$fa-css-prefix}-magnet:before { content: fa-content($fa-var-magnet); }\n.#{$fa-css-prefix}-mail-bulk:before { content: fa-content($fa-var-mail-bulk); }\n.#{$fa-css-prefix}-mailchimp:before { content: fa-content($fa-var-mailchimp); }\n.#{$fa-css-prefix}-male:before { content: fa-content($fa-var-male); }\n.#{$fa-css-prefix}-mandalorian:before { content: fa-content($fa-var-mandalorian); }\n.#{$fa-css-prefix}-map:before { content: fa-content($fa-var-map); }\n.#{$fa-css-prefix}-map-marked:before { content: fa-content($fa-var-map-marked); }\n.#{$fa-css-prefix}-map-marked-alt:before { content: fa-content($fa-var-map-marked-alt); }\n.#{$fa-css-prefix}-map-marker:before { content: fa-content($fa-var-map-marker); }\n.#{$fa-css-prefix}-map-marker-alt:before { content: fa-content($fa-var-map-marker-alt); }\n.#{$fa-css-prefix}-map-pin:before { content: fa-content($fa-var-map-pin); }\n.#{$fa-css-prefix}-map-signs:before { content: fa-content($fa-var-map-signs); }\n.#{$fa-css-prefix}-markdown:before { content: fa-content($fa-var-markdown); }\n.#{$fa-css-prefix}-marker:before { content: fa-content($fa-var-marker); }\n.#{$fa-css-prefix}-mars:before { content: fa-content($fa-var-mars); }\n.#{$fa-css-prefix}-mars-double:before { content: fa-content($fa-var-mars-double); }\n.#{$fa-css-prefix}-mars-stroke:before { content: fa-content($fa-var-mars-stroke); }\n.#{$fa-css-prefix}-mars-stroke-h:before { content: fa-content($fa-var-mars-stroke-h); }\n.#{$fa-css-prefix}-mars-stroke-v:before { content: fa-content($fa-var-mars-stroke-v); }\n.#{$fa-css-prefix}-mask:before { content: fa-content($fa-var-mask); }\n.#{$fa-css-prefix}-mastodon:before { content: fa-content($fa-var-mastodon); }\n.#{$fa-css-prefix}-maxcdn:before { content: fa-content($fa-var-maxcdn); }\n.#{$fa-css-prefix}-mdb:before { content: fa-content($fa-var-mdb); }\n.#{$fa-css-prefix}-medal:before { content: fa-content($fa-var-medal); }\n.#{$fa-css-prefix}-medapps:before { content: fa-content($fa-var-medapps); }\n.#{$fa-css-prefix}-medium:before { content: fa-content($fa-var-medium); }\n.#{$fa-css-prefix}-medium-m:before { content: fa-content($fa-var-medium-m); }\n.#{$fa-css-prefix}-medkit:before { content: fa-content($fa-var-medkit); }\n.#{$fa-css-prefix}-medrt:before { content: fa-content($fa-var-medrt); }\n.#{$fa-css-prefix}-meetup:before { content: fa-content($fa-var-meetup); }\n.#{$fa-css-prefix}-megaport:before { content: fa-content($fa-var-megaport); }\n.#{$fa-css-prefix}-meh:before { content: fa-content($fa-var-meh); }\n.#{$fa-css-prefix}-meh-blank:before { content: fa-content($fa-var-meh-blank); }\n.#{$fa-css-prefix}-meh-rolling-eyes:before { content: fa-content($fa-var-meh-rolling-eyes); }\n.#{$fa-css-prefix}-memory:before { content: fa-content($fa-var-memory); }\n.#{$fa-css-prefix}-mendeley:before { content: fa-content($fa-var-mendeley); }\n.#{$fa-css-prefix}-menorah:before { content: fa-content($fa-var-menorah); }\n.#{$fa-css-prefix}-mercury:before { content: fa-content($fa-var-mercury); }\n.#{$fa-css-prefix}-meteor:before { content: fa-content($fa-var-meteor); }\n.#{$fa-css-prefix}-microblog:before { content: fa-content($fa-var-microblog); }\n.#{$fa-css-prefix}-microchip:before { content: fa-content($fa-var-microchip); }\n.#{$fa-css-prefix}-microphone:before { content: fa-content($fa-var-microphone); }\n.#{$fa-css-prefix}-microphone-alt:before { content: fa-content($fa-var-microphone-alt); }\n.#{$fa-css-prefix}-microphone-alt-slash:before { content: fa-content($fa-var-microphone-alt-slash); }\n.#{$fa-css-prefix}-microphone-slash:before { content: fa-content($fa-var-microphone-slash); }\n.#{$fa-css-prefix}-microscope:before { content: fa-content($fa-var-microscope); }\n.#{$fa-css-prefix}-microsoft:before { content: fa-content($fa-var-microsoft); }\n.#{$fa-css-prefix}-minus:before { content: fa-content($fa-var-minus); }\n.#{$fa-css-prefix}-minus-circle:before { content: fa-content($fa-var-minus-circle); }\n.#{$fa-css-prefix}-minus-square:before { content: fa-content($fa-var-minus-square); }\n.#{$fa-css-prefix}-mitten:before { content: fa-content($fa-var-mitten); }\n.#{$fa-css-prefix}-mix:before { content: fa-content($fa-var-mix); }\n.#{$fa-css-prefix}-mixcloud:before { content: fa-content($fa-var-mixcloud); }\n.#{$fa-css-prefix}-mixer:before { content: fa-content($fa-var-mixer); }\n.#{$fa-css-prefix}-mizuni:before { content: fa-content($fa-var-mizuni); }\n.#{$fa-css-prefix}-mobile:before { content: fa-content($fa-var-mobile); }\n.#{$fa-css-prefix}-mobile-alt:before { content: fa-content($fa-var-mobile-alt); }\n.#{$fa-css-prefix}-modx:before { content: fa-content($fa-var-modx); }\n.#{$fa-css-prefix}-monero:before { content: fa-content($fa-var-monero); }\n.#{$fa-css-prefix}-money-bill:before { content: fa-content($fa-var-money-bill); }\n.#{$fa-css-prefix}-money-bill-alt:before { content: fa-content($fa-var-money-bill-alt); }\n.#{$fa-css-prefix}-money-bill-wave:before { content: fa-content($fa-var-money-bill-wave); }\n.#{$fa-css-prefix}-money-bill-wave-alt:before { content: fa-content($fa-var-money-bill-wave-alt); }\n.#{$fa-css-prefix}-money-check:before { content: fa-content($fa-var-money-check); }\n.#{$fa-css-prefix}-money-check-alt:before { content: fa-content($fa-var-money-check-alt); }\n.#{$fa-css-prefix}-monument:before { content: fa-content($fa-var-monument); }\n.#{$fa-css-prefix}-moon:before { content: fa-content($fa-var-moon); }\n.#{$fa-css-prefix}-mortar-pestle:before { content: fa-content($fa-var-mortar-pestle); }\n.#{$fa-css-prefix}-mosque:before { content: fa-content($fa-var-mosque); }\n.#{$fa-css-prefix}-motorcycle:before { content: fa-content($fa-var-motorcycle); }\n.#{$fa-css-prefix}-mountain:before { content: fa-content($fa-var-mountain); }\n.#{$fa-css-prefix}-mouse:before { content: fa-content($fa-var-mouse); }\n.#{$fa-css-prefix}-mouse-pointer:before { content: fa-content($fa-var-mouse-pointer); }\n.#{$fa-css-prefix}-mug-hot:before { content: fa-content($fa-var-mug-hot); }\n.#{$fa-css-prefix}-music:before { content: fa-content($fa-var-music); }\n.#{$fa-css-prefix}-napster:before { content: fa-content($fa-var-napster); }\n.#{$fa-css-prefix}-neos:before { content: fa-content($fa-var-neos); }\n.#{$fa-css-prefix}-network-wired:before { content: fa-content($fa-var-network-wired); }\n.#{$fa-css-prefix}-neuter:before { content: fa-content($fa-var-neuter); }\n.#{$fa-css-prefix}-newspaper:before { content: fa-content($fa-var-newspaper); }\n.#{$fa-css-prefix}-nimblr:before { content: fa-content($fa-var-nimblr); }\n.#{$fa-css-prefix}-node:before { content: fa-content($fa-var-node); }\n.#{$fa-css-prefix}-node-js:before { content: fa-content($fa-var-node-js); }\n.#{$fa-css-prefix}-not-equal:before { content: fa-content($fa-var-not-equal); }\n.#{$fa-css-prefix}-notes-medical:before { content: fa-content($fa-var-notes-medical); }\n.#{$fa-css-prefix}-npm:before { content: fa-content($fa-var-npm); }\n.#{$fa-css-prefix}-ns8:before { content: fa-content($fa-var-ns8); }\n.#{$fa-css-prefix}-nutritionix:before { content: fa-content($fa-var-nutritionix); }\n.#{$fa-css-prefix}-object-group:before { content: fa-content($fa-var-object-group); }\n.#{$fa-css-prefix}-object-ungroup:before { content: fa-content($fa-var-object-ungroup); }\n.#{$fa-css-prefix}-octopus-deploy:before { content: fa-content($fa-var-octopus-deploy); }\n.#{$fa-css-prefix}-odnoklassniki:before { content: fa-content($fa-var-odnoklassniki); }\n.#{$fa-css-prefix}-odnoklassniki-square:before { content: fa-content($fa-var-odnoklassniki-square); }\n.#{$fa-css-prefix}-oil-can:before { content: fa-content($fa-var-oil-can); }\n.#{$fa-css-prefix}-old-republic:before { content: fa-content($fa-var-old-republic); }\n.#{$fa-css-prefix}-om:before { content: fa-content($fa-var-om); }\n.#{$fa-css-prefix}-opencart:before { content: fa-content($fa-var-opencart); }\n.#{$fa-css-prefix}-openid:before { content: fa-content($fa-var-openid); }\n.#{$fa-css-prefix}-opera:before { content: fa-content($fa-var-opera); }\n.#{$fa-css-prefix}-optin-monster:before { content: fa-content($fa-var-optin-monster); }\n.#{$fa-css-prefix}-orcid:before { content: fa-content($fa-var-orcid); }\n.#{$fa-css-prefix}-osi:before { content: fa-content($fa-var-osi); }\n.#{$fa-css-prefix}-otter:before { content: fa-content($fa-var-otter); }\n.#{$fa-css-prefix}-outdent:before { content: fa-content($fa-var-outdent); }\n.#{$fa-css-prefix}-page4:before { content: fa-content($fa-var-page4); }\n.#{$fa-css-prefix}-pagelines:before { content: fa-content($fa-var-pagelines); }\n.#{$fa-css-prefix}-pager:before { content: fa-content($fa-var-pager); }\n.#{$fa-css-prefix}-paint-brush:before { content: fa-content($fa-var-paint-brush); }\n.#{$fa-css-prefix}-paint-roller:before { content: fa-content($fa-var-paint-roller); }\n.#{$fa-css-prefix}-palette:before { content: fa-content($fa-var-palette); }\n.#{$fa-css-prefix}-palfed:before { content: fa-content($fa-var-palfed); }\n.#{$fa-css-prefix}-pallet:before { content: fa-content($fa-var-pallet); }\n.#{$fa-css-prefix}-paper-plane:before { content: fa-content($fa-var-paper-plane); }\n.#{$fa-css-prefix}-paperclip:before { content: fa-content($fa-var-paperclip); }\n.#{$fa-css-prefix}-parachute-box:before { content: fa-content($fa-var-parachute-box); }\n.#{$fa-css-prefix}-paragraph:before { content: fa-content($fa-var-paragraph); }\n.#{$fa-css-prefix}-parking:before { content: fa-content($fa-var-parking); }\n.#{$fa-css-prefix}-passport:before { content: fa-content($fa-var-passport); }\n.#{$fa-css-prefix}-pastafarianism:before { content: fa-content($fa-var-pastafarianism); }\n.#{$fa-css-prefix}-paste:before { content: fa-content($fa-var-paste); }\n.#{$fa-css-prefix}-patreon:before { content: fa-content($fa-var-patreon); }\n.#{$fa-css-prefix}-pause:before { content: fa-content($fa-var-pause); }\n.#{$fa-css-prefix}-pause-circle:before { content: fa-content($fa-var-pause-circle); }\n.#{$fa-css-prefix}-paw:before { content: fa-content($fa-var-paw); }\n.#{$fa-css-prefix}-paypal:before { content: fa-content($fa-var-paypal); }\n.#{$fa-css-prefix}-peace:before { content: fa-content($fa-var-peace); }\n.#{$fa-css-prefix}-pen:before { content: fa-content($fa-var-pen); }\n.#{$fa-css-prefix}-pen-alt:before { content: fa-content($fa-var-pen-alt); }\n.#{$fa-css-prefix}-pen-fancy:before { content: fa-content($fa-var-pen-fancy); }\n.#{$fa-css-prefix}-pen-nib:before { content: fa-content($fa-var-pen-nib); }\n.#{$fa-css-prefix}-pen-square:before { content: fa-content($fa-var-pen-square); }\n.#{$fa-css-prefix}-pencil-alt:before { content: fa-content($fa-var-pencil-alt); }\n.#{$fa-css-prefix}-pencil-ruler:before { content: fa-content($fa-var-pencil-ruler); }\n.#{$fa-css-prefix}-penny-arcade:before { content: fa-content($fa-var-penny-arcade); }\n.#{$fa-css-prefix}-people-arrows:before { content: fa-content($fa-var-people-arrows); }\n.#{$fa-css-prefix}-people-carry:before { content: fa-content($fa-var-people-carry); }\n.#{$fa-css-prefix}-pepper-hot:before { content: fa-content($fa-var-pepper-hot); }\n.#{$fa-css-prefix}-perbyte:before { content: fa-content($fa-var-perbyte); }\n.#{$fa-css-prefix}-percent:before { content: fa-content($fa-var-percent); }\n.#{$fa-css-prefix}-percentage:before { content: fa-content($fa-var-percentage); }\n.#{$fa-css-prefix}-periscope:before { content: fa-content($fa-var-periscope); }\n.#{$fa-css-prefix}-person-booth:before { content: fa-content($fa-var-person-booth); }\n.#{$fa-css-prefix}-phabricator:before { content: fa-content($fa-var-phabricator); }\n.#{$fa-css-prefix}-phoenix-framework:before { content: fa-content($fa-var-phoenix-framework); }\n.#{$fa-css-prefix}-phoenix-squadron:before { content: fa-content($fa-var-phoenix-squadron); }\n.#{$fa-css-prefix}-phone:before { content: fa-content($fa-var-phone); }\n.#{$fa-css-prefix}-phone-alt:before { content: fa-content($fa-var-phone-alt); }\n.#{$fa-css-prefix}-phone-slash:before { content: fa-content($fa-var-phone-slash); }\n.#{$fa-css-prefix}-phone-square:before { content: fa-content($fa-var-phone-square); }\n.#{$fa-css-prefix}-phone-square-alt:before { content: fa-content($fa-var-phone-square-alt); }\n.#{$fa-css-prefix}-phone-volume:before { content: fa-content($fa-var-phone-volume); }\n.#{$fa-css-prefix}-photo-video:before { content: fa-content($fa-var-photo-video); }\n.#{$fa-css-prefix}-php:before { content: fa-content($fa-var-php); }\n.#{$fa-css-prefix}-pied-piper:before { content: fa-content($fa-var-pied-piper); }\n.#{$fa-css-prefix}-pied-piper-alt:before { content: fa-content($fa-var-pied-piper-alt); }\n.#{$fa-css-prefix}-pied-piper-hat:before { content: fa-content($fa-var-pied-piper-hat); }\n.#{$fa-css-prefix}-pied-piper-pp:before { content: fa-content($fa-var-pied-piper-pp); }\n.#{$fa-css-prefix}-pied-piper-square:before { content: fa-content($fa-var-pied-piper-square); }\n.#{$fa-css-prefix}-piggy-bank:before { content: fa-content($fa-var-piggy-bank); }\n.#{$fa-css-prefix}-pills:before { content: fa-content($fa-var-pills); }\n.#{$fa-css-prefix}-pinterest:before { content: fa-content($fa-var-pinterest); }\n.#{$fa-css-prefix}-pinterest-p:before { content: fa-content($fa-var-pinterest-p); }\n.#{$fa-css-prefix}-pinterest-square:before { content: fa-content($fa-var-pinterest-square); }\n.#{$fa-css-prefix}-pizza-slice:before { content: fa-content($fa-var-pizza-slice); }\n.#{$fa-css-prefix}-place-of-worship:before { content: fa-content($fa-var-place-of-worship); }\n.#{$fa-css-prefix}-plane:before { content: fa-content($fa-var-plane); }\n.#{$fa-css-prefix}-plane-arrival:before { content: fa-content($fa-var-plane-arrival); }\n.#{$fa-css-prefix}-plane-departure:before { content: fa-content($fa-var-plane-departure); }\n.#{$fa-css-prefix}-plane-slash:before { content: fa-content($fa-var-plane-slash); }\n.#{$fa-css-prefix}-play:before { content: fa-content($fa-var-play); }\n.#{$fa-css-prefix}-play-circle:before { content: fa-content($fa-var-play-circle); }\n.#{$fa-css-prefix}-playstation:before { content: fa-content($fa-var-playstation); }\n.#{$fa-css-prefix}-plug:before { content: fa-content($fa-var-plug); }\n.#{$fa-css-prefix}-plus:before { content: fa-content($fa-var-plus); }\n.#{$fa-css-prefix}-plus-circle:before { content: fa-content($fa-var-plus-circle); }\n.#{$fa-css-prefix}-plus-square:before { content: fa-content($fa-var-plus-square); }\n.#{$fa-css-prefix}-podcast:before { content: fa-content($fa-var-podcast); }\n.#{$fa-css-prefix}-poll:before { content: fa-content($fa-var-poll); }\n.#{$fa-css-prefix}-poll-h:before { content: fa-content($fa-var-poll-h); }\n.#{$fa-css-prefix}-poo:before { content: fa-content($fa-var-poo); }\n.#{$fa-css-prefix}-poo-storm:before { content: fa-content($fa-var-poo-storm); }\n.#{$fa-css-prefix}-poop:before { content: fa-content($fa-var-poop); }\n.#{$fa-css-prefix}-portrait:before { content: fa-content($fa-var-portrait); }\n.#{$fa-css-prefix}-pound-sign:before { content: fa-content($fa-var-pound-sign); }\n.#{$fa-css-prefix}-power-off:before { content: fa-content($fa-var-power-off); }\n.#{$fa-css-prefix}-pray:before { content: fa-content($fa-var-pray); }\n.#{$fa-css-prefix}-praying-hands:before { content: fa-content($fa-var-praying-hands); }\n.#{$fa-css-prefix}-prescription:before { content: fa-content($fa-var-prescription); }\n.#{$fa-css-prefix}-prescription-bottle:before { content: fa-content($fa-var-prescription-bottle); }\n.#{$fa-css-prefix}-prescription-bottle-alt:before { content: fa-content($fa-var-prescription-bottle-alt); }\n.#{$fa-css-prefix}-print:before { content: fa-content($fa-var-print); }\n.#{$fa-css-prefix}-procedures:before { content: fa-content($fa-var-procedures); }\n.#{$fa-css-prefix}-product-hunt:before { content: fa-content($fa-var-product-hunt); }\n.#{$fa-css-prefix}-project-diagram:before { content: fa-content($fa-var-project-diagram); }\n.#{$fa-css-prefix}-pump-medical:before { content: fa-content($fa-var-pump-medical); }\n.#{$fa-css-prefix}-pump-soap:before { content: fa-content($fa-var-pump-soap); }\n.#{$fa-css-prefix}-pushed:before { content: fa-content($fa-var-pushed); }\n.#{$fa-css-prefix}-puzzle-piece:before { content: fa-content($fa-var-puzzle-piece); }\n.#{$fa-css-prefix}-python:before { content: fa-content($fa-var-python); }\n.#{$fa-css-prefix}-qq:before { content: fa-content($fa-var-qq); }\n.#{$fa-css-prefix}-qrcode:before { content: fa-content($fa-var-qrcode); }\n.#{$fa-css-prefix}-question:before { content: fa-content($fa-var-question); }\n.#{$fa-css-prefix}-question-circle:before { content: fa-content($fa-var-question-circle); }\n.#{$fa-css-prefix}-quidditch:before { content: fa-content($fa-var-quidditch); }\n.#{$fa-css-prefix}-quinscape:before { content: fa-content($fa-var-quinscape); }\n.#{$fa-css-prefix}-quora:before { content: fa-content($fa-var-quora); }\n.#{$fa-css-prefix}-quote-left:before { content: fa-content($fa-var-quote-left); }\n.#{$fa-css-prefix}-quote-right:before { content: fa-content($fa-var-quote-right); }\n.#{$fa-css-prefix}-quran:before { content: fa-content($fa-var-quran); }\n.#{$fa-css-prefix}-r-project:before { content: fa-content($fa-var-r-project); }\n.#{$fa-css-prefix}-radiation:before { content: fa-content($fa-var-radiation); }\n.#{$fa-css-prefix}-radiation-alt:before { content: fa-content($fa-var-radiation-alt); }\n.#{$fa-css-prefix}-rainbow:before { content: fa-content($fa-var-rainbow); }\n.#{$fa-css-prefix}-random:before { content: fa-content($fa-var-random); }\n.#{$fa-css-prefix}-raspberry-pi:before { content: fa-content($fa-var-raspberry-pi); }\n.#{$fa-css-prefix}-ravelry:before { content: fa-content($fa-var-ravelry); }\n.#{$fa-css-prefix}-react:before { content: fa-content($fa-var-react); }\n.#{$fa-css-prefix}-reacteurope:before { content: fa-content($fa-var-reacteurope); }\n.#{$fa-css-prefix}-readme:before { content: fa-content($fa-var-readme); }\n.#{$fa-css-prefix}-rebel:before { content: fa-content($fa-var-rebel); }\n.#{$fa-css-prefix}-receipt:before { content: fa-content($fa-var-receipt); }\n.#{$fa-css-prefix}-record-vinyl:before { content: fa-content($fa-var-record-vinyl); }\n.#{$fa-css-prefix}-recycle:before { content: fa-content($fa-var-recycle); }\n.#{$fa-css-prefix}-red-river:before { content: fa-content($fa-var-red-river); }\n.#{$fa-css-prefix}-reddit:before { content: fa-content($fa-var-reddit); }\n.#{$fa-css-prefix}-reddit-alien:before { content: fa-content($fa-var-reddit-alien); }\n.#{$fa-css-prefix}-reddit-square:before { content: fa-content($fa-var-reddit-square); }\n.#{$fa-css-prefix}-redhat:before { content: fa-content($fa-var-redhat); }\n.#{$fa-css-prefix}-redo:before { content: fa-content($fa-var-redo); }\n.#{$fa-css-prefix}-redo-alt:before { content: fa-content($fa-var-redo-alt); }\n.#{$fa-css-prefix}-registered:before { content: fa-content($fa-var-registered); }\n.#{$fa-css-prefix}-remove-format:before { content: fa-content($fa-var-remove-format); }\n.#{$fa-css-prefix}-renren:before { content: fa-content($fa-var-renren); }\n.#{$fa-css-prefix}-reply:before { content: fa-content($fa-var-reply); }\n.#{$fa-css-prefix}-reply-all:before { content: fa-content($fa-var-reply-all); }\n.#{$fa-css-prefix}-replyd:before { content: fa-content($fa-var-replyd); }\n.#{$fa-css-prefix}-republican:before { content: fa-content($fa-var-republican); }\n.#{$fa-css-prefix}-researchgate:before { content: fa-content($fa-var-researchgate); }\n.#{$fa-css-prefix}-resolving:before { content: fa-content($fa-var-resolving); }\n.#{$fa-css-prefix}-restroom:before { content: fa-content($fa-var-restroom); }\n.#{$fa-css-prefix}-retweet:before { content: fa-content($fa-var-retweet); }\n.#{$fa-css-prefix}-rev:before { content: fa-content($fa-var-rev); }\n.#{$fa-css-prefix}-ribbon:before { content: fa-content($fa-var-ribbon); }\n.#{$fa-css-prefix}-ring:before { content: fa-content($fa-var-ring); }\n.#{$fa-css-prefix}-road:before { content: fa-content($fa-var-road); }\n.#{$fa-css-prefix}-robot:before { content: fa-content($fa-var-robot); }\n.#{$fa-css-prefix}-rocket:before { content: fa-content($fa-var-rocket); }\n.#{$fa-css-prefix}-rocketchat:before { content: fa-content($fa-var-rocketchat); }\n.#{$fa-css-prefix}-rockrms:before { content: fa-content($fa-var-rockrms); }\n.#{$fa-css-prefix}-route:before { content: fa-content($fa-var-route); }\n.#{$fa-css-prefix}-rss:before { content: fa-content($fa-var-rss); }\n.#{$fa-css-prefix}-rss-square:before { content: fa-content($fa-var-rss-square); }\n.#{$fa-css-prefix}-ruble-sign:before { content: fa-content($fa-var-ruble-sign); }\n.#{$fa-css-prefix}-ruler:before { content: fa-content($fa-var-ruler); }\n.#{$fa-css-prefix}-ruler-combined:before { content: fa-content($fa-var-ruler-combined); }\n.#{$fa-css-prefix}-ruler-horizontal:before { content: fa-content($fa-var-ruler-horizontal); }\n.#{$fa-css-prefix}-ruler-vertical:before { content: fa-content($fa-var-ruler-vertical); }\n.#{$fa-css-prefix}-running:before { content: fa-content($fa-var-running); }\n.#{$fa-css-prefix}-rupee-sign:before { content: fa-content($fa-var-rupee-sign); }\n.#{$fa-css-prefix}-rust:before { content: fa-content($fa-var-rust); }\n.#{$fa-css-prefix}-sad-cry:before { content: fa-content($fa-var-sad-cry); }\n.#{$fa-css-prefix}-sad-tear:before { content: fa-content($fa-var-sad-tear); }\n.#{$fa-css-prefix}-safari:before { content: fa-content($fa-var-safari); }\n.#{$fa-css-prefix}-salesforce:before { content: fa-content($fa-var-salesforce); }\n.#{$fa-css-prefix}-sass:before { content: fa-content($fa-var-sass); }\n.#{$fa-css-prefix}-satellite:before { content: fa-content($fa-var-satellite); }\n.#{$fa-css-prefix}-satellite-dish:before { content: fa-content($fa-var-satellite-dish); }\n.#{$fa-css-prefix}-save:before { content: fa-content($fa-var-save); }\n.#{$fa-css-prefix}-schlix:before { content: fa-content($fa-var-schlix); }\n.#{$fa-css-prefix}-school:before { content: fa-content($fa-var-school); }\n.#{$fa-css-prefix}-screwdriver:before { content: fa-content($fa-var-screwdriver); }\n.#{$fa-css-prefix}-scribd:before { content: fa-content($fa-var-scribd); }\n.#{$fa-css-prefix}-scroll:before { content: fa-content($fa-var-scroll); }\n.#{$fa-css-prefix}-sd-card:before { content: fa-content($fa-var-sd-card); }\n.#{$fa-css-prefix}-search:before { content: fa-content($fa-var-search); }\n.#{$fa-css-prefix}-search-dollar:before { content: fa-content($fa-var-search-dollar); }\n.#{$fa-css-prefix}-search-location:before { content: fa-content($fa-var-search-location); }\n.#{$fa-css-prefix}-search-minus:before { content: fa-content($fa-var-search-minus); }\n.#{$fa-css-prefix}-search-plus:before { content: fa-content($fa-var-search-plus); }\n.#{$fa-css-prefix}-searchengin:before { content: fa-content($fa-var-searchengin); }\n.#{$fa-css-prefix}-seedling:before { content: fa-content($fa-var-seedling); }\n.#{$fa-css-prefix}-sellcast:before { content: fa-content($fa-var-sellcast); }\n.#{$fa-css-prefix}-sellsy:before { content: fa-content($fa-var-sellsy); }\n.#{$fa-css-prefix}-server:before { content: fa-content($fa-var-server); }\n.#{$fa-css-prefix}-servicestack:before { content: fa-content($fa-var-servicestack); }\n.#{$fa-css-prefix}-shapes:before { content: fa-content($fa-var-shapes); }\n.#{$fa-css-prefix}-share:before { content: fa-content($fa-var-share); }\n.#{$fa-css-prefix}-share-alt:before { content: fa-content($fa-var-share-alt); }\n.#{$fa-css-prefix}-share-alt-square:before { content: fa-content($fa-var-share-alt-square); }\n.#{$fa-css-prefix}-share-square:before { content: fa-content($fa-var-share-square); }\n.#{$fa-css-prefix}-shekel-sign:before { content: fa-content($fa-var-shekel-sign); }\n.#{$fa-css-prefix}-shield-alt:before { content: fa-content($fa-var-shield-alt); }\n.#{$fa-css-prefix}-shield-virus:before { content: fa-content($fa-var-shield-virus); }\n.#{$fa-css-prefix}-ship:before { content: fa-content($fa-var-ship); }\n.#{$fa-css-prefix}-shipping-fast:before { content: fa-content($fa-var-shipping-fast); }\n.#{$fa-css-prefix}-shirtsinbulk:before { content: fa-content($fa-var-shirtsinbulk); }\n.#{$fa-css-prefix}-shoe-prints:before { content: fa-content($fa-var-shoe-prints); }\n.#{$fa-css-prefix}-shopify:before { content: fa-content($fa-var-shopify); }\n.#{$fa-css-prefix}-shopping-bag:before { content: fa-content($fa-var-shopping-bag); }\n.#{$fa-css-prefix}-shopping-basket:before { content: fa-content($fa-var-shopping-basket); }\n.#{$fa-css-prefix}-shopping-cart:before { content: fa-content($fa-var-shopping-cart); }\n.#{$fa-css-prefix}-shopware:before { content: fa-content($fa-var-shopware); }\n.#{$fa-css-prefix}-shower:before { content: fa-content($fa-var-shower); }\n.#{$fa-css-prefix}-shuttle-van:before { content: fa-content($fa-var-shuttle-van); }\n.#{$fa-css-prefix}-sign:before { content: fa-content($fa-var-sign); }\n.#{$fa-css-prefix}-sign-in-alt:before { content: fa-content($fa-var-sign-in-alt); }\n.#{$fa-css-prefix}-sign-language:before { content: fa-content($fa-var-sign-language); }\n.#{$fa-css-prefix}-sign-out-alt:before { content: fa-content($fa-var-sign-out-alt); }\n.#{$fa-css-prefix}-signal:before { content: fa-content($fa-var-signal); }\n.#{$fa-css-prefix}-signature:before { content: fa-content($fa-var-signature); }\n.#{$fa-css-prefix}-sim-card:before { content: fa-content($fa-var-sim-card); }\n.#{$fa-css-prefix}-simplybuilt:before { content: fa-content($fa-var-simplybuilt); }\n.#{$fa-css-prefix}-sink:before { content: fa-content($fa-var-sink); }\n.#{$fa-css-prefix}-sistrix:before { content: fa-content($fa-var-sistrix); }\n.#{$fa-css-prefix}-sitemap:before { content: fa-content($fa-var-sitemap); }\n.#{$fa-css-prefix}-sith:before { content: fa-content($fa-var-sith); }\n.#{$fa-css-prefix}-skating:before { content: fa-content($fa-var-skating); }\n.#{$fa-css-prefix}-sketch:before { content: fa-content($fa-var-sketch); }\n.#{$fa-css-prefix}-skiing:before { content: fa-content($fa-var-skiing); }\n.#{$fa-css-prefix}-skiing-nordic:before { content: fa-content($fa-var-skiing-nordic); }\n.#{$fa-css-prefix}-skull:before { content: fa-content($fa-var-skull); }\n.#{$fa-css-prefix}-skull-crossbones:before { content: fa-content($fa-var-skull-crossbones); }\n.#{$fa-css-prefix}-skyatlas:before { content: fa-content($fa-var-skyatlas); }\n.#{$fa-css-prefix}-skype:before { content: fa-content($fa-var-skype); }\n.#{$fa-css-prefix}-slack:before { content: fa-content($fa-var-slack); }\n.#{$fa-css-prefix}-slack-hash:before { content: fa-content($fa-var-slack-hash); }\n.#{$fa-css-prefix}-slash:before { content: fa-content($fa-var-slash); }\n.#{$fa-css-prefix}-sleigh:before { content: fa-content($fa-var-sleigh); }\n.#{$fa-css-prefix}-sliders-h:before { content: fa-content($fa-var-sliders-h); }\n.#{$fa-css-prefix}-slideshare:before { content: fa-content($fa-var-slideshare); }\n.#{$fa-css-prefix}-smile:before { content: fa-content($fa-var-smile); }\n.#{$fa-css-prefix}-smile-beam:before { content: fa-content($fa-var-smile-beam); }\n.#{$fa-css-prefix}-smile-wink:before { content: fa-content($fa-var-smile-wink); }\n.#{$fa-css-prefix}-smog:before { content: fa-content($fa-var-smog); }\n.#{$fa-css-prefix}-smoking:before { content: fa-content($fa-var-smoking); }\n.#{$fa-css-prefix}-smoking-ban:before { content: fa-content($fa-var-smoking-ban); }\n.#{$fa-css-prefix}-sms:before { content: fa-content($fa-var-sms); }\n.#{$fa-css-prefix}-snapchat:before { content: fa-content($fa-var-snapchat); }\n.#{$fa-css-prefix}-snapchat-ghost:before { content: fa-content($fa-var-snapchat-ghost); }\n.#{$fa-css-prefix}-snapchat-square:before { content: fa-content($fa-var-snapchat-square); }\n.#{$fa-css-prefix}-snowboarding:before { content: fa-content($fa-var-snowboarding); }\n.#{$fa-css-prefix}-snowflake:before { content: fa-content($fa-var-snowflake); }\n.#{$fa-css-prefix}-snowman:before { content: fa-content($fa-var-snowman); }\n.#{$fa-css-prefix}-snowplow:before { content: fa-content($fa-var-snowplow); }\n.#{$fa-css-prefix}-soap:before { content: fa-content($fa-var-soap); }\n.#{$fa-css-prefix}-socks:before { content: fa-content($fa-var-socks); }\n.#{$fa-css-prefix}-solar-panel:before { content: fa-content($fa-var-solar-panel); }\n.#{$fa-css-prefix}-sort:before { content: fa-content($fa-var-sort); }\n.#{$fa-css-prefix}-sort-alpha-down:before { content: fa-content($fa-var-sort-alpha-down); }\n.#{$fa-css-prefix}-sort-alpha-down-alt:before { content: fa-content($fa-var-sort-alpha-down-alt); }\n.#{$fa-css-prefix}-sort-alpha-up:before { content: fa-content($fa-var-sort-alpha-up); }\n.#{$fa-css-prefix}-sort-alpha-up-alt:before { content: fa-content($fa-var-sort-alpha-up-alt); }\n.#{$fa-css-prefix}-sort-amount-down:before { content: fa-content($fa-var-sort-amount-down); }\n.#{$fa-css-prefix}-sort-amount-down-alt:before { content: fa-content($fa-var-sort-amount-down-alt); }\n.#{$fa-css-prefix}-sort-amount-up:before { content: fa-content($fa-var-sort-amount-up); }\n.#{$fa-css-prefix}-sort-amount-up-alt:before { content: fa-content($fa-var-sort-amount-up-alt); }\n.#{$fa-css-prefix}-sort-down:before { content: fa-content($fa-var-sort-down); }\n.#{$fa-css-prefix}-sort-numeric-down:before { content: fa-content($fa-var-sort-numeric-down); }\n.#{$fa-css-prefix}-sort-numeric-down-alt:before { content: fa-content($fa-var-sort-numeric-down-alt); }\n.#{$fa-css-prefix}-sort-numeric-up:before { content: fa-content($fa-var-sort-numeric-up); }\n.#{$fa-css-prefix}-sort-numeric-up-alt:before { content: fa-content($fa-var-sort-numeric-up-alt); }\n.#{$fa-css-prefix}-sort-up:before { content: fa-content($fa-var-sort-up); }\n.#{$fa-css-prefix}-soundcloud:before { content: fa-content($fa-var-soundcloud); }\n.#{$fa-css-prefix}-sourcetree:before { content: fa-content($fa-var-sourcetree); }\n.#{$fa-css-prefix}-spa:before { content: fa-content($fa-var-spa); }\n.#{$fa-css-prefix}-space-shuttle:before { content: fa-content($fa-var-space-shuttle); }\n.#{$fa-css-prefix}-speakap:before { content: fa-content($fa-var-speakap); }\n.#{$fa-css-prefix}-speaker-deck:before { content: fa-content($fa-var-speaker-deck); }\n.#{$fa-css-prefix}-spell-check:before { content: fa-content($fa-var-spell-check); }\n.#{$fa-css-prefix}-spider:before { content: fa-content($fa-var-spider); }\n.#{$fa-css-prefix}-spinner:before { content: fa-content($fa-var-spinner); }\n.#{$fa-css-prefix}-splotch:before { content: fa-content($fa-var-splotch); }\n.#{$fa-css-prefix}-spotify:before { content: fa-content($fa-var-spotify); }\n.#{$fa-css-prefix}-spray-can:before { content: fa-content($fa-var-spray-can); }\n.#{$fa-css-prefix}-square:before { content: fa-content($fa-var-square); }\n.#{$fa-css-prefix}-square-full:before { content: fa-content($fa-var-square-full); }\n.#{$fa-css-prefix}-square-root-alt:before { content: fa-content($fa-var-square-root-alt); }\n.#{$fa-css-prefix}-squarespace:before { content: fa-content($fa-var-squarespace); }\n.#{$fa-css-prefix}-stack-exchange:before { content: fa-content($fa-var-stack-exchange); }\n.#{$fa-css-prefix}-stack-overflow:before { content: fa-content($fa-var-stack-overflow); }\n.#{$fa-css-prefix}-stackpath:before { content: fa-content($fa-var-stackpath); }\n.#{$fa-css-prefix}-stamp:before { content: fa-content($fa-var-stamp); }\n.#{$fa-css-prefix}-star:before { content: fa-content($fa-var-star); }\n.#{$fa-css-prefix}-star-and-crescent:before { content: fa-content($fa-var-star-and-crescent); }\n.#{$fa-css-prefix}-star-half:before { content: fa-content($fa-var-star-half); }\n.#{$fa-css-prefix}-star-half-alt:before { content: fa-content($fa-var-star-half-alt); }\n.#{$fa-css-prefix}-star-of-david:before { content: fa-content($fa-var-star-of-david); }\n.#{$fa-css-prefix}-star-of-life:before { content: fa-content($fa-var-star-of-life); }\n.#{$fa-css-prefix}-staylinked:before { content: fa-content($fa-var-staylinked); }\n.#{$fa-css-prefix}-steam:before { content: fa-content($fa-var-steam); }\n.#{$fa-css-prefix}-steam-square:before { content: fa-content($fa-var-steam-square); }\n.#{$fa-css-prefix}-steam-symbol:before { content: fa-content($fa-var-steam-symbol); }\n.#{$fa-css-prefix}-step-backward:before { content: fa-content($fa-var-step-backward); }\n.#{$fa-css-prefix}-step-forward:before { content: fa-content($fa-var-step-forward); }\n.#{$fa-css-prefix}-stethoscope:before { content: fa-content($fa-var-stethoscope); }\n.#{$fa-css-prefix}-sticker-mule:before { content: fa-content($fa-var-sticker-mule); }\n.#{$fa-css-prefix}-sticky-note:before { content: fa-content($fa-var-sticky-note); }\n.#{$fa-css-prefix}-stop:before { content: fa-content($fa-var-stop); }\n.#{$fa-css-prefix}-stop-circle:before { content: fa-content($fa-var-stop-circle); }\n.#{$fa-css-prefix}-stopwatch:before { content: fa-content($fa-var-stopwatch); }\n.#{$fa-css-prefix}-stopwatch-20:before { content: fa-content($fa-var-stopwatch-20); }\n.#{$fa-css-prefix}-store:before { content: fa-content($fa-var-store); }\n.#{$fa-css-prefix}-store-alt:before { content: fa-content($fa-var-store-alt); }\n.#{$fa-css-prefix}-store-alt-slash:before { content: fa-content($fa-var-store-alt-slash); }\n.#{$fa-css-prefix}-store-slash:before { content: fa-content($fa-var-store-slash); }\n.#{$fa-css-prefix}-strava:before { content: fa-content($fa-var-strava); }\n.#{$fa-css-prefix}-stream:before { content: fa-content($fa-var-stream); }\n.#{$fa-css-prefix}-street-view:before { content: fa-content($fa-var-street-view); }\n.#{$fa-css-prefix}-strikethrough:before { content: fa-content($fa-var-strikethrough); }\n.#{$fa-css-prefix}-stripe:before { content: fa-content($fa-var-stripe); }\n.#{$fa-css-prefix}-stripe-s:before { content: fa-content($fa-var-stripe-s); }\n.#{$fa-css-prefix}-stroopwafel:before { content: fa-content($fa-var-stroopwafel); }\n.#{$fa-css-prefix}-studiovinari:before { content: fa-content($fa-var-studiovinari); }\n.#{$fa-css-prefix}-stumbleupon:before { content: fa-content($fa-var-stumbleupon); }\n.#{$fa-css-prefix}-stumbleupon-circle:before { content: fa-content($fa-var-stumbleupon-circle); }\n.#{$fa-css-prefix}-subscript:before { content: fa-content($fa-var-subscript); }\n.#{$fa-css-prefix}-subway:before { content: fa-content($fa-var-subway); }\n.#{$fa-css-prefix}-suitcase:before { content: fa-content($fa-var-suitcase); }\n.#{$fa-css-prefix}-suitcase-rolling:before { content: fa-content($fa-var-suitcase-rolling); }\n.#{$fa-css-prefix}-sun:before { content: fa-content($fa-var-sun); }\n.#{$fa-css-prefix}-superpowers:before { content: fa-content($fa-var-superpowers); }\n.#{$fa-css-prefix}-superscript:before { content: fa-content($fa-var-superscript); }\n.#{$fa-css-prefix}-supple:before { content: fa-content($fa-var-supple); }\n.#{$fa-css-prefix}-surprise:before { content: fa-content($fa-var-surprise); }\n.#{$fa-css-prefix}-suse:before { content: fa-content($fa-var-suse); }\n.#{$fa-css-prefix}-swatchbook:before { content: fa-content($fa-var-swatchbook); }\n.#{$fa-css-prefix}-swift:before { content: fa-content($fa-var-swift); }\n.#{$fa-css-prefix}-swimmer:before { content: fa-content($fa-var-swimmer); }\n.#{$fa-css-prefix}-swimming-pool:before { content: fa-content($fa-var-swimming-pool); }\n.#{$fa-css-prefix}-symfony:before { content: fa-content($fa-var-symfony); }\n.#{$fa-css-prefix}-synagogue:before { content: fa-content($fa-var-synagogue); }\n.#{$fa-css-prefix}-sync:before { content: fa-content($fa-var-sync); }\n.#{$fa-css-prefix}-sync-alt:before { content: fa-content($fa-var-sync-alt); }\n.#{$fa-css-prefix}-syringe:before { content: fa-content($fa-var-syringe); }\n.#{$fa-css-prefix}-table:before { content: fa-content($fa-var-table); }\n.#{$fa-css-prefix}-table-tennis:before { content: fa-content($fa-var-table-tennis); }\n.#{$fa-css-prefix}-tablet:before { content: fa-content($fa-var-tablet); }\n.#{$fa-css-prefix}-tablet-alt:before { content: fa-content($fa-var-tablet-alt); }\n.#{$fa-css-prefix}-tablets:before { content: fa-content($fa-var-tablets); }\n.#{$fa-css-prefix}-tachometer-alt:before { content: fa-content($fa-var-tachometer-alt); }\n.#{$fa-css-prefix}-tag:before { content: fa-content($fa-var-tag); }\n.#{$fa-css-prefix}-tags:before { content: fa-content($fa-var-tags); }\n.#{$fa-css-prefix}-tape:before { content: fa-content($fa-var-tape); }\n.#{$fa-css-prefix}-tasks:before { content: fa-content($fa-var-tasks); }\n.#{$fa-css-prefix}-taxi:before { content: fa-content($fa-var-taxi); }\n.#{$fa-css-prefix}-teamspeak:before { content: fa-content($fa-var-teamspeak); }\n.#{$fa-css-prefix}-teeth:before { content: fa-content($fa-var-teeth); }\n.#{$fa-css-prefix}-teeth-open:before { content: fa-content($fa-var-teeth-open); }\n.#{$fa-css-prefix}-telegram:before { content: fa-content($fa-var-telegram); }\n.#{$fa-css-prefix}-telegram-plane:before { content: fa-content($fa-var-telegram-plane); }\n.#{$fa-css-prefix}-temperature-high:before { content: fa-content($fa-var-temperature-high); }\n.#{$fa-css-prefix}-temperature-low:before { content: fa-content($fa-var-temperature-low); }\n.#{$fa-css-prefix}-tencent-weibo:before { content: fa-content($fa-var-tencent-weibo); }\n.#{$fa-css-prefix}-tenge:before { content: fa-content($fa-var-tenge); }\n.#{$fa-css-prefix}-terminal:before { content: fa-content($fa-var-terminal); }\n.#{$fa-css-prefix}-text-height:before { content: fa-content($fa-var-text-height); }\n.#{$fa-css-prefix}-text-width:before { content: fa-content($fa-var-text-width); }\n.#{$fa-css-prefix}-th:before { content: fa-content($fa-var-th); }\n.#{$fa-css-prefix}-th-large:before { content: fa-content($fa-var-th-large); }\n.#{$fa-css-prefix}-th-list:before { content: fa-content($fa-var-th-list); }\n.#{$fa-css-prefix}-the-red-yeti:before { content: fa-content($fa-var-the-red-yeti); }\n.#{$fa-css-prefix}-theater-masks:before { content: fa-content($fa-var-theater-masks); }\n.#{$fa-css-prefix}-themeco:before { content: fa-content($fa-var-themeco); }\n.#{$fa-css-prefix}-themeisle:before { content: fa-content($fa-var-themeisle); }\n.#{$fa-css-prefix}-thermometer:before { content: fa-content($fa-var-thermometer); }\n.#{$fa-css-prefix}-thermometer-empty:before { content: fa-content($fa-var-thermometer-empty); }\n.#{$fa-css-prefix}-thermometer-full:before { content: fa-content($fa-var-thermometer-full); }\n.#{$fa-css-prefix}-thermometer-half:before { content: fa-content($fa-var-thermometer-half); }\n.#{$fa-css-prefix}-thermometer-quarter:before { content: fa-content($fa-var-thermometer-quarter); }\n.#{$fa-css-prefix}-thermometer-three-quarters:before { content: fa-content($fa-var-thermometer-three-quarters); }\n.#{$fa-css-prefix}-think-peaks:before { content: fa-content($fa-var-think-peaks); }\n.#{$fa-css-prefix}-thumbs-down:before { content: fa-content($fa-var-thumbs-down); }\n.#{$fa-css-prefix}-thumbs-up:before { content: fa-content($fa-var-thumbs-up); }\n.#{$fa-css-prefix}-thumbtack:before { content: fa-content($fa-var-thumbtack); }\n.#{$fa-css-prefix}-ticket-alt:before { content: fa-content($fa-var-ticket-alt); }\n.#{$fa-css-prefix}-tiktok:before { content: fa-content($fa-var-tiktok); }\n.#{$fa-css-prefix}-times:before { content: fa-content($fa-var-times); }\n.#{$fa-css-prefix}-times-circle:before { content: fa-content($fa-var-times-circle); }\n.#{$fa-css-prefix}-tint:before { content: fa-content($fa-var-tint); }\n.#{$fa-css-prefix}-tint-slash:before { content: fa-content($fa-var-tint-slash); }\n.#{$fa-css-prefix}-tired:before { content: fa-content($fa-var-tired); }\n.#{$fa-css-prefix}-toggle-off:before { content: fa-content($fa-var-toggle-off); }\n.#{$fa-css-prefix}-toggle-on:before { content: fa-content($fa-var-toggle-on); }\n.#{$fa-css-prefix}-toilet:before { content: fa-content($fa-var-toilet); }\n.#{$fa-css-prefix}-toilet-paper:before { content: fa-content($fa-var-toilet-paper); }\n.#{$fa-css-prefix}-toilet-paper-slash:before { content: fa-content($fa-var-toilet-paper-slash); }\n.#{$fa-css-prefix}-toolbox:before { content: fa-content($fa-var-toolbox); }\n.#{$fa-css-prefix}-tools:before { content: fa-content($fa-var-tools); }\n.#{$fa-css-prefix}-tooth:before { content: fa-content($fa-var-tooth); }\n.#{$fa-css-prefix}-torah:before { content: fa-content($fa-var-torah); }\n.#{$fa-css-prefix}-torii-gate:before { content: fa-content($fa-var-torii-gate); }\n.#{$fa-css-prefix}-tractor:before { content: fa-content($fa-var-tractor); }\n.#{$fa-css-prefix}-trade-federation:before { content: fa-content($fa-var-trade-federation); }\n.#{$fa-css-prefix}-trademark:before { content: fa-content($fa-var-trademark); }\n.#{$fa-css-prefix}-traffic-light:before { content: fa-content($fa-var-traffic-light); }\n.#{$fa-css-prefix}-trailer:before { content: fa-content($fa-var-trailer); }\n.#{$fa-css-prefix}-train:before { content: fa-content($fa-var-train); }\n.#{$fa-css-prefix}-tram:before { content: fa-content($fa-var-tram); }\n.#{$fa-css-prefix}-transgender:before { content: fa-content($fa-var-transgender); }\n.#{$fa-css-prefix}-transgender-alt:before { content: fa-content($fa-var-transgender-alt); }\n.#{$fa-css-prefix}-trash:before { content: fa-content($fa-var-trash); }\n.#{$fa-css-prefix}-trash-alt:before { content: fa-content($fa-var-trash-alt); }\n.#{$fa-css-prefix}-trash-restore:before { content: fa-content($fa-var-trash-restore); }\n.#{$fa-css-prefix}-trash-restore-alt:before { content: fa-content($fa-var-trash-restore-alt); }\n.#{$fa-css-prefix}-tree:before { content: fa-content($fa-var-tree); }\n.#{$fa-css-prefix}-trello:before { content: fa-content($fa-var-trello); }\n.#{$fa-css-prefix}-tripadvisor:before { content: fa-content($fa-var-tripadvisor); }\n.#{$fa-css-prefix}-trophy:before { content: fa-content($fa-var-trophy); }\n.#{$fa-css-prefix}-truck:before { content: fa-content($fa-var-truck); }\n.#{$fa-css-prefix}-truck-loading:before { content: fa-content($fa-var-truck-loading); }\n.#{$fa-css-prefix}-truck-monster:before { content: fa-content($fa-var-truck-monster); }\n.#{$fa-css-prefix}-truck-moving:before { content: fa-content($fa-var-truck-moving); }\n.#{$fa-css-prefix}-truck-pickup:before { content: fa-content($fa-var-truck-pickup); }\n.#{$fa-css-prefix}-tshirt:before { content: fa-content($fa-var-tshirt); }\n.#{$fa-css-prefix}-tty:before { content: fa-content($fa-var-tty); }\n.#{$fa-css-prefix}-tumblr:before { content: fa-content($fa-var-tumblr); }\n.#{$fa-css-prefix}-tumblr-square:before { content: fa-content($fa-var-tumblr-square); }\n.#{$fa-css-prefix}-tv:before { content: fa-content($fa-var-tv); }\n.#{$fa-css-prefix}-twitch:before { content: fa-content($fa-var-twitch); }\n.#{$fa-css-prefix}-twitter:before { content: fa-content($fa-var-twitter); }\n.#{$fa-css-prefix}-twitter-square:before { content: fa-content($fa-var-twitter-square); }\n.#{$fa-css-prefix}-typo3:before { content: fa-content($fa-var-typo3); }\n.#{$fa-css-prefix}-uber:before { content: fa-content($fa-var-uber); }\n.#{$fa-css-prefix}-ubuntu:before { content: fa-content($fa-var-ubuntu); }\n.#{$fa-css-prefix}-uikit:before { content: fa-content($fa-var-uikit); }\n.#{$fa-css-prefix}-umbraco:before { content: fa-content($fa-var-umbraco); }\n.#{$fa-css-prefix}-umbrella:before { content: fa-content($fa-var-umbrella); }\n.#{$fa-css-prefix}-umbrella-beach:before { content: fa-content($fa-var-umbrella-beach); }\n.#{$fa-css-prefix}-uncharted:before { content: fa-content($fa-var-uncharted); }\n.#{$fa-css-prefix}-underline:before { content: fa-content($fa-var-underline); }\n.#{$fa-css-prefix}-undo:before { content: fa-content($fa-var-undo); }\n.#{$fa-css-prefix}-undo-alt:before { content: fa-content($fa-var-undo-alt); }\n.#{$fa-css-prefix}-uniregistry:before { content: fa-content($fa-var-uniregistry); }\n.#{$fa-css-prefix}-unity:before { content: fa-content($fa-var-unity); }\n.#{$fa-css-prefix}-universal-access:before { content: fa-content($fa-var-universal-access); }\n.#{$fa-css-prefix}-university:before { content: fa-content($fa-var-university); }\n.#{$fa-css-prefix}-unlink:before { content: fa-content($fa-var-unlink); }\n.#{$fa-css-prefix}-unlock:before { content: fa-content($fa-var-unlock); }\n.#{$fa-css-prefix}-unlock-alt:before { content: fa-content($fa-var-unlock-alt); }\n.#{$fa-css-prefix}-unsplash:before { content: fa-content($fa-var-unsplash); }\n.#{$fa-css-prefix}-untappd:before { content: fa-content($fa-var-untappd); }\n.#{$fa-css-prefix}-upload:before { content: fa-content($fa-var-upload); }\n.#{$fa-css-prefix}-ups:before { content: fa-content($fa-var-ups); }\n.#{$fa-css-prefix}-usb:before { content: fa-content($fa-var-usb); }\n.#{$fa-css-prefix}-user:before { content: fa-content($fa-var-user); }\n.#{$fa-css-prefix}-user-alt:before { content: fa-content($fa-var-user-alt); }\n.#{$fa-css-prefix}-user-alt-slash:before { content: fa-content($fa-var-user-alt-slash); }\n.#{$fa-css-prefix}-user-astronaut:before { content: fa-content($fa-var-user-astronaut); }\n.#{$fa-css-prefix}-user-check:before { content: fa-content($fa-var-user-check); }\n.#{$fa-css-prefix}-user-circle:before { content: fa-content($fa-var-user-circle); }\n.#{$fa-css-prefix}-user-clock:before { content: fa-content($fa-var-user-clock); }\n.#{$fa-css-prefix}-user-cog:before { content: fa-content($fa-var-user-cog); }\n.#{$fa-css-prefix}-user-edit:before { content: fa-content($fa-var-user-edit); }\n.#{$fa-css-prefix}-user-friends:before { content: fa-content($fa-var-user-friends); }\n.#{$fa-css-prefix}-user-graduate:before { content: fa-content($fa-var-user-graduate); }\n.#{$fa-css-prefix}-user-injured:before { content: fa-content($fa-var-user-injured); }\n.#{$fa-css-prefix}-user-lock:before { content: fa-content($fa-var-user-lock); }\n.#{$fa-css-prefix}-user-md:before { content: fa-content($fa-var-user-md); }\n.#{$fa-css-prefix}-user-minus:before { content: fa-content($fa-var-user-minus); }\n.#{$fa-css-prefix}-user-ninja:before { content: fa-content($fa-var-user-ninja); }\n.#{$fa-css-prefix}-user-nurse:before { content: fa-content($fa-var-user-nurse); }\n.#{$fa-css-prefix}-user-plus:before { content: fa-content($fa-var-user-plus); }\n.#{$fa-css-prefix}-user-secret:before { content: fa-content($fa-var-user-secret); }\n.#{$fa-css-prefix}-user-shield:before { content: fa-content($fa-var-user-shield); }\n.#{$fa-css-prefix}-user-slash:before { content: fa-content($fa-var-user-slash); }\n.#{$fa-css-prefix}-user-tag:before { content: fa-content($fa-var-user-tag); }\n.#{$fa-css-prefix}-user-tie:before { content: fa-content($fa-var-user-tie); }\n.#{$fa-css-prefix}-user-times:before { content: fa-content($fa-var-user-times); }\n.#{$fa-css-prefix}-users:before { content: fa-content($fa-var-users); }\n.#{$fa-css-prefix}-users-cog:before { content: fa-content($fa-var-users-cog); }\n.#{$fa-css-prefix}-users-slash:before { content: fa-content($fa-var-users-slash); }\n.#{$fa-css-prefix}-usps:before { content: fa-content($fa-var-usps); }\n.#{$fa-css-prefix}-ussunnah:before { content: fa-content($fa-var-ussunnah); }\n.#{$fa-css-prefix}-utensil-spoon:before { content: fa-content($fa-var-utensil-spoon); }\n.#{$fa-css-prefix}-utensils:before { content: fa-content($fa-var-utensils); }\n.#{$fa-css-prefix}-vaadin:before { content: fa-content($fa-var-vaadin); }\n.#{$fa-css-prefix}-vector-square:before { content: fa-content($fa-var-vector-square); }\n.#{$fa-css-prefix}-venus:before { content: fa-content($fa-var-venus); }\n.#{$fa-css-prefix}-venus-double:before { content: fa-content($fa-var-venus-double); }\n.#{$fa-css-prefix}-venus-mars:before { content: fa-content($fa-var-venus-mars); }\n.#{$fa-css-prefix}-vest:before { content: fa-content($fa-var-vest); }\n.#{$fa-css-prefix}-vest-patches:before { content: fa-content($fa-var-vest-patches); }\n.#{$fa-css-prefix}-viacoin:before { content: fa-content($fa-var-viacoin); }\n.#{$fa-css-prefix}-viadeo:before { content: fa-content($fa-var-viadeo); }\n.#{$fa-css-prefix}-viadeo-square:before { content: fa-content($fa-var-viadeo-square); }\n.#{$fa-css-prefix}-vial:before { content: fa-content($fa-var-vial); }\n.#{$fa-css-prefix}-vials:before { content: fa-content($fa-var-vials); }\n.#{$fa-css-prefix}-viber:before { content: fa-content($fa-var-viber); }\n.#{$fa-css-prefix}-video:before { content: fa-content($fa-var-video); }\n.#{$fa-css-prefix}-video-slash:before { content: fa-content($fa-var-video-slash); }\n.#{$fa-css-prefix}-vihara:before { content: fa-content($fa-var-vihara); }\n.#{$fa-css-prefix}-vimeo:before { content: fa-content($fa-var-vimeo); }\n.#{$fa-css-prefix}-vimeo-square:before { content: fa-content($fa-var-vimeo-square); }\n.#{$fa-css-prefix}-vimeo-v:before { content: fa-content($fa-var-vimeo-v); }\n.#{$fa-css-prefix}-vine:before { content: fa-content($fa-var-vine); }\n.#{$fa-css-prefix}-virus:before { content: fa-content($fa-var-virus); }\n.#{$fa-css-prefix}-virus-slash:before { content: fa-content($fa-var-virus-slash); }\n.#{$fa-css-prefix}-viruses:before { content: fa-content($fa-var-viruses); }\n.#{$fa-css-prefix}-vk:before { content: fa-content($fa-var-vk); }\n.#{$fa-css-prefix}-vnv:before { content: fa-content($fa-var-vnv); }\n.#{$fa-css-prefix}-voicemail:before { content: fa-content($fa-var-voicemail); }\n.#{$fa-css-prefix}-volleyball-ball:before { content: fa-content($fa-var-volleyball-ball); }\n.#{$fa-css-prefix}-volume-down:before { content: fa-content($fa-var-volume-down); }\n.#{$fa-css-prefix}-volume-mute:before { content: fa-content($fa-var-volume-mute); }\n.#{$fa-css-prefix}-volume-off:before { content: fa-content($fa-var-volume-off); }\n.#{$fa-css-prefix}-volume-up:before { content: fa-content($fa-var-volume-up); }\n.#{$fa-css-prefix}-vote-yea:before { content: fa-content($fa-var-vote-yea); }\n.#{$fa-css-prefix}-vr-cardboard:before { content: fa-content($fa-var-vr-cardboard); }\n.#{$fa-css-prefix}-vuejs:before { content: fa-content($fa-var-vuejs); }\n.#{$fa-css-prefix}-walking:before { content: fa-content($fa-var-walking); }\n.#{$fa-css-prefix}-wallet:before { content: fa-content($fa-var-wallet); }\n.#{$fa-css-prefix}-warehouse:before { content: fa-content($fa-var-warehouse); }\n.#{$fa-css-prefix}-watchman-monitoring:before { content: fa-content($fa-var-watchman-monitoring); }\n.#{$fa-css-prefix}-water:before { content: fa-content($fa-var-water); }\n.#{$fa-css-prefix}-wave-square:before { content: fa-content($fa-var-wave-square); }\n.#{$fa-css-prefix}-waze:before { content: fa-content($fa-var-waze); }\n.#{$fa-css-prefix}-weebly:before { content: fa-content($fa-var-weebly); }\n.#{$fa-css-prefix}-weibo:before { content: fa-content($fa-var-weibo); }\n.#{$fa-css-prefix}-weight:before { content: fa-content($fa-var-weight); }\n.#{$fa-css-prefix}-weight-hanging:before { content: fa-content($fa-var-weight-hanging); }\n.#{$fa-css-prefix}-weixin:before { content: fa-content($fa-var-weixin); }\n.#{$fa-css-prefix}-whatsapp:before { content: fa-content($fa-var-whatsapp); }\n.#{$fa-css-prefix}-whatsapp-square:before { content: fa-content($fa-var-whatsapp-square); }\n.#{$fa-css-prefix}-wheelchair:before { content: fa-content($fa-var-wheelchair); }\n.#{$fa-css-prefix}-whmcs:before { content: fa-content($fa-var-whmcs); }\n.#{$fa-css-prefix}-wifi:before { content: fa-content($fa-var-wifi); }\n.#{$fa-css-prefix}-wikipedia-w:before { content: fa-content($fa-var-wikipedia-w); }\n.#{$fa-css-prefix}-wind:before { content: fa-content($fa-var-wind); }\n.#{$fa-css-prefix}-window-close:before { content: fa-content($fa-var-window-close); }\n.#{$fa-css-prefix}-window-maximize:before { content: fa-content($fa-var-window-maximize); }\n.#{$fa-css-prefix}-window-minimize:before { content: fa-content($fa-var-window-minimize); }\n.#{$fa-css-prefix}-window-restore:before { content: fa-content($fa-var-window-restore); }\n.#{$fa-css-prefix}-windows:before { content: fa-content($fa-var-windows); }\n.#{$fa-css-prefix}-wine-bottle:before { content: fa-content($fa-var-wine-bottle); }\n.#{$fa-css-prefix}-wine-glass:before { content: fa-content($fa-var-wine-glass); }\n.#{$fa-css-prefix}-wine-glass-alt:before { content: fa-content($fa-var-wine-glass-alt); }\n.#{$fa-css-prefix}-wix:before { content: fa-content($fa-var-wix); }\n.#{$fa-css-prefix}-wizards-of-the-coast:before { content: fa-content($fa-var-wizards-of-the-coast); }\n.#{$fa-css-prefix}-wodu:before { content: fa-content($fa-var-wodu); }\n.#{$fa-css-prefix}-wolf-pack-battalion:before { content: fa-content($fa-var-wolf-pack-battalion); }\n.#{$fa-css-prefix}-won-sign:before { content: fa-content($fa-var-won-sign); }\n.#{$fa-css-prefix}-wordpress:before { content: fa-content($fa-var-wordpress); }\n.#{$fa-css-prefix}-wordpress-simple:before { content: fa-content($fa-var-wordpress-simple); }\n.#{$fa-css-prefix}-wpbeginner:before { content: fa-content($fa-var-wpbeginner); }\n.#{$fa-css-prefix}-wpexplorer:before { content: fa-content($fa-var-wpexplorer); }\n.#{$fa-css-prefix}-wpforms:before { content: fa-content($fa-var-wpforms); }\n.#{$fa-css-prefix}-wpressr:before { content: fa-content($fa-var-wpressr); }\n.#{$fa-css-prefix}-wrench:before { content: fa-content($fa-var-wrench); }\n.#{$fa-css-prefix}-x-ray:before { content: fa-content($fa-var-x-ray); }\n.#{$fa-css-prefix}-xbox:before { content: fa-content($fa-var-xbox); }\n.#{$fa-css-prefix}-xing:before { content: fa-content($fa-var-xing); }\n.#{$fa-css-prefix}-xing-square:before { content: fa-content($fa-var-xing-square); }\n.#{$fa-css-prefix}-y-combinator:before { content: fa-content($fa-var-y-combinator); }\n.#{$fa-css-prefix}-yahoo:before { content: fa-content($fa-var-yahoo); }\n.#{$fa-css-prefix}-yammer:before { content: fa-content($fa-var-yammer); }\n.#{$fa-css-prefix}-yandex:before { content: fa-content($fa-var-yandex); }\n.#{$fa-css-prefix}-yandex-international:before { content: fa-content($fa-var-yandex-international); }\n.#{$fa-css-prefix}-yarn:before { content: fa-content($fa-var-yarn); }\n.#{$fa-css-prefix}-yelp:before { content: fa-content($fa-var-yelp); }\n.#{$fa-css-prefix}-yen-sign:before { content: fa-content($fa-var-yen-sign); }\n.#{$fa-css-prefix}-yin-yang:before { content: fa-content($fa-var-yin-yang); }\n.#{$fa-css-prefix}-yoast:before { content: fa-content($fa-var-yoast); }\n.#{$fa-css-prefix}-youtube:before { content: fa-content($fa-var-youtube); }\n.#{$fa-css-prefix}-youtube-square:before { content: fa-content($fa-var-youtube-square); }\n.#{$fa-css-prefix}-zhihu:before { content: fa-content($fa-var-zhihu); }\n","// Screen Readers\n// -------------------------\n\n.sr-only { @include sr-only; }\n.sr-only-focusable { @include sr-only-focusable; }\n","/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\n@import 'variables';\n\n@font-face {\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 400;\n font-display: $fa-font-display;\n src: url('#{$fa-font-path}/fa-regular-400.eot');\n src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),\n url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'),\n url('#{$fa-font-path}/fa-regular-400.woff') format('woff'),\n url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'),\n url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');\n}\n\n.far {\n font-family: 'Font Awesome 5 Free';\n font-weight: 400;\n}\n","/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\n@import 'variables';\n\n@font-face {\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 900;\n font-display: $fa-font-display;\n src: url('#{$fa-font-path}/fa-solid-900.eot');\n src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),\n url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),\n url('#{$fa-font-path}/fa-solid-900.woff') format('woff'),\n url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'),\n url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');\n}\n\n.fa,\n.fas {\n font-family: 'Font Awesome 5 Free';\n font-weight: 900;\n}\n","/*!\n * Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\n@import 'variables';\n\n@font-face {\n font-family: 'Font Awesome 5 Brands';\n font-style: normal;\n font-weight: 400;\n font-display: $fa-font-display;\n src: url('#{$fa-font-path}/fa-brands-400.eot');\n src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),\n url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),\n url('#{$fa-font-path}/fa-brands-400.woff') format('woff'),\n url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'),\n url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');\n}\n\n.fab {\n font-family: 'Font Awesome 5 Brands';\n font-weight: 400;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/dist/fontawesome.js b/_static/dist/fontawesome.js new file mode 100644 index 0000000..e69de29 diff --git a/_static/dist/theme.css b/_static/dist/theme.css new file mode 100644 index 0000000..d2ad128 --- /dev/null +++ b/_static/dist/theme.css @@ -0,0 +1,8 @@ +/*! + * Bootstrap v4.6.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--blue: #007bff;--indigo: #2e1f5e;--purple: #6f42c1;--pink: #e83e8c;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #28a745;--teal: #007d7e;--cyan: #17a2b8;--white: #fff;--gray: #6c6c6c;--gray-dark: #313131;--primary: #2e1f5e;--secondary: #6c6c6c;--success: #a456c9;--info: #007d7e;--warning: #2f128d;--danger: #a72925;--light: #f2f2f2;--dark: #313131;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: "-apple-system", "BlinkMacSystemFont", "Segoe UI", "system-ui", "Roboto", "Helvetica Neue", "Arial", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace: "ui-monospace", "Menlo", "Monaco", "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"-apple-system","BlinkMacSystemFont","Segoe UI","system-ui","Roboto","Helvetica Neue","Arial",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212121;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#2e1f5e;text-decoration:none;background-color:rgba(0,0,0,0)}a:hover{color:#13c7a8;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:"ui-monospace","Menlo","Monaco","Cascadia Mono","Segoe UI Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",monospace,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c6c6c;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5em;font-weight:700;line-height:1.2}h1,.h1{font-size:2em}h2,.h2{font-size:1.75em}h3,.h3{font-size:1.5em}h4,.h4{font-size:1.25em}h5,.h5{font-size:1em}h6,.h6{font-size:0.85em}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c6c6c}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dedede;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c6c6c}code{font-size:87.5%;color:#d02040;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212121;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212121}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:20px;padding-left:20px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-20px;margin-left:-20px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:20px;padding-left:20px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.table,table.docutils:not(.field-list){width:100%;margin-bottom:1rem;color:#212121}.table th,table.docutils:not(.field-list) th,.table td,table.docutils:not(.field-list) td{padding:.75rem;vertical-align:top;border-top:1px solid #dedede}.table thead th,table.docutils:not(.field-list) thead th{vertical-align:bottom;border-bottom:2px solid #dedede}.table tbody+tbody,table.docutils:not(.field-list) tbody+tbody{border-top:2px solid #dedede}.table-sm th,.table-sm td{padding:.3rem}.table-bordered,body.theme-dark table.docutils:not(.field-list),table.docutils:not(.field-list){border:1px solid #dedede}.table-bordered th,body.theme-dark table.docutils:not(.field-list) th,table.docutils:not(.field-list) th,.table-bordered td,body.theme-dark table.docutils:not(.field-list) td,table.docutils:not(.field-list) td{border:1px solid #dedede}.table-bordered thead th,body.theme-dark table.docutils:not(.field-list) thead th,table.docutils:not(.field-list) thead th,.table-bordered thead td,body.theme-dark table.docutils:not(.field-list) thead td,table.docutils:not(.field-list) thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd),table.docutils:not(.field-list) tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212121;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#c4c0d2}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#928bab}.table-hover .table-primary:hover{background-color:#b6b1c7}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b6b1c7}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#d6d6d6}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#b3b3b3}.table-hover .table-secondary:hover{background-color:#c9c9c9}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c9c9c9}.table-success,.table-success>th,.table-success>td{background-color:#e6d0f0}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#d0a7e3}.table-hover .table-success:hover{background-color:#dcbdea}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#dcbdea}.table-info,.table-info>th,.table-info>td{background-color:#b8dbdb}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#7abbbc}.table-hover .table-info:hover{background-color:#a7d2d2}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a7d2d2}.table-warning,.table-warning>th,.table-warning>td{background-color:#c5bddf}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#9384c4}.table-hover .table-warning:hover{background-color:#b6acd7}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#b6acd7}.table-danger,.table-danger>th,.table-danger>td{background-color:#e6c3c2}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#d1908e}.table-hover .table-danger:hover{background-color:#dfb1b0}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#dfb1b0}.table-light,.table-light>th,.table-light>td{background-color:#fbfbfb}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#f8f8f8}.table-hover .table-light:hover{background-color:#eee}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#eee}.table-dark,body.theme-dark table.docutils:not(.field-list),.table-dark>th,body.theme-dark table.docutils:not(.field-list)>th,.table-dark>td,body.theme-dark table.docutils:not(.field-list)>td{background-color:#c5c5c5}.table-dark th,body.theme-dark table.docutils:not(.field-list) th,.table-dark td,body.theme-dark table.docutils:not(.field-list) td,.table-dark thead th,.table-dark tbody+tbody,body.theme-dark table.docutils:not(.field-list) tbody+tbody{border-color:#949494}.table-hover .table-dark:hover,.table-hover body.theme-dark table.docutils:hover:not(.field-list),body.theme-dark .table-hover table.docutils:hover:not(.field-list){background-color:#b8b8b8}.table-hover .table-dark:hover>td,.table-hover body.theme-dark table.docutils:hover:not(.field-list)>td,body.theme-dark .table-hover table.docutils:hover:not(.field-list)>td,.table-hover .table-dark:hover>th,.table-hover body.theme-dark table.docutils:hover:not(.field-list)>th,body.theme-dark .table-hover table.docutils:hover:not(.field-list)>th{background-color:#b8b8b8}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th,table.docutils:not(.field-list) .thead-dark th,body.theme-dark table.docutils:not(.field-list) thead th{color:rgba(255,255,255,.8);background-color:#120c24;border-color:#201641}.table .thead-light th,table.docutils:not(.field-list) .thead-light th,table.docutils:not(.field-list) thead th{color:#494949;background-color:#e9e9e9;border-color:#dedede}.table-dark,body.theme-dark table.docutils:not(.field-list){color:rgba(255,255,255,.8);background-color:#120c24}.table-dark th,body.theme-dark table.docutils:not(.field-list) th,.table-dark td,body.theme-dark table.docutils:not(.field-list) td,.table-dark thead th{border-color:#201641}.table-dark.table-bordered,table.table-dark.docutils:not(.field-list),body.theme-dark table.docutils:not(.field-list){border:0}.table-dark.table-striped tbody tr:nth-of-type(odd),table.table-dark.docutils:not(.field-list) tbody tr:nth-of-type(odd),body.theme-dark table.docutils:not(.field-list) tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover,body.theme-dark table.table-hover.docutils:not(.field-list) tbody tr:hover{color:rgba(255,255,255,.8);background-color:rgba(255,255,255,.075)}@media(max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered,body.theme-dark .table-responsive-sm>table.docutils:not(.field-list),.table-responsive-sm>table.docutils:not(.field-list){border:0}}@media(max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered,body.theme-dark .table-responsive-md>table.docutils:not(.field-list),.table-responsive-md>table.docutils:not(.field-list){border:0}}@media(max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered,body.theme-dark .table-responsive-lg>table.docutils:not(.field-list),.table-responsive-lg>table.docutils:not(.field-list){border:0}}@media(max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered,body.theme-dark .table-responsive-xl>table.docutils:not(.field-list),.table-responsive-xl>table.docutils:not(.field-list){border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered,body.theme-dark .table-responsive>table.docutils:not(.field-list),.table-responsive>table.docutils:not(.field-list){border:0}.form-control{display:block;width:100%;height:calc(1.5em + 0.75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#494949;background-color:#fff;background-clip:padding-box;border:1px solid #cecece;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:rgba(0,0,0,0);border:0}.form-control:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #494949}.form-control:focus{color:#494949;background-color:#fff;border-color:#5d3fbe;outline:0;box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.form-control::placeholder{color:#6c6c6c;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9e9e9;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:focus::-ms-value{color:#494949;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212121;background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{color:#6c6c6c}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#a456c9}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#fff;background-color:rgba(164,86,201,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#a456c9;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23a456c9' d='M2.3 6.73L.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'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#a456c9;box-shadow:0 0 0 .2rem rgba(164,86,201,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#a456c9;padding-right:calc(0.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23313131' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23a456c9' d='M2.3 6.73L.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'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#a456c9;box-shadow:0 0 0 .2rem rgba(164,86,201,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#a456c9}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#a456c9}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#a456c9}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:#b97dd5;background-color:#b97dd5}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(164,86,201,.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#a456c9}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#a456c9}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#a456c9;box-shadow:0 0 0 .2rem rgba(164,86,201,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#a72925}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#fff;background-color:rgba(167,41,37,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#a72925;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a72925' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23a72925' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#a72925;box-shadow:0 0 0 .2rem rgba(167,41,37,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#a72925;padding-right:calc(0.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23313131' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a72925' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23a72925' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#a72925;box-shadow:0 0 0 .2rem rgba(167,41,37,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#a72925}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#a72925}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#a72925}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:#d1332e;background-color:#d1332e}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(167,41,37,.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#a72925}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#a72925}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#a72925;box-shadow:0 0 0 .2rem rgba(167,41,37,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212121;text-align:center;vertical-align:middle;user-select:none;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212121;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.btn-primary:hover{color:#fff;background-color:#201641;border-color:#1b1238}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#201641;border-color:#1b1238;box-shadow:0 0 0 .2rem rgba(77,65,118,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#1b1238;border-color:#170f2e}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(77,65,118,.5)}.btn-secondary{color:#fff;background-color:#6c6c6c;border-color:#6c6c6c}.btn-secondary:hover{color:#fff;background-color:#595959;border-color:#535353}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:#595959;border-color:#535353;box-shadow:0 0 0 .2rem rgba(130,130,130,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c6c6c;border-color:#6c6c6c}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#535353;border-color:#4c4c4c}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,130,130,.5)}.btn-success{color:#fff;background-color:#a456c9;border-color:#a456c9}.btn-success:hover{color:#fff;background-color:#933cbd;border-color:#8c39b3}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#933cbd;border-color:#8c39b3;box-shadow:0 0 0 .2rem rgba(178,111,209,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#a456c9;border-color:#a456c9}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#8c39b3;border-color:#8436a9}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(178,111,209,.5)}.btn-info{color:#fff;background-color:#007d7e;border-color:#007d7e}.btn-info:hover{color:#fff;background-color:#005758;border-color:#004a4b}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#005758;border-color:#004a4b;box-shadow:0 0 0 .2rem rgba(38,145,145,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#007d7e;border-color:#007d7e}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#004a4b;border-color:#003e3e}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,145,145,.5)}.btn-warning{color:#fff;background-color:#2f128d;border-color:#2f128d}.btn-warning:hover{color:#fff;background-color:#240e6b;border-color:#200c60}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#240e6b;border-color:#200c60;box-shadow:0 0 0 .2rem rgba(78,54,158,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#2f128d;border-color:#2f128d}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#200c60;border-color:#1c0b54}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(78,54,158,.5)}.btn-danger{color:#fff;background-color:#a72925;border-color:#a72925}.btn-danger:hover{color:#fff;background-color:#88211e;border-color:#7d1f1c}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#88211e;border-color:#7d1f1c;box-shadow:0 0 0 .2rem rgba(180,73,70,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#a72925;border-color:#a72925}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#7d1f1c;border-color:#731c19}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(180,73,70,.5)}.btn-light{color:#212121;background-color:#f2f2f2;border-color:#f2f2f2}.btn-light:hover{color:#212121;background-color:#dfdfdf;border-color:#d9d9d9}.btn-light:focus,.btn-light.focus{color:#212121;background-color:#dfdfdf;border-color:#d9d9d9;box-shadow:0 0 0 .2rem rgba(211,211,211,.5)}.btn-light.disabled,.btn-light:disabled{color:#212121;background-color:#f2f2f2;border-color:#f2f2f2}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#212121;background-color:#d9d9d9;border-color:#d2d2d2}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(211,211,211,.5)}.btn-dark{color:#fff;background-color:#313131;border-color:#313131}.btn-dark:hover{color:#fff;background-color:#1e1e1e;border-color:#181818}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#1e1e1e;border-color:#181818;box-shadow:0 0 0 .2rem rgba(80,80,80,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#313131;border-color:#313131}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#181818;border-color:#111}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(80,80,80,.5)}.btn-outline-primary{color:#2e1f5e;border-color:#2e1f5e}.btn-outline-primary:hover{color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(46,31,94,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#2e1f5e;background-color:rgba(0,0,0,0)}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(46,31,94,.5)}.btn-outline-secondary{color:#6c6c6c;border-color:#6c6c6c}.btn-outline-secondary:hover{color:#fff;background-color:#6c6c6c;border-color:#6c6c6c}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(108,108,108,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c6c6c;background-color:rgba(0,0,0,0)}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c6c6c;border-color:#6c6c6c}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,108,108,.5)}.btn-outline-success{color:#a456c9;border-color:#a456c9}.btn-outline-success:hover{color:#fff;background-color:#a456c9;border-color:#a456c9}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(164,86,201,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#a456c9;background-color:rgba(0,0,0,0)}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#a456c9;border-color:#a456c9}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(164,86,201,.5)}.btn-outline-info{color:#007d7e;border-color:#007d7e}.btn-outline-info:hover{color:#fff;background-color:#007d7e;border-color:#007d7e}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(0,125,126,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#007d7e;background-color:rgba(0,0,0,0)}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#007d7e;border-color:#007d7e}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,125,126,.5)}.btn-outline-warning{color:#2f128d;border-color:#2f128d}.btn-outline-warning:hover{color:#fff;background-color:#2f128d;border-color:#2f128d}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(47,18,141,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#2f128d;background-color:rgba(0,0,0,0)}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#2f128d;border-color:#2f128d}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(47,18,141,.5)}.btn-outline-danger{color:#a72925;border-color:#a72925}.btn-outline-danger:hover{color:#fff;background-color:#a72925;border-color:#a72925}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(167,41,37,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#a72925;background-color:rgba(0,0,0,0)}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#a72925;border-color:#a72925}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(167,41,37,.5)}.btn-outline-light{color:#f2f2f2;border-color:#f2f2f2}.btn-outline-light:hover{color:#212121;background-color:#f2f2f2;border-color:#f2f2f2}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(242,242,242,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f2f2f2;background-color:rgba(0,0,0,0)}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#212121;background-color:#f2f2f2;border-color:#f2f2f2}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(242,242,242,.5)}.btn-outline-dark{color:#313131;border-color:#313131}.btn-outline-dark:hover{color:#fff;background-color:#313131;border-color:#313131}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(49,49,49,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#313131;background-color:rgba(0,0,0,0)}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#313131;border-color:#313131}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(49,49,49,.5)}.btn-link{font-weight:400;color:#2e1f5e;text-decoration:none}.btn-link:hover{color:#13c7a8;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#6c6c6c;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212121;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9e9e9}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212121;text-align:inherit;white-space:nowrap;background-color:rgba(0,0,0,0);border:0}.dropdown-item:hover,.dropdown-item:focus{color:#141414;text-decoration:none;background-color:#e9e9e9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#2e1f5e}.dropdown-item.disabled,.dropdown-item:disabled{color:#ababab;pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:0.875rem;color:#6c6c6c;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212121}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#494949;text-align:center;white-space:nowrap;background-color:#e9e9e9;border:1px solid #cecece;border-radius:.25rem}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + 0.5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#2e1f5e;background-color:#2e1f5e}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#5d3fbe}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#7c64cc;border-color:#7c64cc}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#6c6c6c}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#e9e9e9}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#ababab solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#2e1f5e;background-color:#2e1f5e}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(46,31,94,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(46,31,94,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(46,31,94,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(0.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#ababab;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(46,31,94,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + 0.75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#494949;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23313131' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #cecece;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:#5d3fbe;outline:0;box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.custom-select:focus::-ms-value{color:#494949;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c6c6c;background-color:#e9e9e9}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #494949}.custom-select-sm{height:calc(1.5em + 0.5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + 0.75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + 0.75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#5d3fbe;box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#e9e9e9}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + 0.75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#494949;background-color:#fff;border:1px solid #cecece;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + 0.75rem);padding:.375rem .75rem;line-height:1.5;color:#494949;content:"Browse";background-color:#e9e9e9;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:rgba(0,0,0,0);appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(46,31,94,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(46,31,94,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(46,31,94,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#2e1f5e;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#7c64cc}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#dedede;border-color:rgba(0,0,0,0);border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2e1f5e;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#7c64cc}.custom-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#dedede;border-color:rgba(0,0,0,0);border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2e1f5e;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#7c64cc}.custom-range::-ms-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dedede;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dedede;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#ababab}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#ababab}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#ababab}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c6c6c;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dedede}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid rgba(0,0,0,0);border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9e9e9 #e9e9e9 #dedede}.nav-tabs .nav-link.disabled{color:#6c6c6c;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#494949;background-color:#fff;border-color:#dedede #dedede #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#2e1f5e}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:.25rem}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media(max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:1.25rem}.card-subtitle{margin-top:-0.625rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:1.25rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.card-footer{padding:1.25rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.card-header-tabs{margin-right:-0.625rem;margin-bottom:-1.25rem;margin-left:-0.625rem;border-bottom:0}.card-header-pills{margin-right:-0.625rem;margin-left:-0.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(0.25rem - 1px)}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card-deck .card{margin-bottom:20px}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-20px;margin-left:-20px}.card-deck .card{flex:1 0 0%;margin-right:20px;margin-bottom:0;margin-left:20px}}.card-group>.card{margin-bottom:20px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:1.25rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9e9e9;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c6c6c;content:">"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c6c6c}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2e1f5e;background-color:#fff;border:1px solid #dedede}.page-link:hover{z-index:2;color:#13c7a8;text-decoration:none;background-color:#e9e9e9;border-color:#dedede}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.page-item.disabled .page-link{color:#6c6c6c;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dedede}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#2e1f5e}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#1b1238}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(46,31,94,.5)}.badge-secondary{color:#fff;background-color:#6c6c6c}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:#535353}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,108,108,.5)}.badge-success{color:#fff;background-color:#a456c9}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:#8c39b3}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(164,86,201,.5)}.badge-info{color:#fff;background-color:#007d7e}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#004a4b}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,125,126,.5)}.badge-warning{color:#fff;background-color:#2f128d}a.badge-warning:hover,a.badge-warning:focus{color:#fff;background-color:#200c60}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(47,18,141,.5)}.badge-danger{color:#fff;background-color:#a72925}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#7d1f1c}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(167,41,37,.5)}.badge-light{color:#212121;background-color:#f2f2f2}a.badge-light:hover,a.badge-light:focus{color:#212121;background-color:#d9d9d9}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(242,242,242,.5)}.badge-dark{color:#fff;background-color:#313131}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#181818}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(49,49,49,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9e9e9;border-radius:.3rem}@media(min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid rgba(0,0,0,0);border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#181031;background-color:#d5d2df;border-color:#c4c0d2}.alert-primary hr{border-top-color:#b6b1c7}.alert-primary .alert-link{color:#05030b}.alert-secondary{color:#383838;background-color:#e2e2e2;border-color:#d6d6d6}.alert-secondary hr{border-top-color:#c9c9c9}.alert-secondary .alert-link{color:#1f1f1f}.alert-success{color:#552d69;background-color:#edddf4;border-color:#e6d0f0}.alert-success hr{border-top-color:#dcbdea}.alert-success .alert-link{color:#381e45}.alert-info{color:#004142;background-color:#cce5e5;border-color:#b8dbdb}.alert-info hr{border-top-color:#a7d2d2}.alert-info .alert-link{color:#000f0f}.alert-warning{color:#180949;background-color:#d5d0e8;border-color:#c5bddf}.alert-warning hr{border-top-color:#b6acd7}.alert-warning .alert-link{color:#09031c}.alert-danger{color:#571513;background-color:#edd4d3;border-color:#e6c3c2}.alert-danger hr{border-top-color:#dfb1b0}.alert-danger .alert-link{color:#2d0b0a}.alert-light{color:#7e7e7e;background-color:#fcfcfc;border-color:#fbfbfb}.alert-light hr{border-top-color:#eee}.alert-light .alert-link{color:#656565}.alert-dark{color:#191919;background-color:#d6d6d6;border-color:#c5c5c5}.alert-dark hr{border-top-color:#b8b8b8}.alert-dark .alert-link{color:#000}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.75rem;background-color:#e9e9e9;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#2e1f5e;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{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);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#494949;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#494949;text-decoration:none;background-color:#f2f2f2}.list-group-item-action:active{color:#212121;background-color:#e9e9e9}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c6c6c;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#181031;background-color:#c4c0d2}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#181031;background-color:#b6b1c7}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#181031;border-color:#181031}.list-group-item-secondary{color:#383838;background-color:#d6d6d6}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#383838;background-color:#c9c9c9}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383838;border-color:#383838}.list-group-item-success{color:#552d69;background-color:#e6d0f0}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#552d69;background-color:#dcbdea}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#552d69;border-color:#552d69}.list-group-item-info{color:#004142;background-color:#b8dbdb}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#004142;background-color:#a7d2d2}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#004142;border-color:#004142}.list-group-item-warning{color:#180949;background-color:#c5bddf}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#180949;background-color:#b6acd7}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#180949;border-color:#180949}.list-group-item-danger{color:#571513;background-color:#e6c3c2}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#571513;background-color:#dfb1b0}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#571513;border-color:#571513}.list-group-item-light{color:#7e7e7e;background-color:#fbfbfb}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#7e7e7e;background-color:#eee}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#7e7e7e;border-color:#7e7e7e}.list-group-item-dark{color:#191919;background-color:#c5c5c5}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#191919;background-color:#b8b8b8}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#191919;border-color:#191919}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:rgba(0,0,0,0);border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:0.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c6c6c;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dedede;border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dedede;border-bottom-right-radius:calc(0.3rem - 1px);border-bottom-left-radius:calc(0.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"-apple-system","BlinkMacSystemFont","Segoe UI","system-ui","Roboto","Helvetica Neue","Arial",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:"-apple-system","BlinkMacSystemFont","Segoe UI","system-ui","Roboto","Helvetica Neue","Arial",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=top]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=top]>.arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=top]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=top]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=right]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=right]>.arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=right]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=right]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=bottom]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=bottom]>.arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=bottom]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=bottom]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^=left]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=left]>.arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=left]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=left]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212121}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#2e1f5e !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#1b1238 !important}.bg-secondary{background-color:#6c6c6c !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#535353 !important}.bg-success{background-color:#a456c9 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#8c39b3 !important}.bg-info{background-color:#007d7e !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#004a4b !important}.bg-warning{background-color:#2f128d !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#200c60 !important}.bg-danger{background-color:#a72925 !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#7d1f1c !important}.bg-light{background-color:#f2f2f2 !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#d9d9d9 !important}.bg-dark{background-color:#313131 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#181818 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.border,.with-border{border:1px solid #dedede !important}.border-top{border-top:1px solid #dedede !important}.border-right,.sidebar-container{border-right:1px solid #dedede !important}.border-bottom{border-bottom:1px solid #dedede !important}.border-left{border-left:1px solid #dedede !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#2e1f5e !important}.border-secondary{border-color:#6c6c6c !important}.border-success{border-color:#a456c9 !important}.border-info{border-color:#007d7e !important}.border-warning{border-color:#2f128d !important}.border-danger{border-color:#a72925 !important}.border-light{border-color:#f2f2f2 !important}.border-dark{border-color:#313131 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.8571428571%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm,.with-shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.2) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-0.25rem !important}.mt-n1,.my-n1{margin-top:-0.25rem !important}.mr-n1,.mx-n1{margin-right:-0.25rem !important}.mb-n1,.my-n1{margin-bottom:-0.25rem !important}.ml-n1,.mx-n1{margin-left:-0.25rem !important}.m-n2{margin:-0.5rem !important}.mt-n2,.my-n2{margin-top:-0.5rem !important}.mr-n2,.mx-n2{margin-right:-0.5rem !important}.mb-n2,.my-n2{margin-bottom:-0.5rem !important}.ml-n2,.mx-n2{margin-left:-0.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-0.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-0.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-0.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-0.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-0.25rem !important}.m-sm-n2{margin:-0.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-0.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-0.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-0.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-0.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-0.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-0.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-0.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-0.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-0.25rem !important}.m-md-n2{margin:-0.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-0.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-0.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-0.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-0.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-0.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-0.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-0.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-0.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-0.25rem !important}.m-lg-n2{margin:-0.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-0.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-0.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-0.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-0.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-0.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-0.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-0.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-0.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-0.25rem !important}.m-xl-n2{margin:-0.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-0.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-0.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-0.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-0.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:"ui-monospace","Menlo","Monaco","Cascadia Mono","Segoe UI Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",monospace,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji" !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center,.align-center,.centered{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#2e1f5e !important}a.text-primary:hover,a.text-primary:focus{color:#120c24 !important}.text-secondary{color:#6c6c6c !important}a.text-secondary:hover,a.text-secondary:focus{color:#464646 !important}.text-success{color:#a456c9 !important}a.text-success:hover,a.text-success:focus{color:#7d33a0 !important}.text-info{color:#007d7e !important}a.text-info:hover,a.text-info:focus{color:#003132 !important}.text-warning{color:#2f128d !important}a.text-warning:hover,a.text-warning:focus{color:#180949 !important}.text-danger{color:#a72925 !important}a.text-danger:hover,a.text-danger:focus{color:#681a17 !important}.text-light{color:#f2f2f2 !important}a.text-light:hover,a.text-light:focus{color:#ccc !important}.text-dark{color:#313131 !important}a.text-dark:hover,a.text-dark:focus{color:#0b0b0b !important}.text-body{color:#212121 !important}.text-muted{color:#6c6c6c !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:rgba(255,255,255,.5) !important}.text-hide{font:0/0 a;color:rgba(0,0,0,0);text-shadow:none;background-color:rgba(0,0,0,0);border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #ababab;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table,table.docutils:not(.field-list){border-collapse:collapse !important}.table td,table.docutils:not(.field-list) td,.table th,table.docutils:not(.field-list) th{background-color:#fff !important}.table-bordered th,body.theme-dark table.docutils:not(.field-list) th,table.docutils:not(.field-list) th,.table-bordered td,body.theme-dark table.docutils:not(.field-list) td,table.docutils:not(.field-list) td{border:1px solid #dedede !important}.table-dark,body.theme-dark table.docutils:not(.field-list){color:inherit}.table-dark th,body.theme-dark table.docutils:not(.field-list) th,.table-dark td,body.theme-dark table.docutils:not(.field-list) td,.table-dark thead th,.table-dark tbody+tbody,body.theme-dark table.docutils:not(.field-list) tbody+tbody{border-color:#dedede}.table .thead-dark th,table.docutils:not(.field-list) .thead-dark th,body.theme-dark table.docutils:not(.field-list) thead th{color:inherit;border-color:#dedede}}.admonition{background-color:#e0eff0;margin:1rem 0;padding:1rem;box-shadow:0 2px 4px 0 rgba(0,0,0,.2);border-radius:.25rem;overflow:hidden}.admonition:last-child{margin-bottom:0}.admonition.hint,.admonition.note{background-color:#e0eff0}.admonition.hint .admonition-title,.admonition.note .admonition-title{color:#fff;background-color:#007d7e}.admonition.caution,.admonition.warning,.admonition.attention{background-color:#e6e3f1}.admonition.caution .admonition-title,.admonition.warning .admonition-title,.admonition.attention .admonition-title{color:#fff;background-color:#2f128d}.admonition.caution .admonition-title:before,.admonition.warning .admonition-title:before,.admonition.attention .admonition-title:before{content:""}.admonition.danger,.admonition.error{background-color:#f4e5e5}.admonition.danger .admonition-title,.admonition.error .admonition-title{color:#fff;background-color:#a72925}.admonition.danger .admonition-title:before,.admonition.error .admonition-title:before{content:""}.admonition.important,.admonition.seealso,.admonition.tip{background-color:#f4ebf9}.admonition.important .admonition-title,.admonition.seealso .admonition-title,.admonition.tip .admonition-title{color:#fff;background-color:#a456c9}.admonition-title{display:block;padding:.5rem 1rem;margin:-1rem;margin-bottom:1rem;color:#fff;background-color:#007d7e;font-weight:700}.admonition-title:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:normal;line-height:1;content:"";font-family:"Font Awesome 5 Free";font-weight:900;margin-right:.5rem;content:""}body.theme-dark .admonition{background-color:#003132}body.theme-dark .admonition.hint,body.theme-dark .admonition.note{background-color:#003132}body.theme-dark .admonition.caution,body.theme-dark .admonition.warning,body.theme-dark .admonition.attention{background-color:#14083c}body.theme-dark .admonition.danger,body.theme-dark .admonition.error{background-color:#3f0f0e}body.theme-dark .admonition.important,body.theme-dark .admonition.seealso,body.theme-dark .admonition.tip{background-color:#4f2066}figure img{border-radius:.25rem;box-shadow:0 2px 4px 0 rgba(0,0,0,.2);margin-bottom:.5rem}figure .caption-text{color:#6c6c6c}blockquote{border-left:4px solid #f2f2f2;padding-left:1rem;margin:2rem 0}blockquote .attribution{color:#6c6c6c}.bignums,.bignums-xxl,.bignums-danger,.bignums-error,.bignums-important,.bignums-seealso,.bignums-tip,.bignums-caution,.bignums-warning,.bignums-attention,.bignums-hint,.bignums-note{padding:0;counter-reset:li-counter}.bignums>li,.bignums-xxl>li,.bignums-danger>li,.bignums-error>li,.bignums-important>li,.bignums-seealso>li,.bignums-tip>li,.bignums-caution>li,.bignums-warning>li,.bignums-attention>li,.bignums-hint>li,.bignums-note>li{list-style:none;position:relative;padding:1rem;padding-left:3.875rem;padding-top:1.2875rem;background-color:#e6e6e6;min-height:4.3rem;border-radius:.25rem}.bignums>li>.first,.bignums-xxl>li>.first,.bignums-danger>li>.first,.bignums-error>li>.first,.bignums-important>li>.first,.bignums-seealso>li>.first,.bignums-tip>li>.first,.bignums-caution>li>.first,.bignums-warning>li>.first,.bignums-attention>li>.first,.bignums-hint>li>.first,.bignums-note>li>.first{font-weight:700;font-size:1.15rem}.bignums>li *:last-child,.bignums-xxl>li *:last-child,.bignums-danger>li *:last-child,.bignums-error>li *:last-child,.bignums-important>li *:last-child,.bignums-seealso>li *:last-child,.bignums-tip>li *:last-child,.bignums-caution>li *:last-child,.bignums-warning>li *:last-child,.bignums-attention>li *:last-child,.bignums-hint>li *:last-child,.bignums-note>li *:last-child{margin-bottom:0}.bignums>li:before,.bignums-xxl>li:before,.bignums-danger>li:before,.bignums-error>li:before,.bignums-important>li:before,.bignums-seealso>li:before,.bignums-tip>li:before,.bignums-caution>li:before,.bignums-warning>li:before,.bignums-attention>li:before,.bignums-hint>li:before,.bignums-note>li:before{font-size:1.15rem;display:block;position:absolute;top:1rem;left:1rem;height:2em;width:2em;line-height:2em;text-align:center;background-color:#313131;color:#fff;border-radius:50%;content:counter(li-counter, decimal);counter-increment:li-counter;font-weight:700}.bignums>li+li,.bignums-xxl>li+li,.bignums-danger>li+li,.bignums-error>li+li,.bignums-important>li+li,.bignums-seealso>li+li,.bignums-tip>li+li,.bignums-caution>li+li,.bignums-warning>li+li,.bignums-attention>li+li,.bignums-hint>li+li,.bignums-note>li+li{margin-top:1rem}.bignums-hint>li,.bignums-note>li{background-color:#e0eff0}.bignums-hint>li:before,.bignums-note>li:before{background-color:#007d7e;color:#fff}.bignums-caution>li,.bignums-warning>li,.bignums-attention>li{background-color:#e6e3f1}.bignums-caution>li:before,.bignums-warning>li:before,.bignums-attention>li:before{background-color:#2f128d;color:#fff}.bignums-important>li,.bignums-seealso>li,.bignums-tip>li{background-color:#f4ebf9}.bignums-important>li:before,.bignums-seealso>li:before,.bignums-tip>li:before{background-color:#a456c9;color:#fff}.bignums-danger>li,.bignums-error>li{background-color:#f4e5e5}.bignums-danger>li:before,.bignums-error>li:before{background-color:#a72925;color:#fff}.bignums-xxl>li{padding:0;padding-left:3.75rem;padding-top:.375rem;background-color:rgba(0,0,0,0);min-height:3rem}.bignums-xxl>li>.first{font-size:1.5rem}.bignums-xxl>li:before{font-size:1.5rem;top:0;left:0}.bignums-xxl>li+li{border-top:1px solid rgba(0,0,0,.15);margin-top:1.375rem;padding-top:1.375rem}.bignums-xxl>li+li:before{top:1rem}.clear-both{clear:both}.headerlink{position:relative;font-size:.65em;visibility:hidden;top:-0.15em}.headerlink:after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:normal;line-height:1;content:"";font-family:"Font Awesome 5 Free";font-weight:900;margin-right:.5rem;content:""}.headerlink:hover{text-decoration:none}*:hover>.headerlink:after{visibility:visible}table.docutils:not(.field-list){border:0}table.docutils.field-list .field-name{padding-right:1rem}.table-responsive{margin-bottom:1rem}.table-responsive table.docutils{margin-bottom:0}main h2,main h3,main h4,main h5,main h6{margin-top:1.5em}footer a{text-decoration:none}header>.container-fluid,header>.container-sm,header>.container-md,header>.container-lg,header>.container-xl{padding:0}header .navbar{padding:.75rem 0;flex-wrap:unset}header .navbar-brand{display:flex;padding:0;text-decoration:none;margin-right:0;font-size:1.5em;line-height:1.2;white-space:unset;align-items:center;justify-content:space-between}header .logo-img{flex-shrink:0;margin-right:.75rem;position:relative;top:-1px}header .navbar-dark .navbar-nav .nav-link{color:#fff}img{max-width:100%;height:auto}a{text-decoration:underline;color:#2e1f5e;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-style:solid;text-decoration-color:#3beccd}a:focus,a:hover{color:#13c7a8;text-decoration-color:currentcolor}a:active{color:#0d816d;text-decoration-color:currentcolor}span[id*=MathJax-Span]{color:#212121}pre{padding:24px;border-radius:5px;font-size:14px;color:#fff;background-color:#2e1f5e}pre .hll{background-color:#314549}pre .c{color:#eff}pre .c1{color:#eff}pre .cm{color:#eff}pre .cp{color:#eff}pre .cs{color:#eff}pre .err{color:#f07178}pre .k{color:#c792ea}pre .kc{color:#c792ea}pre .kd{color:#c792ea}pre .kn{color:#89ddff}pre .kp{color:#c792ea}pre .kr{color:#c792ea}pre .kt{color:#ffcb6b}pre .l{color:#f78c6c}pre .il{color:#f78c6c}pre .ld{color:#f07178}pre .m{color:#ffcb6b}pre .mf{color:#ffcb6b}pre .mh{color:#ffcb6b}pre .mi{color:#ffcb6b}pre .mo{color:#ffcb6b}pre .s{color:#82aaff}pre .s1{color:#82aaff}pre .s2{color:#82aaff}pre .sb{color:#82aaff}pre .sc{color:#82aaff}pre literal.String.Char .sd{color:#b2ccd6}pre .se{color:#f78c6c}pre .sh{color:#82aaff}pre .si{color:#f78c6c}pre .sr{color:#82aaff}pre .ss{color:#82aaff}pre .sx{color:#82aaff}pre .n{color:#fff}pre .na{color:#c3e88d}pre .nb{color:#f07178}pre .nc{color:#ffcb6b}pre .nd{color:#89ddff}pre .ne{color:#f07178}pre .nf{color:#c3e88d}pre .ni{color:#fff}pre .nl{color:#fff}pre .nn{color:#ffcb6b}pre .no{color:#f07178}pre .nt{color:#89ddff}pre .nv{color:#f07178}pre .nx{color:#fff}pre .py{color:#fff}pre .bp{color:#fff}pre .vc{color:#f07178}pre .vg{color:#f07178}pre .vi{color:#f07178}pre .o{color:#ff5370}pre .p{color:#eff}pre .gd{color:#f07178}pre .gh{color:#fff;font-weight:700}pre .gi{color:#c3e88d}pre .gp{color:#b2ccd6;font-weight:700}pre .gu{color:#89ddff;font-weight:700}pre .ow{color:#89ddff}pre .w{color:#fff}pre .x{color:#eff}pre .ge{font-style:italic}pre .gs{font-weight:700}pre a{color:#fff}pre a:hover,pre a:visited:hover{color:#e6e6e6}pre a:visited{color:#fff}.sidebar-container{border-right-style:hidden}@media screen and (min-width: 992px){.sidebar-container{max-width:384px;border-right-style:solid}}.collapse{max-height:100vh;overflow:hidden auto}.autocomplete{background-color:#fff;background-clip:padding-box;border:1px solid #cecece;box-shadow:0 2px 4px 0 rgba(0,0,0,.2);z-index:10000}.autocomplete>div{padding:.375rem .75rem}.autocomplete>div:not(.empty){cursor:pointer}.autocomplete .group{font-weight:700;font-size:.85em;background-color:#f2f2f2}.autocomplete .selected{color:#212121;background-color:#ffe69c}.autocomplete .selected:after{border-radius:.25rem;border:1px solid #212121;content:"Enter ↵";float:inline-end;font-size:.75em;line-height:1;padding:.1875rem .375rem;margin-top:.1875rem;margin-left:.375rem}.highlighted{color:#212121 !important;background-color:#ffe69c !important}.search{padding:0;list-style:none;list-style-image:none}.search li{margin-top:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:solid 1px rgba(0,0,0,.15)}.search li:last-child{padding-bottom:0;border:unset}.search a{font-size:1.25em;display:inline-block;margin-bottom:.5em;font-weight:700;line-height:1.2}.rst-content .sphinx-tabs{margin-bottom:2em}.rst-content .sphinx-tabs:last-child{margin-bottom:1em}.rst-content .sphinx-tabs .sphinx-menu .item p{margin:0}.rst-content .sphinx-tabs .sphinx-menu a.item{color:#212121 !important}.rst-content .sphinx-tabs .sphinx-menu{border-bottom-color:rgba(0,0,0,.25) !important;display:flex;flex-flow:row wrap}.rst-content .sphinx-tabs .sphinx-menu a.active.item{border-color:rgba(0,0,0,.25) !important}.rst-content .sphinx-tab{border-color:rgba(0,0,0,.25) !important;box-sizing:border-box}.rst-content .sphinx-tab.tab.active{margin-bottom:0}.rst-content .code-tab.tab{padding:.4em !important}.rst-content .code-tab.tab div[class^=highlight]{border-color:rgba(0,0,0,0)}.rst-content .sphinx-tabs .docutils.container{margin:0;width:auto}.rst-content .sphinx-tabs.docutils.container{max-width:100%;padding:0}.rst-content .sphinx-tabs .top.tabular.menu.docutils.container{padding:0}.toc a{display:inline-block;line-height:1.25;padding:.25rem 0}.toc li{margin:4px 0}.toc li[class^=toctree-]{position:relative}.toc li:not(.toctree-l1) a{text-decoration:none}.toc ul{padding-left:12px;list-style-type:none}.toc .toctree-expand{position:absolute;display:block;top:.875rem;left:-24px;transform:translate(0, -50%);height:1em;width:1em;background-color:#f2f2f2;border-radius:.25rem}.toc .toctree-expand:after,.toc .toctree-expand:before{position:absolute;content:"";top:50%;left:50%}.toc .toctree-expand:after{width:10px;height:0;border-top:2px solid;transform:translate(-50%, -50%)}.toc .toctree-expand:before{width:0;height:10px;border-left:2px solid;transform:translate(-50%, -50%)}.toc .current>a{color:#2e1f5e}.toc .current>a>.toctree-expand{background-color:#2e1f5e;color:#fff}.toc .current>a>.toctree-expand:before{display:none}.toc>ul{padding-left:0}.toc>ul .current>ul{display:block !important}.toc>ul:not(:last-child){padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.15)}.page-toc{font-size:.875rem;padding-top:2.4rem;color:#494949;max-height:100vh;overflow:hidden auto;word-break:break-all}.page-toc a{color:#6c6c6c}.page-toc a:hover,.page-toc a:focus{color:#13c7a8}.page-toc a:active{color:#0d816d}.site-toc .toc ul{padding-left:32px}.site-toc .toc ul>li ul{display:none}.versionadded,.versionchanged,.deprecated{margin:1rem 0;padding:1rem;box-shadow:0 2px 4px 0 rgba(0,0,0,.2);border-radius:.25rem;overflow:hidden}.versionadded>*:last-child,.versionchanged>*:last-child,.deprecated>*:last-child{margin-bottom:0}.versionmodified{display:block;padding:.5rem 1rem;margin:-1rem;margin-bottom:1rem;font-weight:700}.versionmodified:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:normal;line-height:1;content:"";font-family:"Font Awesome 5 Free";font-weight:900;margin-right:.5rem}.versionadded{background-color:#f4ebf9}.versionadded .versionmodified{color:#fff;background-color:#a456c9}.versionadded .versionmodified:before{content:""}.versionchanged{background-color:#e6e3f1}.versionchanged .versionmodified{color:#fff;background-color:#2f128d}.versionchanged .versionmodified:before{content:""}.deprecated{background-color:#f4e5e5}.deprecated .versionmodified{color:#fff;background-color:#a72925;border-radius:unset;box-shadow:unset}.deprecated .versionmodified:before{content:""}body.theme-dark .versionchanged{background-color:#14083c}body.theme-dark .deprecated{background-color:#3f0f0e}body.theme-dark .deprecated .versionmodified{background-color:#a72925}body.theme-dark .versionadded{background-color:#4f2066}.rst-versions{position:fixed;bottom:50px;right:50px;max-width:300px;overflow-y:auto;background:#1f1d1d;z-index:1050}.rst-versions.shift-up{max-height:calc(100vh - 50px)}.rst-versions a{color:#2980b9;text-decoration:none}.rst-current-version{display:block;padding:12px;text-align:end;font-size:90%;cursor:pointer;background-color:#2e1f5e;color:#fff;*zoom:1}.rst-current-version span.fa-book{display:none}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}@media screen and (max-width: 768px){.rst-versions{display:none}}dl.class .sig-object+dd{margin:0 0 .5rem 1.5rem}.pre~button.copybtn,pre~button.copybtn{opacity:1}section{margin-top:2.5rem;margin-bottom:2.5rem}li>p{margin-bottom:0}*:focus{outline:3px solid #1f7e9a !important;outline-offset:1px;box-shadow:none}.skip-to-content-link{left:50%;position:absolute;transform:translateY(-100%);transition:transform .3s}.skip-to-content-link:focus{transform:translateY(0%)}pre,.pre{font-family:"ui-monospace","Menlo","Monaco","Cascadia Mono","Segoe UI Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",monospace,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.cc{clear:both}.rubric{font-weight:700}.dark-only{display:none}.light-only{display:unset}body.theme-dark{color:rgba(255,255,255,.8);background-color:#120c24}body.theme-dark .btn-link,body.theme-dark a{color:rgba(255,255,255,.8)}body.theme-dark .btn-link:focus,body.theme-dark .btn-link:hover,body.theme-dark a:focus,body.theme-dark a:hover{color:#13c7a8}body.theme-dark .dark-only{display:unset}body.theme-dark .light-only{display:none}body.theme-dark .toc .current>a{color:#fff}body.theme-dark .page-toc{color:inherit}body.theme-dark .page-toc a{color:rgba(255,255,255,.6)}body.theme-dark .toc .toctree-expand{background-color:#2e1f5e}body.theme-dark figure .caption-text{color:rgba(255,255,255,.6)}body.theme-dark .breadcrumb-item.active{color:rgba(255,255,255,.6)}body.theme-dark blockquote{border-color:#1b1238}body.theme-dark blockquote .attribution{color:rgba(255,255,255,.6)}body.theme-dark .autocomplete{background-color:#120c24}body.theme-dark .autocomplete .group{background-color:#120c24;color:rgba(255,255,255,.6)}body.theme-dark hr,body.theme-dark .border,body.theme-dark .with-border,body.theme-dark .border-top,body.theme-dark .border-right,body.theme-dark .sidebar-container,body.theme-dark .border-bottom,body.theme-dark .border-left,body.theme-dark .search li{border-color:#1b1238 !important;border-width:2px !important}body.theme-dark table.docutils:not(.field-list){border:0}body.theme-dark .btn-light{color:#fff;background-color:#1b1238;border-color:#2e1f5e}body.theme-dark .btn-light:hover,body.theme-dark .btn-light:focus,body.theme-dark .btn-light:focus-within,body.theme-dark .btn-light:not(:disabled):not(.disabled):active,body.theme-dark .btn-light:not(:disabled):not(.disabled).active{color:#fff;background-color:#2e1f5e}body.theme-dark .form-control{color:#fff;background-color:#1b1238;border-color:#2e1f5e}body.theme-dark .form-control:focus{box-shadow:0 0 0 .2rem rgba(211,211,211,.5)}body.theme-dark .form-control::placeholder{color:rgba(255,255,255,.6)}body.theme-dark .input-group-text{color:rgba(255,255,255,.6);border-color:#2e1f5e}body.theme-dark .input-group-text.bg-white{background-color:#1b1238 !important}body.theme-dark code{color:#fe587c} + +/*# sourceMappingURL=theme.css.map*/ \ No newline at end of file diff --git a/_static/dist/theme.css.map b/_static/dist/theme.css.map new file mode 100644 index 0000000..6c967fd --- /dev/null +++ b/_static/dist/theme.css.map @@ -0,0 +1 @@ +{"version":3,"file":"theme.css","mappings":"AAAA;;;;;ECAA,OCGI,2NAIA,iJAIA,gHAKF,wNACA,0SCCF,qBAGE,sBAGF,KACE,uBACA,iBACA,8BACA,0CAMF,sEACE,cAUF,KACE,SACA,8LC0DA,CCsBI,cAtCa,CFxCjB,eG8O4B,CH7O5B,eGkP4B,CHjP5B,aCpCS,CDqCT,gBACA,qBC/CM,CD2DR,0CACE,qBASF,GACE,uBACA,SACA,iBAaF,kBACE,aACA,kBCoEuB,CD7DzB,EACE,aACA,kBGoF0B,CHzE5B,sCAEE,0BACA,iCACA,YACA,gBACA,8BAGF,QACE,mBACA,kBACA,oBAGF,SAGE,aACA,mBAGF,wBAIE,gBAGF,GACE,eCQiB,CDLnB,GACE,oBACA,cAGF,WACE,gBAGF,SAEE,kBGoI4B,CHjI9B,MExFI,cFiGJ,QAEE,kBEnGE,cFqGF,cACA,wBAGF,mBACA,eAOA,EACE,aCvKO,CDwKP,oBGXwC,CHYxC,+BIhLA,QJmLE,aC1Ke,CD2Kf,yBGdsC,CHuB1C,2BACE,cACA,qBI/LA,iCJkME,cACA,qBASJ,kBAIE,4QC7FA,CCvDE,cFwJJ,IAEE,aAEA,mBAEA,cAGA,6BAQF,OAEE,gBAQF,IACE,sBACA,kBAGF,IAGE,gBACA,sBAQF,MACE,yBAGF,QACE,kBG6E4B,CH5E5B,qBG4E4B,CH3E5B,aCvQS,CDwQT,gBACA,oBAOF,GAEE,mBACA,gCAQF,MAEE,qBACA,mBG2JsC,CHrJxC,OAEE,gBAQF,iCACE,UAGF,sCAKE,SACA,oBE5PE,kBF8PF,oBAGF,aAEE,iBAGF,cAEE,oBAMF,cACE,eAMF,OACE,iBAOF,gDAIE,0BASE,4GACE,eAMN,wHAIE,UACA,kBAGF,uCAEE,sBACA,UAIF,SACE,cAEA,gBAGF,SAME,YAEA,UACA,SACA,SAKF,OACE,cACA,WACA,eACA,UACA,oBEnSI,gBAtCa,CF2UjB,oBACA,cACA,mBAGF,SACE,wBAIF,kFAEE,YAGF,cAKE,oBACA,wBAOF,yCACE,wBAQF,6BACE,aACA,0BAOF,OACE,qBAGF,QACE,kBACA,eAGF,SACE,aAKF,SACE,wBK5dF,0CAEE,kBJyJuB,CIvJvB,eJ6IiB,CI5IjB,eFqS4B,CEjS9B,OHyDI,cGxDJ,OHwDI,iBGvDJ,OHuDI,gBGtDJ,OHsDI,iBGrDJ,OHqDI,cGpDJ,OHoDI,iBGlDJ,MHyGM,iBAtCa,CGjEjB,eFuS4B,CEnS9B,WHmGM,cAtCa,CG3DjB,eF0R4B,CEzR5B,eFiR4B,CE/Q9B,WH8FM,gBAtCa,CGtDjB,eFsR4B,CErR5B,eF4Q4B,CE1Q9B,WHyFM,gBAtCa,CGjDjB,eFkR4B,CEjR5B,eFuQ4B,CErQ9B,WHoFM,gBAtCa,CG5CjB,eF8Q4B,CE7Q5B,eFkQ4B,CE1P9B,GACE,eFgFO,CE/EP,kBF+EO,CE9EP,SACA,oCAQF,aHMI,cGHF,eF0N4B,CEvN9B,WAEE,YFkQ4B,CEjQ5B,wBF0Q4B,CElQ9B,eC/EE,eACA,gBDmFF,aCpFE,eACA,gBDsFF,kBACE,qBAEA,mCACE,kBFoP0B,CE1O9B,YHjCI,cGmCF,yBAIF,YACE,kBFuBO,CDRH,iBAtCa,CG2BnB,mBACE,cH7CE,cG+CF,aJ3GS,CI6GT,2BACE,aEnHJ,WCIE,eAGA,YDDF,eACE,cJmgCkC,CIlgClC,qBNTM,CMUN,yBEEE,qBDPF,eAGA,YDcF,QAEE,qBAGF,YACE,oBACA,cAGF,gBLkCI,cKhCF,aN5BS,CSXX,KRuEI,gBQrEF,aTiEW,CShEX,qBAGA,OACE,cAKJ,IACE,oBR0DE,gBQxDF,UTVM,CSWN,wBTFS,CQGP,oBCGF,QACE,URkDA,eQhDA,eT+He,CSzHnB,IACE,cRyCE,gBQvCF,aTlBS,CSqBT,SRoCE,kBQlCA,cACA,kBAKJ,gBACE,gBP8jCkC,CO7jClC,kBCxCA,oFCDA,WACA,mBACA,kBACA,kBACA,iBCmDE,yBFzCE,yBACE,eR8Le,EUtJnB,yBFzCE,uCACE,eR8Le,EUtJnB,yBFzCE,qDACE,eR8Le,EUtJnB,0BFzCE,mEACE,gBR8Le,EQlKrB,KCnCA,aACA,eACA,mBACA,kBDsCA,YACE,eACA,cAEA,2CAEE,gBACA,eGtDJ,sqBACE,kBACA,WACA,mBACA,kBAsBE,KACE,aACA,YACA,eF4BN,cACE,cACA,eAFF,cACE,aACA,cAFF,cACE,wBACA,yBAFF,cACE,aACA,cAFF,cACE,aACA,cAFF,cACE,wBACA,yBEnBE,UFCJ,cACA,WACA,eEGQ,OFbR,uBAIA,wBESQ,OFbR,wBAIA,yBESQ,OFbR,aAIA,cESQ,OFbR,wBAIA,yBESQ,OFbR,wBAIA,yBESQ,OFbR,aAIA,cESQ,OFbR,wBAIA,yBESQ,OFbR,wBAIA,yBESQ,OFbR,aAIA,cESQ,QFbR,wBAIA,yBESQ,QFbR,wBAIA,yBESQ,QFbR,cAIA,eEeI,sBAEA,qBAGE,gBADW,CACX,gBADW,CACX,gBADW,CACX,gBADW,CACX,gBADW,CACX,gBADW,CACX,gBADW,CACX,gBADW,CACX,gBADW,CACX,gBADW,CACX,kBADW,CACX,kBADW,CACX,kBADW,CAQP,UFhBV,0BEgBU,UFhBV,2BEgBU,UFhBV,gBEgBU,UFhBV,2BEgBU,UFhBV,2BEgBU,UFhBV,gBEgBU,UFhBV,2BEgBU,UFhBV,2BEgBU,UFhBV,gBEgBU,WFhBV,2BEgBU,WFhBV,2BCKE,yBC3BE,QACE,aACA,YACA,eF4BN,iBACE,cACA,eAFF,iBACE,aACA,cAFF,iBACE,wBACA,yBAFF,iBACE,aACA,cAFF,iBACE,aACA,cAFF,iBACE,wBACA,yBEnBE,aFCJ,cACA,WACA,eEGQ,UFbR,uBAIA,wBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,UFbR,wBAIA,yBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,UFbR,wBAIA,yBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,WFbR,wBAIA,yBESQ,WFbR,wBAIA,yBESQ,WFbR,cAIA,eEeI,yBAEA,wBAGE,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,qBADW,CACX,qBADW,CACX,qBADW,CAQP,aFhBV,cEgBU,aFhBV,0BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,aFhBV,2BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,aFhBV,2BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,cFhBV,2BEgBU,cFhBV,4BCKE,yBC3BE,QACE,aACA,YACA,eF4BN,iBACE,cACA,eAFF,iBACE,aACA,cAFF,iBACE,wBACA,yBAFF,iBACE,aACA,cAFF,iBACE,aACA,cAFF,iBACE,wBACA,yBEnBE,aFCJ,cACA,WACA,eEGQ,UFbR,uBAIA,wBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,UFbR,wBAIA,yBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,UFbR,wBAIA,yBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,WFbR,wBAIA,yBESQ,WFbR,wBAIA,yBESQ,WFbR,cAIA,eEeI,yBAEA,wBAGE,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,qBADW,CACX,qBADW,CACX,qBADW,CAQP,aFhBV,cEgBU,aFhBV,0BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,aFhBV,2BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,aFhBV,2BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,cFhBV,2BEgBU,cFhBV,4BCKE,yBC3BE,QACE,aACA,YACA,eF4BN,iBACE,cACA,eAFF,iBACE,aACA,cAFF,iBACE,wBACA,yBAFF,iBACE,aACA,cAFF,iBACE,aACA,cAFF,iBACE,wBACA,yBEnBE,aFCJ,cACA,WACA,eEGQ,UFbR,uBAIA,wBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,UFbR,wBAIA,yBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,UFbR,wBAIA,yBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,WFbR,wBAIA,yBESQ,WFbR,wBAIA,yBESQ,WFbR,cAIA,eEeI,yBAEA,wBAGE,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,qBADW,CACX,qBADW,CACX,qBADW,CAQP,aFhBV,cEgBU,aFhBV,0BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,aFhBV,2BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,aFhBV,2BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,cFhBV,2BEgBU,cFhBV,4BCKE,0BC3BE,QACE,aACA,YACA,eF4BN,iBACE,cACA,eAFF,iBACE,aACA,cAFF,iBACE,wBACA,yBAFF,iBACE,aACA,cAFF,iBACE,aACA,cAFF,iBACE,wBACA,yBEnBE,aFCJ,cACA,WACA,eEGQ,UFbR,uBAIA,wBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,UFbR,wBAIA,yBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,UFbR,wBAIA,yBESQ,UFbR,wBAIA,yBESQ,UFbR,aAIA,cESQ,WFbR,wBAIA,yBESQ,WFbR,wBAIA,yBESQ,WFbR,cAIA,eEeI,yBAEA,wBAGE,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,mBADW,CACX,qBADW,CACX,qBADW,CACX,qBADW,CAQP,aFhBV,cEgBU,aFhBV,0BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,aFhBV,2BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,aFhBV,2BEgBU,aFhBV,2BEgBU,aFhBV,gBEgBU,cFhBV,2BEgBU,cFhBV,4BGnDF,uCACE,WACA,kBZiIO,CYhIP,adQS,CcLT,0FAEE,cZkV0B,CYjV1B,mBACA,6BAGF,yDACE,sBACA,gCAGF,+DACE,6BAUF,0BAEE,aZ4T0B,CYnT9B,gGACE,yBAEA,kNAEE,yBAIA,sPAEE,wBAMJ,mGAIE,SASF,mGACE,gCZwR0B,CCvV5B,4BW2EI,adxEK,CcyEL,iCZ6QwB,Ca/V1B,mDAGE,wBD2F+B,CCvF/B,uFAIE,oBDmFyE,CXxF/E,kCYiBM,wBAJe,CAMf,0EAEE,wBARa,CAnBnB,yDAGE,wBD2F+B,CCvF/B,+FAIE,oBDmFyE,CXxF/E,oCYiBM,wBAJe,CAMf,8EAEE,wBARa,CAnBnB,mDAGE,wBD2F+B,CCvF/B,uFAIE,oBDmFyE,CXxF/E,kCYiBM,wBAJe,CAMf,0EAEE,wBARa,CAnBnB,0CAGE,wBD2F+B,CCvF/B,2EAIE,oBDmFyE,CXxF/E,+BYiBM,wBAJe,CAMf,oEAEE,wBARa,CAnBnB,mDAGE,wBD2F+B,CCvF/B,uFAIE,oBDmFyE,CXxF/E,kCYiBM,wBAJe,CAMf,0EAEE,wBARa,CAnBnB,gDAGE,wBD2F+B,CCvF/B,mFAIE,oBDmFyE,CXxF/E,iCYiBM,wBAJe,CAMf,wEAEE,wBARa,CAnBnB,6CAGE,wBD2F+B,CCvF/B,+EAIE,oBDmFyE,CXxF/E,gCYiBM,qBAJe,CAMf,sEAEE,qBARa,CAnBnB,gMAGE,wBD2F+B,CCvF/B,6OAIE,oBDmFyE,CXxF/E,qKYiBM,wBAJe,CAMf,4VAEE,wBARa,CAnBnB,gDAGE,iCb4VwB,CCzV5B,iCYiBM,iCAJe,CAMf,wEAEE,iCARa,CDwFnB,8HACE,0Bd/DW,CcgEX,wBd9DQ,Cc+DR,oBZgQwB,CY3P1B,gHACE,ad7GK,Cc8GL,wBdnHK,CcoHL,oBdnHK,CcwHX,4DACE,0Bd/Ee,CcgFf,wBd9EY,CcgFZ,yJAGE,oBZ4O0B,CYzO5B,sHACE,SAIA,mMACE,sCZgOwB,CCrW5B,kHW4IM,0BdrGS,CcsGT,uCZ0NsB,CU1S1B,4BEiGA,qBAEI,cACA,WACA,gBACA,iCAGA,+JACE,UF1GN,4BEiGA,qBAEI,cACA,WACA,gBACA,iCAGA,+JACE,UF1GN,4BEiGA,qBAEI,cACA,WACA,gBACA,iCAGA,+JACE,UF1GN,6BEiGA,qBAEI,cACA,WACA,gBACA,iCAGA,+JACE,UATN,kBAEI,cACA,WACA,gBACA,iCAGA,sJACE,SE7KV,cACE,cACA,WACA,kCd0esC,CczetC,uBfqHI,cAtCa,Ce5EjB,edkR4B,CcjR5B,edsR4B,CcrR5B,ahBFS,CgBGT,qBhBVM,CgBWN,4BACA,8CCFI,oEDQJ,CCJI,uCDdN,cCeQ,iBDMN,0BACE,+BACA,SAIF,6BACE,oBACA,0BEtBF,oBACE,alBDO,CkBEP,qBlBTI,CkBUJ,oBhBqdoC,CgBpdpC,UAKE,yChBoXwB,CchW5B,2BACE,ahB/BO,CgBiCP,UAQF,+CAEE,wBhB/CO,CgBiDP,UAQF,mIACE,gBAKF,qCAME,ahBhEO,CgBiEP,qBhBxEI,CgB6ER,uCAEE,cACA,WAUF,gBACE,iCACA,oCACA,gBf3BE,kBe6BF,ed+L4B,Cc5L9B,mBACE,+BACA,kCfqBI,iBAtCa,CemBjB,ed6H4B,Cc1H9B,mBACE,gCACA,mCfcI,kBAtCa,Ce0BjB,eduH4B,Cc9G9B,wBACE,cACA,WACA,kBACA,gBfDI,cAtCa,CeyCjB,edkK4B,CcjK5B,ahBpHS,CgBqHT,+BACA,2BACA,mBAEA,gFAEE,gBACA,eAYJ,iBACE,iCd4VsC,Cc3VtC,qBf1BI,kBAtCa,CekEjB,ed+E4B,CMxN1B,oBQ6IJ,iBACE,+BdqVsC,CcpVtC,mBflCI,iBAtCa,Ce0EjB,edsE4B,CMvN1B,oBQuJF,wDAEE,YAIJ,sBACE,YAQF,YACE,kBd0UsC,CcvUxC,WACE,cACA,iBd2TsC,CcnTxC,UACE,aACA,eACA,kBACA,iBAEA,uCAEE,kBACA,iBASJ,YACE,kBACA,cACA,oBdgSsC,Cc7RxC,kBACE,kBACA,gBd4RsC,Cc3RtC,qBAGA,2FAEE,ahB1NO,CgB8NX,kBACE,gBAGF,mBACE,oBACA,mBACA,eACA,mBd6QsC,Cc1QtC,qCACE,gBACA,aACA,qBdwQoC,CcvQpC,cE7MF,gBACE,aACA,WACA,iBhB0coC,CDjbpC,ciBvBA,aFqNqC,CElNvC,eACE,kBACA,SACA,OACA,UACA,aACA,eACA,qBACA,iBjBmEE,kBAtCa,CiB3Bf,ehBsO0B,CgBrO1B,WACA,qCV9CA,qBUmDA,qEAEE,SAKF,8HAEE,cA9CF,0DAoDE,oBFkLmC,CE/KjC,mChBwZgC,CgBvZhC,iRACA,4BACA,2DACA,gEAGF,sEACE,oBFuKiC,CEtKjC,4CAhEJ,0EAyEI,mChBsYgC,CgBrYhC,kFA1EJ,4DAiFE,oBFqJmC,CElJjC,sChBudoC,CgBtdpC,qjBAGF,wEACE,oBF6IiC,CE5IjC,4CAOF,sGACE,aFoIiC,CEjInC,kMAEE,cAOF,sHACE,aFuHiC,CErHjC,sIACE,oBFoH+B,CE/GjC,sJACE,qBClJN,wBDmJ2B,CAKvB,kJACE,4CAGF,8KACE,oBFmG+B,CE1FnC,0GACE,oBFyFiC,CErFjC,sHACE,oBFoF+B,CEnF/B,4CAvIR,kBACE,aACA,WACA,iBhB0coC,CDjbpC,ciBvBA,aFqNqC,CElNvC,iBACE,kBACA,SACA,OACA,UACA,aACA,eACA,qBACA,iBjBmEE,kBAtCa,CiB3Bf,ehBsO0B,CgBrO1B,WACA,oCV9CA,qBUmDA,yEAEE,SAKF,8IAEE,cA9CF,8DAoDE,oBFkLmC,CE/KjC,mChBwZgC,CgBvZhC,4UACA,4BACA,2DACA,gEAGF,0EACE,oBFuKiC,CEtKjC,2CAhEJ,8EAyEI,mChBsYgC,CgBrYhC,kFA1EJ,gEAiFE,oBFqJmC,CElJjC,sChBudoC,CgBtdpC,gnBAGF,4EACE,oBF6IiC,CE5IjC,2CAOF,0GACE,aFoIiC,CEjInC,kNAEE,cAOF,0HACE,aFuHiC,CErHjC,0IACE,oBFoH+B,CE/GjC,0JACE,qBClJN,wBDmJ2B,CAKvB,sJACE,2CAGF,kLACE,oBFmG+B,CE1FnC,8GACE,oBFyFiC,CErFjC,0HACE,oBFoF+B,CEnF/B,2CF+FV,aACE,aACA,mBACA,mBAKA,yBACE,WJ/NA,yBIoOA,mBACE,aACA,mBACA,uBACA,gBAIF,yBACE,aACA,cACA,mBACA,mBACA,gBAIF,2BACE,qBACA,WACA,sBAIF,qCACE,qBAGF,sDAEE,WAKF,yBACE,aACA,mBACA,uBACA,WACA,eAEF,+BACE,kBACA,cACA,aACA,mBd+KkC,Cc9KlC,cAGF,6BACE,mBACA,uBAEF,mCACE,iBIjVN,KACE,qBAEA,elBsR4B,CkBrR5B,apBKS,CoBJT,kBAGA,sBACA,iBACA,+BACA,+BCuFA,uBpBuBI,cAtCa,CoBiBjB,enB0L4B,CMlR1B,qBSFE,6HGGJ,CHCI,uCGdN,KHeQ,iBdTN,WiBUE,apBPO,CoBQP,qBAGF,sBAEE,UACA,yClB6W0B,CkBzW5B,4BAEE,WlBiZ0B,CkB7Y5B,mCACE,eAcJ,uCAEE,oBASA,aC3DA,mCnBsEa,CmBpEb,oBnBoEa,CChEb,8BgBNE,wBED2D,CAS3D,oBATqG,CAYvG,sCAEE,WFbA,wBED2D,CAgB3D,oBAhBqG,CAqBnG,0CAKJ,4CAEE,WACA,wBnB0CW,CmBzCX,oBnByCW,CmBlCb,uIAGE,WACA,wBAzC+I,CA6C/I,oBA7CyL,CA+CzL,yJAKI,0CDQN,eC3DA,mCnBsEa,CmBpEb,oBnBoEa,CChEb,gCgBNE,wBED2D,CAS3D,oBATqG,CAYvG,0CAEE,WFbA,wBED2D,CAgB3D,oBAhBqG,CAqBnG,4CAKJ,gDAEE,WACA,wBnB0CW,CmBzCX,oBnByCW,CmBlCb,6IAGE,WACA,wBAzC+I,CA6C/I,oBA7CyL,CA+CzL,+JAKI,4CDQN,aC3DA,mCnBsEa,CmBpEb,oBnBoEa,CChEb,8BgBNE,wBED2D,CAS3D,oBATqG,CAYvG,sCAEE,WFbA,wBED2D,CAgB3D,oBAhBqG,CAqBnG,4CAKJ,4CAEE,WACA,wBnB0CW,CmBzCX,oBnByCW,CmBlCb,uIAGE,WACA,wBAzC+I,CA6C/I,oBA7CyL,CA+CzL,yJAKI,4CDQN,UC3DA,mCnBsEa,CmBpEb,oBnBoEa,CChEb,2BgBNE,wBED2D,CAS3D,oBATqG,CAYvG,gCAEE,WFbA,wBED2D,CAgB3D,oBAhBqG,CAqBnG,2CAKJ,sCAEE,WACA,wBnB0CW,CmBzCX,oBnByCW,CmBlCb,8HAGE,WACA,wBAzC+I,CA6C/I,oBA7CyL,CA+CzL,gJAKI,2CDQN,aC3DA,mCnBsEa,CmBpEb,oBnBoEa,CChEb,8BgBNE,wBED2D,CAS3D,oBATqG,CAYvG,sCAEE,WFbA,wBED2D,CAgB3D,oBAhBqG,CAqBnG,0CAKJ,4CAEE,WACA,wBnB0CW,CmBzCX,oBnByCW,CmBlCb,uIAGE,WACA,wBAzC+I,CA6C/I,oBA7CyL,CA+CzL,yJAKI,0CDQN,YC3DA,mCnBsEa,CmBpEb,oBnBoEa,CChEb,6BgBNE,wBED2D,CAS3D,oBATqG,CAYvG,oCAEE,WFbA,wBED2D,CAgB3D,oBAhBqG,CAqBnG,0CAKJ,0CAEE,WACA,wBnB0CW,CmBzCX,oBnByCW,CmBlCb,oIAGE,WACA,wBAzC+I,CA6C/I,oBA7CyL,CA+CzL,sJAKI,0CDQN,WC3DA,sCnBsEa,CmBpEb,oBnBoEa,CChEb,+BgBNE,wBED2D,CAS3D,oBATqG,CAYvG,kCAEE,cFbA,wBED2D,CAgB3D,oBAhBqG,CAqBnG,4CAKJ,wCAEE,cACA,wBnB0CW,CmBzCX,oBnByCW,CmBlCb,iIAGE,cACA,wBAzC+I,CA6C/I,oBA7CyL,CA+CzL,mJAKI,4CDQN,UC3DA,mCnBsEa,CmBpEb,oBnBoEa,CChEb,2BgBNE,wBED2D,CAS3D,oBATqG,CAYvG,gCAEE,WFbA,wBED2D,CAgB3D,oBAhBqG,CAqBnG,yCAKJ,sCAEE,WACA,wBnB0CW,CmBzCX,oBnByCW,CmBlCb,8HAGE,WACA,wBAzC+I,CA6C/I,iBA7CyL,CA+CzL,gJAKI,yCDcN,qBCPA,anBYa,CmBXb,oBnBWa,CChEb,2BkBwDE,UALgD,CAMhD,wBnBOW,CmBNX,oBnBMW,CmBHb,sDAEE,yCAGF,4DAEE,anBJW,CmBKX,+BAGF,+JAGE,WACA,wBnBZW,CmBaX,oBnBbW,CmBeX,iLAKI,yCDzBN,uBCPA,anBYa,CmBXb,oBnBWa,CChEb,6BkBwDE,UALgD,CAMhD,wBnBOW,CmBNX,oBnBMW,CmBHb,0DAEE,4CAGF,gEAEE,anBJW,CmBKX,+BAGF,qKAGE,WACA,wBnBZW,CmBaX,oBnBbW,CmBeX,uLAKI,4CDzBN,qBCPA,anBYa,CmBXb,oBnBWa,CChEb,2BkBwDE,UALgD,CAMhD,wBnBOW,CmBNX,oBnBMW,CmBHb,sDAEE,2CAGF,4DAEE,anBJW,CmBKX,+BAGF,+JAGE,WACA,wBnBZW,CmBaX,oBnBbW,CmBeX,iLAKI,2CDzBN,kBCPA,anBYa,CmBXb,oBnBWa,CChEb,wBkBwDE,UALgD,CAMhD,wBnBOW,CmBNX,oBnBMW,CmBHb,gDAEE,0CAGF,sDAEE,anBJW,CmBKX,+BAGF,sJAGE,WACA,wBnBZW,CmBaX,oBnBbW,CmBeX,wKAKI,0CDzBN,qBCPA,anBYa,CmBXb,oBnBWa,CChEb,2BkBwDE,UALgD,CAMhD,wBnBOW,CmBNX,oBnBMW,CmBHb,sDAEE,0CAGF,4DAEE,anBJW,CmBKX,+BAGF,+JAGE,WACA,wBnBZW,CmBaX,oBnBbW,CmBeX,iLAKI,0CDzBN,oBCPA,anBYa,CmBXb,oBnBWa,CChEb,0BkBwDE,UALgD,CAMhD,wBnBOW,CmBNX,oBnBMW,CmBHb,oDAEE,0CAGF,0DAEE,anBJW,CmBKX,+BAGF,4JAGE,WACA,wBnBZW,CmBaX,oBnBbW,CmBeX,8KAKI,0CDzBN,mBCPA,anBYa,CmBXb,oBnBWa,CChEb,yBkBwDE,aALgD,CAMhD,wBnBOW,CmBNX,oBnBMW,CmBHb,kDAEE,4CAGF,wDAEE,anBJW,CmBKX,+BAGF,yJAGE,cACA,wBnBZW,CmBaX,oBnBbW,CmBeX,2KAKI,4CDzBN,kBCPA,anBYa,CmBXb,oBnBWa,CChEb,wBkBwDE,UALgD,CAMhD,wBnBOW,CmBNX,oBnBMW,CmBHb,gDAEE,yCAGF,sDAEE,anBJW,CmBKX,+BAGF,sJAGE,WACA,wBnBZW,CmBaX,oBnBbW,CmBeX,wKAKI,yCDdR,UACE,elB4M4B,CkB3M5B,apBjEO,CoBkEP,oBlB2FwC,CCpKxC,gBiB4EE,apBnEe,CoBoEf,yBlByFsC,CkBtFxC,gCAEE,yBlBoFsC,CkBjFxC,sCAEE,apBvFO,CoBwFP,oBAWJ,2BCPE,mBpBuBI,iBAtCa,CoBiBjB,enB+H4B,CMvN1B,oBYiGJ,2BCXE,qBpBuBI,kBAtCa,CoBiBjB,enBgI4B,CMxN1B,oBY0GJ,WACE,cACA,WAGA,sBACE,gBlBuT0B,CkB/S5B,sFACE,WE3IJ,MLgBM,8BKfJ,CLmBI,uCKpBN,MLqBQ,iBKlBN,iBACE,UAKF,qBACE,aAIJ,YACE,kBACA,SACA,gBLDI,2BKEJ,CLEI,uCKNN,YLOQ,iBMpBR,uCAIE,kBAGF,iBACE,mBCoBE,wBACE,qBACA,kBtB+NwB,CsB9NxB,qBtB6NwB,CsB5NxB,WAhCJ,sBACA,sCACA,gBACA,qCAqDE,8BACE,cD1CN,eACE,kBACA,SACA,OACA,YrBwpBkC,CqBvpBlC,aACA,WACA,erBguBkC,CqB/tBlC,gBACA,mBtBsGI,cAtCa,CsB9DjB,avBZS,CuBaT,gBACA,gBACA,qBvBxBM,CuByBN,4BACA,iCfdE,qBeuBA,oBACE,WACA,OAGF,qBACE,QACA,UXYF,yBWnBA,uBACE,WACA,OAGF,wBACE,QACA,WXYF,yBWnBA,uBACE,WACA,OAGF,wBACE,QACA,WXYF,yBWnBA,uBACE,WACA,OAGF,wBACE,QACA,WXYF,0BWnBA,uBACE,WACA,OAGF,wBACE,QACA,WAQJ,uBACE,SACA,YACA,aACA,qBrB8rBgC,CsB7tBhC,gCACE,qBACA,kBtB+NwB,CsB9NxB,qBtB6NwB,CsB5NxB,WAzBJ,aACA,sCACA,yBACA,qCA8CE,sCACE,cDWJ,0BACE,MACA,WACA,UACA,aACA,mBrBgrBgC,CsB7tBhC,mCACE,qBACA,kBtB+NwB,CsB9NxB,qBtB6NwB,CsB5NxB,WAlBJ,oCACA,eACA,uCACA,uBAuCE,yCACE,cDqBF,mCACE,iBAMJ,yBACE,MACA,WACA,UACA,aACA,oBrB+pBgC,CsB7tBhC,kCACE,qBACA,kBtB+NwB,CsB9NxB,qBtB6NwB,CsB5NxB,WAWA,kCACE,aAGF,mCACE,qBACA,mBtB4MsB,CsB3MtB,qBtB0MsB,CsBzMtB,WA9BN,oCACA,wBACA,uCAiCE,wCACE,cDsCF,mCACE,iBAQJ,0IAIE,WACA,YAKJ,kBE9GE,SACA,eACA,gBACA,6BFkHF,eACE,cACA,WACA,sBACA,WACA,erBgK4B,CqB/J5B,avBjHS,CuBkHT,mBAEA,mBACA,+BACA,SpBrHA,0CoBoIE,arBmnBgC,CqBlnBhC,qBJ/IA,wBnBEO,CuBiJT,4CAEE,UvBrJI,CuBsJJ,qBJtJA,wBjBoP0B,CqB1F5B,gDAEE,avBvJO,CuBwJP,oBACA,+BAQJ,oBACE,cAIF,iBACE,cACA,oBrBgmBkC,CqB/lBlC,gBtBrDI,kBAtCa,CsB6FjB,avB1KS,CuB2KT,mBAIF,oBACE,cACA,sBACA,avB/KS,C0BZX,+BAEE,kBACA,oBACA,sBAEA,yCACE,kBACA,cvBCF,qDuBII,UAEF,mKAGE,UAMN,aACE,aACA,eACA,2BAEA,0BACE,WAMF,0EAEE,iBAIF,mGlBXE,0BACA,6BkBeF,+ElBFE,yBACA,4BkBmBJ,uBACE,uBACA,sBAEA,6GAGE,cAGF,yCACE,eAIJ,yEACE,sBACA,qBAGF,yEACE,qBACA,oBAoBF,oBACE,sBACA,uBACA,uBAEA,wDAEE,WAGF,4FAEE,gBAIF,qHlBrFE,6BACA,4BkByFF,iGlBxGE,yBACA,0BkB2HF,yDAEE,gBAEA,gMAEE,kBACA,sBACA,oBCzJN,aACE,kBACA,aACA,eACA,oBACA,WAEA,sHAIE,kBACA,cACA,SACA,YACA,gBAEA,0gBAGE,iBAKJ,yIAGE,UAIF,mDACE,UAKA,2FnBIA,yBACA,sDmBCA,aACA,mBAEA,6HnBLA,yBACA,4BmBSA,6NnBxBA,0BACA,6BmB+BA,oNnBhCA,0BACA,6BmB8CJ,yCAEE,aAKA,mDACE,kBACA,UAEA,+DACE,UAIJ,4VAIE,iBAIJ,uCACA,qCAQA,kBACE,aACA,mBACA,uBACA,gB1BSI,cAtCa,C0B+BjB,ezBuK4B,CyBtK5B,ezB2K4B,CyB1K5B,a3B7GS,C2B8GT,kBACA,mBACA,wB3BrHS,C2BsHT,yBnB5GE,qBmBgHF,2EAEE,aAUJ,2EAEE,+BzBqWsC,CyBlWxC,6PAME,mB1B1BI,iBAtCa,C0BkEjB,ezB8E4B,CMvN1B,oBmB6IJ,2EAEE,iCzBmVsC,CyBhVxC,6PAME,qB1B3CI,kBAtCa,C0BmFjB,ezB8D4B,CMxN1B,oBmB8JJ,8DAEE,sBAWF,skBnB3JI,0BACA,6BmBqKJ,+WnBxJI,yBACA,4BoBxCJ,gBACE,kBACA,UACA,cACA,kBACA,oBACA,mBAGF,uBACE,oBACA,iB1BwfsC,C0BrfxC,sBACE,kBACA,OACA,WACA,U1BofsC,C0BnftC,eACA,UAEA,4DACE,U5B1BI,C4B2BJ,oB1ByN0B,CiBpP1B,wBjBoP0B,C0BpN5B,0DAKI,yC1B+VwB,C0B3V5B,wEACE,oB1BqboC,C0BlbtC,0EACE,U5B9CI,C4B+CJ,wB1Bif4C,C0Bhf5C,oB1Bgf4C,C0Bze5C,2GACE,a5BlDK,C4BoDL,2HACE,wB5BzDG,C4BmEX,sBACE,kBACA,gBAEA,mBAIA,8BACE,kBACA,WACA,aACA,cACA,U1BuboC,C0BtbpC,W1BsboC,C0BrbpC,oBACA,WACA,qB5BtFI,C4BuFJ,yBAKF,6BACE,kBACA,WACA,aACA,cACA,U1BwaoC,C0BvapC,W1BuaoC,C0BtapC,WACA,iCAUF,+CpBlGE,qBoBuGA,4EACE,kOAKF,mFACE,oB1B0HwB,CiBpP1B,wBjBoP0B,C0BtH1B,kFACE,+KAKF,sFTpIA,kCjBwhB4C,C0BjZ5C,4FTvIA,kCjBwhB4C,C0BtY9C,4CAEE,iB1ByZ4C,C0BrZ5C,yEACE,8KAKF,mFT9JA,kCjBwhB4C,C0B/WhD,eACE,qBAGE,6CACE,cACA,a1BiY0C,C0BhY1C,mBAEA,mB1B+X0C,C0B5X5C,4CACE,wBACA,0BACA,sB1B0X0C,C0BzX1C,uB1ByX0C,C0BxX1C,wB5BrLK,C4BuLL,mB1BqX0C,CeviB1C,iIWmLA,CX/KA,uCWuKF,4CXtKI,iBWmLJ,0EACE,qB5BnME,C4BoMF,8BAKF,oFTzMA,kCjBwhB4C,C0BlUhD,eACE,qBACA,WACA,kC1BoRsC,C0BnRtC,uC3BjGI,cAtCa,C2B0IjB,e1B4D4B,C0B3D5B,e1BgE4B,C0B/D5B,a5BxNS,C4ByNT,sBACA,sOACA,yBpBtNE,qBoByNF,gBAEA,qBACE,oB1BuPoC,C0BtPpC,UAKE,yC1BkW8B,C0B/VhC,gCAME,a5BhPK,C4BiPL,qB5BxPE,C4B4PN,8DAEE,YACA,oB1B8H0B,C0B7H1B,sBAGF,wBACE,a5B9PO,C4B+PP,wB5BnQO,C4BuQT,2BACE,aAIF,8BACE,oBACA,0BAIJ,kBACE,iC1ByNsC,C0BxNtC,kB1BgH4B,C0B/G5B,qB1B+G4B,C0B9G5B,kB1B+G4B,CD9QxB,kBAtCa,C2ByMnB,kBACE,+B1BkNsC,C0BjNtC,iB1B6G4B,C0B5G5B,oB1B4G4B,C0B3G5B,iB1B4G4B,CDnRxB,iBAtCa,C2BsNnB,aACE,kBACA,qBACA,WACA,kC1BgMsC,C0B/LtC,gBAGF,mBACE,kBACA,UACA,WACA,kC1BwLsC,C0BvLtC,SACA,gBACA,UAEA,4CACE,oB1BoKoC,C0BnKpC,yC1BwE0B,C0BpE5B,+FAEE,wB5BhUO,C4BoUP,sDACE,gB1B0Ta,C0BtTjB,0DACE,0BAIJ,mBACE,kBACA,MACA,QACA,OACA,UACA,kC1BuJsC,C0BtJtC,uBACA,gBAEA,e1BjE4B,C0BkE5B,e1B7D4B,C0B8D5B,a5BrVS,C4BsVT,qB5B7VM,C4B8VN,yBpBlVE,qBoBsVF,0BACE,kBACA,MACA,QACA,SACA,UACA,cACA,4B1BgIoC,C0B/HpC,uBACA,e1B7E0B,C0B8E1B,a5BrWO,C4BsWP,iBT7WA,wBnBEO,C4B6WP,oBpBnWA,gCoB8WJ,cACE,WACA,cACA,UACA,+BACA,gBAEA,oBACE,UAIA,kG1BmOyC,C0BlOzC,8F1BkOyC,C0BjOzC,uF1BiOyC,C0B9N3C,gCACE,SAGF,oCACE,U1BmNyC,C0BlNzC,W1BkNyC,C0BjNzC,oBTlZA,wBjBoP0B,C0BgK1B,Q1BkNyC,CM1lBzC,mBSFE,sGW6YF,CACA,gBX1YE,uCWiYJ,oCXhYM,iBW2YJ,2CT1ZA,wBjB2mByC,C0B5M3C,6CACE,U1B4LgC,C0B3LhC,Y1B4LgC,C0B3LhC,oBACA,c1B2LgC,C0B1LhC,wB5BjaO,C4BkaP,2BpBzZA,mBoB8ZF,gCACE,U1BwLyC,C0BvLzC,W1BuLyC,CiBnmBzC,wBjBoP0B,C0B0L1B,Q1BwLyC,CM1lBzC,mBSFE,sGWuaF,CACA,gBXpaE,uCW4ZJ,gCX3ZM,iBWqaJ,uCTpbA,wBjB2mByC,C0BlL3C,gCACE,U1BkKgC,C0BjKhC,Y1BkKgC,C0BjKhC,oBACA,c1BiKgC,C0BhKhC,wB5B3bO,C4B4bP,2BpBnbA,mBoBwbF,yBACE,U1B8JyC,C0B7JzC,W1B6JyC,C0B5JzC,aACA,kB1BtE0B,C0BuE1B,iB1BvE0B,CiBlY1B,wBjBoP0B,C0BuN1B,Q1B2JyC,CM1lBzC,mBSFE,sGWocF,CACA,gBXjcE,uCWsbJ,yBXrbM,iBWkcJ,gCTjdA,wBjB2mByC,C0BrJ3C,yBACE,U1BqIgC,C0BpIhC,Y1BqIgC,C0BpIhC,oBACA,c1BoIgC,C0BnIhC,+BACA,2BACA,mBAIF,8BACE,wB5B/dO,CQSP,mBoB0dF,8BACE,kBACA,wB5BreO,CQSP,mBoBieA,6CACE,wB5BzeK,C4B4eP,sDACE,eAGF,yCACE,wB5BjfK,C4BofP,yCACE,eAGF,kCACE,wB5BzfK,C4B8fX,gEXzfM,sGW4fJ,CXxfI,uCWqfN,gEXpfQ,iBYhBR,KACE,aACA,eACA,eACA,gBACA,gBAGF,UACE,cACA,mB1BCA,gC0BGE,qBAIF,mBACE,a7BZO,C6BaP,oBACA,eAQJ,UACE,gCAEA,oBACE,mBACA,+BrBZA,8BACA,+BLZF,oD0B2BI,oC3BmpB8B,C2BhpBhC,6BACE,a7BnCK,C6BoCL,+BACA,2BAIJ,8DAEE,a7B1CO,C6B2CP,qB7BlDI,C6BmDJ,iC3BwoBgC,C2BroBlC,yBAEE,gBrBnCA,yBACA,0BqB8CF,qBrBxDE,qBqB4DF,uDAEE,U7B1EI,C6B2EJ,wB3ByK0B,C2B/J5B,wCAEE,cACA,kBAKF,kDAEE,aACA,YACA,kBAUF,uBACE,aAEF,qBACE,cCpGJ,QACE,kBACA,aACA,eACA,mBACA,8BACA,mBAIA,oIACE,aACA,eACA,mBACA,8BAoBJ,cACE,qBACA,oB5BiqBkC,C4BhqBlC,uB5BgqBkC,C4B/pBlC,iB5BgFO,CDRH,iBAtCa,C6BhCjB,oBACA,mB3B1CA,wC2B6CE,qBASJ,YACE,aACA,sBACA,eACA,gBACA,gBAEA,sBACE,gBACA,eAGF,2BACE,gBACA,WASJ,aACE,qBACA,iB5BwlBkC,C4BvlBlC,oB5BulBkC,C4B3kBpC,iBACE,gBACA,YAGA,mBAIF,gBACE,sB7BSI,iBAtCa,C6B+BjB,cACA,+BACA,+BtBxGE,qBLFF,4C2B8GE,qBAMJ,qBACE,qBACA,YACA,aACA,sBACA,WACA,mCAGF,mBACE,e5B+kBkC,C4B9kBlC,gBlBtEE,4BkBkFI,gMACE,gBACA,gBlBjGN,yBkB6FA,kBAoBI,qBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,mB5BwhBwB,C4BvhBxB,kB5BuhBwB,C4BlhB5B,gMACE,iBAcF,qCACE,iBAGF,mCACE,wBAGA,gBAGF,kCACE,clBhJN,4BkBkFI,gMACE,gBACA,gBlBjGN,yBkB6FA,kBAoBI,qBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,mB5BwhBwB,C4BvhBxB,kB5BuhBwB,C4BlhB5B,gMACE,iBAcF,qCACE,iBAGF,mCACE,wBAGA,gBAGF,kCACE,clBhJN,4BkBkFI,gMACE,gBACA,gBlBjGN,yBkB6FA,kBAoBI,qBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,mB5BwhBwB,C4BvhBxB,kB5BuhBwB,C4BlhB5B,gMACE,iBAcF,qCACE,iBAGF,mCACE,wBAGA,gBAGF,kCACE,clBhJN,6BkBkFI,gMACE,gBACA,gBlBjGN,0BkB6FA,kBAoBI,qBACA,2BAEA,8BACE,mBAEA,6CACE,kBAGF,wCACE,mB5BwhBwB,C4BvhBxB,kB5BuhBwB,C4BlhB5B,gMACE,iBAcF,qCACE,iBAGF,mCACE,wBAGA,gBAGF,kCACE,cAhEN,eAoBI,qBACA,2BAnBA,8KACE,gBACA,eAmBF,2BACE,mBAEA,0CACE,kBAGF,qCACE,mB5BwhBwB,C4BvhBxB,kB5BuhBwB,C4BlhB5B,8KACE,iBAcF,kCACE,iBAGF,gCACE,wBAGA,gBAGF,+BACE,aAcR,4BACE,oB5BggBgC,CCxtBlC,oE2B2NI,oB5B6f8B,C4BxfhC,oCACE,oB5Bqf8B,CCttBlC,oF2BoOM,oB5Bmf4B,C4Bhf9B,6CACE,oB5Bif4B,C4B7ehC,0KAIE,oB5Bwe8B,C4BpelC,8BACE,oB5BiegC,C4BhehC,2B5BqegC,C4BlelC,mCACE,mRAGF,2BACE,oB5BwdgC,C4BvdhC,6BACE,oB5Bwd8B,CCxtBlC,sE2BmQM,oB5Bqd4B,C4B7clC,2BACE,U9BtRI,CGUN,kE2B+QI,U9BzRE,C8B8RJ,mCACE,0B5B0b8B,CC/sBlC,kF2BwRM,2B5Bwb4B,C4Brb9B,4CACE,2B5Bsb4B,C4BlbhC,sKAIE,U9B9SE,C8BkTN,6BACE,0B5BsagC,C4BrahC,iC5B0agC,C4BvalC,kCACE,yRAGF,0BACE,0B5B6ZgC,C4B5ZhC,4BACE,U9B9TE,CGUN,oE2BuTM,U9BjUA,C+BFR,MACE,kBACA,aACA,sBACA,YAEA,qBACA,qB/BLM,C+BMN,2BACA,kCvBKE,qBuBFF,SACE,eACA,cAGF,kBACE,mBACA,sBAEA,8BACE,mBvBCF,2CACA,4CuBEA,6BACE,sBvBUF,+CACA,8CuBJF,8DAEE,aAIJ,WAGE,cAGA,eACA,e/BkJc,C+B9IhB,YACE,qB/B4Ic,C+BzIhB,eACE,qBACA,gBAGF,sBACE,gB5BrDA,iB4B0DE,qBAGF,sBACE,mB/B2HY,C+BnHhB,aACE,wBACA,gBAEA,gC7BgvBkC,C6B/uBlC,yCAEA,yBvBvEE,0DuB4EJ,aACE,wBAEA,gC7BquBkC,C6BpuBlC,sCAEA,wBvBlFE,0DuB4FJ,kBACE,uBACA,uBACA,sBACA,gBAGF,mBACE,uBACA,sBAIF,kBACE,kBACA,MACA,QACA,SACA,OACA,e7B2sBkC,CM1zBhC,kCuBmHJ,yCAGE,cACA,WAGF,wBvBjHI,2CACA,4CuBqHJ,2BvBxGI,+CACA,8CuBgHF,iBACE,kB7BmrBgC,CUlxBhC,yBmB6FJ,WAMI,aACA,mBACA,mBACA,kBAEA,iBAEE,YACA,iB7BuqB8B,C6BtqB9B,gBACA,gB7BqqB8B,E6BxpBlC,kBACE,kB7BupBgC,CUlxBhC,yBmBuHJ,YAQI,aACA,mBAGA,kBAEE,YACA,gBAEA,wBACE,cACA,cAKA,mCvBzKJ,0BACA,6BuB2KM,iGAGE,0BAEF,oGAGE,6BAIJ,oCvB1KJ,yBACA,4BuB4KM,mGAGE,yBAEF,sGAGE,6BAcV,oBACE,qB/BhDY,CYxIZ,yBmBsLJ,cAMI,c7BylBgC,C6BxlBhC,kB7BylBgC,C6BxlBhC,UACA,SAEA,oBACE,qBACA,YAUN,WACE,qBAEA,iBACE,gBAEA,oCACE,gBvBvOF,6BACA,4BuB0OA,qCvBzPA,yBACA,0BuB4PA,8BvBtQA,gBuBwQE,mBC1RN,YACE,aACA,eACA,oBACA,kB9BmiCkC,C8BjiClC,gBACA,wBhCCS,CQUP,qBwBLF,kCACE,kB9BuhCgC,C8BrhChC,0CACE,WACA,mB9BmhC8B,C8BlhC9B,ahCPK,CgCQL,YAUJ,gDACE,0BAGF,gDACE,qBAGF,wBACE,ahC3BO,CiCZX,YACE,a5BGA,eACA,gBGaE,qByBZJ,WACE,kBACA,cACA,qBACA,iBACA,gB/BmxBkC,C+BlxBlC,ajCOO,CiCLP,qBjCRM,CiCSN,yBAEA,iBACE,UACA,ajCEe,CiCDf,qBACA,wBjCbO,CiCcP,oBjCbO,CiCgBT,iBACE,UACA,S/B2wBgC,C+B1wBhC,yC/B8W0B,C+BxW1B,kCACE,czBaF,8BACA,iCyBTA,iCzBNA,+BACA,kCyBUF,6BACE,UACA,UjCzCI,CiC0CJ,wB/B0M0B,C+BzM1B,oB/ByM0B,C+BtM5B,+BACE,ajCzCO,CiC0CP,oBAEA,YACA,qBjCnDI,CiCoDJ,oBjCjDO,CkCNT,0BACE,sBjC2HE,iBAtCa,CiCnFf,ehCmO0B,CgC9NxB,iD1BqCF,6BACA,gC0BjCE,gD1BkBF,8BACA,iC0BhCF,0BACE,qBjC2HE,kBAtCa,CiCnFf,ehCoO0B,CgC/NxB,iD1BqCF,6BACA,gC0BjCE,gD1BkBF,8BACA,iC2B9BJ,OACE,qBACA,mBlCiEE,ckC/DF,enC8IiB,CmC7IjB,cACA,kBACA,mBACA,wB3BKE,qBSFE,6HkBDJ,ClBKI,uCkBfN,OlBgBQ,iBdLN,4BgCGI,qBAKJ,aACE,aAKJ,YACE,kBACA,SAOF,YACE,kBjC+3BkC,CiC93BlC,iBjC83BkC,CMr5BhC,oB2BgCF,eCjDA,WACA,wBlC0Ea,CC5Db,4CiCVI,WACA,yBAGF,4CAEE,UACA,yCDqCJ,iBCjDA,WACA,wBlC0Ea,CC5Db,gDiCVI,WACA,yBAGF,gDAEE,UACA,4CDqCJ,eCjDA,WACA,wBlC0Ea,CC5Db,4CiCVI,WACA,yBAGF,4CAEE,UACA,2CDqCJ,YCjDA,WACA,wBlC0Ea,CC5Db,sCiCVI,WACA,yBAGF,sCAEE,UACA,0CDqCJ,eCjDA,WACA,wBlC0Ea,CC5Db,4CiCVI,WACA,yBAGF,4CAEE,UACA,0CDqCJ,cCjDA,WACA,wBlC0Ea,CC5Db,0CiCVI,WACA,yBAGF,0CAEE,UACA,0CDqCJ,aCjDA,cACA,wBlC0Ea,CC5Db,wCiCVI,cACA,yBAGF,wCAEE,UACA,4CDqCJ,YCjDA,WACA,wBlC0Ea,CC5Db,sCiCVI,WACA,yBAGF,sCAEE,UACA,yCCbN,WACE,kBACA,kBnCuzBkC,CmCrzBlC,wBrCIS,CQUP,oBI0CA,yByB5DJ,WAQI,mBAIJ,iBACE,gBACA,e7BIE,gB8BdJ,OACE,kBACA,uBACA,kBpCu9BkC,CoCt9BlC,+B9BUE,qB8BLJ,eAEE,cAIF,YACE,etCmIiB,CsC3HnB,mBACE,mBAGA,0BACE,kBACA,MACA,QACA,UACA,uBACA,cAUF,eC/CA,aDgDqH,CnB3CnH,wBmB2CuB,CC9CzB,oBD8CqE,CC5CrE,kBACE,yBAGF,2BACE,cDsCF,iBC/CA,aDgDqH,CnB3CnH,wBmB2CuB,CC9CzB,oBD8CqE,CC5CrE,oBACE,yBAGF,6BACE,cDsCF,eC/CA,aDgDqH,CnB3CnH,wBmB2CuB,CC9CzB,oBD8CqE,CC5CrE,kBACE,yBAGF,2BACE,cDsCF,YC/CA,aDgDqH,CnB3CnH,wBmB2CuB,CC9CzB,oBD8CqE,CC5CrE,eACE,yBAGF,wBACE,cDsCF,eC/CA,aDgDqH,CnB3CnH,wBmB2CuB,CC9CzB,oBD8CqE,CC5CrE,kBACE,yBAGF,2BACE,cDsCF,cC/CA,aDgDqH,CnB3CnH,wBmB2CuB,CC9CzB,oBD8CqE,CC5CrE,iBACE,yBAGF,0BACE,cDsCF,aC/CA,aDgDqH,CnB3CnH,wBmB2CuB,CC9CzB,oBD8CqE,CC5CrE,gBACE,sBAGF,yBACE,cDsCF,YC/CA,aDgDqH,CnB3CnH,wBmB2CuB,CC9CzB,oBD8CqE,CC5CrE,eACE,yBAGF,wBACE,WCRF,gCACE,gCACA,4BAIJ,UACE,aACA,WtCg+BkC,CsC/9BlC,gBACA,cvCmHI,iBAtCa,CuC3EjB,wBxCNS,CQUP,qBgCCJ,cACE,aACA,sBACA,uBACA,gBACA,UxClBM,CwCmBN,kBACA,mBACA,wBtCq9BkC,Ceh+B9B,yBuBYJ,CvBRI,uCuBDN,cvBEQ,iBuBUR,sBrBYE,qMqBVA,0BAIA,uBACE,kDAGE,uCAJJ,uBAKM,gBC1CR,OACE,aACA,uBAGF,YACE,OCFF,YACE,aACA,sBAGA,eACA,gBlCQE,qBkCEJ,wBACE,WACA,a1CTS,C0CUT,mBvCPA,4DuCWE,UACA,a1CfO,C0CgBP,qBACA,wB1CvBO,C0C0BT,+BACE,a1CnBO,C0CoBP,wB1C3BO,C0CoCX,iBACE,kBACA,cACA,uBAGA,qB1C5CM,C0C6CN,kCAEA,6BlC1BE,+BACA,gCkC6BF,4BlChBE,mCACA,kCkCmBF,oDAEE,a1CnDO,C0CoDP,oBACA,qB1C3DI,C0C+DN,wBACE,UACA,U1CjEI,C0CkEJ,wBxCkL0B,CwCjL1B,oBxCiL0B,CwC9K5B,kCACE,mBAEA,yCACE,gBACA,oBxC2JwB,CwC7I1B,uBACE,mBAGE,oDlC1BJ,iCAZA,0BkC2CI,mDlC3CJ,+BAYA,4BkCoCI,+CACE,aAGF,yDACE,oBxC0HoB,CwCzHpB,oBAEA,gEACE,iBACA,qBxCqHkB,CUhL1B,yB8BmCA,0BACE,mBAGE,uDlC1BJ,iCAZA,0BkC2CI,sDlC3CJ,+BAYA,4BkCoCI,kDACE,aAGF,4DACE,oBxC0HoB,CwCzHpB,oBAEA,mEACE,iBACA,qBxCqHkB,EUhL1B,yB8BmCA,0BACE,mBAGE,uDlC1BJ,iCAZA,0BkC2CI,sDlC3CJ,+BAYA,4BkCoCI,kDACE,aAGF,4DACE,oBxC0HoB,CwCzHpB,oBAEA,mEACE,iBACA,qBxCqHkB,EUhL1B,yB8BmCA,0BACE,mBAGE,uDlC1BJ,iCAZA,0BkC2CI,sDlC3CJ,+BAYA,4BkCoCI,kDACE,aAGF,4DACE,oBxC0HoB,CwCzHpB,oBAEA,mEACE,iBACA,qBxCqHkB,EUhL1B,0B8BmCA,0BACE,mBAGE,uDlC1BJ,iCAZA,0BkC2CI,sDlC3CJ,+BAYA,4BkCoCI,kDACE,aAGF,4DACE,oBxC0HoB,CwCzHpB,oBAEA,mEACE,iBACA,qBxCqHkB,EwCvG9B,kBlCnHI,gBkCsHF,mCACE,qBAEA,8CACE,sBCzIJ,yBACE,aDoJsE,CCnJtE,wBDmJuC,CvCxIzC,4GwCPM,aD+IkE,CC9IlE,yBAGF,uDACE,U3CRA,C2CSA,wBDyIkE,CCxIlE,oBDwIkE,CCrJxE,2BACE,aDoJsE,CCnJtE,wBDmJuC,CvCxIzC,gHwCPM,aD+IkE,CC9IlE,yBAGF,yDACE,U3CRA,C2CSA,wBDyIkE,CCxIlE,oBDwIkE,CCrJxE,yBACE,aDoJsE,CCnJtE,wBDmJuC,CvCxIzC,4GwCPM,aD+IkE,CC9IlE,yBAGF,uDACE,U3CRA,C2CSA,wBDyIkE,CCxIlE,oBDwIkE,CCrJxE,sBACE,aDoJsE,CCnJtE,wBDmJuC,CvCxIzC,sGwCPM,aD+IkE,CC9IlE,yBAGF,oDACE,U3CRA,C2CSA,wBDyIkE,CCxIlE,oBDwIkE,CCrJxE,yBACE,aDoJsE,CCnJtE,wBDmJuC,CvCxIzC,4GwCPM,aD+IkE,CC9IlE,yBAGF,uDACE,U3CRA,C2CSA,wBDyIkE,CCxIlE,oBDwIkE,CCrJxE,wBACE,aDoJsE,CCnJtE,wBDmJuC,CvCxIzC,0GwCPM,aD+IkE,CC9IlE,yBAGF,sDACE,U3CRA,C2CSA,wBDyIkE,CCxIlE,oBDwIkE,CCrJxE,uBACE,aDoJsE,CCnJtE,wBDmJuC,CvCxIzC,wGwCPM,aD+IkE,CC9IlE,sBAGF,qDACE,U3CRA,C2CSA,wBDyIkE,CCxIlE,oBDwIkE,CCrJxE,sBACE,aDoJsE,CCnJtE,wBDmJuC,CvCxIzC,sGwCPM,aD+IkE,CC9IlE,yBAGF,oDACE,U3CRA,C2CSA,wBDyIkE,CCxIlE,oBDwIkE,CExJ1E,OACE,Y3C8HI,gBAtCa,C2CtFjB,e5CoJiB,C4CnJjB,cACA,U5CWM,C4CVN,wB1CslCkC,C0CrlClC,WzCKA,ayCDE,U5CKI,C4CJJ,qBzCIF,sFyCCI,YAWN,aACE,UACA,+BACA,SAMF,iBACE,oBCtCF,OAGE,gB3Cy4BkC,C2Cx4BlC,e3Cw4BkC,CD7wB9B,kBAtCa,C4ClFjB,sC3C04BkC,C2Cz4BlC,4BACA,gCACA,yC3C24BkC,C2C14BlC,UrCOE,qBqCJF,wBACE,oB3C83BgC,C2C33BlC,eACE,UAGF,YACE,cACA,UAGF,YACE,aAIJ,cACE,aACA,mBACA,sBACA,a7CxBS,C6CyBT,sC3Cm3BkC,C2Cl3BlC,4BACA,wCrCZE,2CACA,4CqCeJ,YACE,c3Ci2BkC,C4Cv4BpC,YAEE,gBAEA,mBACE,kBACA,gBAKJ,OACE,eACA,MACA,OACA,Y5C2pBkC,C4C1pBlC,aACA,WACA,YACA,gBAGA,UAOF,cACE,kBACA,WACA,Y5C+4BkC,C4C74BlC,oBAGA,0B7B3BI,iC6B4BF,CACA,6B5Cq6BgC,Ce97B9B,uC6BuBJ,0B7BtBM,iB6B0BN,0BACE,c5Cm6BgC,C4C/5BlC,kCACE,qB5Cg6BgC,C4C55BpC,yBACE,aACA,6BAEA,wCACE,8BACA,gBAGF,8EAEE,cAGF,qCACE,gBAIJ,uBACE,aACA,mBACA,6BAGA,+BACE,cACA,0BACA,mBACA,WAIF,+CACE,sBACA,uBACA,YAEA,8DACE,gBAGF,uDACE,aAMN,eACE,kBACA,aACA,sBACA,WAGA,oBACA,qB9C5GM,C8C6GN,4BACA,gCtClGE,oBsCsGF,UAIF,gBACE,eACA,MACA,OACA,Y5C+iBkC,C4C9iBlC,YACA,aACA,qB9CnHM,C8CsHN,+BACA,+B5C6zBkC,C4CxzBpC,cACE,aACA,uBACA,8BACA,iB5C2zBkC,C4C1zBlC,gCtCtHE,0CACA,2CsCwHF,qBACE,iB5CszBgC,C4CpzBhC,8BAKJ,aACE,gBACA,e5CsI4B,C4CjI9B,YACE,kBAGA,cACA,Y5CwwBkC,C4CpwBpC,cACE,aACA,eACA,mBACA,yBACA,eACA,6BtCzIE,8CACA,6CsC8IF,gBACE,cAKJ,yBACE,kBACA,YACA,WACA,YACA,gBlCvIE,yBkC6IF,cACE,e5CqwBgC,C4CpwBhC,oBAGF,yBACE,+BAEA,wCACE,gCAIJ,uBACE,+BAEA,+BACE,4BACA,mBAQJ,yB5C6uBkC,EUp5BhC,yBkC2KF,oBAEE,e5CquBgC,EUl5BhC,0BkCkLF,0B5C+tBkC,E6C58BpC,SACE,kBACA,Y7C+qBkC,C6C9qBlC,cACA,Q7C21BkC,C8C/1BlC,8LhDwGA,CgDtGA,kBACA,e9C2R4B,C8C1R5B,e9C+R4B,C8C9R5B,gBACA,iBACA,qBACA,iBACA,oBACA,sBACA,kBACA,oBACA,mBACA,gB/CgHI,kBAtCa,C8C9EjB,qBACA,UAEA,wB7C+0BkC,C6C70BlC,gBACE,kBACA,cACA,W7C+0BgC,C6C90BhC,Y7C+0BgC,C6C70BhC,wBACE,kBACA,WACA,2BACA,mBAKN,mDACE,gBAEA,iEACE,SAEA,iFACE,MACA,2BACA,qB/CxBE,C+C6BR,uDACE,gBAEA,qEACE,OACA,W7CizBgC,C6ChzBhC,Y7C+yBgC,C6C7yBhC,qFACE,QACA,iCACA,uB/CxCE,C+C6CR,yDACE,gBAEA,uEACE,MAEA,uFACE,SACA,2BACA,wB/CtDE,C+C2DR,qDACE,gBAEA,mEACE,QACA,W7CmxBgC,C6ClxBhC,Y7CixBgC,C6C/wBhC,mFACE,OACA,iCACA,sB/CtEE,C+C2FR,eACE,e7C6uBkC,C6C5uBlC,qBACA,U/CxGM,C+CyGN,kBACA,qB/ChGM,CQEJ,qByClBJ,SACE,kBACA,MACA,OACA,Y/C6qBkC,C+C5qBlC,cACA,e/C62BkC,C8Cl3BlC,8LhDwGA,CgDtGA,kBACA,e9C2R4B,C8C1R5B,e9C+R4B,C8C9R5B,gBACA,iBACA,qBACA,iBACA,oBACA,sBACA,kBACA,oBACA,mBACA,gB/CgHI,kBAtCa,CgD7EjB,qBACA,qBjDPM,CiDQN,4BACA,gCzCGE,oByCCF,gBACE,kBACA,cACA,U/C62BgC,C+C52BhC,Y/C62BgC,C+C52BhC,eAEA,+CAEE,kBACA,cACA,WACA,2BACA,mBAKN,mDACE,mB/C81BkC,C+C51BlC,iEACE,2BAEA,iFACE,SACA,2BACA,gC/Cy1B8B,C+Ct1BhC,+EACE,U/C0LwB,C+CzLxB,2BACA,qBjD9CE,CiDmDR,uDACE,iB/C00BkC,C+Cx0BlC,qEACE,yBACA,W/Cs0BgC,C+Cr0BhC,W/Co0BgC,C+Cn0BhC,eAEA,qFACE,OACA,iCACA,kC/Ck0B8B,C+C/zBhC,mFACE,Q/CmKwB,C+ClKxB,iCACA,uBjDrEE,CiD0ER,yDACE,gB/CmzBkC,C+CjzBlC,uEACE,wBAEA,uFACE,MACA,iCACA,mC/C8yB8B,C+C3yBhC,qFACE,O/C+IwB,C+C9IxB,iCACA,wBjDzFE,CiD8FN,yGACE,kBACA,MACA,SACA,cACA,U/C0xBgC,C+CzxBhC,oBACA,WACA,gCAIJ,qDACE,kB/CmxBkC,C+CjxBlC,mEACE,0BACA,W/C+wBgC,C+C9wBhC,W/C6wBgC,C+C5wBhC,eAEA,mFACE,QACA,iCACA,iC/C2wB8B,C+CxwBhC,iFACE,S/C4GwB,C+C3GxB,iCACA,sBjD5HE,CiDkJR,gBACE,qBACA,gBhD3BI,cAtCa,CgDoEjB,wB/C6tBkC,C+C5tBlC,gCzCnIE,0CACA,2CyCqIF,sBACE,aAIJ,cACE,qBACA,ajDzJS,CkDFX,UACE,kBAGF,wBACE,mBAGF,gBACE,kBACA,WACA,gBCvBA,uBACE,cACA,WACA,WDwBJ,eACE,kBACA,aACA,WACA,WACA,mBACA,2BjClBI,oCiCmBJ,CjCfI,uCiCQN,ejCPQ,iBiCiBR,8DAGE,cAGF,yEAEE,2BAGF,yEAEE,4BASA,8BACE,UACA,4BACA,eAGF,kJAGE,UACA,UAGF,qFAEE,UACA,UjC5DE,yBiC6DF,CjCzDE,uCiCqDJ,qFjCpDM,iBiCiER,8CAEE,kBACA,MACA,SACA,UAEA,aACA,mBACA,uBACA,ShDo9BmC,CgDn9BnC,UlD3FM,CkD4FN,kBACA,UhDk9BmC,CeriC/B,4BiCoFJ,CjChFI,uCiCkEN,8CjCjEQ,iBdLN,oH+CwFE,UlDlGI,CkDmGJ,qBACA,UACA,UhD28BiC,CgDx8BrC,uBACE,OAKF,uBACE,QAOF,wDAEE,qBACA,UhDo8BmC,CgDn8BnC,WhDm8BmC,CgDl8BnC,mCAEF,4BACE,sNAEF,4BACE,uNASF,qBACE,kBACA,QACA,SACA,OACA,WACA,aACA,uBACA,eAEA,gBhD05BmC,CgDz5BnC,ehDy5BmC,CgDx5BnC,gBAEA,wBACE,uBACA,cACA,UhDw5BiC,CgDv5BjC,UhDw5BiC,CgDv5BjC,gBhDy5BiC,CgDx5BjC,ehDw5BiC,CgDv5BjC,mBACA,eACA,qBlDjKI,CkDkKJ,4BAEA,oCACA,uCACA,WjC5JE,2BiC6JF,CjCzJE,uCiC0IJ,wBjCzIM,iBiC2JN,6BACE,UASJ,kBACE,kBACA,UACA,YACA,SACA,WACA,iBACA,oBACA,UlD5LM,CkD6LN,kBE/LF,0BACE,6BAGF,gBACE,qBACA,UlDokCsB,CkDnkCtB,WlDmkCsB,CkDlkCtB,2BACA,gCACA,iCAEA,kBACA,8CAGF,mBACE,UlD6jCwB,CkD5jCxB,WlD4jCwB,CkD3jCxB,iBlD6jCwB,CkDtjC1B,wBACE,GACE,mBAEF,IACE,UACA,gBAIJ,cACE,qBACA,UlDoiCsB,CkDniCtB,WlDmiCsB,CkDliCtB,2BACA,8BAEA,kBACA,UACA,4CAGF,iBACE,UlD6hCwB,CkD5hCxB,WlD4hCwB,CkDxhCxB,uCACE,8BAEE,yBC3DN,mDACA,yCACA,+CACA,+CACA,yDACA,mDCFE,YACE,oCnDUF,sFmDLI,oCANJ,cACE,oCnDUF,8FmDLI,oCANJ,YACE,oCnDUF,sFmDLI,oCANJ,SACE,oCnDUF,0EmDLI,oCANJ,YACE,oCnDUF,sFmDLI,oCANJ,WACE,oCnDUF,kFmDLI,oCANJ,UACE,oCnDUF,8EmDLI,oCANJ,SACE,oCnDUF,0EmDLI,oCCCN,UACE,iCAGF,gBACE,0CCXF,yDACA,oDACA,2EACA,0DACA,sDAEA,8BACA,sCACA,0CACA,4CACA,wCAGE,gBACE,gCADF,kBACE,gCADF,gBACE,gCADF,aACE,gCADF,gBACE,gCADF,eACE,gCADF,cACE,gCADF,aACE,gCAIJ,cACE,6BAOF,YACE,+BAGF,SACE,gCAGF,aACE,yCACA,0CAGF,eACE,0CACA,6CAGF,gBACE,6CACA,4CAGF,cACE,yCACA,4CAGF,YACE,+BAGF,gBACE,6BAGF,cACE,+BAGF,WACE,2BLxEA,iBACE,cACA,WACA,WMOE,4V7CiDF,yB6CjDE,wX7CiDF,yB6CjDE,wX7CiDF,yB6CjDE,wX7CiDF,0B6CjDE,wXAUN,aAEI,mZCrBJ,kBACE,kBACA,cACA,WACA,UACA,gBAEA,0BACE,cACA,WAGF,2IAKE,kBACA,MACA,SACA,OACA,WACA,YACA,SASA,gCACE,2BADF,gCACE,mBADF,+BACE,gBADF,+BACE,iBCzBF,wCACA,8CACA,wDACA,8DAEA,qCACA,yCACA,qDACA,oCACA,oCACA,oCACA,wCACA,wCAEA,6DACA,yDACA,0DACA,kEACA,gEAEA,qDACA,iDACA,kDACA,sDACA,oDAEA,yDACA,qDACA,sDACA,8DACA,4DACA,wDAEA,4CACA,mDACA,+CACA,gDACA,oDACA,kD/CYA,yB+ClDA,2CACA,iDACA,2DACA,iEAEA,wCACA,4CACA,wDACA,uCACA,uCACA,uCACA,2CACA,2CAEA,gEACA,4DACA,6DACA,qEACA,mEAEA,wDACA,oDACA,qDACA,yDACA,uDAEA,4DACA,wDACA,yDACA,iEACA,+DACA,2DAEA,+CACA,sDACA,kDACA,mDACA,uDACA,sD/CYA,yB+ClDA,2CACA,iDACA,2DACA,iEAEA,wCACA,4CACA,wDACA,uCACA,uCACA,uCACA,2CACA,2CAEA,gEACA,4DACA,6DACA,qEACA,mEAEA,wDACA,oDACA,qDACA,yDACA,uDAEA,4DACA,wDACA,yDACA,iEACA,+DACA,2DAEA,+CACA,sDACA,kDACA,mDACA,uDACA,sD/CYA,yB+ClDA,2CACA,iDACA,2DACA,iEAEA,wCACA,4CACA,wDACA,uCACA,uCACA,uCACA,2CACA,2CAEA,gEACA,4DACA,6DACA,qEACA,mEAEA,wDACA,oDACA,qDACA,yDACA,uDAEA,4DACA,wDACA,yDACA,iEACA,+DACA,2DAEA,+CACA,sDACA,kDACA,mDACA,uDACA,sD/CYA,0B+ClDA,2CACA,iDACA,2DACA,iEAEA,wCACA,4CACA,wDACA,uCACA,uCACA,uCACA,2CACA,2CAEA,gEACA,4DACA,6DACA,qEACA,mEAEA,wDACA,oDACA,qDACA,yDACA,uDAEA,4DACA,wDACA,yDACA,iEACA,+DACA,2DAEA,+CACA,sDACA,kDACA,mDACA,uDACA,sDC1CA,kCACA,oCACA,kChDoDA,yBgDtDA,qCACA,uCACA,sChDoDA,yBgDtDA,qCACA,uCACA,sChDoDA,yBgDtDA,qCACA,uCACA,sChDoDA,0BgDtDA,qCACA,uCACA,sCCLF,4NCCA,kOAKF,WACE,eACA,MACA,QACA,OACA,Y5DgqBkC,C4D7pBpC,cACE,eACA,QACA,SACA,OACA,Y5DwpBkC,C4DppBlC,4BADF,YAEI,gBACA,MACA,Y5DgpBgC,E6DzqBpC,SCEE,kBACA,UACA,WACA,UACA,YACA,gBACA,sBACA,mBACA,SAUA,mDAEE,gBACA,WACA,YACA,iBACA,UACA,mBC7BJ,yEACA,2DACA,8DACA,wCCCI,6RAIJ,kCACA,mCAIA,uCACA,wCAEA,+BACA,gCCTQ,yBACA,YAEE,wBAEF,YAEE,0BAEF,YAEE,2BAEF,YAEE,yBAfF,8BACA,YAEE,6BAEF,YAEE,+BAEF,YAEE,gCAEF,YAEE,8BAfF,6BACA,YAEE,4BAEF,YAEE,8BAEF,YAEE,+BAEF,YAEE,6BAfF,4BACA,YAEE,2BAEF,YAEE,6BAEF,YAEE,8BAEF,YAEE,4BAfF,8BACA,YAEE,6BAEF,YAEE,+BAEF,YAEE,gCAEF,YAEE,8BAfF,4BACA,YAEE,2BAEF,YAEE,6BAEF,YAEE,8BAEF,YAEE,4BAfF,0BACA,YAEE,yBAEF,YAEE,2BAEF,YAEE,4BAEF,YAEE,0BAfF,+BACA,YAEE,8BAEF,YAEE,gCAEF,YAEE,iCAEF,YAEE,+BAfF,8BACA,YAEE,6BAEF,YAEE,+BAEF,YAEE,gCAEF,YAEE,8BAfF,6BACA,YAEE,4BAEF,YAEE,8BAEF,YAEE,+BAEF,YAEE,6BAfF,+BACA,YAEE,8BAEF,YAEE,gCAEF,YAEE,iCAEF,YAEE,+BAfF,6BACA,YAEE,4BAEF,YAEE,8BAEF,YAEE,+BAEF,YAEE,6BAQF,iCACA,cAEE,+BAEF,cAEE,iCAEF,cAEE,kCAEF,cAEE,gCAfF,gCACA,cAEE,8BAEF,cAEE,gCAEF,cAEE,iCAEF,cAEE,+BAfF,8BACA,cAEE,4BAEF,cAEE,8BAEF,cAEE,+BAEF,cAEE,6BAfF,gCACA,cAEE,8BAEF,cAEE,gCAEF,cAEE,iCAEF,cAEE,+BAfF,8BACA,cAEE,4BAEF,cAEE,8BAEF,cAEE,+BAEF,cAEE,6BAMN,+BACA,kBAEE,2BAEF,kBAEE,6BAEF,kBAEE,8BAEF,kBAEE,4BvDTF,yBuDlDI,4BACA,kBAEE,wBAEF,kBAEE,0BAEF,kBAEE,2BAEF,kBAEE,yBAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAfF,+BACA,kBAEE,2BAEF,kBAEE,6BAEF,kBAEE,8BAEF,kBAEE,4BAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,+BACA,kBAEE,2BAEF,kBAEE,6BAEF,kBAEE,8BAEF,kBAEE,4BAfF,6BACA,kBAEE,yBAEF,kBAEE,2BAEF,kBAEE,4BAEF,kBAEE,0BAfF,kCACA,kBAEE,8BAEF,kBAEE,gCAEF,kBAEE,iCAEF,kBAEE,+BAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAfF,kCACA,kBAEE,8BAEF,kBAEE,gCAEF,kBAEE,iCAEF,kBAEE,+BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAQF,oCACA,oBAEE,+BAEF,oBAEE,iCAEF,oBAEE,kCAEF,oBAEE,gCAfF,mCACA,oBAEE,8BAEF,oBAEE,gCAEF,oBAEE,iCAEF,oBAEE,+BAfF,iCACA,oBAEE,4BAEF,oBAEE,8BAEF,oBAEE,+BAEF,oBAEE,6BAfF,mCACA,oBAEE,8BAEF,oBAEE,gCAEF,oBAEE,iCAEF,oBAEE,+BAfF,iCACA,oBAEE,4BAEF,oBAEE,8BAEF,oBAEE,+BAEF,oBAEE,6BAMN,kCACA,wBAEE,2BAEF,wBAEE,6BAEF,wBAEE,8BAEF,wBAEE,6BvDTF,yBuDlDI,4BACA,kBAEE,wBAEF,kBAEE,0BAEF,kBAEE,2BAEF,kBAEE,yBAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAfF,+BACA,kBAEE,2BAEF,kBAEE,6BAEF,kBAEE,8BAEF,kBAEE,4BAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,+BACA,kBAEE,2BAEF,kBAEE,6BAEF,kBAEE,8BAEF,kBAEE,4BAfF,6BACA,kBAEE,yBAEF,kBAEE,2BAEF,kBAEE,4BAEF,kBAEE,0BAfF,kCACA,kBAEE,8BAEF,kBAEE,gCAEF,kBAEE,iCAEF,kBAEE,+BAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAfF,kCACA,kBAEE,8BAEF,kBAEE,gCAEF,kBAEE,iCAEF,kBAEE,+BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAQF,oCACA,oBAEE,+BAEF,oBAEE,iCAEF,oBAEE,kCAEF,oBAEE,gCAfF,mCACA,oBAEE,8BAEF,oBAEE,gCAEF,oBAEE,iCAEF,oBAEE,+BAfF,iCACA,oBAEE,4BAEF,oBAEE,8BAEF,oBAEE,+BAEF,oBAEE,6BAfF,mCACA,oBAEE,8BAEF,oBAEE,gCAEF,oBAEE,iCAEF,oBAEE,+BAfF,iCACA,oBAEE,4BAEF,oBAEE,8BAEF,oBAEE,+BAEF,oBAEE,6BAMN,kCACA,wBAEE,2BAEF,wBAEE,6BAEF,wBAEE,8BAEF,wBAEE,6BvDTF,yBuDlDI,4BACA,kBAEE,wBAEF,kBAEE,0BAEF,kBAEE,2BAEF,kBAEE,yBAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAfF,+BACA,kBAEE,2BAEF,kBAEE,6BAEF,kBAEE,8BAEF,kBAEE,4BAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,+BACA,kBAEE,2BAEF,kBAEE,6BAEF,kBAEE,8BAEF,kBAEE,4BAfF,6BACA,kBAEE,yBAEF,kBAEE,2BAEF,kBAEE,4BAEF,kBAEE,0BAfF,kCACA,kBAEE,8BAEF,kBAEE,gCAEF,kBAEE,iCAEF,kBAEE,+BAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAfF,kCACA,kBAEE,8BAEF,kBAEE,gCAEF,kBAEE,iCAEF,kBAEE,+BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAQF,oCACA,oBAEE,+BAEF,oBAEE,iCAEF,oBAEE,kCAEF,oBAEE,gCAfF,mCACA,oBAEE,8BAEF,oBAEE,gCAEF,oBAEE,iCAEF,oBAEE,+BAfF,iCACA,oBAEE,4BAEF,oBAEE,8BAEF,oBAEE,+BAEF,oBAEE,6BAfF,mCACA,oBAEE,8BAEF,oBAEE,gCAEF,oBAEE,iCAEF,oBAEE,+BAfF,iCACA,oBAEE,4BAEF,oBAEE,8BAEF,oBAEE,+BAEF,oBAEE,6BAMN,kCACA,wBAEE,2BAEF,wBAEE,6BAEF,wBAEE,8BAEF,wBAEE,6BvDTF,0BuDlDI,4BACA,kBAEE,wBAEF,kBAEE,0BAEF,kBAEE,2BAEF,kBAEE,yBAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAfF,+BACA,kBAEE,2BAEF,kBAEE,6BAEF,kBAEE,8BAEF,kBAEE,4BAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,+BACA,kBAEE,2BAEF,kBAEE,6BAEF,kBAEE,8BAEF,kBAEE,4BAfF,6BACA,kBAEE,yBAEF,kBAEE,2BAEF,kBAEE,4BAEF,kBAEE,0BAfF,kCACA,kBAEE,8BAEF,kBAEE,gCAEF,kBAEE,iCAEF,kBAEE,+BAfF,iCACA,kBAEE,6BAEF,kBAEE,+BAEF,kBAEE,gCAEF,kBAEE,8BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAfF,kCACA,kBAEE,8BAEF,kBAEE,gCAEF,kBAEE,iCAEF,kBAEE,+BAfF,gCACA,kBAEE,4BAEF,kBAEE,8BAEF,kBAEE,+BAEF,kBAEE,6BAQF,oCACA,oBAEE,+BAEF,oBAEE,iCAEF,oBAEE,kCAEF,oBAEE,gCAfF,mCACA,oBAEE,8BAEF,oBAEE,gCAEF,oBAEE,iCAEF,oBAEE,+BAfF,iCACA,oBAEE,4BAEF,oBAEE,8BAEF,oBAEE,+BAEF,oBAEE,6BAfF,mCACA,oBAEE,8BAEF,oBAEE,gCAEF,oBAEE,iCAEF,oBAEE,+BAfF,iCACA,oBAEE,4BAEF,oBAEE,8BAEF,oBAEE,+BAEF,oBAEE,6BAMN,kCACA,wBAEE,2BAEF,wBAEE,6BAEF,wBAEE,8BAEF,wBAEE,6BChEJ,uBACE,kBACA,MACA,QACA,SACA,OACA,UAEA,oBACA,WAEA,+BCVJ,wSAIA,4CACA,yCACA,2CACA,eCTE,gBACA,uBACA,mBDeE,sCACA,wCACA,kEzDqCA,yByDvCA,yCACA,2CACA,8CzDqCA,yByDvCA,yCACA,2CACA,8CzDqCA,yByDvCA,yCACA,2CACA,8CzDqCA,0ByDvCA,yCACA,2CACA,8CAMJ,oDACA,oDACA,sDAIA,8CACA,oDACA,+CACA,6CACA,kDACA,0CAIA,kCEvCE,cACE,yBpEUF,0CoELM,yBANN,gBACE,yBpEUF,8CoELM,yBANN,cACE,yBpEUF,0CoELM,yBANN,WACE,yBpEUF,oCoELM,yBANN,cACE,yBpEUF,0CoELM,yBANN,aACE,yBpEUF,wCoELM,yBANN,YACE,yBpEUF,sCoELM,sBANN,WACE,yBpEUF,oCoELM,yBFuCR,oCACA,qCAEA,+CACA,qDAIA,WGvDE,WACA,oBACA,iBACA,+BACA,SHuDF,sDAEA,YACE,iCACA,gCAKF,qCIjEA,SACE,8BAGF,WACE,0CCCE,qBAKE,4BAEA,2BAIA,YACE,0BASJ,mBACE,6BAcF,IACE,gCAEF,eAEE,yBACA,wBAQF,MACE,2BAGF,OAEE,wBAGF,QAGE,UACA,SAGF,MAEE,uBAQF,MACE,OxE+hC8B,CwE7hChC,KACE,2BAEF,WACE,2BAIF,QACE,aAEF,OACE,sBAGF,uCACE,oCAEA,0FAEE,iCAKF,kNAEE,oCAIJ,4DACE,cAEA,6OAIE,oB1ExHG,C0E4HP,8HACE,cACA,oB1E9HK,E2EDX,YACE,yBACA,cACA,YzE4HO,CyE3HP,qC3EiLc,C2EhLd,oBzEkO4B,CyEjO5B,gBAEA,uBACE,gBAGF,kCAEE,yBAEA,sEACE,WACA,yBAIJ,8DAGE,yBAEA,oHACE,WACA,yBAEA,yIACE,YAKN,qCAEE,yBAEA,yEACE,WACA,yBAEA,uFACE,YAKN,0DAGE,yBAEA,gHACE,WACA,yBAKN,kBACE,cACA,mBACA,aACA,kBzE4DO,CyE3DP,WACA,yBACA,e3EyEiB,C2EvEjB,yBC5EA,mCACA,kCACA,qBACA,kBACA,oBACA,mBACA,cCRA,YAEA,kCACA,gBACA,mBF4EE,YAMF,4BACE,wB3EjCY,C2EmCZ,kEAEE,wB3ErCU,C2EwCZ,8GAGE,wB3EzCa,C2E4Cf,qEAEE,wB3EjDY,C2EoDd,0GAGE,wB3ErDa,C8EvDjB,WACE,oB5E4O0B,C4E3O1B,qC9EyLY,C8ExLZ,oBAGF,qBACE,a9EGO,C+EXX,WACE,8BACA,iB7EoIO,C6EnIP,cAEA,wBACE,a/EKO,CgFIX,uLACE,UACA,yBAEA,2NACE,gBACA,kBACA,Y9EgHK,C8E/GL,sBACA,sBACA,yBACA,kBACA,oB9EmN0B,C8EjN1B,+SACE,ehFwHa,CgFvHb,iBAvBU,CA0BZ,uXACE,gBAGF,+SACE,iBA/BU,CAgCV,cACA,kBACA,Q9E4FG,C8E3FH,S9E2FG,C8E1FH,WACA,UACA,gBACA,kBACA,yBACA,WACA,kBACA,qCACA,6BACA,ehFiGa,CgF9Ff,+PACE,e9E6EG,C8EpEP,kCACE,yBAEA,gDACE,yBACA,WAUJ,8DACE,yBAEA,mFACE,yBACA,WAUJ,0DACE,yBAEA,+EACE,yBACA,WASJ,qCACE,yBAEA,mDACE,yBACA,WAYJ,gBACE,UACA,qBACA,oBACA,+BACA,gBAEA,uBACE,gBA9HO,CAiIT,uBACE,gBAlIO,CAmIP,MACA,OAGF,mBACE,qCACA,oBACA,qBAEA,0BACE,Q9EhBC,C+EnIT,YACE,WAOF,YACE,kBACA,gBACA,kBACA,YAEA,kBLdA,mCACA,kCACA,qBACA,kBACA,oBACA,mBACA,cCRA,YAEA,kCACA,gBACA,mBIcE,YAGF,kBACE,qBAIJ,0BACE,mBAQA,gCACE,SAWA,sCACE,mBAKN,kBAIE,kB/E4EO,C+E/EP,iCACE,gBAOF,wCAKE,iBCpEF,SACE,qBCDF,4GACE,UAGF,eACE,iBACA,gBAGF,qBACE,aACA,UACA,qBACA,eACA,enF4IW,CmF3IX,gBACA,kBACA,mBACA,8BAGF,iBACE,cACA,oBAEA,kBACA,SAGF,0CACE,UnFMmB,CoFrCvB,IACE,eACA,YCFF,EAEE,0BAIA,arFaO,CqFZP,0BACA,8BACA,4BACA,6BrFUa,CqFRb,gBAEE,arFOe,CqFNf,mCAGF,SACE,arFGe,CqFFf,mCCpBJ,uBACE,atFcS,CuFbX,IACE,YvFyKO,CuFxKP,kBACA,eACA,UvFmFc,CuFlFd,wBvFYO,CuFVP,SACE,wBvF0EY,CuFvEd,OACE,UvFyEY,CuFtEd,QACE,UvFqEY,CuFlEd,QACE,UvFiEY,CuF9Dd,QACE,UvF6DY,CuF1Dd,QACE,UvFyDY,CuFtDd,SACE,avFwDY,CuFrDd,OACE,avF0DY,CuFvDd,QACE,avFsDY,CuFnDd,QACE,avFkDY,CuF/Cd,QACE,avF4CY,CuFzCd,QACE,avF0CY,CuFvCd,QACE,avFsCY,CuFnCd,QACE,avF8BY,CuF3Bd,OACE,avFyBY,CuFtBd,QACE,avFqBY,CuFlBd,QACE,avFgBY,CuFbd,OACE,avFcY,CuFXd,QACE,avFUY,CuFPd,QACE,avFMY,CuFHd,QACE,avFEY,CuFCd,QACE,avFFY,CuFKd,OACE,avFHY,CuFMd,QACE,avFPY,CuFUd,QACE,avFXY,CuFcd,QACE,avFfY,CuFkBd,QACE,avFnBY,CuFuBd,4BACE,avFjCY,CuFoCd,QACE,avFhCY,CuFmCd,QACE,avFhCY,CuFmCd,QACE,avFxCY,CuF2Cd,QACE,avFxCY,CuF2Cd,QACE,avF5CY,CuF+Cd,QACE,avFhDY,CuFmDd,OACE,UvF1DY,CuF6Dd,QACE,avF1DY,CuF6Dd,QACE,avFjEY,CuFoEd,QACE,avFnEY,CuFsEd,QACE,avFrEY,CuFwEd,QACE,avF7EY,CuFgFd,QACE,avF9EY,CuFiFd,QACE,UvFtFY,CuFyFd,QACE,UvF1FY,CuF6Fd,QACE,avF3FY,CuF8Fd,QACE,avFjGY,CuFoGd,QACE,avFjGY,CuFoGd,QACE,avFzGY,CuF4Gd,QACE,UvF9GY,CuFiHd,QACE,UvFlHY,CuFqHd,QACE,UvFtHY,CuFyHd,QACE,avFzHY,CuF4Hd,QACE,avF7HY,CuFgId,QACE,avFjIY,CuFoId,OACE,avF9HY,CuFiId,OACE,UvF3IY,CuF8Id,QACE,avF7IY,CuFgJd,QACE,UvFlJY,CuFmJZ,evFrFe,CuFwFjB,QACE,avFnJY,CuFsJd,QACE,avF9JY,CuF+JZ,evF9Fe,CuFiGjB,QACE,avF3JY,CuF4JZ,evFnGe,CuFsGjB,QACE,avFhKY,CuFmKd,OACE,UvFzKY,CuF4Kd,OACE,UvF9KY,CuFiLd,QACE,kBAGF,QACE,evFvHe,CuF2HjB,MACE,UvF1LY,CuF4LZ,gCAEE,cAGF,cACE,UvFlMU,CwFnFhB,mBAGE,0BAGA,qCANF,mBAOI,exFuKM,CwFtKN,0BAIJ,UACE,iBACA,qBAOF,cACE,qBxFtBM,CwFuBN,4BACA,yBACA,qCxF8Jc,CwF7Jd,cAEA,kBACE,uBAEA,8BACE,eAIJ,qBACE,exF4Ge,CwF3Gf,gBACA,wBxFtCO,CwFyCT,wBACE,cACA,wBxFrBK,CwFwBP,8BACE,oBtFyL0B,CsFxL1B,yBACA,kBACA,iBACA,gBACA,cACA,yBACA,oBACA,oBAQJ,aACE,yBACA,oCAOF,QACE,UACA,gBACA,sBAEA,WACE,kBACA,qBACA,sBACA,wCAEA,sBACE,iBACA,aAIJ,UvFxBE,iBuF0BA,qBACA,kBxF8DqB,CwF5DrB,exFkDe,CwFjDf,etF0M0B,CuF9S5B,0BACE,kBAGF,qCACE,kBAGF,+CACE,SAGF,8CACE,yBAGF,uCACE,+CACA,aACA,mBAGF,qDACE,wCAGF,yBACE,wCACA,sBAGF,oCACE,gBAGF,2BACE,wBAGF,iDACE,2BAMF,8CACE,SACA,WAGF,6CACE,eACA,UAGF,+DACE,UC1DF,OACE,qBACA,iBACA,iBAGF,QACE,aAEA,yBAEE,kBAIJ,2BACE,qBAGF,QACE,iB1FqJK,C0FpJL,qBAGF,qBACE,kBACA,cACA,YACA,WACA,6BACA,WACA,UACA,yBACA,oBxF6M0B,CwF3M1B,uDAEE,kBACA,WACA,QACA,SAGF,2BACE,WACA,SACA,qBACA,gCAGF,4BACE,QACA,YACA,sBACA,gCAIJ,gBACE,cAEA,gCACE,yBACA,WAEA,uCACE,aAKN,QACE,eAGE,oBACE,yBAKN,yBACE,mBxFoDK,CwFnDL,wCAIJ,UACE,kBACA,mBACA,a1F9ES,C0F+ET,iBACA,qBACA,qBAEA,YACE,a1FrFO,C0FuFP,oCAEE,a1FhFa,C0FmFf,mBACE,a1FnFa,C0FyFjB,kBACE,iB1F6DK,C0F1DP,wBACE,aCpHJ,0CAGE,cACA,YzFmIO,CyFlIP,qC3FwLc,C2FvLd,oBzFyO4B,CyFxO5B,gBAEA,iFACE,gBAIJ,iBACE,cACA,mBACA,aACA,kBzFqHO,CyFpHP,e3FoIiB,C2FlIjB,wBfjBA,mCACA,kCACA,qBACA,kBACA,oBACA,mBACA,cCRA,YAEA,kCACA,gBACA,mBcoBF,cACE,yBAEA,+BACE,WACA,yBAEA,sCACE,YAKN,gBACE,yBAEA,iCACE,WACA,yBAEA,wCACE,YAKN,YACE,yBAEA,6BACE,WACA,yBACA,oBACA,iBAEA,oCACE,YAOJ,gCACE,wB3FZe,C2FejB,4BACE,wB3FnBc,C2FuBd,6CACE,yBAIJ,8BACE,wB3F3Be,C4FpDnB,cACE,eACA,YACA,WACA,e1Fu8BkC,C0Ft8BlC,gBACA,mBACA,aAEA,uBACE,8BAGF,gBACE,cACA,qBAIJ,qBACE,cACA,aACA,eACA,cACA,eACA,wB5FXO,C4FYP,U5FzBM,E4F0BN,OAEA,kCACE,aAIJ,kCACE,cACA,aACA,WACA,aAGF,qCACE,cACA,WACA,SACA,cACA,UACA,6BAGF,qCACE,qBACA,SAGF,uCACE,qBACA,YACA,cAGF,qCACE,cACE,cCnEF,wBACE,wBCDJ,uCAEE,UCFF,QACE,kBACA,qBAIF,KACE,gBAIF,QACE,qCACA,mBACA,gBAGF,sBACE,SACA,kBACA,4BACA,yBAEA,4BACE,yBAIJ,SAEE,4Q/FgGA,CgGlHF,IACE,WAGF,QACE,ehGqIiB,CiGhJnB,WACE,aAGF,YACE,cAIF,gBACE,0BjGkCe,CiGjCf,wBjGmCY,CiGjCZ,4CAGE,0BjG4Ba,CiG1Bb,gHAEE,ajGNa,CiGWjB,2BACE,cAGF,4BACE,aAIF,gCACE,UjGpCI,CiGuCN,0BACE,cAEA,4BACE,0BjGGkB,CiGCtB,qCACE,wBjGnCK,CiGuCP,qCACE,0BjGPoB,CiGWtB,wCACE,0BjGZoB,CiGgBtB,2BACE,oBjGfkB,CiGiBlB,wCACE,0BjGpBkB,CiGyBtB,8BACE,wBjGzBU,CiG2BV,qCACE,wBjG5BQ,CiG6BR,0BjG9BkB,CiGmCtB,4PAOE,gCACA,4BAKA,gDACE,SAYJ,2BACE,WACA,wBjG7DkB,CiG8DlB,oBjGjGK,CiGmGL,0OAKE,WACA,wBjGzGG,CiG6GP,8BACE,WACA,wBjG5EkB,CiG6ElB,oBjGhHK,CiGmHP,oCACE,4CAGF,2CACE,0BjGvFoB,CiG0FtB,kCACE,0BjG3FoB,CiG4FpB,oBjG7HK,CiG+HL,2CACE,oCAIJ,qBACE,ajG7FY,C","sources":["webpack://sphinx-wagtail-theme/./sass/theme.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/bootstrap.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_root.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_reboot.scss","webpack://sphinx-wagtail-theme/./sass/_variables.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/vendor/_rfs.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_variables.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_hover.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_type.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_lists.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_images.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_image.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_border-radius.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_code.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_grid.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_grid.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_breakpoints.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_grid-framework.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_tables.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_table-row.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_forms.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_transition.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_forms.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_gradients.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_buttons.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_buttons.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_transitions.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_dropdown.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_caret.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_nav-divider.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_button-group.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_input-group.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_custom-forms.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_nav.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_navbar.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_card.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_breadcrumb.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_pagination.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_pagination.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_badge.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_badge.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_jumbotron.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_alert.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_alert.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_progress.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_media.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_list-group.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_list-group.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_close.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_toasts.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_modal.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_tooltip.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_reset-text.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_popover.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_carousel.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_clearfix.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_spinners.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_align.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_background-variant.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_background.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_borders.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_display.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_embed.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_flex.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_float.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_interactions.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_position.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_screenreaders.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_screen-reader.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_shadows.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_sizing.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_spacing.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_stretched-link.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_text.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_text-truncate.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_text-emphasis.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/mixins/_text-hide.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/utilities/_visibility.scss","webpack://sphinx-wagtail-theme/./node_modules/bootstrap/scss/_print.scss","webpack://sphinx-wagtail-theme/./sass/_component_admotion.scss","webpack://sphinx-wagtail-theme/./node_modules/@fortawesome/fontawesome-free/scss/_mixins.scss","webpack://sphinx-wagtail-theme/./sass/_mixins.scss","webpack://sphinx-wagtail-theme/./sass/_component_figure.scss","webpack://sphinx-wagtail-theme/./sass/_component_quotes.scss","webpack://sphinx-wagtail-theme/./sass/_component_bignums.scss","webpack://sphinx-wagtail-theme/./sass/_component_docutils.scss","webpack://sphinx-wagtail-theme/./sass/_component_footer.scss","webpack://sphinx-wagtail-theme/./sass/_component_header.scss","webpack://sphinx-wagtail-theme/./sass/_component_image.scss","webpack://sphinx-wagtail-theme/./sass/_component_link.scss","webpack://sphinx-wagtail-theme/./sass/_component_math.scss","webpack://sphinx-wagtail-theme/./sass/_component_pygments.scss","webpack://sphinx-wagtail-theme/./sass/_component_search.scss","webpack://sphinx-wagtail-theme/./sass/_component_sphinx_tabs.scss","webpack://sphinx-wagtail-theme/./sass/_component_toc.scss","webpack://sphinx-wagtail-theme/./sass/_component_version.scss","webpack://sphinx-wagtail-theme/./sass/_component_versionpicker_fix.scss","webpack://sphinx-wagtail-theme/./sass/_component_autodoc.scss","webpack://sphinx-wagtail-theme/./sass/_component_copybutton.scss","webpack://sphinx-wagtail-theme/./sass/_layout.scss","webpack://sphinx-wagtail-theme/./sass/_utilities.scss","webpack://sphinx-wagtail-theme/./sass/_darkmode.scss"],"sourcesContent":["/*!\n * Bootstrap v4.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */:root{--blue: #007bff;--indigo: #2e1f5e;--purple: #6f42c1;--pink: #e83e8c;--red: #dc3545;--orange: #fd7e14;--yellow: #ffc107;--green: #28a745;--teal: #007d7e;--cyan: #17a2b8;--white: #fff;--gray: #6c6c6c;--gray-dark: #313131;--primary: #2e1f5e;--secondary: #6c6c6c;--success: #a456c9;--info: #007d7e;--warning: #2f128d;--danger: #a72925;--light: #f2f2f2;--dark: #313131;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: \"-apple-system\", \"BlinkMacSystemFont\", \"Segoe UI\", \"system-ui\", \"Roboto\", \"Helvetica Neue\", \"Arial\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--font-family-monospace: \"ui-monospace\", \"Menlo\", \"Monaco\", \"Cascadia Mono\", \"Segoe UI Mono\", \"Roboto Mono\", \"Oxygen Mono\", \"Ubuntu Monospace\", \"Source Code Pro\", \"Fira Mono\", \"Droid Sans Mono\", \"Courier New\", monospace, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:\"-apple-system\",\"BlinkMacSystemFont\",\"Segoe UI\",\"system-ui\",\"Roboto\",\"Helvetica Neue\",\"Arial\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-size:1rem;font-weight:400;line-height:1.5;color:#212121;text-align:left;background-color:#fff}[tabindex=\"-1\"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#2e1f5e;text-decoration:none;background-color:rgba(0,0,0,0)}a:hover{color:#13c7a8;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:\"ui-monospace\",\"Menlo\",\"Monaco\",\"Cascadia Mono\",\"Segoe UI Mono\",\"Roboto Mono\",\"Oxygen Mono\",\"Ubuntu Monospace\",\"Source Code Pro\",\"Fira Mono\",\"Droid Sans Mono\",\"Courier New\",monospace,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c6c6c;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5em;font-weight:700;line-height:1.2}h1,.h1{font-size:2em}h2,.h2{font-size:1.75em}h3,.h3{font-size:1.5em}h4,.h4{font-size:1.25em}h5,.h5{font-size:1em}h6,.h6{font-size:0.85em}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c6c6c}.blockquote-footer::before{content:\"— \"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dedede;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c6c6c}code{font-size:87.5%;color:#d02040;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212121;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212121}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:20px;padding-left:20px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-20px;margin-left:-20px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:20px;padding-left:20px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.table,table.docutils:not(.field-list){width:100%;margin-bottom:1rem;color:#212121}.table th,table.docutils:not(.field-list) th,.table td,table.docutils:not(.field-list) td{padding:.75rem;vertical-align:top;border-top:1px solid #dedede}.table thead th,table.docutils:not(.field-list) thead th{vertical-align:bottom;border-bottom:2px solid #dedede}.table tbody+tbody,table.docutils:not(.field-list) tbody+tbody{border-top:2px solid #dedede}.table-sm th,.table-sm td{padding:.3rem}.table-bordered,body.theme-dark table.docutils:not(.field-list),table.docutils:not(.field-list){border:1px solid #dedede}.table-bordered th,body.theme-dark table.docutils:not(.field-list) th,table.docutils:not(.field-list) th,.table-bordered td,body.theme-dark table.docutils:not(.field-list) td,table.docutils:not(.field-list) td{border:1px solid #dedede}.table-bordered thead th,body.theme-dark table.docutils:not(.field-list) thead th,table.docutils:not(.field-list) thead th,.table-bordered thead td,body.theme-dark table.docutils:not(.field-list) thead td,table.docutils:not(.field-list) thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd),table.docutils:not(.field-list) tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212121;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#c4c0d2}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#928bab}.table-hover .table-primary:hover{background-color:#b6b1c7}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b6b1c7}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#d6d6d6}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#b3b3b3}.table-hover .table-secondary:hover{background-color:#c9c9c9}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c9c9c9}.table-success,.table-success>th,.table-success>td{background-color:#e6d0f0}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#d0a7e3}.table-hover .table-success:hover{background-color:#dcbdea}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#dcbdea}.table-info,.table-info>th,.table-info>td{background-color:#b8dbdb}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#7abbbc}.table-hover .table-info:hover{background-color:#a7d2d2}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a7d2d2}.table-warning,.table-warning>th,.table-warning>td{background-color:#c5bddf}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#9384c4}.table-hover .table-warning:hover{background-color:#b6acd7}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#b6acd7}.table-danger,.table-danger>th,.table-danger>td{background-color:#e6c3c2}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#d1908e}.table-hover .table-danger:hover{background-color:#dfb1b0}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#dfb1b0}.table-light,.table-light>th,.table-light>td{background-color:#fbfbfb}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#f8f8f8}.table-hover .table-light:hover{background-color:#eee}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#eee}.table-dark,body.theme-dark table.docutils:not(.field-list),.table-dark>th,body.theme-dark table.docutils:not(.field-list)>th,.table-dark>td,body.theme-dark table.docutils:not(.field-list)>td{background-color:#c5c5c5}.table-dark th,body.theme-dark table.docutils:not(.field-list) th,.table-dark td,body.theme-dark table.docutils:not(.field-list) td,.table-dark thead th,.table-dark tbody+tbody,body.theme-dark table.docutils:not(.field-list) tbody+tbody{border-color:#949494}.table-hover .table-dark:hover,.table-hover body.theme-dark table.docutils:hover:not(.field-list),body.theme-dark .table-hover table.docutils:hover:not(.field-list){background-color:#b8b8b8}.table-hover .table-dark:hover>td,.table-hover body.theme-dark table.docutils:hover:not(.field-list)>td,body.theme-dark .table-hover table.docutils:hover:not(.field-list)>td,.table-hover .table-dark:hover>th,.table-hover body.theme-dark table.docutils:hover:not(.field-list)>th,body.theme-dark .table-hover table.docutils:hover:not(.field-list)>th{background-color:#b8b8b8}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th,table.docutils:not(.field-list) .thead-dark th,body.theme-dark table.docutils:not(.field-list) thead th{color:rgba(255,255,255,.8);background-color:#120c24;border-color:#201641}.table .thead-light th,table.docutils:not(.field-list) .thead-light th,table.docutils:not(.field-list) thead th{color:#494949;background-color:#e9e9e9;border-color:#dedede}.table-dark,body.theme-dark table.docutils:not(.field-list){color:rgba(255,255,255,.8);background-color:#120c24}.table-dark th,body.theme-dark table.docutils:not(.field-list) th,.table-dark td,body.theme-dark table.docutils:not(.field-list) td,.table-dark thead th{border-color:#201641}.table-dark.table-bordered,table.table-dark.docutils:not(.field-list),body.theme-dark table.docutils:not(.field-list){border:0}.table-dark.table-striped tbody tr:nth-of-type(odd),table.table-dark.docutils:not(.field-list) tbody tr:nth-of-type(odd),body.theme-dark table.docutils:not(.field-list) tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover,body.theme-dark table.table-hover.docutils:not(.field-list) tbody tr:hover{color:rgba(255,255,255,.8);background-color:rgba(255,255,255,.075)}@media(max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered,body.theme-dark .table-responsive-sm>table.docutils:not(.field-list),.table-responsive-sm>table.docutils:not(.field-list){border:0}}@media(max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered,body.theme-dark .table-responsive-md>table.docutils:not(.field-list),.table-responsive-md>table.docutils:not(.field-list){border:0}}@media(max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered,body.theme-dark .table-responsive-lg>table.docutils:not(.field-list),.table-responsive-lg>table.docutils:not(.field-list){border:0}}@media(max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered,body.theme-dark .table-responsive-xl>table.docutils:not(.field-list),.table-responsive-xl>table.docutils:not(.field-list){border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered,body.theme-dark .table-responsive>table.docutils:not(.field-list),.table-responsive>table.docutils:not(.field-list){border:0}.form-control{display:block;width:100%;height:calc(1.5em + 0.75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#494949;background-color:#fff;background-clip:padding-box;border:1px solid #cecece;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:rgba(0,0,0,0);border:0}.form-control:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #494949}.form-control:focus{color:#494949;background-color:#fff;border-color:#5d3fbe;outline:0;box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.form-control::placeholder{color:#6c6c6c;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9e9e9;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:focus::-ms-value{color:#494949;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212121;background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{color:#6c6c6c}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#a456c9}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#fff;background-color:rgba(164,86,201,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#a456c9;padding-right:calc(1.5em + 0.75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23a456c9' d='M2.3 6.73L.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'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#a456c9;box-shadow:0 0 0 .2rem rgba(164,86,201,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#a456c9;padding-right:calc(0.75em + 2.3125rem);background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23313131' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat,#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23a456c9' d='M2.3 6.73L.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'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#a456c9;box-shadow:0 0 0 .2rem rgba(164,86,201,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#a456c9}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#a456c9}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#a456c9}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:#b97dd5;background-color:#b97dd5}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(164,86,201,.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#a456c9}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#a456c9}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#a456c9;box-shadow:0 0 0 .2rem rgba(164,86,201,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#a72925}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#fff;background-color:rgba(167,41,37,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#a72925;padding-right:calc(1.5em + 0.75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a72925' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23a72925' stroke='none'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#a72925;box-shadow:0 0 0 .2rem rgba(167,41,37,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#a72925;padding-right:calc(0.75em + 2.3125rem);background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23313131' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat,#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a72925' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23a72925' stroke='none'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#a72925;box-shadow:0 0 0 .2rem rgba(167,41,37,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#a72925}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#a72925}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#a72925}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:#d1332e;background-color:#d1332e}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(167,41,37,.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#a72925}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#a72925}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#a72925;box-shadow:0 0 0 .2rem rgba(167,41,37,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212121;text-align:center;vertical-align:middle;user-select:none;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212121;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.btn-primary:hover{color:#fff;background-color:#201641;border-color:#1b1238}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#201641;border-color:#1b1238;box-shadow:0 0 0 .2rem rgba(77,65,118,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#1b1238;border-color:#170f2e}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(77,65,118,.5)}.btn-secondary{color:#fff;background-color:#6c6c6c;border-color:#6c6c6c}.btn-secondary:hover{color:#fff;background-color:#595959;border-color:#535353}.btn-secondary:focus,.btn-secondary.focus{color:#fff;background-color:#595959;border-color:#535353;box-shadow:0 0 0 .2rem rgba(130,130,130,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c6c6c;border-color:#6c6c6c}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#535353;border-color:#4c4c4c}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,130,130,.5)}.btn-success{color:#fff;background-color:#a456c9;border-color:#a456c9}.btn-success:hover{color:#fff;background-color:#933cbd;border-color:#8c39b3}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#933cbd;border-color:#8c39b3;box-shadow:0 0 0 .2rem rgba(178,111,209,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#a456c9;border-color:#a456c9}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#8c39b3;border-color:#8436a9}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(178,111,209,.5)}.btn-info{color:#fff;background-color:#007d7e;border-color:#007d7e}.btn-info:hover{color:#fff;background-color:#005758;border-color:#004a4b}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#005758;border-color:#004a4b;box-shadow:0 0 0 .2rem rgba(38,145,145,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#007d7e;border-color:#007d7e}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#004a4b;border-color:#003e3e}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,145,145,.5)}.btn-warning{color:#fff;background-color:#2f128d;border-color:#2f128d}.btn-warning:hover{color:#fff;background-color:#240e6b;border-color:#200c60}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#240e6b;border-color:#200c60;box-shadow:0 0 0 .2rem rgba(78,54,158,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#2f128d;border-color:#2f128d}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#200c60;border-color:#1c0b54}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(78,54,158,.5)}.btn-danger{color:#fff;background-color:#a72925;border-color:#a72925}.btn-danger:hover{color:#fff;background-color:#88211e;border-color:#7d1f1c}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#88211e;border-color:#7d1f1c;box-shadow:0 0 0 .2rem rgba(180,73,70,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#a72925;border-color:#a72925}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#7d1f1c;border-color:#731c19}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(180,73,70,.5)}.btn-light{color:#212121;background-color:#f2f2f2;border-color:#f2f2f2}.btn-light:hover{color:#212121;background-color:#dfdfdf;border-color:#d9d9d9}.btn-light:focus,.btn-light.focus{color:#212121;background-color:#dfdfdf;border-color:#d9d9d9;box-shadow:0 0 0 .2rem rgba(211,211,211,.5)}.btn-light.disabled,.btn-light:disabled{color:#212121;background-color:#f2f2f2;border-color:#f2f2f2}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#212121;background-color:#d9d9d9;border-color:#d2d2d2}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(211,211,211,.5)}.btn-dark{color:#fff;background-color:#313131;border-color:#313131}.btn-dark:hover{color:#fff;background-color:#1e1e1e;border-color:#181818}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#1e1e1e;border-color:#181818;box-shadow:0 0 0 .2rem rgba(80,80,80,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#313131;border-color:#313131}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#181818;border-color:#111}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(80,80,80,.5)}.btn-outline-primary{color:#2e1f5e;border-color:#2e1f5e}.btn-outline-primary:hover{color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(46,31,94,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#2e1f5e;background-color:rgba(0,0,0,0)}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(46,31,94,.5)}.btn-outline-secondary{color:#6c6c6c;border-color:#6c6c6c}.btn-outline-secondary:hover{color:#fff;background-color:#6c6c6c;border-color:#6c6c6c}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(108,108,108,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c6c6c;background-color:rgba(0,0,0,0)}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c6c6c;border-color:#6c6c6c}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,108,108,.5)}.btn-outline-success{color:#a456c9;border-color:#a456c9}.btn-outline-success:hover{color:#fff;background-color:#a456c9;border-color:#a456c9}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(164,86,201,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#a456c9;background-color:rgba(0,0,0,0)}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#a456c9;border-color:#a456c9}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(164,86,201,.5)}.btn-outline-info{color:#007d7e;border-color:#007d7e}.btn-outline-info:hover{color:#fff;background-color:#007d7e;border-color:#007d7e}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(0,125,126,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#007d7e;background-color:rgba(0,0,0,0)}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#007d7e;border-color:#007d7e}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,125,126,.5)}.btn-outline-warning{color:#2f128d;border-color:#2f128d}.btn-outline-warning:hover{color:#fff;background-color:#2f128d;border-color:#2f128d}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(47,18,141,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#2f128d;background-color:rgba(0,0,0,0)}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#2f128d;border-color:#2f128d}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(47,18,141,.5)}.btn-outline-danger{color:#a72925;border-color:#a72925}.btn-outline-danger:hover{color:#fff;background-color:#a72925;border-color:#a72925}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(167,41,37,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#a72925;background-color:rgba(0,0,0,0)}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#a72925;border-color:#a72925}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(167,41,37,.5)}.btn-outline-light{color:#f2f2f2;border-color:#f2f2f2}.btn-outline-light:hover{color:#212121;background-color:#f2f2f2;border-color:#f2f2f2}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(242,242,242,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f2f2f2;background-color:rgba(0,0,0,0)}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#212121;background-color:#f2f2f2;border-color:#f2f2f2}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(242,242,242,.5)}.btn-outline-dark{color:#313131;border-color:#313131}.btn-outline-dark:hover{color:#fff;background-color:#313131;border-color:#313131}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(49,49,49,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#313131;background-color:rgba(0,0,0,0)}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#313131;border-color:#313131}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(49,49,49,.5)}.btn-link{font-weight:400;color:#2e1f5e;text-decoration:none}.btn-link:hover{color:#13c7a8;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#6c6c6c;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212121;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9e9e9}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212121;text-align:inherit;white-space:nowrap;background-color:rgba(0,0,0,0);border:0}.dropdown-item:hover,.dropdown-item:focus{color:#141414;text-decoration:none;background-color:#e9e9e9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#2e1f5e}.dropdown-item.disabled,.dropdown-item:disabled{color:#ababab;pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:0.875rem;color:#6c6c6c;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212121}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#494949;text-align:center;white-space:nowrap;background-color:#e9e9e9;border:1px solid #cecece;border-radius:.25rem}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + 0.5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#2e1f5e;background-color:#2e1f5e}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#5d3fbe}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#7c64cc;border-color:#7c64cc}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#6c6c6c}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#e9e9e9}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:\"\";background-color:#fff;border:#ababab solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\"\";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#2e1f5e;background-color:#2e1f5e}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(46,31,94,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(46,31,94,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(46,31,94,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(0.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#ababab;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(46,31,94,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + 0.75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#494949;vertical-align:middle;background:#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23313131' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat;border:1px solid #cecece;border-radius:.25rem;appearance:none}.custom-select:focus{border-color:#5d3fbe;outline:0;box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.custom-select:focus::-ms-value{color:#494949;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\"1\"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c6c6c;background-color:#e9e9e9}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #494949}.custom-select-sm{height:calc(1.5em + 0.5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + 0.75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + 0.75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#5d3fbe;box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#e9e9e9}.custom-file-input:lang(en)~.custom-file-label::after{content:\"Browse\"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + 0.75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#494949;background-color:#fff;border:1px solid #cecece;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + 0.75rem);padding:.375rem .75rem;line-height:1.5;color:#494949;content:\"Browse\";background-color:#e9e9e9;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:rgba(0,0,0,0);appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(46,31,94,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(46,31,94,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(46,31,94,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#2e1f5e;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#7c64cc}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#dedede;border-color:rgba(0,0,0,0);border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2e1f5e;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#7c64cc}.custom-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#dedede;border-color:rgba(0,0,0,0);border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2e1f5e;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#7c64cc}.custom-range::-ms-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dedede;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dedede;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#ababab}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#ababab}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#ababab}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c6c6c;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dedede}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid rgba(0,0,0,0);border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9e9e9 #e9e9e9 #dedede}.nav-tabs .nav-link.disabled{color:#6c6c6c;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#494949;background-color:#fff;border-color:#dedede #dedede #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#2e1f5e}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:.25rem}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\"\";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media(max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:1.25rem}.card-subtitle{margin-top:-0.625rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:1.25rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.card-footer{padding:1.25rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.card-header-tabs{margin-right:-0.625rem;margin-bottom:-1.25rem;margin-left:-0.625rem;border-bottom:0}.card-header-pills{margin-right:-0.625rem;margin-left:-0.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(0.25rem - 1px)}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card-deck .card{margin-bottom:20px}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-20px;margin-left:-20px}.card-deck .card{flex:1 0 0%;margin-right:20px;margin-bottom:0;margin-left:20px}}.card-group>.card{margin-bottom:20px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:1.25rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9e9e9;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c6c6c;content:\">\"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c6c6c}.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2e1f5e;background-color:#fff;border:1px solid #dedede}.page-link:hover{z-index:2;color:#13c7a8;text-decoration:none;background-color:#e9e9e9;border-color:#dedede}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(46,31,94,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.page-item.disabled .page-link{color:#6c6c6c;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dedede}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#2e1f5e}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#1b1238}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(46,31,94,.5)}.badge-secondary{color:#fff;background-color:#6c6c6c}a.badge-secondary:hover,a.badge-secondary:focus{color:#fff;background-color:#535353}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,108,108,.5)}.badge-success{color:#fff;background-color:#a456c9}a.badge-success:hover,a.badge-success:focus{color:#fff;background-color:#8c39b3}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(164,86,201,.5)}.badge-info{color:#fff;background-color:#007d7e}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#004a4b}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,125,126,.5)}.badge-warning{color:#fff;background-color:#2f128d}a.badge-warning:hover,a.badge-warning:focus{color:#fff;background-color:#200c60}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(47,18,141,.5)}.badge-danger{color:#fff;background-color:#a72925}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#7d1f1c}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(167,41,37,.5)}.badge-light{color:#212121;background-color:#f2f2f2}a.badge-light:hover,a.badge-light:focus{color:#212121;background-color:#d9d9d9}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(242,242,242,.5)}.badge-dark{color:#fff;background-color:#313131}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#181818}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(49,49,49,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9e9e9;border-radius:.3rem}@media(min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid rgba(0,0,0,0);border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#181031;background-color:#d5d2df;border-color:#c4c0d2}.alert-primary hr{border-top-color:#b6b1c7}.alert-primary .alert-link{color:#05030b}.alert-secondary{color:#383838;background-color:#e2e2e2;border-color:#d6d6d6}.alert-secondary hr{border-top-color:#c9c9c9}.alert-secondary .alert-link{color:#1f1f1f}.alert-success{color:#552d69;background-color:#edddf4;border-color:#e6d0f0}.alert-success hr{border-top-color:#dcbdea}.alert-success .alert-link{color:#381e45}.alert-info{color:#004142;background-color:#cce5e5;border-color:#b8dbdb}.alert-info hr{border-top-color:#a7d2d2}.alert-info .alert-link{color:#000f0f}.alert-warning{color:#180949;background-color:#d5d0e8;border-color:#c5bddf}.alert-warning hr{border-top-color:#b6acd7}.alert-warning .alert-link{color:#09031c}.alert-danger{color:#571513;background-color:#edd4d3;border-color:#e6c3c2}.alert-danger hr{border-top-color:#dfb1b0}.alert-danger .alert-link{color:#2d0b0a}.alert-light{color:#7e7e7e;background-color:#fcfcfc;border-color:#fbfbfb}.alert-light hr{border-top-color:#eee}.alert-light .alert-link{color:#656565}.alert-dark{color:#191919;background-color:#d6d6d6;border-color:#c5c5c5}.alert-dark hr{border-top-color:#b8b8b8}.alert-dark .alert-link{color:#000}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.75rem;background-color:#e9e9e9;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#2e1f5e;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{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);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#494949;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#494949;text-decoration:none;background-color:#f2f2f2}.list-group-item-action:active{color:#212121;background-color:#e9e9e9}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c6c6c;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#2e1f5e;border-color:#2e1f5e}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#181031;background-color:#c4c0d2}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#181031;background-color:#b6b1c7}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#181031;border-color:#181031}.list-group-item-secondary{color:#383838;background-color:#d6d6d6}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#383838;background-color:#c9c9c9}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383838;border-color:#383838}.list-group-item-success{color:#552d69;background-color:#e6d0f0}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#552d69;background-color:#dcbdea}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#552d69;border-color:#552d69}.list-group-item-info{color:#004142;background-color:#b8dbdb}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#004142;background-color:#a7d2d2}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#004142;border-color:#004142}.list-group-item-warning{color:#180949;background-color:#c5bddf}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#180949;background-color:#b6acd7}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#180949;border-color:#180949}.list-group-item-danger{color:#571513;background-color:#e6c3c2}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#571513;background-color:#dfb1b0}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#571513;border-color:#571513}.list-group-item-light{color:#7e7e7e;background-color:#fbfbfb}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#7e7e7e;background-color:#eee}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#7e7e7e;border-color:#7e7e7e}.list-group-item-dark{color:#191919;background-color:#c5c5c5}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#191919;background-color:#b8b8b8}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#191919;border-color:#191919}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:rgba(0,0,0,0);border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:0.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c6c6c;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:\"\"}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dedede;border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dedede;border-bottom-right-radius:calc(0.3rem - 1px);border-bottom-left-radius:calc(0.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:\"-apple-system\",\"BlinkMacSystemFont\",\"Segoe UI\",\"system-ui\",\"Roboto\",\"Helvetica Neue\",\"Arial\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:\"\";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:\"-apple-system\",\"BlinkMacSystemFont\",\"Segoe UI\",\"system-ui\",\"Roboto\",\"Helvetica Neue\",\"Arial\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:\"\";border-color:rgba(0,0,0,0);border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=top]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=top]>.arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=top]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=top]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=right]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=right]>.arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=right]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=right]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=bottom]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=bottom]>.arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=bottom]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=bottom]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:\"\";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^=left]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=left]>.arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=left]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=left]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212121}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#2e1f5e !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#1b1238 !important}.bg-secondary{background-color:#6c6c6c !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#535353 !important}.bg-success{background-color:#a456c9 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#8c39b3 !important}.bg-info{background-color:#007d7e !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#004a4b !important}.bg-warning{background-color:#2f128d !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#200c60 !important}.bg-danger{background-color:#a72925 !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#7d1f1c !important}.bg-light{background-color:#f2f2f2 !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#d9d9d9 !important}.bg-dark{background-color:#313131 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#181818 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.border,.with-border{border:1px solid #dedede !important}.border-top{border-top:1px solid #dedede !important}.border-right,.sidebar-container{border-right:1px solid #dedede !important}.border-bottom{border-bottom:1px solid #dedede !important}.border-left{border-left:1px solid #dedede !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#2e1f5e !important}.border-secondary{border-color:#6c6c6c !important}.border-success{border-color:#a456c9 !important}.border-info{border-color:#007d7e !important}.border-warning{border-color:#2f128d !important}.border-danger{border-color:#a72925 !important}.border-light{border-color:#f2f2f2 !important}.border-dark{border-color:#313131 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:.2rem !important}.rounded{border-radius:.25rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-right{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-left{border-top-left-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-lg{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:\"\"}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:\"\"}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.8571428571%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm,.with-shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.2) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-0.25rem !important}.mt-n1,.my-n1{margin-top:-0.25rem !important}.mr-n1,.mx-n1{margin-right:-0.25rem !important}.mb-n1,.my-n1{margin-bottom:-0.25rem !important}.ml-n1,.mx-n1{margin-left:-0.25rem !important}.m-n2{margin:-0.5rem !important}.mt-n2,.my-n2{margin-top:-0.5rem !important}.mr-n2,.mx-n2{margin-right:-0.5rem !important}.mb-n2,.my-n2{margin-bottom:-0.5rem !important}.ml-n2,.mx-n2{margin-left:-0.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-0.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-0.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-0.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-0.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-0.25rem !important}.m-sm-n2{margin:-0.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-0.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-0.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-0.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-0.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-0.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-0.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-0.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-0.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-0.25rem !important}.m-md-n2{margin:-0.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-0.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-0.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-0.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-0.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-0.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-0.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-0.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-0.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-0.25rem !important}.m-lg-n2{margin:-0.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-0.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-0.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-0.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-0.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-0.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-0.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-0.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-0.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-0.25rem !important}.m-xl-n2{margin:-0.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-0.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-0.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-0.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-0.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\"\";background-color:rgba(0,0,0,0)}.text-monospace{font-family:\"ui-monospace\",\"Menlo\",\"Monaco\",\"Cascadia Mono\",\"Segoe UI Mono\",\"Roboto Mono\",\"Oxygen Mono\",\"Ubuntu Monospace\",\"Source Code Pro\",\"Fira Mono\",\"Droid Sans Mono\",\"Courier New\",monospace,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\" !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center,.align-center,.centered{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#2e1f5e !important}a.text-primary:hover,a.text-primary:focus{color:#120c24 !important}.text-secondary{color:#6c6c6c !important}a.text-secondary:hover,a.text-secondary:focus{color:#464646 !important}.text-success{color:#a456c9 !important}a.text-success:hover,a.text-success:focus{color:#7d33a0 !important}.text-info{color:#007d7e !important}a.text-info:hover,a.text-info:focus{color:#003132 !important}.text-warning{color:#2f128d !important}a.text-warning:hover,a.text-warning:focus{color:#180949 !important}.text-danger{color:#a72925 !important}a.text-danger:hover,a.text-danger:focus{color:#681a17 !important}.text-light{color:#f2f2f2 !important}a.text-light:hover,a.text-light:focus{color:#ccc !important}.text-dark{color:#313131 !important}a.text-dark:hover,a.text-dark:focus{color:#0b0b0b !important}.text-body{color:#212121 !important}.text-muted{color:#6c6c6c !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:rgba(255,255,255,.5) !important}.text-hide{font:0/0 a;color:rgba(0,0,0,0);text-shadow:none;background-color:rgba(0,0,0,0);border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:\" (\" attr(title) \")\"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #ababab;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table,table.docutils:not(.field-list){border-collapse:collapse !important}.table td,table.docutils:not(.field-list) td,.table th,table.docutils:not(.field-list) th{background-color:#fff !important}.table-bordered th,body.theme-dark table.docutils:not(.field-list) th,table.docutils:not(.field-list) th,.table-bordered td,body.theme-dark table.docutils:not(.field-list) td,table.docutils:not(.field-list) td{border:1px solid #dedede !important}.table-dark,body.theme-dark table.docutils:not(.field-list){color:inherit}.table-dark th,body.theme-dark table.docutils:not(.field-list) th,.table-dark td,body.theme-dark table.docutils:not(.field-list) td,.table-dark thead th,.table-dark tbody+tbody,body.theme-dark table.docutils:not(.field-list) tbody+tbody{border-color:#dedede}.table .thead-dark th,table.docutils:not(.field-list) .thead-dark th,body.theme-dark table.docutils:not(.field-list) thead th{color:inherit;border-color:#dedede}}.admonition{background-color:#e0eff0;margin:1rem 0;padding:1rem;box-shadow:0 2px 4px 0 rgba(0,0,0,.2);border-radius:.25rem;overflow:hidden}.admonition:last-child{margin-bottom:0}.admonition.hint,.admonition.note{background-color:#e0eff0}.admonition.hint .admonition-title,.admonition.note .admonition-title{color:#fff;background-color:#007d7e}.admonition.caution,.admonition.warning,.admonition.attention{background-color:#e6e3f1}.admonition.caution .admonition-title,.admonition.warning .admonition-title,.admonition.attention .admonition-title{color:#fff;background-color:#2f128d}.admonition.caution .admonition-title:before,.admonition.warning .admonition-title:before,.admonition.attention .admonition-title:before{content:\"\"}.admonition.danger,.admonition.error{background-color:#f4e5e5}.admonition.danger .admonition-title,.admonition.error .admonition-title{color:#fff;background-color:#a72925}.admonition.danger .admonition-title:before,.admonition.error .admonition-title:before{content:\"\"}.admonition.important,.admonition.seealso,.admonition.tip{background-color:#f4ebf9}.admonition.important .admonition-title,.admonition.seealso .admonition-title,.admonition.tip .admonition-title{color:#fff;background-color:#a456c9}.admonition-title{display:block;padding:.5rem 1rem;margin:-1rem;margin-bottom:1rem;color:#fff;background-color:#007d7e;font-weight:700}.admonition-title:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:normal;line-height:1;content:\"\";font-family:\"Font Awesome 5 Free\";font-weight:900;margin-right:.5rem;content:\"\"}body.theme-dark .admonition{background-color:#003132}body.theme-dark .admonition.hint,body.theme-dark .admonition.note{background-color:#003132}body.theme-dark .admonition.caution,body.theme-dark .admonition.warning,body.theme-dark .admonition.attention{background-color:#14083c}body.theme-dark .admonition.danger,body.theme-dark .admonition.error{background-color:#3f0f0e}body.theme-dark .admonition.important,body.theme-dark .admonition.seealso,body.theme-dark .admonition.tip{background-color:#4f2066}figure img{border-radius:.25rem;box-shadow:0 2px 4px 0 rgba(0,0,0,.2);margin-bottom:.5rem}figure .caption-text{color:#6c6c6c}blockquote{border-left:4px solid #f2f2f2;padding-left:1rem;margin:2rem 0}blockquote .attribution{color:#6c6c6c}.bignums,.bignums-xxl,.bignums-danger,.bignums-error,.bignums-important,.bignums-seealso,.bignums-tip,.bignums-caution,.bignums-warning,.bignums-attention,.bignums-hint,.bignums-note{padding:0;counter-reset:li-counter}.bignums>li,.bignums-xxl>li,.bignums-danger>li,.bignums-error>li,.bignums-important>li,.bignums-seealso>li,.bignums-tip>li,.bignums-caution>li,.bignums-warning>li,.bignums-attention>li,.bignums-hint>li,.bignums-note>li{list-style:none;position:relative;padding:1rem;padding-left:3.875rem;padding-top:1.2875rem;background-color:#e6e6e6;min-height:4.3rem;border-radius:.25rem}.bignums>li>.first,.bignums-xxl>li>.first,.bignums-danger>li>.first,.bignums-error>li>.first,.bignums-important>li>.first,.bignums-seealso>li>.first,.bignums-tip>li>.first,.bignums-caution>li>.first,.bignums-warning>li>.first,.bignums-attention>li>.first,.bignums-hint>li>.first,.bignums-note>li>.first{font-weight:700;font-size:1.15rem}.bignums>li *:last-child,.bignums-xxl>li *:last-child,.bignums-danger>li *:last-child,.bignums-error>li *:last-child,.bignums-important>li *:last-child,.bignums-seealso>li *:last-child,.bignums-tip>li *:last-child,.bignums-caution>li *:last-child,.bignums-warning>li *:last-child,.bignums-attention>li *:last-child,.bignums-hint>li *:last-child,.bignums-note>li *:last-child{margin-bottom:0}.bignums>li:before,.bignums-xxl>li:before,.bignums-danger>li:before,.bignums-error>li:before,.bignums-important>li:before,.bignums-seealso>li:before,.bignums-tip>li:before,.bignums-caution>li:before,.bignums-warning>li:before,.bignums-attention>li:before,.bignums-hint>li:before,.bignums-note>li:before{font-size:1.15rem;display:block;position:absolute;top:1rem;left:1rem;height:2em;width:2em;line-height:2em;text-align:center;background-color:#313131;color:#fff;border-radius:50%;content:counter(li-counter, decimal);counter-increment:li-counter;font-weight:700}.bignums>li+li,.bignums-xxl>li+li,.bignums-danger>li+li,.bignums-error>li+li,.bignums-important>li+li,.bignums-seealso>li+li,.bignums-tip>li+li,.bignums-caution>li+li,.bignums-warning>li+li,.bignums-attention>li+li,.bignums-hint>li+li,.bignums-note>li+li{margin-top:1rem}.bignums-hint>li,.bignums-note>li{background-color:#e0eff0}.bignums-hint>li:before,.bignums-note>li:before{background-color:#007d7e;color:#fff}.bignums-caution>li,.bignums-warning>li,.bignums-attention>li{background-color:#e6e3f1}.bignums-caution>li:before,.bignums-warning>li:before,.bignums-attention>li:before{background-color:#2f128d;color:#fff}.bignums-important>li,.bignums-seealso>li,.bignums-tip>li{background-color:#f4ebf9}.bignums-important>li:before,.bignums-seealso>li:before,.bignums-tip>li:before{background-color:#a456c9;color:#fff}.bignums-danger>li,.bignums-error>li{background-color:#f4e5e5}.bignums-danger>li:before,.bignums-error>li:before{background-color:#a72925;color:#fff}.bignums-xxl>li{padding:0;padding-left:3.75rem;padding-top:.375rem;background-color:rgba(0,0,0,0);min-height:3rem}.bignums-xxl>li>.first{font-size:1.5rem}.bignums-xxl>li:before{font-size:1.5rem;top:0;left:0}.bignums-xxl>li+li{border-top:1px solid rgba(0,0,0,.15);margin-top:1.375rem;padding-top:1.375rem}.bignums-xxl>li+li:before{top:1rem}.clear-both{clear:both}.headerlink{position:relative;font-size:.65em;visibility:hidden;top:-0.15em}.headerlink:after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:normal;line-height:1;content:\"\";font-family:\"Font Awesome 5 Free\";font-weight:900;margin-right:.5rem;content:\"\"}.headerlink:hover{text-decoration:none}*:hover>.headerlink:after{visibility:visible}table.docutils:not(.field-list){border:0}table.docutils.field-list .field-name{padding-right:1rem}.table-responsive{margin-bottom:1rem}.table-responsive table.docutils{margin-bottom:0}main h2,main h3,main h4,main h5,main h6{margin-top:1.5em}footer a{text-decoration:none}header>.container-fluid,header>.container-sm,header>.container-md,header>.container-lg,header>.container-xl{padding:0}header .navbar{padding:.75rem 0;flex-wrap:unset}header .navbar-brand{display:flex;padding:0;text-decoration:none;margin-right:0;font-size:1.5em;line-height:1.2;white-space:unset;align-items:center;justify-content:space-between}header .logo-img{flex-shrink:0;margin-right:.75rem;position:relative;top:-1px}header .navbar-dark .navbar-nav .nav-link{color:#fff}img{max-width:100%;height:auto}a{text-decoration:underline;color:#2e1f5e;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-style:solid;text-decoration-color:#3beccd}a:focus,a:hover{color:#13c7a8;text-decoration-color:currentcolor}a:active{color:#0d816d;text-decoration-color:currentcolor}span[id*=MathJax-Span]{color:#212121}pre{padding:24px;border-radius:5px;font-size:14px;color:#fff;background-color:#2e1f5e}pre .hll{background-color:#314549}pre .c{color:#eff}pre .c1{color:#eff}pre .cm{color:#eff}pre .cp{color:#eff}pre .cs{color:#eff}pre .err{color:#f07178}pre .k{color:#c792ea}pre .kc{color:#c792ea}pre .kd{color:#c792ea}pre .kn{color:#89ddff}pre .kp{color:#c792ea}pre .kr{color:#c792ea}pre .kt{color:#ffcb6b}pre .l{color:#f78c6c}pre .il{color:#f78c6c}pre .ld{color:#f07178}pre .m{color:#ffcb6b}pre .mf{color:#ffcb6b}pre .mh{color:#ffcb6b}pre .mi{color:#ffcb6b}pre .mo{color:#ffcb6b}pre .s{color:#82aaff}pre .s1{color:#82aaff}pre .s2{color:#82aaff}pre .sb{color:#82aaff}pre .sc{color:#82aaff}pre literal.String.Char .sd{color:#b2ccd6}pre .se{color:#f78c6c}pre .sh{color:#82aaff}pre .si{color:#f78c6c}pre .sr{color:#82aaff}pre .ss{color:#82aaff}pre .sx{color:#82aaff}pre .n{color:#fff}pre .na{color:#c3e88d}pre .nb{color:#f07178}pre .nc{color:#ffcb6b}pre .nd{color:#89ddff}pre .ne{color:#f07178}pre .nf{color:#c3e88d}pre .ni{color:#fff}pre .nl{color:#fff}pre .nn{color:#ffcb6b}pre .no{color:#f07178}pre .nt{color:#89ddff}pre .nv{color:#f07178}pre .nx{color:#fff}pre .py{color:#fff}pre .bp{color:#fff}pre .vc{color:#f07178}pre .vg{color:#f07178}pre .vi{color:#f07178}pre .o{color:#ff5370}pre .p{color:#eff}pre .gd{color:#f07178}pre .gh{color:#fff;font-weight:700}pre .gi{color:#c3e88d}pre .gp{color:#b2ccd6;font-weight:700}pre .gu{color:#89ddff;font-weight:700}pre .ow{color:#89ddff}pre .w{color:#fff}pre .x{color:#eff}pre .ge{font-style:italic}pre .gs{font-weight:700}pre a{color:#fff}pre a:hover,pre a:visited:hover{color:#e6e6e6}pre a:visited{color:#fff}.sidebar-container{border-right-style:hidden}@media screen and (min-width: 992px){.sidebar-container{max-width:384px;border-right-style:solid}}.collapse{max-height:100vh;overflow:hidden auto}.autocomplete{background-color:#fff;background-clip:padding-box;border:1px solid #cecece;box-shadow:0 2px 4px 0 rgba(0,0,0,.2);z-index:10000}.autocomplete>div{padding:.375rem .75rem}.autocomplete>div:not(.empty){cursor:pointer}.autocomplete .group{font-weight:700;font-size:.85em;background-color:#f2f2f2}.autocomplete .selected{color:#212121;background-color:#ffe69c}.autocomplete .selected:after{border-radius:.25rem;border:1px solid #212121;content:\"Enter ↵\";float:inline-end;font-size:.75em;line-height:1;padding:.1875rem .375rem;margin-top:.1875rem;margin-left:.375rem}.highlighted{color:#212121 !important;background-color:#ffe69c !important}.search{padding:0;list-style:none;list-style-image:none}.search li{margin-top:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:solid 1px rgba(0,0,0,.15)}.search li:last-child{padding-bottom:0;border:unset}.search a{font-size:1.25em;display:inline-block;margin-bottom:.5em;font-weight:700;line-height:1.2}.rst-content .sphinx-tabs{margin-bottom:2em}.rst-content .sphinx-tabs:last-child{margin-bottom:1em}.rst-content .sphinx-tabs .sphinx-menu .item p{margin:0}.rst-content .sphinx-tabs .sphinx-menu a.item{color:#212121 !important}.rst-content .sphinx-tabs .sphinx-menu{border-bottom-color:rgba(0,0,0,.25) !important;display:flex;flex-flow:row wrap}.rst-content .sphinx-tabs .sphinx-menu a.active.item{border-color:rgba(0,0,0,.25) !important}.rst-content .sphinx-tab{border-color:rgba(0,0,0,.25) !important;box-sizing:border-box}.rst-content .sphinx-tab.tab.active{margin-bottom:0}.rst-content .code-tab.tab{padding:.4em !important}.rst-content .code-tab.tab div[class^=highlight]{border-color:rgba(0,0,0,0)}.rst-content .sphinx-tabs .docutils.container{margin:0;width:auto}.rst-content .sphinx-tabs.docutils.container{max-width:100%;padding:0}.rst-content .sphinx-tabs .top.tabular.menu.docutils.container{padding:0}.toc a{display:inline-block;line-height:1.25;padding:.25rem 0}.toc li{margin:4px 0}.toc li[class^=toctree-]{position:relative}.toc li:not(.toctree-l1) a{text-decoration:none}.toc ul{padding-left:12px;list-style-type:none}.toc .toctree-expand{position:absolute;display:block;top:.875rem;left:-24px;transform:translate(0, -50%);height:1em;width:1em;background-color:#f2f2f2;border-radius:.25rem}.toc .toctree-expand:after,.toc .toctree-expand:before{position:absolute;content:\"\";top:50%;left:50%}.toc .toctree-expand:after{width:10px;height:0;border-top:2px solid;transform:translate(-50%, -50%)}.toc .toctree-expand:before{width:0;height:10px;border-left:2px solid;transform:translate(-50%, -50%)}.toc .current>a{color:#2e1f5e}.toc .current>a>.toctree-expand{background-color:#2e1f5e;color:#fff}.toc .current>a>.toctree-expand:before{display:none}.toc>ul{padding-left:0}.toc>ul .current>ul{display:block !important}.toc>ul:not(:last-child){padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.15)}.page-toc{font-size:.875rem;padding-top:2.4rem;color:#494949;max-height:100vh;overflow:hidden auto;word-break:break-all}.page-toc a{color:#6c6c6c}.page-toc a:hover,.page-toc a:focus{color:#13c7a8}.page-toc a:active{color:#0d816d}.site-toc .toc ul{padding-left:32px}.site-toc .toc ul>li ul{display:none}.versionadded,.versionchanged,.deprecated{margin:1rem 0;padding:1rem;box-shadow:0 2px 4px 0 rgba(0,0,0,.2);border-radius:.25rem;overflow:hidden}.versionadded>*:last-child,.versionchanged>*:last-child,.deprecated>*:last-child{margin-bottom:0}.versionmodified{display:block;padding:.5rem 1rem;margin:-1rem;margin-bottom:1rem;font-weight:700}.versionmodified:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:normal;line-height:1;content:\"\";font-family:\"Font Awesome 5 Free\";font-weight:900;margin-right:.5rem}.versionadded{background-color:#f4ebf9}.versionadded .versionmodified{color:#fff;background-color:#a456c9}.versionadded .versionmodified:before{content:\"\"}.versionchanged{background-color:#e6e3f1}.versionchanged .versionmodified{color:#fff;background-color:#2f128d}.versionchanged .versionmodified:before{content:\"\"}.deprecated{background-color:#f4e5e5}.deprecated .versionmodified{color:#fff;background-color:#a72925;border-radius:unset;box-shadow:unset}.deprecated .versionmodified:before{content:\"\"}body.theme-dark .versionchanged{background-color:#14083c}body.theme-dark .deprecated{background-color:#3f0f0e}body.theme-dark .deprecated .versionmodified{background-color:#a72925}body.theme-dark .versionadded{background-color:#4f2066}.rst-versions{position:fixed;bottom:50px;right:50px;max-width:300px;overflow-y:auto;background:#1f1d1d;z-index:1050}.rst-versions.shift-up{max-height:calc(100vh - 50px)}.rst-versions a{color:#2980b9;text-decoration:none}.rst-current-version{display:block;padding:12px;text-align:end;font-size:90%;cursor:pointer;background-color:#2e1f5e;color:#fff;*zoom:1}.rst-current-version span.fa-book{display:none}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}@media screen and (max-width: 768px){.rst-versions{display:none}}dl.class .sig-object+dd{margin:0 0 .5rem 1.5rem}.pre~button.copybtn,pre~button.copybtn{opacity:1}section{margin-top:2.5rem;margin-bottom:2.5rem}li>p{margin-bottom:0}*:focus{outline:3px solid #1f7e9a !important;outline-offset:1px;box-shadow:none}.skip-to-content-link{left:50%;position:absolute;transform:translateY(-100%);transition:transform .3s}.skip-to-content-link:focus{transform:translateY(0%)}pre,.pre{font-family:\"ui-monospace\",\"Menlo\",\"Monaco\",\"Cascadia Mono\",\"Segoe UI Mono\",\"Roboto Mono\",\"Oxygen Mono\",\"Ubuntu Monospace\",\"Source Code Pro\",\"Fira Mono\",\"Droid Sans Mono\",\"Courier New\",monospace,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\"}.cc{clear:both}.rubric{font-weight:700}.dark-only{display:none}.light-only{display:unset}body.theme-dark{color:rgba(255,255,255,.8);background-color:#120c24}body.theme-dark .btn-link,body.theme-dark a{color:rgba(255,255,255,.8)}body.theme-dark .btn-link:focus,body.theme-dark .btn-link:hover,body.theme-dark a:focus,body.theme-dark a:hover{color:#13c7a8}body.theme-dark .dark-only{display:unset}body.theme-dark .light-only{display:none}body.theme-dark .toc .current>a{color:#fff}body.theme-dark .page-toc{color:inherit}body.theme-dark .page-toc a{color:rgba(255,255,255,.6)}body.theme-dark .toc .toctree-expand{background-color:#2e1f5e}body.theme-dark figure .caption-text{color:rgba(255,255,255,.6)}body.theme-dark .breadcrumb-item.active{color:rgba(255,255,255,.6)}body.theme-dark blockquote{border-color:#1b1238}body.theme-dark blockquote .attribution{color:rgba(255,255,255,.6)}body.theme-dark .autocomplete{background-color:#120c24}body.theme-dark .autocomplete .group{background-color:#120c24;color:rgba(255,255,255,.6)}body.theme-dark hr,body.theme-dark .border,body.theme-dark .with-border,body.theme-dark .border-top,body.theme-dark .border-right,body.theme-dark .sidebar-container,body.theme-dark .border-bottom,body.theme-dark .border-left,body.theme-dark .search li{border-color:#1b1238 !important;border-width:2px !important}body.theme-dark table.docutils:not(.field-list){border:0}body.theme-dark .btn-light{color:#fff;background-color:#1b1238;border-color:#2e1f5e}body.theme-dark .btn-light:hover,body.theme-dark .btn-light:focus,body.theme-dark .btn-light:focus-within,body.theme-dark .btn-light:not(:disabled):not(.disabled):active,body.theme-dark .btn-light:not(:disabled):not(.disabled).active{color:#fff;background-color:#2e1f5e}body.theme-dark .form-control{color:#fff;background-color:#1b1238;border-color:#2e1f5e}body.theme-dark .form-control:focus{box-shadow:0 0 0 .2rem rgba(211,211,211,.5)}body.theme-dark .form-control::placeholder{color:rgba(255,255,255,.6)}body.theme-dark .input-group-text{color:rgba(255,255,255,.6);border-color:#2e1f5e}body.theme-dark .input-group-text.bg-white{background-color:#1b1238 !important}body.theme-dark code{color:#fe587c}","/*!\n * Bootstrap v4.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\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: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-` + + + +

+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Event Severity

+

The Severity class is used to define the severity of a log event. +This enum can only be used in the context of a log ingestion when calling +the dynatrace_extension.Extension.report_event() method.

+
+

Members

+
+
+class dynatrace_extension.Severity(value)[source]
+

Severity of an event ingested through log ingest.

+
+
+EMERGENCY = 'EMERGENCY'
+
+ +
+
+ERROR = 'ERROR'
+
+ +
+
+ALERT = 'ALERT'
+
+ +
+
+CRITICAL = 'CRITICAL'
+
+ +
+
+SEVERE = 'SEVERE'
+
+ +
+
+WARN = 'WARN'
+
+ +
+
+NOTICE = 'NOTICE'
+
+ +
+
+INFO = 'INFO'
+
+ +
+
+DEBUG = 'DEBUG'
+
+ +
+ +
+
+ +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/api/events/event_type.html b/api/events/event_type.html new file mode 100644 index 0000000..be52455 --- /dev/null +++ b/api/events/event_type.html @@ -0,0 +1,306 @@ + + + + + + + + + Event Type — dt-sdk 1.0.0 documentation + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Event Type

+

The DtEventType class is utilized to define the type event as +ingested through the Events V2 API. +This enum can only be used in the context of a event ingestion when +calling the dynatrace_extension.Extension.report_dt_event() method.

+
+

Members

+
+
+class dynatrace_extension.DtEventType(value)[source]
+

Event type.

+ +
+
+AVAILABILITY_EVENT = 'AVAILABILITY_EVENT'
+
+ +
+
+CUSTOM_INFO = 'CUSTOM_INFO'
+
+ +
+
+CUSTOM_ALERT = 'CUSTOM_ALERT'
+
+ +
+
+CUSTOM_ANNOTATION = 'CUSTOM_ANNOTATION'
+
+ +
+
+CUSTOM_CONFIGURATION = 'CUSTOM_CONFIGURATION'
+
+ +
+
+CUSTOM_DEPLOYMENT = 'CUSTOM_DEPLOYMENT'
+
+ +
+
+ERROR_EVENT = 'ERROR_EVENT'
+
+ +
+
+MARKED_FOR_TERMINATION = 'MARKED_FOR_TERMINATION'
+
+ +
+
+PERFORMANCE_EVENT = 'PERFORMANCE_EVENT'
+
+ +
+
+RESOURCE_CONTENTION_EVENT = 'RESOURCE_CONTENTION_EVENT'
+
+ +
+ +
+
+ +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/api/events/index.html b/api/events/index.html new file mode 100644 index 0000000..fef3ef7 --- /dev/null +++ b/api/events/index.html @@ -0,0 +1,215 @@ + + + + + + + + + Events — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Events

+
+

Submodules and Classes

+ +
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/api/extension.html b/api/extension.html new file mode 100644 index 0000000..8e5876d --- /dev/null +++ b/api/extension.html @@ -0,0 +1,614 @@ + + + + + + + + + <no title> — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

pExtension

+
+
+
+
+class dynatrace_extension.Extension(*args, **kwargs)[source]
+

Base class for Python extensions.

+
+
+logger
+

Embedded logger object for the extension.

+
+ +
+
+schedule_decorators: ClassVar = []
+
+ +
+
+property is_helper: bool
+

Internal property used by the EEC.

+
+ +
+
+property task_id: str
+

Internal property used by the EEC.

+
+ +
+
+property monitoring_config_id: str
+

Internal property used by the EEC.

+

Represents a unique identifier of the monitoring configuration. +that is assigned to this particular extension instance.

+
+ +
+
+run()[source]
+

Launch the extension instance.

+

Calling this method starts the main loop of the extension.

+

This method must be invoked once to start the extension,

+

if –fastcheck is set, the extension will run in fastcheck mode, +otherwise the main loop is started, which periodically runs:

+
    +
  • The scheduled callbacks

  • +
  • The heartbeat method

  • +
  • The metrics publisher method

  • +
+
+ +
+
+on_shutdown()[source]
+

Callback method to be invoked when the extension is shutting down.

+

Called when extension exits after it has received shutdown signal from EEC +This is executed before metrics are flushed to EEC

+
+ +
+
+schedule(callback: Callable, interval: timedelta | int, args: tuple | None = None, activation_type: ActivationType | None = None) None[source]
+

Schedule a method to be executed periodically.

+

The callback method will be periodically invoked in a separate thread. +The callback method is always immediately scheduled for execution.

+
+
Parameters:
+
    +
  • callback – The callback method to be invoked

  • +
  • interval – The time interval between invocations, can be a timedelta object, +or an int representing the number of seconds

  • +
  • args – Arguments to the callback, if any

  • +
  • activation_type – Optional activation type when this callback should run, +can be ‘ActivationType.LOCAL’ or ‘ActivationType.REMOTE’

  • +
+
+
+
+ +
+
+query()[source]
+

Callback to be executed every minute by default.

+

Optional method that can be implemented by subclasses. +The query method is always scheduled to run every minute.

+
+ +
+
+initialize()[source]
+

Callback to be executed when the extension starts.

+

Called once after the extension starts and the processes arguments are parsed. +Sometimes there are tasks the user needs to do that must happen before runtime, +but after the activation config has been received, example: Setting the schedule frequency +based on the user input on the monitoring configuration, this can be done on this method

+
+ +
+
+fastcheck() Status[source]
+

Callback executed when extension is launched.

+

Called if the extension is run in the fastcheck mode. Only invoked for remote +extensions. +This method is not called if fastcheck callback was already registered with +Extension.register_fastcheck().

+
+
Returns:
+

Status with optional message whether the fastcheck succeed or failed.

+
+
+
+ +
+
+register_fastcheck(fast_check_callback: Callable[[ActivationConfig, str], Status])[source]
+

Registers fastcheck callback that is executed in the fastcheck mode.

+

Extension.fastcheck() is not called if fastcheck callback is registered with this method

+
+
Parameters:
+
    +
  • fast_check_callback – callable called with ActivationConfig and

  • +
  • message (extension_config arguments. Must return the Status with optional)

  • +
  • failed. (whether the fastcheck succeed or)

  • +
+
+
+
+ +
+
+report_metric(key: str, value: float | str | int | SummaryStat, dimensions: Dict[str, str] | None = None, techrule: str | None = None, timestamp: datetime | None = None, metric_type: MetricType = MetricType.GAUGE) None[source]
+

Report a metric.

+

Metric is sent to EEC using an HTTP request and MINT protocol. EEC then +sends the metrics to the tenant.

+

By default, it reports a gauge metric.

+
+
Parameters:
+
    +
  • key – The metric key, must follow the MINT specification

  • +
  • value – The metric value, can be a simple value or a SummaryStat

  • +
  • dimensions – A dictionary of dimensions

  • +
  • techrule – The technology rule string set by self.techrule setter.

  • +
  • timestamp – The timestamp of the metric, defaults to the current time

  • +
  • metric_type – The type of the metric, defaults to MetricType.GAUGE

  • +
+
+
+
+ +
+
+report_mint_lines(lines: List[str]) None[source]
+

Report mint lines using the MINT protocol

+

Examples

+

Metric lines must comply with the MINT format.

+
>>> self.report_mint_lines(["my_metric 1", "my_other_metric 2"])
+
+
+
+
Parameters:
+

lines – A list of mint lines

+
+
+
+ +
+
+report_event(title: str, description: str, properties: dict | None = None, timestamp: datetime | None = None, severity: Severity | str = Severity.INFO) None[source]
+

Report an event using log ingest.

+
+
Parameters:
+
    +
  • title – The title of the event

  • +
  • description – The description of the event

  • +
  • properties – A dictionary of extra event properties

  • +
  • timestamp – The timestamp of the event, defaults to the current time

  • +
  • severity – The severity of the event, defaults to Severity.INFO

  • +
+
+
+
+ +
+
+report_dt_event(event_type: DtEventType, title: str, start_time: int | None = None, end_time: int | None = None, timeout: int | None = None, entity_selector: str | None = None, properties: dict[str, str] | None = None) None[source]
+

Reports an event using the v2 event ingest API.

+

Unlike report_event, this directly raises an event or even a problem +based on the specified event_type.

+ +
+
Parameters:
+
    +
  • event_type – The event type chosen from type Enum (required)

  • +
  • title – The title of the event (required)

  • +
  • start_time – The start time of event in UTC ms, if not set, current timestamp (optional)

  • +
  • end_time – The end time of event in UTC ms, if not set, current timestamp + timeout (optional)

  • +
  • timeout – The timeout of event in minutes, if not set, 15 (optional)

  • +
  • entity_selector – The entity selector, if not set, the event is associated with environment entity (optional)

  • +
  • properties – A map of event properties (optional)

  • +
+
+
+
+ +
+
+report_dt_event_dict(event: dict)[source]
+

Report an event using event ingest API with provided dictionary.

+ +

Format of the event dictionary:

+
{
+    "type": "object",
+    "required": ["eventType", "title"],
+    "properties": {
+        "eventType": {
+            "type": "string",
+            "enum": [
+                "CUSTOM_INFO",
+                "CUSTOM_ANNOTATION",
+                "CUSTOM_CONFIGURATION",
+                "CUSTOM_DEPLOYMENT",
+                "MARKED_FOR_TERMINATION",
+                "ERROR_EVENT",
+                "AVAILABILITY_EVENT",
+                "PERFORMANCE_EVENT",
+                "RESOURCE_CONTENTION_EVENT",
+                "CUSTOM_ALERT"
+            ]
+        },
+        "title": {
+            "type": "string",
+            "minLength": 1
+        },
+        "startTime": {"type": "integer"},
+        "endTime": {"type": "integer"},
+        "timeout": {"type": "integer"},
+        "entitySelector": {"type": "string"},
+        "properties": {
+            "type": "object",
+            "patternProperties": {
+                "^.*$": {"type": "string"}
+            }
+        }
+    }
+}
+
+
+
+ +
+
+report_log_event(log_event: dict)[source]
+

Report a custom log event using log ingest.

+ +
+
Parameters:
+

log_event – The log event dictionary.

+
+
+
+ +
+
+report_log_events(log_events: List[dict])[source]
+

Report a list of custom log events using log ingest.

+
+
Parameters:
+

log_events – The list of log events

+
+
+
+ +
+
+report_log_lines(log_lines: List[str | bytes])[source]
+

Report a list of log lines using log ingest

+
+
Parameters:
+

log_lines – The list of log lines

+
+
+
+ +
+
+property enabled_feature_sets: dict[str, list[str]]
+

Map of enabled feautre sets and corresponding metrics.

+
+
Returns:
+

Dictionary containing enabled feature sets with corresponding +metrics defined in extension.yaml.

+
+
+
+ +
+
+property enabled_feature_sets_names: list[str]
+

Names of enabled feature sets.

+
+
Returns:
+

List containing names of enabled feature sets.

+
+
+
+ +
+
+property enabled_feature_sets_metrics: list[str]
+

Enabled metrics.

+
+
Returns:
+

List of all metric keys from enabled feature sets

+
+
+
+ +
+
+get_version() str[source]
+

Return the extension version.

+
+ +
+
+property techrule: str
+

Internal property used by the EEC.

+
+ +
+
+get_activation_config() ActivationConfig[source]
+

Retrieve the activation config.

+

Represents activation configuration assigned to this particular +extension instance.

+
+
Returns:
+

ActivationConfig object.

+
+
+
+ +
+
+get_snapshot(snapshot_file: Path | str | None = None) Snapshot[source]
+

Retrieves an oneagent snapshot.

+
+
Parameters:
+

snapshot_file – Optional path to the snapshot file, only used when running from dt-sdk run

+
+
Returns:
+

Snapshot object.

+
+
+
+ +
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/api/metrics/index.html b/api/metrics/index.html new file mode 100644 index 0000000..d449ad4 --- /dev/null +++ b/api/metrics/index.html @@ -0,0 +1,215 @@ + + + + + + + + + Metrics — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Metrics

+
+

Submodules and Classes

+ +
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/api/metrics/metric.html b/api/metrics/metric.html new file mode 100644 index 0000000..fa7236d --- /dev/null +++ b/api/metrics/metric.html @@ -0,0 +1,256 @@ + + + + + + + + + Metric — dt-sdk 1.0.0 documentation + + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Metric

+

The dynatrace_extension.Metric class is mostly used internally to +construct metrics that comply with the MINT protocol which is what Extension +Framework uses to send event to the environment.

+

When the dynatrace_extension.Extension.report_metric() method is +called, it builds a Metric object, which is. then added to the list +of metrics to be sent to the environment. The class has a useful method called +dynatrace_extension.Metric.to_mint_line() which allows you to convert +the metric to a string that complies with the MINT protocol.

+
+

Members

+
+
+class dynatrace_extension.Metric(key: str, value: float | int | str | SummaryStat, dimensions: Dict[str, str] | None = None, metric_type: MetricType = MetricType.GAUGE, timestamp: datetime | None = None)[source]
+
+
+to_mint_line() str[source]
+
+ +
+
+validate() bool[source]
+
+ +
+ +
+
+ +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/api/metrics/metric_type.html b/api/metrics/metric_type.html new file mode 100644 index 0000000..de3fd82 --- /dev/null +++ b/api/metrics/metric_type.html @@ -0,0 +1,260 @@ + + + + + + + + + Metric Type — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Metric Type

+

There are two types of metrics that can be sent to Dynatrace:

+
    +
  • Gauge - A gauge is a metric that represents a single numerical value +that can arbitrarily go up and down. For example, current percentage of +the CPU usage.

  • +
  • Counters - A counter is a metric that is continuously increasing. +For example, the number of bytes received over a network interface since +the start of the process.

  • +
+
+

Members

+
+
+class dynatrace_extension.MetricType(value)[source]
+

An enumeration.

+
+
+GAUGE = 'gauge'
+
+ +
+
+COUNT = 'count'
+
+ +
+
+DELTA = 'count,delta'
+
+ +
+ +
+
+ +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/cli/assemble.html b/cli/assemble.html new file mode 100644 index 0000000..c47912d --- /dev/null +++ b/cli/assemble.html @@ -0,0 +1,226 @@ + + + + + + + + + Assemble — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Assemble

+
$ dt-sdk assemble --help
+                                                                                
+ Usage: dt-sdk assemble [OPTIONS] [EXTENSION_DIR]                               
+                                                                                
+ Creates the extension zip file, without signing it yet                         
+                                                                                
+╭─ Arguments ──────────────────────────────────────────────────────────────────╮
+│   extension_dir      [EXTENSION_DIR]  Path to the python extension           │
+│                                       [default: .]                           │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ Options ────────────────────────────────────────────────────────────────────╮
+│ --output  -o      PATH  [default: None]                                      │
+│ --force   -f            Force overwriting the output zip file                │
+│                         [default: True]                                      │
+│ --help                  Show this message and exit.                          │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/cli/build.html b/cli/build.html new file mode 100644 index 0000000..c864056 --- /dev/null +++ b/cli/build.html @@ -0,0 +1,238 @@ + + + + + + + + + Build — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Build

+
$ dt-sdk build --help
+                                                                                
+ Usage: dt-sdk build [OPTIONS] [EXTENSION_DIR]                                  
+                                                                                
+ Runs wheel, assemble and sign. Downloads dependencies, creates and signs the   
+ extension zip file                                                             
+                                                                                
+╭─ Arguments ──────────────────────────────────────────────────────────────────╮
+│   extension_dir      [EXTENSION_DIR]  Path to the python extension           │
+│                                       [default: .]                           │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ Options ────────────────────────────────────────────────────────────────────╮
+│ --private-key           -k      PATH  Path to the dev fused key-certificate  │
+│                                       [default:                              │
+│                                       /home/runner/.dynatrace/certificates/… │
+│ --target-directory      -t      PATH  [default: None]                        │
+│ --extra-platform        -e      TEXT  Download wheels for an extra platform  │
+│                                       [default: None]                        │
+│ --extra-index-url       -i      TEXT  Extra index url to use when            │
+│                                       downloading dependencies               │
+│                                       [default: None]                        │
+│ --find-links            -f      TEXT  Extra index url to use when            │
+│                                       downloading dependencies               │
+│                                       [default: None]                        │
+│ --only-extra-platforms  -o            Only build for the extra platforms,    │
+│                                       useful when building from arm64 (mac)  │
+│ --help                                Show this message and exit.            │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/cli/create.html b/cli/create.html new file mode 100644 index 0000000..28b2b10 --- /dev/null +++ b/cli/create.html @@ -0,0 +1,223 @@ + + + + + + + + + Create — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Create

+
$ dt-sdk create --help
+                                                                                
+ Usage: dt-sdk create [OPTIONS] EXTENSION_NAME                                  
+                                                                                
+ Creates a new python extension                                                 
+                                                                                
+╭─ Arguments ──────────────────────────────────────────────────────────────────╮
+│ *    extension_name      TEXT  [default: None] [required]                    │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ Options ────────────────────────────────────────────────────────────────────╮
+│ --output  -o      PATH  [default: None]                                      │
+│ --help                  Show this message and exit.                          │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/cli/gencerts.html b/cli/gencerts.html new file mode 100644 index 0000000..8eccb49 --- /dev/null +++ b/cli/gencerts.html @@ -0,0 +1,222 @@ + + + + + + + + + Generate Certificates — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Generate Certificates

+
$ dt-sdk gencerts --help
+                                                                                
+ Usage: dt-sdk gencerts [OPTIONS]                                               
+                                                                                
+ Generate root and developer certificates and key                               
+                                                                                
+╭─ Options ────────────────────────────────────────────────────────────────────╮
+│ --output  -o      PATH  Path to the output directory                         │
+│                         [default: /home/runner/.dynatrace/certificates]      │
+│ --force   -f            Force overwriting the certificates                   │
+│ --help                  Show this message and exit.                          │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/cli/help.html b/cli/help.html new file mode 100644 index 0000000..e23288e --- /dev/null +++ b/cli/help.html @@ -0,0 +1,234 @@ + + + + + + + + + Help — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Help

+
$ dt-sdk --help
+                                                                                
+ Usage: dt-sdk [OPTIONS] COMMAND [ARGS]...                                      
+                                                                                
+╭─ Options ────────────────────────────────────────────────────────────────────╮
+│ --install-completion          Install completion for the current shell.      │
+│ --show-completion             Show completion for the current shell, to copy │
+│                               it or customize the installation.              │
+│ --help                        Show this message and exit.                    │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ Commands ───────────────────────────────────────────────────────────────────╮
+│ assemble   Creates the extension zip file, without signing it yet            │
+│ build      Runs wheel, assemble and sign. Downloads dependencies, creates    │
+│            and signs the extension zip file                                  │
+│ create     Creates a new python extension                                    │
+│ gencerts   Generate root and developer certificates and key                  │
+│ run        Runs an extension, this is used during development to locally run │
+│            and test an extension                                             │
+│ sign       Signs the extension zip file using the provided fused             │
+│            key-certificate                                                   │
+│ upload     Upload the extension to a Dynatrace environment                   │
+│ version    Show the version of the CLI                                       │
+│ wheel      Downloads the dependencies of the extension to the lib folder     │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/cli/run.html b/cli/run.html new file mode 100644 index 0000000..9463381 --- /dev/null +++ b/cli/run.html @@ -0,0 +1,238 @@ + + + + + + + + + Run — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Run

+
$ dt-sdk run --help
+                                                                                
+ Usage: dt-sdk run [OPTIONS] [EXTENSION_DIR]                                    
+                                                                                
+ Runs an extension, this is used during development to locally run and test an  
+ extension                                                                      
+ :param extension_dir: The directory of the extension, by default this is the   
+ current directory :param activation_config: The activation config file, by     
+ default this is activation.json :param fast_check: If true, run a fastcheck    
+ and exits :param local_ingest: If true, send metrics to localhost:14499 on top 
+ of printing them :param local_ingest_port: The port to send metrics to, by     
+ default this is 14499 :param print_metrics: If true, print metrics to the      
+ console                                                                        
+                                                                                
+╭─ Arguments ──────────────────────────────────────────────────────────────────╮
+│   extension_dir      [EXTENSION_DIR]  [default: .]                           │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ Options ────────────────────────────────────────────────────────────────────╮
+│ --activation-config                          TEXT     [default:              │
+│                                                       activation.json]       │
+│ --fastcheck                                                                  │
+│ --local-ingest                                                               │
+│ --local-ingest-port                          INTEGER  [default: 14499]       │
+│ --print-metrics        --no-print-metrics             [default:              │
+│                                                       print-metrics]         │
+│ --help                                                Show this message and  │
+│                                                       exit.                  │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/cli/sign.html b/cli/sign.html new file mode 100644 index 0000000..4ae103c --- /dev/null +++ b/cli/sign.html @@ -0,0 +1,233 @@ + + + + + + + + + Sign — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Sign

+
$ dt-sdk sign --help
+                                                                                
+ Usage: dt-sdk sign [OPTIONS] [ZIP_FILE]                                        
+                                                                                
+ Signs the extension zip file using the provided fused key-certificate          
+ :param zip_file: The path to the extension zip file to sign :param             
+ certificate: The developer fused key-certificate to use for signing :param     
+ output: The path to the output zip file, if not specified, we put it in the    
+ dist folder :param force: If true, overwrite the output zip file if it exists  
+                                                                                
+╭─ Arguments ──────────────────────────────────────────────────────────────────╮
+│   zip_file      [ZIP_FILE]  Path to the extension zip file                   │
+│                             [default: dist/extension.zip]                    │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ Options ────────────────────────────────────────────────────────────────────╮
+│ --certificate  -c      PATH  Path to the dev fused key-certificate           │
+│                              [default:                                       │
+│                              /home/runner/.dynatrace/certificates/developer… │
+│ --output       -o      PATH  [default: None]                                 │
+│ --force        -f            Force overwriting the output zip file           │
+│                              [default: True]                                 │
+│ --help                       Show this message and exit.                     │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/cli/upload.html b/cli/upload.html new file mode 100644 index 0000000..e8a11fa --- /dev/null +++ b/cli/upload.html @@ -0,0 +1,227 @@ + + + + + + + + + Upload — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Upload

+
$ dt-sdk upload --help
+                                                                                
+ Usage: dt-sdk upload [OPTIONS] [EXTENSION_PATH]                                
+                                                                                
+ Upload the extension to a Dynatrace environment                                
+                                                                                
+╭─ Arguments ──────────────────────────────────────────────────────────────────╮
+│   extension_path      [EXTENSION_PATH]  Path to the extension folder or      │
+│                                         built zip file                       │
+│                                         [default: None]                      │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ Options ────────────────────────────────────────────────────────────────────╮
+│ --tenant-url  -u      TEXT  Dynatrace tenant URL [default: None]             │
+│ --api-token   -t      TEXT  Dynatrace API token [default: None]              │
+│ --validate    -v            Validate only                                    │
+│ --help                      Show this message and exit.                      │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/cli/wheel.html b/cli/wheel.html new file mode 100644 index 0000000..725302f --- /dev/null +++ b/cli/wheel.html @@ -0,0 +1,233 @@ + + + + + + + + + Wheel — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Wheel

+
$ dt-sdk wheel --help
+                                                                                
+ Usage: dt-sdk wheel [OPTIONS] [EXTENSION_DIR]                                  
+                                                                                
+ Downloads the dependencies of the extension to the lib folder                  
+                                                                                
+╭─ Arguments ──────────────────────────────────────────────────────────────────╮
+│   extension_dir      [EXTENSION_DIR]  Path to the python extension           │
+│                                       [default: .]                           │
+╰──────────────────────────────────────────────────────────────────────────────╯
+╭─ Options ────────────────────────────────────────────────────────────────────╮
+│ --extra-platform        -e      TEXT  Download wheels for an extra platform  │
+│                                       [default: None]                        │
+│ --extra-index-url       -i      TEXT  Extra index url to use when            │
+│                                       downloading dependencies               │
+│                                       [default: None]                        │
+│ --find-links            -f      TEXT  Extra index url to use when            │
+│                                       downloading dependencies               │
+│                                       [default: None]                        │
+│ --only-extra-platforms  -o            Only build for the extra platforms,    │
+│                                       useful when building from arm64 (mac)  │
+│ --help                                Show this message and exit.            │
+╰──────────────────────────────────────────────────────────────────────────────╯
+
+
+
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/genindex.html b/genindex.html new file mode 100644 index 0000000..82cf38c --- /dev/null +++ b/genindex.html @@ -0,0 +1,599 @@ + + + + + + + Index — dt-sdk 1.0.0 documentation + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + +
+
+
+
+
+
+
+
+
+
+

Index

+
+ A + | C + | D + | E + | F + | G + | I + | L + | M + | N + | O + | P + | Q + | R + | S + | T + | V + | W + +
+

A

+ + + + + +
+ + + +
+ +

C

+ + + + + +
+ + + +
+ +

D

+ + + + + +
+ + + +
+ +

E

+ + + + + +
+ + + +
+ +

F

+ + + + +
+ +
+ +

G

+ + + + + +
+ + + +
+ +

I

+ + + + + +
+ + + +
+ +

L

+ + + + +
+ +
+ +

M

+ + + + + +
+ + + +
+ +

N

+ + + + +
+ +
+ +

O

+ + + + +
+ +
+ +

P

+ + + + +
+ +
+ +

Q

+ + + + +
+ +
+ +

R

+ + + + + +
+ + + +
+ +

S

+ + + + + +
+ + + +
+ +

T

+ + + + + +
+ + + +
+ +

V

+ + + + +
+ +
+ +

W

+ + + + +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/guides/building.html b/guides/building.html new file mode 100644 index 0000000..0ab75a2 --- /dev/null +++ b/guides/building.html @@ -0,0 +1,350 @@ + + + + + + + + + Building Extensions — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Building Extensions

+
+
This guide provides some best practices on:
+

+
+
    +
  • Building extensions

  • +
  • Python dependencies

  • +
  • CI systems, offline installs

  • +
+
+

Native dependencies

+
+
Some python libraries require “native” dependencies, they are not written in pure python and usually contain C, C++, Rust or other compiled languages code.
+
This means that they might be compiled for a very specific version of python, or for a specific operating system.
+

+
+
+
Examples:
+

+
+
    +
  • requests requires charset_normalizer, a native dependency

  • +
+
+
If you navigate to the charset-normalizer pypi page you will see dozens of different wheel files.
+
Each one of these files is compiled for a different version of python, and for a different operating system.
+

+
Your extension will run on a Dynatrace Activegate or OneAgent, which is a Linux or Windows machine, and it has a specific version of python.
+
This means that your extension must be built on a machine that has the same version of python as the Activegate.
+

+
At this time, Dynatrace extensions run on python 3.10.
+

+
When you build the extension with dt-sdk build, it downloads the dependencies whl files and places them in the lib folder of the extension.
+
To obtain whl files for different a operating system than what the build machine is, the SDK provides the –extra-platform flag.
+

+
In summary, when building from Windows, you should use:
+

+
+
dt-sdk build --extra-platform manylinux2014_x86_64
+
+
+
+
To get the correct extra wheel files for linux. Note, manylinux2014_x86_64 works for several packages, but not all of them.
+
You need to investigate the dependencies of your extension to find the correct extra platform if that is the case.
+

+
When building from Linux, you should use:
+

+
+
dt-sdk build --extra-platform win_amd64
+
+
+
+
To get the correct extra wheel files for Windows.
+

+
+
+
+

PyPI Access

+
+
When building extensions, the SDK downloads the dependencies from PyPI.
+

+
In some organizations, you are not allowed to access the internet from the build machine.
+
In most cases you will have either:
+

+
+
    +
  • A local PyPI mirror

  • +
  • A directory with all the wheel files present

  • +
+
+

+
Both of these solutions can be used with the SDK.
+

+
+
+

PyPI Mirror

+
+
Suppose you have a local PyPi server running on http://my-pypi-server:8080.
+

+
To use it with the SDK, run the build command as:
+

+
+
PIP_INDEX_URL=http://my-pypi-server:8080/simple PIP_TRUSTED_HOST=my-pypi-server dt-sdk build
+
+
+
+
This will tell the SDK to use the local PyPI server to download the dependencies.
+
The SDK uses pip under the covers, so all the environment variables that pip supports can be used with the SDK.
+

+
Note, that assumes the build machine is a linux machine. If you are building from Windows on Powershell, you can use:
+

+
+
$ENV:PIP_INDEX_URL="http://my-pypi-server:8080/simple"; $ENV:PIP_TRUSTED_HOST="my-pypi-server"; dt-sdk build
+
+
+
+
+

Local Directory

+
+
Another option is to manually download the different whl files you need, and place them in a directory on the build machine.
+
In that case, that directory can be used as the source for the dependencies.
+

+
+
dt-sdk build --find-links /path/to/whl/files
+
+
+
+
This will tell the SDK to use the directory as the source for the dependencies.
+

+
+
+
+
+

Musl vs libc

+
+
Extensions run on libc based systems, like Ubuntu, CentOS, Windows, etc.
+
You should not use a musl based system, like Alpine, to build extensions.
+

+
This means that if you are using a docker container to build the extension, you should use the python:3.10 image, or any other image that is based on a libc system.
+

+
The reason for this is that a musl based system will download native whl files that are not compatible with libc based systems.
+
+
+
+ +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/guides/extension_structure.html b/guides/extension_structure.html new file mode 100644 index 0000000..9025809 --- /dev/null +++ b/guides/extension_structure.html @@ -0,0 +1,463 @@ + + + + + + + + + Extension Structure — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Extension Structure

+

The basic bare-bone structure of an extension is as follows:

+
my_extension
+├── README.md
+├── activation.json
+├── extension
+│   ├── activationSchema.json
+│   └── extension.yaml
+├── my_extension
+│   ├── __init__.py
+│   └── __main__.py
+└── setup.py
+
+
+

This structure can be generated by running the Create command +dt-sdk create my_extension.

+
+

Extension Definition

+

extension.yaml

+

This is the main configuration file of the extension. It contains information +about the extension name, version, and so on.

+

Here is what a sample extension definition looks like:

+
name: custom:my-extension
+version: 0.0.1
+minDynatraceVersion: "1.285"
+author:
+  name: "Dynatrace"
+
+python:
+  runtime:
+    module: my_extension
+    version:
+      min: "3.10"
+
+  activation:
+    remote:
+      path: activationSchema.json
+    local:
+      path: activationSchema.json
+
+
+
+

Extension Name

+

name:

+

All extensions must have a unique name. The name must be in the custom: namespace, +when it is a custom extension.

+
+

Official extensions

+

Only Dynatrace can create extensions in the com.dynatrace.extension namespace. +These extensions are signed by Dynatrace and are considered official.

+
+
+
+

Extension Version

+

version:

+

The version field must be bumped every time the extension is uploaded to the environment. +Otherwise an error will be thrown. The environment does not accept the same version twice. +Each uploaded version must always be unique for the audit tracking purposes.

+
+
+

Minimal Dynatrace Version

+

minDynatraceVersion:

+

The minDynatraceVersion field specifies the minimal Dynatrace version that is required +to run the extension. If the ActiveGate or OneAgent version is lower than the +specified one, then the extension will not be activated on that agent.

+

This is useful when the extension uses some of the new features that are not yet +available in the older versions of Dynatrace environment or extension execution controller.

+
+
+

Python

+

python:

+

This is a specification of datasource that Extension Framework understands. There are +different datasources that can be used to collect data from the multitude of sources.

+
+

Datasources

+

Other datasources include snmp, jmx, prometheus, sql, wmi.

+
+

They can’t be used within the same extension, but all EF2.0 extensions follow the same +format, where there is the extension.yaml file, which contains the required +definition of the datasource.

+
+
+

Python Runtime

+

runtime:

+

Here we can specify which minimal version of Python is required to run the extension. +This does not play a big role, since the version of Python is determined by what +is received from ActiveGate or OneAgent. This field is mandatory.

+
+

Don’t bring your own Python

+

Custom Python runtime is not supported. ActiveGate and OneAgent supply the Python +interpreter for the extension to be able to run. It is impossible to specify a +custom Python interpreter or use one that is installed on the system.

+
+

The module field specifies the name of the main Python module that contains the +extension logic. This module must be importable by the Python interpreter, thus it +must always contain the __init__.py file to be considered a valid Python module.

+
+
+

Datasource Activation

+

activation:

+

This is a specification of the datasource activation. It might contain local: and +remote: sections or only one of them.

+
    +
  • local: means the extension can run on OneAgent. When you deploy the extension, +the environment will automatically read this value and will understand that an active +OneAgent is required to run this extension.

  • +
  • remote: means the extension can run on ActiveGate. When you deploy the extension, +the environment will automatically read this value and will understand that an active +ActiveGate is required to run this extension.

  • +
+

The path: within the activation section contains a path to the configuration +that specifies a full definition of the monitoring configuration. What fields must be +there? Of what type? Does it contain lists? What are the possible values? All of these +can be describied in the activationSchema.json file.

+
+
+
+

Activation Schema

+

activationSchema.json

+

This is a schema file that describes the structure of the monitoring configuration.

+

For the purposes of giving an example, here is a very simple schema with a single +field that will run on ActiveGate. The schema generated by the Create +command is much larger and contains more fields, passwords, list items, and so on.

+
{
+    "types": {
+        "pythonRemote": {
+            "type": "object",
+            "properties": {
+                "host": {
+                "displayName": "Host",
+                "type": "text",
+                "nullable": false,
+                "default": ""
+                }
+            }
+        }
+    },
+    "dynatrace": "1",
+    "description": "Extension configuration",
+    "schemaId": "python-extension.activation",
+    "displayName": "Extension configuration",
+    "ownerProductManagement": "Albus Dumbledore",
+    "ownerDevelopment": "Peter Parker",
+    "maturity": "GENERAL_AVAILABILITY",
+    "allowedScopes": ["environment"],
+    "multiObject": false,
+    "properties": {
+        "pythonRemote": {
+        "displayName": "Python Remote Extension",
+            "type": {
+                "$ref": "#/types/pythonRemote"
+            }
+        }
+    }
+}
+
+
+
+
+

Activation Config

+

activation.json

+

This is a config file that can be used for local testing, when extension instance +is launched using the Run command. It must contain all of the mandatory +fields as defined in the Activation Schema.

+

When extension is deployed to the Dynatrace environment and monitoring configuration +is created, then the environment provides an individual activation config for each +instance of the extension.

+

Here is what a sample activation config looks like:

+
{
+    "enabled": true,
+    "description": "my_extension activation",
+    "version": "0.0.1",
+    "activationContext": "REMOTE",
+    "pythonRemote": {
+        "endpoints": [
+            {
+                "url": "http://127.0.0.1:15672",
+                "user": "guest",
+                "password": "guest"
+            }
+        ]
+    }
+}
+
+
+
+
+

Setup.py

+

setup.py

+

This is a standard Python setup file that is used to package the extension and +is used by the extension execution controller to install the extension on the +ActiveGate or OneAgent along with the required dependencies.

+
from setuptools import setup, find_packages
+
+setup(
+    name="my_extension",
+    version="0.0.1",
+    description="My_extension python EF2 extension",
+    author="Dynatrace",
+    packages=find_packages(),
+    python_requires=">=3.10",
+    include_package_data=True,
+    install_requires=["dt-extensions-sdk"],
+    extras_require={"dev": ["dt-extensions-sdk[cli]"]},
+)
+
+
+
+

Dependencies

+

The setup.py file is the place where any dependencies must be specified +in the install_requires section.

+

The dt-extensions-sdk package must always be specified as a dependency. However, +theoretically, it is possible to write a Python code that will be capable of +communication with the extension execution controller without using the SDK.

+

We do not recommend doing that, since the SDK provides everything that is needed +and getting rid of it is an equivalent of reinventing the wheel.

+
+
+

Bumping version

+

When bumping the version of the extension in the extension.yaml, +the setup.py file must be updated as well. The two versions must match.

+
+
+

Extension size

+

Be careful when adding dependencies to the extension. The size of the extension +must not exceed 15MB. If it does, then the extension will not be accepted by +the environment.

+

When building the extension using the Build command, the dependencies +can be downloaded for all target platforms (Linux, Windows) and the size of the +dependencies for some of them might be quite large.

+
+
+
+ +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/guides/installation.html b/guides/installation.html new file mode 100644 index 0000000..4ac3d38 --- /dev/null +++ b/guides/installation.html @@ -0,0 +1,251 @@ + + + + + + + + + Installation — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Installation

+
+

Requirements

+

dt-extensions-sdk requires only the following dependencies to be +present in the environment.

+
    +
  • Python 3.10

  • +
+
+
+

Installing from PyPI

+

dt-extensions-sdk can both be installed as a system wide package and as +a dependency in a python project.

+
pip install dt-extensions-sdk[cli]
+
+
+

Once installed, the dt-sdk binary will become available in the PATH.

+
+

Core package

+

When installing dt-extensions-sdk[cli] with the optional set of +dependecies called [cli], multiple additional packages which are required +to make command line tools work will be installed. +For example, such packages as typer[all], pyyaml, and dt-cli.

+

When extension is being built, these additional packages are ignored, +because the core dependecy of every extension is just the dt-extensions-sdk +itself. When the optioncal [cli] part is omitted, only the core package +that is required to make any Python extension work on ActiveGate and OneAgent +will be installed.

+
+
+
+ +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/guides/migration.html b/guides/migration.html new file mode 100644 index 0000000..e671779 --- /dev/null +++ b/guides/migration.html @@ -0,0 +1,423 @@ + + + + + + + + + Migrating EF1 Extensions — dt-sdk 1.0.0 documentation + + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Migrating EF1 Extensions

+
+
Use this guide to understand how to migrate an existing Python EF1 extension to the new EF2 format.
+
+
+

Requirements

+ +
+
+

Step by Step

+

To migrate an existing python EF1 extension using VSCode, the steps are as follows:

+
    +
  1. Create a new EF2 extension

  2. +
  3. Import the EF1 extension using the Dynatrace extensions: Convert Python command

  4. +
  5. Convert the code, moving the class from the original extension to the __main__.py file of the new extension

  6. +
+
+

Create a new EF2 extension

+
    +
  1. Open an empty folder in VSCode, then run the Dynatrace extensions: Initialize Workspace command

  2. +
  3. Select the schema version (latest recommended), and the certificates you want to use to sign the extension

  4. +
+
+

+
+Init workspace +
+

+
+
    +
  1. Chose the Python Extension 2.0 project type

  2. +
  3. Give your extension a name, it must respect the python module naming convention (all lower case with optional underscores).

  4. +
+
+

+
+Chose project type +
+

+
+
+
+

Import the Python EF1 extension

+
+
The first step is to convert the old plugin.json file to the new activationSchema.json format.
+
This will automatically create the Settings 2.0 UI for your extension, which defines the UI for the user to configure the extension.
+

+
Run the command Dynatrace extensions: Convert Python.
+
You can chose to import an existing python extension from:
+

+
+
    +
  • The extension zip file

  • +
  • The plugin.json file

  • +
  • From your Dynatrace environment

  • +
+
+

+
+Import extension +
+

+
+
+
In this example we are importing from a Dynatrace environment, which gives you a list of all python extensions on that environment.
+

+
If you would like to import from your computer, a file picker will open, and you can select the zip or plugin.json file of your extension.
+
+
+

+
+Import from dynatrace +
+

+
+
+
After you select an extension, your activationSchema.json will be overwritten with the correct settings.
+

+
You should also review that file, to make sure your UI looks the way you want it to.
+

+
+
+

Note

+
+
If you are importing a local (OneAgent) extension, delete the entry activation > remote from the extension.yaml file.
+
If instead you are importing a remote (Activegate) extension, delete activation > local.
+
You can also make your extension work both remotely and locally, by keeping both entries and modifying the activationSchema.json file accordingly.
+
+
+
+
+

Modify the extension code

+
+

Note

+
+
We are working on automating part of this step.
+
+
+
+
Move your existing extension code to the __main__.py file of the new extension.
+
The easiest way to accomplish this is by pasting the code from your existing extension class into the new ExtensionImpl class.
+

+
Here are the most important changes you need to make to your code:
+

+
+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Code conversion reference

Description

EF1 method

EF2 method

Notes

Logging

self.logger.info("message")

self.logger.info("message")

Stays the same

Obtaining user defined parameters

self.config.get("param_name", "default_value")

self.activation_config.get("param_name", "default_value")

You can find and replace all self.config. entries with self.activation_config.

Report an event

self.results_builder.report_custom_info_event

self.report_dt_event

Try to keep topology (groups, device, IDs) out of the code, this is defined later in the extension.yaml file.

Report a metric

device.absolute("metric_key", metric_value, {"dimension_name": "dimension_value"})

self.report_metric("metric_key", metric_value, {"dimension_name": "dimension_value"})

There is no concept of a device in the python code anymore, send metrics directly.

Create groups and custom devices

self.topology_builder.create_group, group.create_device

n/a

Doesn’t exist, topology is defined in the extension.yaml file.

+
+
+

Build and upload the extension

+
+
Build the extension by running the command Dynatrace extensions: Build.
+
If the build is successful, you will see a prompt to upload the extension to your Dynatrace environment and activate it.
+
Accept both prompts
+

+
Navigate to your Dynatrace environment, to Infrastructure Observability > Extensions and find your extension.
+
+
+

+
+Extension config +
+

+
+
+
Click Add monitoring configuration
+
Check that your UI looks the way you want it to, and fill in the parameters.
+
+
+

Note

+
+
You can copy the value from the right side JSON Snippet and use it in your activation.json file to test your extension locall with dt-sdk run
+
+
+
+

+
+Extension config +
+

+
+
+
+

Limitations

+
    +
  • The process snapshot is not yet supported, but will be added in the future. As a workaround the file <dynatrace_log_path>/dynatrace/oneagent/plugin/oneagent_latest_snapshot.log can be read and parsed as JSON.

  • +
  • The metric metadata and topology must be added to the extension.yaml file, part of this will be automated in the future.

  • +
+
+
+
+ +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..e6c18a1 --- /dev/null +++ b/index.html @@ -0,0 +1,565 @@ + + + + + + + + + Dynatrace Extensions SDK for Python — dt-sdk 1.0.0 documentation + + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + + + + Edit on GitHub + + + + View source + + +
+
+
+
+
+
+
+
+
+
+
+

Dynatrace Extensions SDK for Python

+

dt-extensions-sdk is a Python library and a toolbox for building Python +extensions for Extensions Framework 2.0. It provides a ready to use template +and a set of tools to build, test, package, and ship your extension.

+

+ + PyPI + + + PyPI - Python Version + +

What dt-sdk can do

+
    +
  • Generate a new extension from template

  • +
  • Run extensions locally

  • +
  • Build and sign extensions

  • +
+
+

Installation

+

dt-extensions-sdk can be installed from PyPI. +For other installation options and Requirements +please see Installation.

+
pip install dt-extensions-sdk[cli]
+
+
+
+

Installing in virtual environment

+

This approach is recommended if you are working on several extensions:

+
python -m venv .venv
+source .venv/bin/activate
+pip install dt-extensions-sdk
+
+
+

Keeping each extension in its own virtual environment is a good practice. +It guarantees that each extension has its own set of dependencies and +does not interfere with other extensions.

+
+
+
+

Quick Start

+

Once dt-sdk is installed, we are ready to create our first extension.

+
+

Create extension

+

Let’s generate a new extension called my_extension from scratch using the +Create command:

+
$ dt-sdk create my_extension
+Extension created at my_extension
+
+
+

This will create a new directory called my_extension with the following +structure:

+
my_extension
+├── README.md
+├── activation.json
+├── extension
+│   ├── activationSchema.json
+│   └── extension.yaml
+├── my_extension
+│   ├── __init__.py
+│   └── __main__.py
+└── setup.py
+
+
+
+

What do these files mean?

+

Be sure to checkout the Extension Structure guide for the detailed +explanation of why each file is needed and what needs to be in there.

+
+
+
+

Run extension

+

In order to launch the extension locally, we can use the Run command:

+
$ cd my_extension
+$ dt-sdk run
+Running: .venv/dt-extensions-sdk/bin/python -m my_extension --activationconfig activation.json
+[INFO] api (MainThread): -----------------------------------------------------
+[INFO] api (MainThread): Starting <class '__main__.ExtensionImpl'> my_extension, version: 1.1.0
+[INFO] api (ThreadPoolExecutor-1_0): send_status: '{"status": "OK", "message": "", "timestamp": 1699993566909}'
+[INFO] api (ThreadPoolExecutor-1_1): send_sfm_metric: dsfm:datasource.python.threads,dt.extension.config.id="development_config_id" count,delta=4
+[INFO] dynatrace_extension.sdk.extension (ThreadPoolExecutor-0_0): query method started for my_extension.
+[INFO] dynatrace_extension.sdk.extension (ThreadPoolExecutor-0_0): query method ended for my_extension.
+
+
+
+

Query method and scheduling

+

The query() method in __main__.py file is scheduled to run every 60 seconds. +You can also schedule other methods to run at different intervals by overriding +dynatrace_extension.Extension.initialize() method: +schedule:

+
def initialize(self):
+    # Schedule the my_method method to run every 5 minutes
+    self.schedule(self.my_method, timedelta(minutes=5))
+
+
+
+

We can see that the extension is running and the query method was successfully +executed. For now, it does not do anything useful, so it finishes immediately.

+

If we now press Ctrl+C to stop the execution, we will see the following output:

+
^C[INFO] api (MainThread): SIGINT captured. Flushing metrics and exiting...
+[INFO] api (MainThread): send_metric: my_metric,my_dimension="dimension1" gauge,1 1699993566910
+[INFO] api (MainThread): Sent 1 metric lines to EEC: [MintResponse(lines_ok=1, lines_invalid=0, error=None, warnings=None)]
+[INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.threads,dt.extension.config.id="development_config_id" count,delta=4
+[INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.time,callback="query",dt.extension.config.id="development_config_id" gauge,0.0003
+[INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.total.count,callback="query",dt.extension.config.id="development_config_id" count,delta=1
+[INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.count,callback="query",dt.extension.config.id="development_config_id" count,delta=1
+[INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.ok.count,callback="query",dt.extension.config.id="development_config_id" count,delta=1
+[INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.timeout.count,callback="query",dt.extension.config.id="development_config_id" count,delta=0
+[INFO] api (MainThread): send_sfm_metric: dsfm:datasource.python.execution.exception.count,callback="query",dt.extension.config.id="development_config_id" count,delta=0
+
+
+

We can see here, that the extension has sent 1 metric to the Dynatrace. That’s because +the query() contains the following line:

+
# Report metrics with
+self.report_metric("my_metric", 1, dimensions={"my_dimension": "dimension1"})
+
+
+

This code sends a single data point for the metric called my_metric with +value 1 and dimension my_dimension with value dimension1. +The next data point for same metric will be sent in 60 seconds, when the query() +method executes again.

+
+

Self monitoring metrics

+

You might have noticed that there are some additional metrics being sent +to Dynatrace. These are called self monitoring metrics and they allow the environment +to understand how the extension is performing and whether everything is fine with +the assigned monitoring configuration.

+
+
+
+

Generate certificates

+

In order to sign the extension, we need to have a certificate that is uploaded +to the environment and to the OneAgent or Activegate hosts +that will run the extension.

+
+

Already have the certificate?

+

If you already have the certificate and it is uploaded to the environment and hosts +you can skip this step and go directly to the build step.

+
+

In order to generate a new certificate, we can use the Generate Certificates command:

+
$ dt-sdk gencerts
+Running: dt ext genca --ca-cert /Users/myuser/.dynatrace/certificates/ca.pem --ca-key
+/Users/myuser/.dynatrace/certificates/ca.key --no-ca-passphrase
+Generating CA...
+Wrote CA private key: /Users/myuser/.dynatrace/certificates/ca.key
+Wrote CA certificate: /Users/myuser/.dynatrace/certificates/ca.pem
+Running: dt ext generate-developer-pem --output /Users/myuser/.dynatrace/certificates/developer.pem --name Acme
+--ca-crt /Users/myuser/.dynatrace/certificates/ca.pem --ca-key /Users/myuser/.dynatrace/certificates/ca.key
+Loading CA private key /Users/myuser/.dynatrace/certificates/ca.key
+Loading CA certificate /Users/myuser/.dynatrace/certificates/ca.pem
+Generating developer certificate...
+Wrote developer certificate: /Users/myuser/.dynatrace/certificates/developer.pem
+Wrote developer private key: /Users/myuser/.dynatrace/certificates/developer.pem
+
+
+

This will place the developer certificates in the default directory.

+
+

Detailed documentation

+

For more information on how to generate and upload certificates, please see +certificates documentation.

+
+
+
+

Build extension

+

Now that we have a working extension and a certificate to sing it with, +we can build it using the Build command, which will perform the following +steps:

+
    +
  1. Download the dependencies

  2. +
  3. Build a wheel

  4. +
  5. Package the build into a .zip archive

  6. +
  7. Sign the archive with the given certificate

  8. +
+
$ dt-sdk build
+Building and signing extension from my_extension to None
+Stage 1 - Download and build dependencies
+Cleaning my_extension/extension/lib
+Downloading dependencies to my_extension/extension/lib
+Running: .venv/dt-extensions-sdk/bin/python -m pip wheel -w extension/lib .
+Processing my_extension
+Preparing metadata (setup.py) ... done
+Collecting dt-extensions-sdk (from my-extension==0.0.1)
+Using cached dt_extensions_sdk-1.1.0-py3-none-any.whl.metadata (1.8 kB)
+Using cached dt_extensions_sdk-1.1.0-py3-none-any.whl (42 kB)
+Saved ./extension/lib/dt_extensions_sdk-1.1.0-py3-none-any.whl
+Building wheels for collected packages: my-extension
+Building wheel for my-extension (setup.py) ... done
+Created wheel for my-extension: filename=my_extension-0.0.1-py3-none-any.whl size=1985 sha256=19039181b70d68105512ad52b80129368724b3f15e0ba2a2b5fdb98cc710e705
+Stored in directory: /private/var/folders/jd/s1xmb3jj31gcd11g3p4ncctm5q47pj/T/pip-ephem-wheel-cache-zqkysr41/wheels/9c/1c/44/e47f092abb0d0b281251f7cfc7b8d5993c2c5678b3acd80751
+Successfully built my-extension
+Installed dependencies to my_extension/extension/lib
+Stage 2 - Create the extension zip file
+Running: dt ext assemble --source my_extension/extension --output my_extension/dist/extension.zip --force
+my_extension/dist/extension.zip file already exists, it will be overwritten!
+Building my_extension/dist/extension.zip from my_extension/extension
+Adding file: my_extension/extension/lib/my_extension-0.0.1-py3-none-any.whl as lib/my_extension-0.0.1-py3-none-any.whl
+Adding file: my_extension/extension/lib/dt_extensions_sdk-1.1.0-py3-none-any.whl as lib/dt_extensions_sdk-1.1.0-py3-none-any.whl
+Adding file: my_extension/extension/extension.yaml as extension.yaml
+Adding file: my_extension/extension/activationSchema.json as activationSchema.json
+Built the extension zip file to my_extension/dist/extension.zip
+Stage 3 - Sign the extension
+Signing file my_extension/dist/extension.zip to my_extension/dist/custom_my-extension-0.0.1.zip with certificate
+/Users/myuser/.dynatrace/certificates/developer.pem
+Running: dt ext sign --src my_extension/dist/extension.zip --output my_extension/dist/custom_my-extension-0.0.1.zip
+--key /Users/myuser/.dynatrace/certificates/developer.pem --force
+Created signed extension file my_extension/dist/custom_my-extension-0.0.1.zip
+Stage 4 - Delete my_extension/dist/extension.zip
+
+
+

Once completed, the signed build will be placed in the dist directory:

+
dist/custom_my-extension-0.0.1.zip
+
+
+
+
+

Upload extension

+

Finally, we can upload the extension to the environment using the Upload +command. It requires us to provide the environment URL and an API token with the permission +to upload extensions. This can be done via environment variables or command line arguments

+
$ dt-sdk upload
+Uploading extension dist/custom_my-extension-0.0.1.zip to https://<your_environment_url_here>/
+Extension upload successful!
+Extension dist/custom_my-extension-0.0.1.zip uploaded to https://<your_environment_url_here>/
+
+
+
+
+
+

Documentation

+ + + +
+
+ +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/objects.inv b/objects.inv new file mode 100644 index 0000000..ffd8c2a Binary files /dev/null and b/objects.inv differ diff --git a/search.html b/search.html new file mode 100644 index 0000000..2ba0b30 --- /dev/null +++ b/search.html @@ -0,0 +1,198 @@ + + + + + + + Search — dt-sdk 1.0.0 documentation + + + + + + + + + + +
+ Skip to content +
+ +
+
+
+
+ +
+
+
+ +
+
+ + +
+
+
+
+
+
+
+
+
+
+ + + +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/searchindex.js b/searchindex.js new file mode 100644 index 0000000..1dd0f24 --- /dev/null +++ b/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"alltitles": {"API Reference": [[20, null]], "Activation Config": [[17, "activation-config"]], "Activation Schema": [[17, "activation-schema"]], "All Commands": [[20, null]], "Already have the certificate?": [[20, null]], "Assemble": [[7, null]], "Build": [[8, null]], "Build and upload the extension": [[19, "build-and-upload-the-extension"]], "Build extension": [[20, "build-extension"]], "Building Extensions": [[16, null]], "Bumping version": [[17, null]], "Code conversion reference": [[19, "id1"]], "Core package": [[18, null]], "Create": [[9, null]], "Create a new EF2 extension": [[19, "create-a-new-ef2-extension"]], "Create extension": [[20, "create-extension"]], "Datasource Activation": [[17, "datasource-activation"]], "Datasources": [[17, null]], "Dependencies": [[17, null]], "Detailed documentation": [[20, null]], "Documentation": [[20, "documentation"]], "Don\u2019t bring your own Python": [[17, null]], "Dynatrace Extensions SDK for Python": [[20, null]], "Event Severity": [[0, null]], "Event Type": [[1, null]], "Events": [[2, null]], "Extension Definition": [[17, "extension-definition"]], "Extension Name": [[17, "extension-name"]], "Extension Structure": [[17, null]], "Extension Version": [[17, "extension-version"]], "Extension size": [[17, null]], "Generate Certificates": [[10, null]], "Generate certificates": [[20, "generate-certificates"]], "Guides": [[20, null]], "Help": [[11, null]], "Import the Python EF1 extension": [[19, "import-the-python-ef1-extension"]], "Installation": [[18, null], [20, "installation"]], "Installing from PyPI": [[18, "installing-from-pypi"]], "Installing in virtual environment": [[20, "installing-in-virtual-environment"]], "Limitations": [[19, "limitations"]], "Local Directory": [[16, "local-directory"]], "Members": [[0, "members"], [1, "members"], [5, "members"], [6, "members"]], "Metric": [[5, null]], "Metric Type": [[6, null]], "Metrics": [[4, null]], "Migrating EF1 Extensions": [[19, null]], "Minimal Dynatrace Version": [[17, "minimal-dynatrace-version"]], "Modify the extension code": [[19, "modify-the-extension-code"]], "Musl vs libc": [[16, "musl-vs-libc"]], "Native dependencies": [[16, "native-dependencies"]], "Official extensions": [[17, null]], "PyPI Access": [[16, "pypi-access"]], "PyPI Mirror": [[16, "pypi-mirror"]], "Python": [[17, "python"]], "Python Runtime": [[17, "python-runtime"]], "Query method and scheduling": [[20, null]], "Quick Start": [[20, "quick-start"]], "Requirements": [[18, "requirements"], [19, "requirements"]], "Run": [[12, null]], "Run extension": [[20, "run-extension"]], "Self monitoring metrics": [[20, null]], "Setup.py": [[17, "setup-py"]], "Sign": [[13, null]], "Step by Step": [[19, "step-by-step"]], "Submodules and Classes": [[2, null], [4, null]], "Upload": [[14, null]], "Upload extension": [[20, "upload-extension"]], "What do these files mean?": [[20, null]], "Wheel": [[15, null]]}, "docnames": ["api/events/event_severity", "api/events/event_type", "api/events/index", "api/extension", "api/metrics/index", "api/metrics/metric", "api/metrics/metric_type", "cli/assemble", "cli/build", "cli/create", "cli/gencerts", "cli/help", "cli/run", "cli/sign", "cli/upload", "cli/wheel", "guides/building", "guides/extension_structure", "guides/installation", "guides/migration", "index"], "envversion": {"sphinx": 63, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["api/events/event_severity.rst", "api/events/event_type.rst", "api/events/index.rst", "api/extension.rst", "api/metrics/index.rst", "api/metrics/metric.rst", "api/metrics/metric_type.rst", "cli/assemble.rst", "cli/build.rst", "cli/create.rst", "cli/gencerts.rst", "cli/help.rst", "cli/run.rst", "cli/sign.rst", "cli/upload.rst", "cli/wheel.rst", "guides/building.rst", "guides/extension_structure.rst", "guides/installation.rst", "guides/migration.rst", "index.rst"], "indexentries": {"alert (dynatrace_extension.severity attribute)": [[0, "dynatrace_extension.Severity.ALERT", false]], "availability_event (dynatrace_extension.dteventtype attribute)": [[1, "dynatrace_extension.DtEventType.AVAILABILITY_EVENT", false]], "count (dynatrace_extension.metrictype attribute)": [[6, "dynatrace_extension.MetricType.COUNT", false]], "critical (dynatrace_extension.severity attribute)": [[0, "dynatrace_extension.Severity.CRITICAL", false]], "custom_alert (dynatrace_extension.dteventtype attribute)": [[1, "dynatrace_extension.DtEventType.CUSTOM_ALERT", false]], "custom_annotation (dynatrace_extension.dteventtype attribute)": [[1, "dynatrace_extension.DtEventType.CUSTOM_ANNOTATION", false]], "custom_configuration (dynatrace_extension.dteventtype attribute)": [[1, "dynatrace_extension.DtEventType.CUSTOM_CONFIGURATION", false]], "custom_deployment (dynatrace_extension.dteventtype attribute)": [[1, "dynatrace_extension.DtEventType.CUSTOM_DEPLOYMENT", false]], "custom_info (dynatrace_extension.dteventtype attribute)": [[1, "dynatrace_extension.DtEventType.CUSTOM_INFO", false]], "debug (dynatrace_extension.severity attribute)": [[0, "dynatrace_extension.Severity.DEBUG", false]], "delta (dynatrace_extension.metrictype attribute)": [[6, "dynatrace_extension.MetricType.DELTA", false]], "dteventtype (class in dynatrace_extension)": [[1, "dynatrace_extension.DtEventType", false]], "emergency (dynatrace_extension.severity attribute)": [[0, "dynatrace_extension.Severity.EMERGENCY", false]], "enabled_feature_sets (dynatrace_extension.extension property)": [[3, "dynatrace_extension.Extension.enabled_feature_sets", false]], "enabled_feature_sets_metrics (dynatrace_extension.extension property)": [[3, "dynatrace_extension.Extension.enabled_feature_sets_metrics", false]], "enabled_feature_sets_names (dynatrace_extension.extension property)": [[3, "dynatrace_extension.Extension.enabled_feature_sets_names", false]], "error (dynatrace_extension.severity attribute)": [[0, "dynatrace_extension.Severity.ERROR", false]], "error_event (dynatrace_extension.dteventtype attribute)": [[1, "dynatrace_extension.DtEventType.ERROR_EVENT", false]], "extension (class in dynatrace_extension)": [[3, "dynatrace_extension.Extension", false]], "fastcheck() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.fastcheck", false]], "gauge (dynatrace_extension.metrictype attribute)": [[6, "dynatrace_extension.MetricType.GAUGE", false]], "get_activation_config() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.get_activation_config", false]], "get_snapshot() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.get_snapshot", false]], "get_version() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.get_version", false]], "info (dynatrace_extension.severity attribute)": [[0, "dynatrace_extension.Severity.INFO", false]], "initialize() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.initialize", false]], "is_helper (dynatrace_extension.extension property)": [[3, "dynatrace_extension.Extension.is_helper", false]], "logger (dynatrace_extension.extension attribute)": [[3, "dynatrace_extension.Extension.logger", false]], "marked_for_termination (dynatrace_extension.dteventtype attribute)": [[1, "dynatrace_extension.DtEventType.MARKED_FOR_TERMINATION", false]], "metric (class in dynatrace_extension)": [[5, "dynatrace_extension.Metric", false]], "metrictype (class in dynatrace_extension)": [[6, "dynatrace_extension.MetricType", false]], "monitoring_config_id (dynatrace_extension.extension property)": [[3, "dynatrace_extension.Extension.monitoring_config_id", false]], "notice (dynatrace_extension.severity attribute)": [[0, "dynatrace_extension.Severity.NOTICE", false]], "on_shutdown() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.on_shutdown", false]], "performance_event (dynatrace_extension.dteventtype attribute)": [[1, "dynatrace_extension.DtEventType.PERFORMANCE_EVENT", false]], "query() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.query", false]], "register_fastcheck() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.register_fastcheck", false]], "report_dt_event() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.report_dt_event", false]], "report_dt_event_dict() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.report_dt_event_dict", false]], "report_event() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.report_event", false]], "report_log_event() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.report_log_event", false]], "report_log_events() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.report_log_events", false]], "report_log_lines() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.report_log_lines", false]], "report_metric() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.report_metric", false]], "report_mint_lines() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.report_mint_lines", false]], "resource_contention_event (dynatrace_extension.dteventtype attribute)": [[1, "dynatrace_extension.DtEventType.RESOURCE_CONTENTION_EVENT", false]], "run() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.run", false]], "schedule() (dynatrace_extension.extension method)": [[3, "dynatrace_extension.Extension.schedule", false]], "schedule_decorators (dynatrace_extension.extension attribute)": [[3, "dynatrace_extension.Extension.schedule_decorators", false]], "severe (dynatrace_extension.severity attribute)": [[0, "dynatrace_extension.Severity.SEVERE", false]], "severity (class in dynatrace_extension)": [[0, "dynatrace_extension.Severity", false]], "task_id (dynatrace_extension.extension property)": [[3, "dynatrace_extension.Extension.task_id", false]], "techrule (dynatrace_extension.extension property)": [[3, "dynatrace_extension.Extension.techrule", false]], "to_mint_line() (dynatrace_extension.metric method)": [[5, "dynatrace_extension.Metric.to_mint_line", false]], "validate() (dynatrace_extension.metric method)": [[5, "dynatrace_extension.Metric.validate", false]], "warn (dynatrace_extension.severity attribute)": [[0, "dynatrace_extension.Severity.WARN", false]]}, "objects": {"dynatrace_extension": [[1, 0, 1, "", "DtEventType"], [3, 0, 1, "", "Extension"], [5, 0, 1, "", "Metric"], [6, 0, 1, "", "MetricType"], [0, 0, 1, "", "Severity"]], "dynatrace_extension.DtEventType": [[1, 1, 1, "", "AVAILABILITY_EVENT"], [1, 1, 1, "", "CUSTOM_ALERT"], [1, 1, 1, "", "CUSTOM_ANNOTATION"], [1, 1, 1, "", "CUSTOM_CONFIGURATION"], [1, 1, 1, "", "CUSTOM_DEPLOYMENT"], [1, 1, 1, "", "CUSTOM_INFO"], [1, 1, 1, "", "ERROR_EVENT"], [1, 1, 1, "", "MARKED_FOR_TERMINATION"], [1, 1, 1, "", "PERFORMANCE_EVENT"], [1, 1, 1, "", "RESOURCE_CONTENTION_EVENT"]], "dynatrace_extension.Extension": [[3, 2, 1, "", "enabled_feature_sets"], [3, 2, 1, "", "enabled_feature_sets_metrics"], [3, 2, 1, "", "enabled_feature_sets_names"], [3, 3, 1, "", "fastcheck"], [3, 3, 1, "", "get_activation_config"], [3, 3, 1, "", "get_snapshot"], [3, 3, 1, "", "get_version"], [3, 3, 1, "", "initialize"], [3, 2, 1, "", "is_helper"], [3, 1, 1, "", "logger"], [3, 2, 1, "", "monitoring_config_id"], [3, 3, 1, "", "on_shutdown"], [3, 3, 1, "", "query"], [3, 3, 1, "", "register_fastcheck"], [3, 3, 1, "", "report_dt_event"], [3, 3, 1, "", "report_dt_event_dict"], [3, 3, 1, "", "report_event"], [3, 3, 1, "", "report_log_event"], [3, 3, 1, "", "report_log_events"], [3, 3, 1, "", "report_log_lines"], [3, 3, 1, "", "report_metric"], [3, 3, 1, "", "report_mint_lines"], [3, 3, 1, "", "run"], [3, 3, 1, "", "schedule"], [3, 1, 1, "", "schedule_decorators"], [3, 2, 1, "", "task_id"], [3, 2, 1, "", "techrule"]], "dynatrace_extension.Metric": [[5, 3, 1, "", "to_mint_line"], [5, 3, 1, "", "validate"]], "dynatrace_extension.MetricType": [[6, 1, 1, "", "COUNT"], [6, 1, 1, "", "DELTA"], [6, 1, 1, "", "GAUGE"]], "dynatrace_extension.Severity": [[0, 1, 1, "", "ALERT"], [0, 1, 1, "", "CRITICAL"], [0, 1, 1, "", "DEBUG"], [0, 1, 1, "", "EMERGENCY"], [0, 1, 1, "", "ERROR"], [0, 1, 1, "", "INFO"], [0, 1, 1, "", "NOTICE"], [0, 1, 1, "", "SEVERE"], [0, 1, 1, "", "WARN"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "attribute", "Python attribute"], "2": ["py", "property", "Python property"], "3": ["py", "method", "Python method"]}, "objtypes": {"0": "py:class", "1": "py:attribute", "2": "py:property", "3": "py:method"}, "terms": {"": 20, "0": [17, 19, 20], "0003": 20, "0_0": 20, "1": [3, 17, 20], "10": [16, 17, 18, 19], "127": 17, "14499": 12, "15": 3, "15672": 17, "15mb": 17, "1699993566909": 20, "1699993566910": 20, "19039181b70d68105512ad52b80129368724b3f15e0ba2a2b5fdb98cc710e705": 20, "1985": 20, "1_0": 20, "1_1": 20, "1c": 20, "2": [3, 19, 20], "285": 17, "3": [16, 17, 18, 19, 20], "4": 20, "42": 20, "44": 20, "5": 20, "60": 20, "8": 20, "8080": 16, "9c": 20, "A": [3, 6, 16], "As": 19, "At": 16, "Be": [17, 20], "By": 3, "For": [3, 6, 17, 18, 20], "If": [12, 13, 16, 17, 19, 20], "In": [16, 19, 20], "It": [17, 20], "Of": 17, "That": 20, "The": [0, 1, 3, 5, 12, 13, 16, 17, 19, 20], "There": [6, 17, 19], "These": [17, 20], "To": [16, 19], "__init__": [17, 20], "__main__": [17, 19, 20], "abl": 17, "about": 17, "absolut": 19, "accept": [17, 19], "access": 20, "accomplish": 19, "accordingli": 19, "acm": 20, "activ": [3, 12, 19, 20], "activation_config": [12, 19], "activation_typ": 3, "activationconfig": [3, 20], "activationcontext": 17, "activationschema": [17, 19, 20], "activationtyp": 3, "activeg": [16, 17, 18, 19, 20], "ad": [5, 17, 19, 20], "add": 19, "addit": [18, 20], "after": [3, 19], "again": 20, "agent": 17, "albu": 17, "alert": 0, "all": [3, 16, 17, 18, 19], "allow": [5, 16, 20], "allowedscop": 17, "along": 17, "alpin": 16, "alreadi": 3, "also": [19, 20], "alwai": [3, 17], "an": [0, 3, 6, 8, 11, 12, 15, 17, 19, 20], "ani": [3, 16, 17, 18, 20], "anoth": 16, "anymor": 19, "anyth": 20, "api": [1, 3, 14], "approach": 20, "ar": [3, 6, 16, 17, 18, 19, 20], "arbitrarili": 6, "archiv": 20, "arg": [3, 11], "argument": [3, 7, 8, 9, 12, 13, 14, 15, 20], "arm64": [8, 15], "assembl": [8, 11, 20], "assign": [3, 20], "associ": 3, "assum": 16, "audit": 17, "author": 17, "autom": 19, "automat": [17, 19], "avail": [17, 18], "availability_ev": [1, 3], "bare": 17, "base": [3, 16], "basic": 17, "becaus": [18, 20], "becom": 18, "been": 3, "befor": 3, "being": [18, 20], "best": 16, "between": 3, "big": 17, "bin": 20, "binari": 18, "bone": 17, "bool": [3, 5], "both": [16, 18, 19], "build": [5, 11, 15, 17], "built": [14, 16, 18, 20], "byte": [3, 6], "c": [13, 16, 20], "ca": 20, "cach": 20, "call": [0, 1, 3, 5, 18, 20], "callabl": 3, "callback": [3, 20], "can": [0, 1, 3, 6, 16, 17, 18, 19, 20], "capabl": 17, "captur": 20, "care": 17, "case": [16, 19], "cd": 20, "cento": 16, "cert": 20, "certif": [8, 11, 13, 19], "chang": 19, "charset": 16, "charset_norm": 16, "check": 19, "checkout": 20, "chose": 19, "chosen": 3, "ci": 16, "class": [0, 1, 3, 5, 6, 19, 20], "classvar": 3, "clean": 20, "cli": [11, 17, 18, 20], "click": 19, "code": [16, 17, 20], "collect": [17, 20], "com": [1, 3, 17], "command": [11, 16, 17, 18, 19], "commun": 17, "compat": 16, "compil": 16, "complet": [11, 20], "compli": [3, 5], "comput": 19, "concept": 19, "config": [3, 12, 19, 20], "configur": [3, 17, 19, 20], "consid": 17, "consol": 12, "construct": 5, "contain": [3, 16, 17, 20], "context": [0, 1], "continu": 6, "control": 17, "convent": 19, "convert": [5, 19], "copi": [11, 19], "correct": [16, 19], "correspond": 3, "count": [6, 20], "counter": 6, "cover": 16, "cpu": 6, "creat": [7, 8, 11, 17], "create_devic": 19, "create_group": 19, "critic": 0, "crt": 20, "ctrl": 20, "current": [3, 6, 11, 12], "custom": [3, 11, 17, 19], "custom_alert": [1, 3], "custom_annot": [1, 3], "custom_configur": [1, 3], "custom_deploy": [1, 3], "custom_info": [1, 3], "custom_mi": 20, "data": [3, 17, 20], "datasourc": 20, "datetim": [3, 5], "debug": 0, "def": 20, "default": [3, 7, 8, 9, 10, 12, 13, 14, 15, 17, 20], "default_valu": 19, "defin": [0, 1, 3, 17, 19], "definit": 20, "delet": [19, 20], "delta": [6, 20], "depend": [8, 11, 15, 18, 20], "dependeci": 18, "deploi": 17, "describ": 17, "describi": 17, "descript": [3, 17, 19], "determin": 17, "dev": [8, 13, 17], "develop": [10, 11, 12, 13, 20], "development_config_id": 20, "devic": 19, "dict": [3, 5], "dictionari": 3, "differ": [16, 17, 20], "dimens": [3, 5, 20], "dimension1": 20, "dimension_nam": 19, "dimension_valu": 19, "directli": [3, 19, 20], "directori": [8, 10, 12, 20], "displaynam": 17, "dist": [13, 20], "do": [3, 17], "doc": 1, "docker": 16, "document": 1, "doe": [17, 20], "doesn": 19, "done": [3, 20], "down": [3, 6], "download": [8, 11, 15, 16, 17, 20], "dozen": 16, "dsfm": 20, "dt": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], "dt_extensions_sdk": 20, "dteventtyp": [1, 3], "dumbledor": 17, "dure": [11, 12], "dynatrac": [1, 3, 6, 8, 10, 11, 13, 14, 16, 19], "dynatrace_extens": [0, 1, 3, 5, 6, 20], "dynatrace_log_path": 19, "e": [8, 15], "e47f092abb0d0b281251f7cfc7b8d5993c2c5678b3acd80751": 20, "each": [16, 17, 20], "easiest": 19, "eec": [3, 20], "ef1": 20, "ef2": [17, 20], "either": 16, "embed": 3, "emerg": 0, "empti": 19, "enabl": [3, 17], "enabled_feature_set": [3, 20], "enabled_feature_sets_metr": [3, 20], "enabled_feature_sets_nam": [3, 20], "end": [3, 20], "end_tim": 3, "endpoint": 17, "endtim": 3, "entiti": 3, "entity_selector": 3, "entityselector": 3, "entri": 19, "enum": [0, 1, 3], "enumer": 6, "env": 16, "environ": [1, 3, 5, 11, 14, 16, 17, 18, 19], "ephem": 20, "equival": 17, "error": [0, 17, 20], "error_ev": [1, 3], "etc": 16, "even": 3, "event": [3, 5, 19, 20], "event_typ": 3, "eventtyp": 3, "everi": [3, 17, 18, 20], "everyth": [17, 20], "exampl": [3, 6, 16, 17, 18, 19], "exce": 17, "except": 20, "execut": [3, 17, 20], "exist": [13, 19, 20], "exit": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20], "explan": 20, "ext": 20, "extens": [0, 1, 3, 5, 7, 8, 9, 11, 12, 13, 14, 15, 18], "extension_config": 3, "extension_dir": [7, 8, 12, 15], "extension_nam": 9, "extension_path": 14, "extensionimpl": [19, 20], "extra": [3, 8, 15, 16], "extras_requir": 17, "f": [7, 8, 10, 13, 15], "fail": 3, "fals": 17, "fast_check": 12, "fast_check_callback": 3, "fastcheck": [3, 12, 20], "featur": [3, 17], "feautr": 3, "field": 17, "file": [3, 7, 8, 11, 12, 13, 14, 16, 17, 19], "filenam": 20, "fill": 19, "final": 20, "find": [8, 15, 16, 19], "find_packag": 17, "fine": 20, "finish": 20, "first": [19, 20], "flag": 16, "float": [3, 5], "flush": [3, 20], "folder": [11, 13, 14, 15, 16, 19, 20], "follow": [3, 17, 18, 19, 20], "forc": [7, 10, 13, 20], "format": [3, 17, 19], "framework": [5, 17, 20], "frequenc": 3, "from": [3, 8, 15, 16, 17, 19, 20], "full": 17, "fuse": [8, 11, 13], "futur": 19, "gaug": [3, 5, 6, 20], "genca": 20, "gencert": [10, 11, 20], "gener": [11, 17], "general_avail": 17, "get": [16, 17, 19], "get_activation_config": [3, 20], "get_snapshot": [3, 20], "get_vers": [3, 20], "give": [17, 19], "given": 20, "go": [6, 20], "good": 20, "group": 19, "guarante": 20, "guest": 17, "guid": [16, 19], "ha": [3, 5, 16, 20], "happen": 3, "have": [16, 17], "heartbeat": 3, "help": [3, 7, 8, 9, 10, 12, 13, 14, 15, 19, 20], "here": [17, 19, 20], "home": [8, 10, 13], "host": [17, 20], "how": [19, 20], "howev": 17, "http": [1, 3, 16, 17, 20], "i": [0, 1, 3, 5, 6, 8, 11, 12, 15, 16, 17, 18, 19, 20], "id": [19, 20], "identifi": 3, "ignor": 18, "imag": 16, "immedi": [3, 20], "implement": 3, "import": [17, 20], "imposs": 17, "includ": 17, "include_package_data": 17, "increas": 6, "index": [8, 15], "individu": 17, "info": [0, 3, 19, 20], "inform": [17, 20], "infrastructur": 19, "ingest": [0, 1, 3, 12], "initi": [3, 19, 20], "input": 3, "instal": [11, 16, 17, 19], "install_requir": 17, "instanc": [3, 17], "instead": 19, "int": [3, 5], "integ": [3, 12], "interfac": 6, "interfer": 20, "intern": [3, 5], "internet": 16, "interpret": 17, "interv": [3, 20], "investig": 16, "invoc": 3, "invok": 3, "is_help": [3, 20], "item": 17, "its": 20, "itself": 18, "jd": 20, "jmx": 17, "json": [12, 17, 19, 20], "just": 18, "k": 8, "kb": 20, "keep": [19, 20], "kei": [3, 5, 8, 10, 11, 13, 20], "kwarg": 3, "languag": 16, "larg": 17, "larger": 17, "later": 19, "latest": 19, "launch": [3, 17, 20], "let": 20, "lib": [11, 15, 16, 20], "libc": 20, "librari": [16, 20], "like": [16, 17, 19], "limit": 20, "line": [3, 18, 20], "lines_invalid": 20, "lines_ok": 20, "link": [8, 15, 16], "linux": [16, 17], "list": [3, 5, 17, 19], "load": 20, "local": [3, 11, 12, 17, 19, 20], "local_ingest": 12, "local_ingest_port": 12, "localhost": 12, "log": [0, 3, 19], "log_ev": 3, "log_lin": 3, "logger": [3, 19, 20], "logic": 17, "look": [17, 19], "loop": 3, "lower": [17, 19], "m": [3, 20], "mac": [8, 15], "machin": 16, "main": [3, 17], "mainthread": 20, "make": [18, 19], "mandatori": 17, "manual": 16, "manylinux2014_x86_64": 16, "map": 3, "marked_for_termin": [1, 3], "match": 17, "matur": 17, "md": [17, 20], "mean": [16, 17], "messag": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 20], "metadata": [19, 20], "method": [0, 1, 3, 5, 19], "metric": [3, 12, 19], "metric_kei": 19, "metric_typ": [3, 5], "metric_valu": 19, "metrictyp": [3, 5, 6], "might": [16, 17, 20], "migrat": 20, "min": 17, "mindynatracevers": 17, "minim": 20, "minlength": 3, "mint": [3, 5], "mintrespons": 20, "minut": [3, 20], "mirror": 20, "mode": 3, "modifi": 20, "modul": [17, 19], "monitor": [3, 17, 19], "monitoring_config_id": [3, 20], "more": [17, 20], "most": [16, 19], "mostli": 5, "move": 19, "much": 17, "multiobject": 17, "multipl": 18, "multitud": 17, "musl": 20, "must": [3, 16, 17, 19], "my": [16, 17, 20], "my_dimens": 20, "my_extens": [17, 20], "my_method": 20, "my_metr": [3, 20], "my_other_metr": 3, "myuser": 20, "n": 19, "name": [3, 19, 20], "namespac": 17, "nativ": 20, "navig": [16, 19], "need": [3, 16, 17, 19, 20], "network": 6, "new": [9, 11, 17, 20], "next": 20, "none": [3, 5, 7, 8, 9, 13, 14, 15, 20], "normal": 16, "note": [16, 19], "notic": [0, 20], "now": 20, "nullabl": 17, "number": [3, 6], "numer": 6, "o": [7, 8, 9, 10, 13, 15], "object": [3, 5, 17], "observ": 19, "obtain": [16, 19], "offici": 1, "offlin": 16, "ok": 20, "old": 19, "older": 17, "omit": 18, "on_shutdown": [3, 20], "onc": [3, 18, 20], "one": [16, 17], "oneag": [3, 16, 17, 18, 19, 20], "oneagent_latest_snapshot": 19, "onli": [0, 1, 3, 8, 14, 15, 17, 18], "open": 19, "oper": 16, "option": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20], "optionc": 18, "order": 20, "organ": 16, "origin": 19, "other": [16, 17, 20], "otherwis": [3, 17], "our": 20, "out": 19, "output": [7, 9, 10, 13, 20], "over": 6, "overrid": 20, "overwrit": [7, 10, 13], "overwritten": [19, 20], "own": 20, "ownerdevelop": 17, "ownerproductmanag": 17, "packag": [16, 17, 20], "page": 16, "param": [12, 13], "param_nam": 19, "paramet": [3, 19], "parker": 17, "pars": [3, 19], "part": [18, 19], "particular": 3, "passphras": 20, "password": 17, "past": 19, "path": [3, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19], "patternproperti": 3, "pem": 20, "percentag": 6, "perform": 20, "performance_ev": [1, 3], "period": 3, "permiss": 20, "peter": 17, "pextens": 3, "picker": 19, "pip": [16, 18, 20], "pip_index_url": 16, "pip_trusted_host": 16, "place": [16, 17, 20], "plai": 17, "platform": [8, 15, 16, 17], "pleas": 20, "plugin": 19, "point": 20, "port": 12, "possibl": 17, "post": [1, 3], "powershel": 16, "practic": [16, 20], "prepar": 20, "present": [16, 18], "press": 20, "print": 12, "print_metr": 12, "privat": [8, 20], "problem": 3, "process": [3, 6, 19, 20], "project": [18, 19], "prometheu": 17, "prompt": 19, "properti": [3, 17], "protocol": [3, 5], "provid": [3, 11, 13, 16, 17, 20], "publish": 3, "pure": 16, "purpos": 17, "put": 13, "py": [19, 20], "py3": 20, "pypi": 20, "python": [3, 7, 8, 9, 11, 15, 16, 18], "python_requir": 17, "pythonremot": 17, "pyyaml": 18, "queri": 3, "quit": 17, "rais": 3, "read": [17, 19], "readi": 20, "readm": [17, 20], "reason": 16, "receiv": [3, 6, 17], "recommend": [17, 19, 20], "ref": 17, "refer": 3, "regist": 3, "register_fastcheck": [3, 20], "reinvent": 17, "remot": [3, 17, 19], "replac": 19, "report": [3, 19, 20], "report_custom_info_ev": 19, "report_dt_ev": [1, 3, 19, 20], "report_dt_event_dict": [3, 20], "report_ev": [0, 3, 20], "report_log_ev": [3, 20], "report_log_lin": [3, 20], "report_metr": [3, 5, 19, 20], "report_mint_lin": [3, 20], "repres": [3, 6], "request": [3, 16], "requir": [3, 9, 16, 17, 20], "resource_contention_ev": [1, 3], "respect": 19, "results_build": 19, "retriev": 3, "return": 3, "review": 19, "rid": 17, "right": 19, "role": 17, "root": [10, 11], "rule": 3, "run": [3, 8, 11, 16, 17, 19], "runner": [8, 10, 13], "runtim": [3, 20], "rust": 16, "s1xmb3jj31gcd11g3p4ncctm5q47pj": 20, "same": [16, 17, 19, 20], "sampl": 17, "save": 20, "schedul": 3, "schedule_decor": [3, 20], "schema": [19, 20], "schemaid": 17, "scratch": 20, "sdk": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "second": [3, 20], "section": 17, "see": [3, 16, 19, 20], "select": 19, "selector": 3, "self": [3, 19], "send": [3, 5, 12, 19, 20], "send_metr": 20, "send_sfm_metr": 20, "send_statu": 20, "sent": [3, 5, 6, 20], "separ": 3, "server": 16, "set": [3, 18, 19, 20], "setter": 3, "setup": 20, "setuptool": 17, "sever": [2, 3, 16, 20], "sha256": 20, "shell": 11, "ship": 20, "shortlink": 3, "should": [3, 16, 19], "show": [7, 8, 9, 10, 11, 12, 13, 14, 15], "shut": 3, "shutdown": 3, "side": 19, "sigint": 20, "sign": [7, 8, 11, 17, 19, 20], "signal": 3, "simpl": [3, 16, 17], "sinc": [6, 17], "sing": 20, "singl": [6, 17, 20], "size": 20, "skip": 20, "snapshot": [3, 19], "snapshot_fil": 3, "snippet": 19, "snmp": 17, "so": [16, 17, 20], "solut": 16, "some": [16, 17, 20], "sometim": 3, "sourc": [0, 1, 3, 5, 6, 16, 17, 20], "specif": [3, 16, 17], "specifi": [3, 13, 17], "sql": 17, "src": 20, "stage": 20, "stai": 19, "standard": 17, "start": [3, 6], "start_tim": 3, "starttim": 3, "statu": [3, 20], "step": 20, "stop": 20, "store": 20, "str": [3, 5], "string": [3, 5], "structur": 20, "subclass": 3, "succe": 3, "success": [19, 20], "successfulli": 20, "summari": 16, "summarystat": [3, 5], "suppli": 17, "support": [3, 16, 17, 19], "suppos": 16, "sure": [19, 20], "system": [16, 17, 18], "t": [8, 14, 19, 20], "target": [8, 17], "task": 3, "task_id": [3, 20], "technologi": 3, "techrul": [3, 20], "tell": 16, "templat": 20, "tenant": [3, 14], "test": [11, 12, 17, 19, 20], "text": [8, 9, 12, 14, 15, 17], "than": [16, 17], "thei": [16, 17, 20], "them": [12, 16, 17], "theoret": 17, "thi": [0, 1, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20], "thread": [3, 20], "threadpoolexecutor": 20, "through": [0, 1], "thrown": 17, "thu": 17, "time": [3, 16, 17, 20], "timedelta": [3, 20], "timeout": [3, 20], "timestamp": [3, 5, 20], "titl": 3, "to_mint_lin": 5, "token": [14, 20], "tool": [18, 20], "toolbox": 20, "top": 12, "topologi": 19, "topology_build": 19, "total": 20, "track": 17, "true": [7, 12, 13, 17], "try": 19, "tupl": 3, "twice": 17, "two": [6, 17], "type": [2, 3, 4, 17, 19, 20], "typer": 18, "u": [14, 20], "ubuntu": 16, "ui": 19, "under": 16, "underscor": 19, "understand": [17, 19, 20], "uniqu": [3, 17], "unlik": 3, "up": 6, "updat": 17, "upload": [11, 17], "url": [8, 14, 15, 17, 20], "us": [0, 1, 3, 5, 8, 11, 12, 13, 15, 16, 17, 19, 20], "usag": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "user": [3, 17, 19, 20], "usual": 16, "utc": 3, "util": 1, "v": [14, 20], "v2": [1, 3], "valid": [5, 14, 17], "valu": [0, 1, 3, 5, 6, 17, 19, 20], "var": 20, "variabl": [16, 20], "venv": 20, "veri": [16, 17], "version": [3, 11, 16, 19, 20], "via": 20, "vscode": 19, "w": 20, "wa": [3, 20], "wai": 19, "want": 19, "warn": [0, 20], "we": [13, 17, 19, 20], "well": 17, "what": [5, 16, 17], "wheel": [8, 11, 16, 17, 20], "when": [0, 1, 3, 5, 8, 15, 16, 17, 18, 20], "where": 17, "whether": [3, 20], "which": [3, 5, 16, 17, 18, 19, 20], "whl": [16, 20], "why": 20, "wide": 18, "win_amd64": 16, "window": [16, 17], "within": 17, "without": [7, 11, 17], "wmi": 17, "work": [16, 18, 19, 20], "workaround": 19, "workspac": 19, "would": 19, "write": 17, "written": 16, "wrote": 20, "www": 3, "yaml": [3, 17, 19, 20], "yet": [7, 11, 17, 19], "you": [5, 16, 17, 19, 20], "your": [16, 19, 20], "your_environment_url_her": 20, "zip": [7, 8, 11, 13, 14, 19, 20], "zip_fil": 13, "zqkysr41": 20}, "titles": ["Event Severity", "Event Type", "Events", "<no title>", "Metrics", "Metric", "Metric Type", "Assemble", "Build", "Create", "Generate Certificates", "Help", "Run", "Sign", "Upload", "Wheel", "Building Extensions", "Extension Structure", "Installation", "Migrating EF1 Extensions", "Dynatrace Extensions SDK for Python"], "titleterms": {"access": 16, "activ": 17, "all": 20, "alreadi": 20, "api": 20, "assembl": 7, "bring": 17, "build": [8, 16, 19, 20], "bump": 17, "certif": [10, 20], "class": [2, 4], "code": 19, "command": 20, "config": 17, "convers": 19, "core": 18, "creat": [9, 19, 20], "datasourc": 17, "definit": 17, "depend": [16, 17], "detail": 20, "directori": 16, "do": 20, "document": 20, "don": 17, "dynatrac": [17, 20], "ef1": 19, "ef2": 19, "environ": 20, "event": [0, 1, 2], "extens": [16, 17, 19, 20], "file": 20, "from": 18, "gener": [10, 20], "guid": 20, "have": 20, "help": 11, "import": 19, "instal": [18, 20], "libc": 16, "limit": 19, "local": 16, "mean": 20, "member": [0, 1, 5, 6], "method": 20, "metric": [4, 5, 6, 20], "migrat": 19, "minim": 17, "mirror": 16, "modifi": 19, "monitor": 20, "musl": 16, "name": 17, "nativ": 16, "new": 19, "offici": 17, "own": 17, "packag": 18, "py": 17, "pypi": [16, 18], "python": [17, 19, 20], "queri": 20, "quick": 20, "refer": [19, 20], "requir": [18, 19], "run": [12, 20], "runtim": 17, "schedul": 20, "schema": 17, "sdk": 20, "self": 20, "setup": 17, "sever": 0, "sign": 13, "size": 17, "start": 20, "step": 19, "structur": 17, "submodul": [2, 4], "t": 17, "type": [1, 6], "upload": [14, 19, 20], "v": 16, "version": 17, "virtual": 20, "what": 20, "wheel": 15, "your": 17}}) \ No newline at end of file